Commit graph

90 commits

Author SHA1 Message Date
b9cfdc99a7 feat(base): blacklist unused network kernel modules
Disable rxrpc, kafs, af_key, esp4, esp6 across all systems that enable
metacfg.base. None of them are used on these hosts, and they have a
history of CVEs — blacklisting reduces kernel attack surface.
2026-05-13 09:16:21 +02:00
3a1cb7487a refactor(opencode): extract serve service into shared NixOS module
New `metacfg.services.opencode` module under modules/nixos/services/opencode/
with options for port, user, homeDir, sopsFile, and extraPackages. User and
homeDir default off `metacfg.user`. Host configs for amd and sgx reduce to
enabling the module and pointing at their respective sops file.

Service PATH gains jq, yq-go, python3, gh, gnutar, gzip, unzip, wget,
diffutils, patch, file, tree, bun, uv, ast-grep, claude-code, and tmux for
agent ergonomics.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 13:43:27 +02:00
f74928ce5f chore: nix fmt 2026-05-03 14:57:49 +02:00
054ed9637d chore: remove duplicates 2026-04-30 10:39:54 +02:00
2ea188c015 fix: remove zellij 2026-04-24 11:34:56 +02:00
6d0186eadb chore: statix fix 2026-04-20 10:09:24 +02:00
Harald Hoyer
bcdaa091eb feat(nix): enhance systemd-email-notify service configuration
- Added `StartLimitIntervalSec` and `StartLimitBurst` for `ntfy-failure@` unit.
- Refactored `ExecStart` into `script` for improved readability.
- Adjusted `scriptArgs` from `%I` to `%i`.
2026-04-07 10:38:16 +02:00
Harald Hoyer
1c26940340 refactor(nix): remove unused gitbutler from base service packages 2026-04-02 10:28:23 +02:00
60ed46689c fix: use unescaped %I in ntfy failure notification script
%i passes the escaped unit name which systemctl status cannot resolve,
causing "Failed to mangle name" errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:39:08 +02:00
51398185e7 fix(nixos): conditionally apply onFailure units
- Wrap `config.onFailure` in `mkIf cfg.enable` to ensure units are conditionally applied based on the service's `enable` configuration.
- Prevents unnecessary configuration of failure units when the service is disabled.
2026-03-25 11:11:00 +01:00
7df551d46f feat: extend systemd-email-notify module with optional ntfy support
Add configurable ntfy options (tokenFile, url, topic) to the shared
emailOnFailure module. When tokenFile is set, a ntfy-failure@ template
service is added alongside the existing email notifications. Systems
without ntfy configured are unaffected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:38:14 +01:00
7349676474 feat: add gh to base 2026-03-17 10:03:54 +01:00
105d397780 fix(nix): reorder ssh-tresor in system packages list
- Corrected the position of `ssh-tresor` in the package list for consistency.
- Ensures proper alphabetical ordering in the services configuration.
2026-03-12 10:40:28 +01:00
86c83b8fc2 feat(nix): add gitbutler to system packages
- Included `gitbutler` in the list of default system packages.
- Enhances git workflow automation and streamlines repository management.
2026-03-12 10:40:22 +01:00
e3d3a1c85b feat(nix): add essential utilities to system packages
- Added `alsa-utils`, `file`, and `pciutils` to the default system packages for broader functionality.
- Enhances hardware interaction and file management capabilities.
2026-03-10 14:21:00 +01:00
04150f10d4 nix fmt 2026-02-24 13:25:42 +01:00
b3edb33057 refactor(nix): remove tmux from default GUI packages
- Deleted `tmux` from the `services.gui.default` package list.
- Simplifies the default GUI configuration by excluding a CLI-focused tool.
2026-02-13 12:55:52 +01:00
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
c7460503a3 feat(nix): add WezTerm configuration and package
- Added WezTerm package to the GUI services module for enhanced terminal capabilities.
- Configured a custom `wezterm.lua` file to enable Kitty keyboard support.
- Minor adjustment to `favorite-apps` in Home Manager for streamlined customization.
2026-02-10 14:09:32 +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
31c70d3b26 feat(nix): add ssh-tresor package and flake input
- Included `ssh-tresor` in the package lists for Darwin and NixOS modules.
- Added `ssh-tresor` as a new flake input in `flake.nix` with its overlay.
- Integrates secure SSH key management functionality across configurations.
2026-01-21 13:19:35 +01:00
1390baf77e add util-linux 2026-01-18 14:43:52 +01:00
dbc4d435e9 fix: unixtools is not a package on its own 2026-01-13 09:36:01 +01:00
Harald Hoyer
4293f81509 feat(nix): add utilities to base service configuration
- Added `dua`, `killall`, `s-tui`, `unixtools`, and `usbutils` to system packages for improved functionality.
2026-01-12 16:45:21 +01:00
Harald Hoyer
6b2190a918 • feat(nix): configure gnome-remote-desktop firewall rules and systemd target
- Added systemd service configuration to enable gnome-remote-desktop on graphical.target
  - Conditionally enable firewall rules for RDP ports (3389) only when gnome-remote-desktop is enabled
  - Maintains consistent service configuration with existing xrdp and firewall setup patterns
2025-12-03 16:52:23 +01:00
b9d5e775d2 fix(nixos): open port 22000 for rustdesk and add freerdp
- Added TCP port 22000 to networking.firewall.allowedTCPPorts for rustdesk server access
- Included freerdp package in GUI services module
- Maintains consistency with recent configuration refactorings and feature additions
2025-12-03 15:54:35 +01:00
Harald Hoyer
f5be97a2f4 • feat(nix): enable gnome-remote-desktop and xrdp services
• fix(nix): replace ollama with obsidian in system packages
• feat(nix): add cheese, freerdp, and rustdesk-flutter to GUI modules
• refactor(nix): reorganize gnome extensions and services configuration
• chore(nix): configure xrdp to use mkDefault and add firewall rules for RDP
• feat(nix): enable gnome-remote-desktop with proper port configuration
2025-12-03 15:35:05 +01:00
d7424a4cb6 feat(nixos): refactor Git and GUI configuration handling
- Replaced `inherit` with explicit `settings` for Git user configuration.
- Unified Git configuration structure across NixOS and home modules.
- Adjusted GUI configuration by enabling `gdm.autoSuspend` and reordering options.
2025-12-03 09:57:52 +01:00
549b3633d1 nixos-25.11 2025-12-02 18:58:52 +01:00
Harald Hoyer
1afee15561 chore(nix): add libvirt to default packages
- Included `libvirt` in the default package set for base services.
- Ensures virtualization support is readily available.
2025-11-27 10:27:17 +01:00
Harald Hoyer
c020457ac6 chore(nix): improve libvirt and virtualisation settings
- Added `qemuOvmf = true` to enable UEFI support in libvirt.
- Restructured `libvirtd` configuration for better readability.
2025-11-27 10:21:48 +01:00
Harald Hoyer
bf82f7afa0 chore(nix): enable RustDesk and update configurations
- Uncommented `rustdesk.nix` in MX system and added `rustdesk-flutter` to GUI services.
- Disabled `services.rustdesk-server.signal` on X1 system to align with updated settings.
2025-11-24 14:59:39 +01:00
5b0cab98d5 feat(systems): enable email notifications on failure
- Added `emailOnFailure.enable` option to metacfg with a default of `false`.
- Enabled email notifications on failure for SGX and MX systems.
- Enhanced `systemd-email-notify` module to support the new configuration.
2025-11-14 07:42:28 +01:00
143e8cbf98 feat(build): enable distributed builds and caching setup
- Added Nix distributed build configuration for multiple machines.
- Introduced caching setup with substituters and sandbox paths.
- Enabled optional build configurations with ccache support.
2025-11-13 09:42:19 +01:00
14105c01c3 fix: removed jetbrains toolbox 2025-11-03 10:58:46 +01:00
440cf540eb feat(sgx): adjust tmpfs usage for better configuration
- Set `boot.tmp.useTmpfs` to `false` in `x86_64-linux/sgx/default.nix`.
- Applied `lib.mkDefault` to `boot.tmp.useTmpfs` in `services/base/default.nix` for consistency.
2025-09-28 08:19:45 +02:00
92a9c0756c feat(nixos): improve nix configuration and tmp handling
- Reformatted function parameters to enhance readability.
- Added `build-dir = "/var/tmp"` to nix settings for better build management.
- Removed redundant `TMPDIR` environment variable for nix-daemon in systemd services.
2025-09-28 08:09:41 +02:00
Harald Hoyer
3fbdd939fc feat(gui): disable GDM auto suspend in XRDP config
- Set `services.xserver.displayManager.gdm.autoSuspend` to `false`.
- Improves compatibility with XRDP by preventing automatic suspension.
2025-09-12 10:05:40 +02:00
Harald Hoyer
d316ef4c2d refactor(gui): replace GNOME remote desktop with XRDP
- Switched from GNOME remote desktop to XRDP for remote access services across configurations.
- Removed GNOME-specific settings and added XRDP service settings in GUI and system modules.
- Enhances flexibility and aligns remote desktop service configuration.
2025-09-12 09:38:53 +02:00
Harald Hoyer
0fb0cfae93 refactor(gnome): relocate remote desktop configuration
- Moved GNOME remote desktop settings from `x1` module to GUI services module.
- Centralizes related configurations for better maintainability.
2025-09-11 14:31:13 +02:00
674941420f feat(nixos): add claude-code and update jetbrains-toolbox
- Added `claude-code` to the default packages for `aarch64-linux/rnix`.
- Moved `jetbrains-toolbox` to be included for all platforms instead of x86_64 only.
2025-09-05 14:42:42 +02:00
44bbb2d21a chore(nixsgx): remove nixsgx-flake input and overlay
- Removed the `nixsgx-flake` input and its associated overlay from `flake.nix` and `extern` overlays.
- Updated `default.nix` to exclude `nixsgx-flake` from update-inputs script.
- Simplifies configuration by deprecating unused or unnecessary components.
2025-07-30 13:36:16 +02:00
7a1c626268 feat(x1): add clipboard history GNOME extension
- Added `clipboard-history` to the GNOME extensions list in x1 configuration.
- Ensures access to advanced clipboard management functionality.
2025-07-07 10:04:58 +02:00
d700d4b8e3 feat(kernel): adjust inotify limits for JetBrains IDEs
- Removed inotify sysctl settings from hardware configuration.
- Added updated inotify limits under GUI services for JetBrains IDEs.
This ensures better compatibility and performance for these tools.

Signed-off-by: Harald Hoyer <harald@hoyer.xyz>
2025-05-27 13:59:08 +02:00
30c4e4482d feat(nixos): improve editor and shell service configuration
- Replace `vim.defaultEditor` with `neovim.defaultEditor`.
- Add `vim.enable` to enable Vim by default.
- Simplify imports by removing unused `options`.
2025-05-27 13:51:07 +02:00
bbc247aa23 refactor: simplify Nix configuration and update dependencies
Replaced custom Nerd Fonts overrides with predefined ones. Removed unused Neovim settings and plugins, and disabled Neovim for a specific user. Updated various flake dependencies to their latest versions.
2025-05-27 12:59:30 +02:00
a8ecc2cfa1 feat(services): add systemd email notification module
Introduce a NixOS module for sending service status emails on failures via systemd. The module provides configurable options for email recipients and integrates with the `sendmail` utility to notify admins about service issues.
2025-04-15 08:26:57 +02:00
7402e59186 refactor: adjust formatting in NixOS service module
Reformatted the argument list for better readability and consistency. No functional changes were made to the module.
2025-03-19 10:28:41 +01:00
f600b46464 feat(nixos): add systemctl-tui to default packages
Added `systemctl-tui` to the NixOS default packages list. This enhances user experience by providing a text-based user interface for managing systemd services.
2025-03-03 08:41:37 +01:00
f61ddd5f92 feat(gui): configure Nix daemon scheduling for GUI
Set idle I/O and CPU scheduling policies for the Nix daemon to improve GUI responsiveness. Adjusted scheduling class, priority, and policy to optimize background tasks.
2025-02-14 10:07:49 +01:00