Commit graph

371 commits

Author SHA1 Message Date
e5615c85bf feat(nix): update secure boot and HALO system configuration
- Set `pkiBundle` in `secureboot` to use `mkDefault` for better configurability.
- Added kernel parameters for HALO, improving performance and boot customization.
- Configured ROCm symlink and switched HALO to `linuxPackages_latest`.
2026-02-11 16:33:50 +01:00
52e1276115 feat(nix): add HALO system configuration and user setup
- Added system configuration for the HALO machine, including hardware, sound, and remapping settings.
- Configured user-specific settings like session paths, favorite apps, and terminal customization.
- Introduced zram swap, SSD TRIM, and PipeWire priority tuning for performance optimization.
2026-02-11 14:24:08 +01:00
d5cb9658be feat(nix): add sound configuration for PipeWire priorities
- Introduced `sound.nix` to manage audio device priorities using PipeWire's WirePlumber configuration.
- Linked `sound.nix` to `default.nix` for streamlined system audio customization.
- Ensures defined priority levels for HDMI, USB microphones, and SPDIF outputs.
2026-02-09 15:45:14 +01:00
5075593ce0 feat(nix): add supported search formats to Searx config
- Added `html`, `json`, and `rss` to the `search.formats` list in `searx.nix`.
- Enhances flexibility by allowing multiple output formats for search results.
2026-02-06 13:45:18 +01:00
7f802aaca6 feat(nix): refactor Searx configuration into separate module
- Moved Searx-related settings from `default.nix` and `nginx.nix` to a dedicated `searx.nix` module for improved modularity and maintainability.
- Updated references and ACME certificate configuration to align with the new structure.
- Simplifies management of Searx service and its associated secrets.
2026-02-06 13:27:29 +01:00
ba985dc3fd feat(nix): add Sops secret and update Searx configuration
- Added a new Sops secret for `searx/secret_key` with a corresponding configuration path.
- Updated Searx settings to include the `secret_key` reference.
- Ensures secure integration of secret management with Searx service.
2026-02-06 13:09:38 +01:00
6597561ec4 feat(nix): add uwsgi configuration for search.hoyer.world
- Introduced `uwsgiConfig` section in the Searx configuration for `search.hoyer.world`.
- Configures uWSGI to listen on port `8081` for HTTP requests.
2026-02-06 12:55:36 +01:00
437cb4b606 feat(nginx): add new search.hoyer.world virtual host
- Introduced Nginx configuration for the `search.hoyer.world` domain.
- Ensures SSL enforcement and proper proxy settings for the new subdomain.
2026-02-06 12:51:24 +01:00
14c9a4f084 feat(nix): add new domain to ACME certificate
- Added `search.hoyer.world` to the `extraDomainNames` list for the `internal.hoyer.world` ACME certificate.
- Ensures proper SSL configuration for the new subdomain.
2026-02-06 11:43:37 +01:00
958175fb01 feat(nix): enable Searx and configure Nginx for domain
- Added Searx service with Nginx configuration for the domain `search.hoyer.world`.
2026-02-06 11:40:10 +01:00
9b42e808d3 feat(bot): refactor system prompt and enhance CLI command
- Replaced `DEFAULT_SYSTEM_PROMPT` with `BOT_SYSTEM_PROMPT` for clarity and modularity.
- Introduced a `build_system_prompt` function to dynamically compose prompts.
- Enhanced `call_claude` CLI with new tool options and appendable prompts.
2026-02-04 09:11:08 +01:00
f25aab2441 feat(bot): improve prompt-building and help command handling
- Added a default system prompt and adjusted the structure to use XML for clarity.
- Improved help command handling by simplifying triggers and updating responses.
- Enhanced NixOS configuration with support for optional custom instructions.
2026-02-03 17:39:31 +01:00
9342933987 feat(bot): switch to in-memory conversation history
- Replaced Nextcloud chat history fetching with in-memory storage for conversation history.
- Added limits to history length based on an environment variable (`CONTEXT_MESSAGES`).
- Simplified prompt-building logic by removing async history fetching.
2026-02-03 17:26:46 +01:00
b35373b0ec feat(bot): replace maxTokens with contextMessages option
- Switched `maxTokens` to `contextMessages` to set chat history length instead of token limit.
- Updated environment variables, NixOS module, and prompt building logic for consistency.
- Removed in-memory conversation history, now fetching from Nextcloud for better scalability.
2026-02-03 17:00:50 +01:00
538d7623be refactor(bot): remove unused max-tokens argument handling
- Simplified the `call_claude` function by removing the unused `MAX_TOKENS` argument handling.
- Ensures cleaner and more maintainable command construction.
2026-02-03 16:30:47 +01:00
1f61a0d1ec feat(bot): refactor webhook parsing for better structure
- Updated webhook parsing to align with the latest Nextcloud Talk Bot format.
- Improved handling of actor, message, and conversation data for clarity and flexibility.
- Added robust JSON decoding with fallback for content extraction.
2026-02-03 16:29:10 +01:00
77cf4a0aed feat(bot): support random token in signature verification
- Enhanced signature verification by adding support for a `random` token included in webhook headers.
- Introduced logging to display signature variants for debugging purposes.
- Improved webhook handling to process new `X-Nextcloud-Talk-Random` header.
2026-02-03 16:26:37 +01:00
33937ab115 feat(bot): add signature verification logging
- Added info-level logging to provide details about signature verification, including secret length and partial hashes for expected and received signatures.
- Helps in debugging signature mismatches without exposing full sensitive data.
2026-02-03 16:23:14 +01:00
d5967cf392 feat(nix): improve Nextcloud Claude Bot security and user setup
- Set `User` and `Group` for the bot service to enhance security and isolation.
- Added system user and group for `claude-bot` with defined home directory.
- Modified secrets ownership to align with the new bot user.
2026-02-03 16:14:21 +01:00
b1370b5fc6 feat(bot): enhance group chat handling and mention detection
- Updated bot to only respond in group chats when explicitly mentioned.
- Added mention detection using regex for "Claude" patterns and cleaned up the message text for processing.
- Improved help message to clarify usage in direct messages and group chats.
2026-02-03 16:09:25 +01:00
8404f0998b refactor(nix): simplify Nextcloud Claude Bot packaging
- Replaced `buildPythonApplication` with `python3.withPackages` for a cleaner and more concise implementation.
- Adjusted service configuration to use the updated packaging structure, ensuring compatibility with the new setup.
- Simplifies the NixOS module by reducing redundancy and improving maintainability.
2026-02-03 15:54:01 +01:00
bc6091f63f feat(nix): add Nextcloud Claude Bot integration
- Added configuration for Nextcloud Claude Bot, including NixOS module, secrets management, and example setup files.
- Introduced a Python-based HTTP server for handling webhook events and interacting with Nextcloud Talk.
- Integrated necessary dependencies and systemd service for seamless operation.
2026-02-03 15:42:56 +01:00
0523639f2a feat(nix): add nvtop package to amd system
- Added `nvtopPackages.amd` to the package list for better GPU monitoring on AMD systems.
- Enhances system configuration by enabling real-time visualization of GPU usage.
2026-01-30 11:52:59 +01:00
4622c52d5b refactor(nix): extract common system configs into reusable modules
Create 6 new NixOS modules to reduce duplication across system configs:
- hardware/wooting: Wooting keyboard udev rules and Bluetooth compat
- services/nginx-base: Common nginx server settings
- services/acme-base: ACME certificate defaults
- services/xremap: Key remapping with sensible defaults
- system/no-sleep: Disable sleep/suspend/hibernate targets
- system/kernel-tweaks: PM freeze timeout and zram configuration

Update system configuration files to use these new modules.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 10:42:09 +01:00
ea849f2488 feat(nix): add kernel and memory tuning for amd system
Tune sysctl parameters for better I/O and memory performance:
- Lower swappiness to reduce disk swapping with zram
- Reduce vfs_cache_pressure to keep filesystem caches longer
- Adjust dirty page writeback ratios for SSD performance
- Configure zram with zstd compression

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 00:53:39 +01:00
4060ee4b92 feat(nix): enable Docker and disable Podman compatibility
- Enabled Docker support by setting `docker.enable` to true.
- Disabled Podman's Docker compatibility mode with `podman.dockerCompat`.
- Improves virtualization configuration by prioritizing Docker usage.
2026-01-22 11:28:06 +01:00
fce17e443e fix(x1): update filesystem configuration
- Switched root filesystem from Btrfs to XFS for improved performance and simplicity.
- Updated the UUID and mount options accordingly.
- Removed unused Btrfs auto-scrub service as it is no longer required.
2026-01-20 10:44:29 +01:00
f1d19768f9 feat(amd): enable Steam in program configuration
- Added support for Steam by enabling it in `default.nix` under `programs.steam`.
- Aligns with the pattern of including widely used software for enhanced functionality.
2026-01-19 14:24:43 +01:00
3ffb44fd8d refactor(amd): remove mitigations kernel parameter
- Dropped `mitigations=off` from `boot.kernelParams` for improved alignment with security best practices.
- Ensures the system maintains mitigations against CPU vulnerabilities by default.
2026-01-19 09:15:45 +01:00
1d2ac15172 feat(amd): add cider-2 to program list
- Added `cider-2` to the `programs` list in `default.nix` for extended functionality.
- Aligns with the existing pattern of including commonly used utilities.
2026-01-19 09:15:04 +01:00
8ea3c78aa0 feat(amd): add kernel parameters for boot configuration
- Added `lockdown=confidentiality`, `quiet`, `splash`, `video=efifb:nobgrt`, and `mitigations=off` to `boot.kernelParams` for improved boot behavior.
- Enhances security, reduces verbosity, and
2026-01-19 09:13:58 +01:00
ee04de2655 fix(amd): cleanup progs 2026-01-18 14:44:10 +01:00
13bacc1ef1 refactor(amd): remove duplicate ccache settings
ccache is already enabled by metacfg.build module

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 19:21:03 +01:00
cb29ee3c9f fixup! feat(amd): improve system performance and configuration 2026-01-17 18:45:15 +01:00
fdfc795e98 feat(amd): improve system performance and configuration
- Refactored hardware-configuration.nix for better formatting and added `noatime` option for `/` filesystem.
- Enabled `build` service and set CPU frequency governor to `performance` for enhanced optimization.
- Updated default.nix with additional service and power management features.
2026-01-17 18:39:30 +01:00
7f9248ad00 add amd 2026-01-17 14:48:45 +01:00
88bf3cbcb8 fix(x1): remove unused Docker and Podman configs
- Disabled `docker.enable` and `podman.dockerCompat` as they are no longer utilized.
- Simplifies the `virtualisation` settings for the x1 system.
2026-01-15 13:25:56 +01:00
Harald Hoyer
2b7225af2c refactor(nix): streamline system packages for aarch64-darwin
- Removed unused packages: `azure-cli`, `kubectl`, `kubectx`, `k9s`, `goose-cli`, `aider-chat`, `fabric-ai`, `gemini-cli`, `opencode`
- Reordered `environment.systemPackages` for improved readability
2026-01-12 16:52:50 +01:00
Harald Hoyer
23e67d74d7 fix(nix): remove azure-cli from aarch64-darwin system packages 2026-01-12 16:49:52 +01:00
ebdd1c8ae1 fix(x1): powercap 2026-01-08 10:45:45 +01:00
288052b7f3 feat(x1): add new keyboard to xremap configuration
- Included "HS Galaxy100 Keyboard" in `services.xremap.deviceNames`.
- Improves support for additional hardware in the x1 system.
2025-12-23 16:25:43 +01:00
Harald Hoyer
a705acac9d feat(nix): update x1 hardware configuration for power and swap settings
- Added udev rules to manage Intel RAPL power limits
- Adjusted swapDevices formatting for consistency
2025-12-23 13:43:12 +01:00
e34d097d40 fix(x1): cleanup xremap deviceNames formatting
- Removed unnecessary blank lines around `services.xremap.deviceNames` for cleaner formatting.
- Aligns with consistent configuration style across `xremap.nix`.
2025-12-15 11:37:55 +01:00
5b5c44386c feat(x1): enhance xremap configuration
- Added user `harald` to the `input` group for proper permissions.
- Introduced device-specific configuration using `services.xremap.deviceNames`.
- Refined key remapping structure by aligning with `keymap` format.
2025-12-15 11:37:12 +01:00
a1ff322926 feat(x1): xremap 2025-12-15 10:40:45 +01:00
adf8d0d860 fix(macos): enable dock autohide by default
- Changed `system.defaults.dock.autohide` to `true` for better user experience.
- Aligns with macOS usability improvements and recent configuration updates.
2025-12-13 01:15:18 +01:00
Harald Hoyer
a03d1d8867 feat(nix): enable ccache and configure sandbox paths for x86_64-linux x1
- Enabled `programs.ccache` for improved build caching
- Configured `nix.settings.extra-sandbox-paths` to include ccache cache directory
- Maintains consistency with existing build optimization practices
2025-12-05 12:18:20 +01:00
Harald Hoyer
570e7f1bf0 feat(nix): update SGX hardware configuration for x1 11th gen
- Replaced `not-detected.nix` import with `lenovo-thinkpad-x1-11th-gen` module from `nixos-hardware`
- Improved hardware compatibility for the 11th generation Lenovo ThinkPad X1
2025-12-04 11:07:44 +01:00
Harald Hoyer
2787e11a3f fix(nix): remove kernelPackages override in T15 hardware configuration
- Deleted `kernelPackages` override setting for `linuxPackages_latest`
- Simplifies hardware configuration by relying on default kernel package selection
2025-12-04 10:56:27 +01:00
Harald Hoyer
86626e2ad2 chore(nix): comment out session variables in x86_64-linux configuration file
- Disabled `environment.sessionVariables` block by wrapping it in comments
- Maintains alignment with existing configuration practices
2025-12-04 10:54:05 +01:00