From 2de0e1a2d68d0412d93db321a1bb237fbe1027e1 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Wed, 5 Mar 2025 15:09:06 +0000 Subject: [PATCH] Use nixosModules and homeManagerModules for config --- nix/home/opdavies/hosts/PW05CH3L.nix | 23 ++++---- nix/home/opdavies/hosts/lemp11.nix | 41 ++++++-------- nix/home/opdavies/hosts/nixedo.nix | 14 ++--- nix/home/opdavies/hosts/t490.nix | 56 ++++++++----------- nix/hosts/PW05CH3L/configuration.nix | 6 +- nix/hosts/nixedo/configuration.nix | 32 +++++------ nix/hosts/t490/configuration.nix | 16 ++---- .../home-manager/features/cli/bluetuith.nix | 4 +- .../home-manager/features/cli/direnv.nix | 4 +- .../home-manager/features/cli/neovim.nix | 4 +- .../home-manager/features/cli/notes.nix | 4 +- .../home-manager/features/cli/syncthing.nix | 4 +- .../features/cli/tmux-sessionizer.nix | 4 +- .../home-manager/features/cli/tmux.nix | 4 +- .../home-manager/features/desktop/copyq.nix | 4 +- .../home-manager/features/desktop/discord.nix | 4 +- .../home-manager/features/desktop/dwm.nix | 4 +- .../home-manager/features/desktop/espanso.nix | 4 +- .../features/desktop/flameshot.nix | 4 +- .../home-manager/features/desktop/gtk.nix | 4 +- .../features/desktop/media/gimp.nix | 4 +- .../features/desktop/media/handbrake.nix | 4 +- .../features/desktop/media/kdenlive.nix | 4 +- .../features/desktop/media/mpv.nix | 4 +- .../features/desktop/media/pocket-casts.nix | 4 +- .../home-manager/features/desktop/slack.nix | 4 +- .../home-manager/features/desktop/zoom.nix | 4 +- nix/modules/nixos/features/cli/docker.nix | 4 +- .../nixos/features/desktop/autorandr.nix | 4 +- nix/modules/nixos/features/desktop/dwm.nix | 4 +- nix/modules/nixos/features/desktop/peek.nix | 4 +- .../nixos/features/desktop/screenkey.nix | 4 +- nix/modules/nixos/features/desktop/thunar.nix | 4 +- nix/modules/nixos/features/gaming.nix | 4 +- .../nixos/features/homelab/audiobookshelf.nix | 4 +- .../homelab/containers/beaverhabits.nix | 4 +- .../features/homelab/containers/freshrss.nix | 4 +- .../features/homelab/containers/pi-hole.nix | 4 +- .../homelab/containers/tubearchivist.nix | 4 +- .../nixos/features/homelab/forgejo.nix | 4 +- nix/modules/nixos/features/homelab/gitea.nix | 4 +- nix/modules/nixos/features/homelab/immich.nix | 4 +- .../nixos/features/homelab/jellyfin.nix | 4 +- .../nixos/features/homelab/paperless.nix | 4 +- .../nixos/features/homelab/vaultwarden.nix | 4 +- todo.txt | 1 + 46 files changed, 151 insertions(+), 190 deletions(-) diff --git a/nix/home/opdavies/hosts/PW05CH3L.nix b/nix/home/opdavies/hosts/PW05CH3L.nix index 50b9dac..7650c35 100644 --- a/nix/home/opdavies/hosts/PW05CH3L.nix +++ b/nix/home/opdavies/hosts/PW05CH3L.nix @@ -1,18 +1,15 @@ { - features = { - cli = { - direnv.enable = true; - neovim.enable = true; - tmux.enable = true; + homeManagerModules = { + direnv.enable = true; + neovim.enable = true; - notes = { - enable = true; - - directory = "$HOME/Documents/wiki/tfw-notes"; - }; - - syncthing.enable = true; - tmux-sessionizer.enable = true; + notes = { + enable = true; + directory = "$HOME/Documents/wiki/tfw-notes"; }; + + syncthing.enable = true; + tmux.enable = true; + tmux-sessionizer.enable = true; }; } diff --git a/nix/home/opdavies/hosts/lemp11.nix b/nix/home/opdavies/hosts/lemp11.nix index 1a47292..d8d1a1e 100644 --- a/nix/home/opdavies/hosts/lemp11.nix +++ b/nix/home/opdavies/hosts/lemp11.nix @@ -1,30 +1,21 @@ { ... }: { - features = { - cli = { - direnv.enable = true; - syncthing.enable = true; - tmux-sessionizer.enable = true; - }; - - desktop = { - copyq.enable = true; - discord.enable = true; - espanso.enable = true; - flameshot.enable = true; - gtk.enable = true; - slack.enable = true; - - media = { - gimp.enable = true; - handbrake.enable = true; - kdenlive.enable = true; - pocket-casts.enable = true; - mpv.enable = true; - }; - - zoom.enable = true; - }; + homeManagerModules = { + copyq.enable = true; + direnv.enable = true; + discord.enable = true; + espanso.enable = true; + flameshot.enable = true; + gimp.enable = true; + gtk.enable = true; + handbrake.enable = true; + kdenlive.enable = true; + mpv.enable = true; + pocket-casts.enable = true; + slack.enable = true; + syncthing.enable = true; + tmux-sessionizer.enable = true; + zoom.enable = true; }; } diff --git a/nix/home/opdavies/hosts/nixedo.nix b/nix/home/opdavies/hosts/nixedo.nix index d4175c9..ce6ee60 100644 --- a/nix/home/opdavies/hosts/nixedo.nix +++ b/nix/home/opdavies/hosts/nixedo.nix @@ -1,15 +1,9 @@ { ... }: { - features = { - cli = { - direnv.enable = true; - syncthing.enable = true; - }; - - desktop = { - dwm.enable = true; - # gtk.enable = true; - }; + homeManagerModules = { + direnv.enable = true; + dwm.enable = true; + syncthing.enable = true; }; } diff --git a/nix/home/opdavies/hosts/t490.nix b/nix/home/opdavies/hosts/t490.nix index f9125ce..66ab793 100644 --- a/nix/home/opdavies/hosts/t490.nix +++ b/nix/home/opdavies/hosts/t490.nix @@ -1,42 +1,32 @@ { pkgs, ... }: { - features = { - cli = { - bluetuith.enable = true; - direnv.enable = true; - neovim.enable = true; + homeManagerModules = { + bluetuith.enable = true; + copyq.enable = true; + direnv.enable = true; + discord.enable = true; + dwm.enable = true; + espanso.enable = true; + flameshot.enable = true; + gimp.enable = true; + gtk.enable = true; + handbrake.enable = true; + kdenlive.enable = true; + mpv.enable = true; + neovim.enable = true; - notes = { - enable = true; - - directory = "$HOME/Documents/wiki/notes"; - }; - - syncthing.enable = true; - tmux.enable = true; - tmux-sessionizer.enable = true; + notes = { + enable = true; + directory = "$HOME/Documents/wiki/notes"; }; - desktop = { - copyq.enable = true; - discord.enable = true; - dwm.enable = true; - espanso.enable = true; - flameshot.enable = true; - gtk.enable = true; - slack.enable = true; - - media = { - gimp.enable = true; - handbrake.enable = true; - kdenlive.enable = true; - pocket-casts.enable = true; - mpv.enable = true; - }; - - zoom.enable = true; - }; + pocket-casts.enable = true; + slack.enable = true; + syncthing.enable = true; + tmux.enable = true; + tmux-sessionizer.enable = true; + zoom.enable = true; }; home.packages = with pkgs; [ diff --git a/nix/hosts/PW05CH3L/configuration.nix b/nix/hosts/PW05CH3L/configuration.nix index ef6e969..48ed8a4 100644 --- a/nix/hosts/PW05CH3L/configuration.nix +++ b/nix/hosts/PW05CH3L/configuration.nix @@ -15,10 +15,8 @@ wl-clipboard ]; - features = { - cli = { - docker.enable = true; - }; + nixosModules = { + docker.enable = true; }; wsl = { diff --git a/nix/hosts/nixedo/configuration.nix b/nix/hosts/nixedo/configuration.nix index 2554134..014cfb6 100644 --- a/nix/hosts/nixedo/configuration.nix +++ b/nix/hosts/nixedo/configuration.nix @@ -15,25 +15,19 @@ ../../users/opdavies ]; - features = { - cli = { - docker.enable = true; - }; - - desktop.dwm.enable = true; - - homelab = { - audiobookshelf.enable = true; - beaverhabits.enable = true; - freshrss.enable = true; - gitea.enable = true; - immich.enable = true; - jellyfin.enable = true; - paperless.enable = true; - pihole.enable = true; - tubearchivist-container.enable = true; - vaultwarden.enable = true; - }; + nixosModules = { + audiobookshelf.enable = true; + beaverhabits.enable = true; + docker.enable = true; + dwm.enable = true; + freshrss.enable = true; + gitea.enable = true; + immich.enable = true; + jellyfin.enable = true; + paperless.enable = true; + pihole.enable = true; + tubearchivist-container.enable = true; + vaultwarden.enable = true; }; programs.dconf.enable = true; diff --git a/nix/hosts/t490/configuration.nix b/nix/hosts/t490/configuration.nix index 2245d5d..88a55c5 100644 --- a/nix/hosts/t490/configuration.nix +++ b/nix/hosts/t490/configuration.nix @@ -16,17 +16,12 @@ ]; nixosModules = { + autorandr.enable = true; + dwm.enable = true; + gaming.enable = true; st.enable = true; - }; - - features = { - desktop = { - autorandr.enable = true; - dwm.enable = true; - gaming.enable = true; - thunar.enable = true; - peek.enable = true; - }; + thunar.enable = true; + peek.enable = true; }; nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; @@ -58,6 +53,7 @@ environment.systemPackages = with pkgs; [ gtypist newsboat + pam_gnupg rclone rclone-browser sxiv diff --git a/nix/modules/home-manager/features/cli/bluetuith.nix b/nix/modules/home-manager/features/cli/bluetuith.nix index e52812e..fbb3585 100644 --- a/nix/modules/home-manager/features/cli/bluetuith.nix +++ b/nix/modules/home-manager/features/cli/bluetuith.nix @@ -8,9 +8,9 @@ with lib; { - options.features.cli.bluetuith.enable = mkEnableOption "Enable bluetuith"; + options.homeManagerModules.bluetuith.enable = mkEnableOption "Enable bluetuith"; - config = mkIf config.features.cli.bluetuith.enable { + config = mkIf config.homeManagerModules.bluetuith.enable { home.packages = with pkgs; [ bluetuith ]; diff --git a/nix/modules/home-manager/features/cli/direnv.nix b/nix/modules/home-manager/features/cli/direnv.nix index 5f39dd5..e733a50 100644 --- a/nix/modules/home-manager/features/cli/direnv.nix +++ b/nix/modules/home-manager/features/cli/direnv.nix @@ -3,9 +3,9 @@ with lib; { - options.features.cli.direnv.enable = mkEnableOption "Enable direnv"; + options.homeManagerModules.direnv.enable = mkEnableOption "Enable direnv"; - config = mkIf config.features.cli.direnv.enable { + config = mkIf config.homeManagerModules.direnv.enable { programs.direnv = { enable = true; enableZshIntegration = true; diff --git a/nix/modules/home-manager/features/cli/neovim.nix b/nix/modules/home-manager/features/cli/neovim.nix index ccade43..d2bc2da 100644 --- a/nix/modules/home-manager/features/cli/neovim.nix +++ b/nix/modules/home-manager/features/cli/neovim.nix @@ -13,9 +13,9 @@ let phpPackages = pkgs.php82Packages; in { - options.features.cli.neovim.enable = mkEnableOption "Enable neovim"; + options.homeManagerModules.neovim.enable = mkEnableOption "Enable neovim"; - config = mkIf config.features.cli.neovim.enable { + config = mkIf config.homeManagerModules.neovim.enable { programs.neovim = { enable = true; diff --git a/nix/modules/home-manager/features/cli/notes.nix b/nix/modules/home-manager/features/cli/notes.nix index 4edbda4..a8be8ce 100644 --- a/nix/modules/home-manager/features/cli/notes.nix +++ b/nix/modules/home-manager/features/cli/notes.nix @@ -8,10 +8,10 @@ with lib; let - cfg = config.features.cli.notes; + cfg = config.homeManagerModules.notes; in { - options.features.cli.notes = { + options.homeManagerModules.notes = { enable = mkEnableOption "Enable notes"; directory = mkOption { diff --git a/nix/modules/home-manager/features/cli/syncthing.nix b/nix/modules/home-manager/features/cli/syncthing.nix index 094ff2c..0f14482 100644 --- a/nix/modules/home-manager/features/cli/syncthing.nix +++ b/nix/modules/home-manager/features/cli/syncthing.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.cli.syncthing; + cfg = config.homeManagerModules.syncthing; in { - options.features.cli.syncthing.enable = mkEnableOption "Enable syncthing"; + options.homeManagerModules.syncthing.enable = mkEnableOption "Enable syncthing"; config = mkIf cfg.enable { services.syncthing.enable = true; diff --git a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix index fed891d..058c29c 100644 --- a/nix/modules/home-manager/features/cli/tmux-sessionizer.nix +++ b/nix/modules/home-manager/features/cli/tmux-sessionizer.nix @@ -8,9 +8,9 @@ with lib; { - options.features.cli.tmux-sessionizer.enable = mkEnableOption "Enable tmux-sessionizer"; + options.homeManagerModules.tmux-sessionizer.enable = mkEnableOption "Enable tmux-sessionizer"; - config = mkIf config.features.cli.tmux-sessionizer.enable { + config = mkIf config.homeManagerModules.tmux-sessionizer.enable { home.packages = with pkgs; [ tmux-sessionizer ]; home.file.".tmux-sessionizer".source = "${ diff --git a/nix/modules/home-manager/features/cli/tmux.nix b/nix/modules/home-manager/features/cli/tmux.nix index be60161..87700f5 100644 --- a/nix/modules/home-manager/features/cli/tmux.nix +++ b/nix/modules/home-manager/features/cli/tmux.nix @@ -11,9 +11,9 @@ let inherit (pkgs) tmuxPlugins; in { - options.features.cli.tmux.enable = mkEnableOption "Enable tmux"; + options.homeManagerModules.tmux.enable = mkEnableOption "Enable tmux"; - config = mkIf config.features.cli.tmux.enable { + config = mkIf config.homeManagerModules.tmux.enable { programs.tmux = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/copyq.nix b/nix/modules/home-manager/features/desktop/copyq.nix index 7a4ca6a..a173cd8 100644 --- a/nix/modules/home-manager/features/desktop/copyq.nix +++ b/nix/modules/home-manager/features/desktop/copyq.nix @@ -3,9 +3,9 @@ with lib; { - options.features.desktop.copyq.enable = mkEnableOption "Enable copyq"; + options.homeManagerModules.copyq.enable = mkEnableOption "Enable copyq"; - config = mkIf config.features.desktop.copyq.enable { + config = mkIf config.homeManagerModules.copyq.enable { services.copyq.enable = true; }; } diff --git a/nix/modules/home-manager/features/desktop/discord.nix b/nix/modules/home-manager/features/desktop/discord.nix index abf8cd8..579ea62 100644 --- a/nix/modules/home-manager/features/desktop/discord.nix +++ b/nix/modules/home-manager/features/desktop/discord.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.discord.enable = mkEnableOption "Enable Discord"; + options.homeManagerModules.discord.enable = mkEnableOption "Enable Discord"; - config = mkIf config.features.desktop.discord.enable { + config = mkIf config.homeManagerModules.discord.enable { home.packages = with pkgs; [ discord ]; }; } diff --git a/nix/modules/home-manager/features/desktop/dwm.nix b/nix/modules/home-manager/features/desktop/dwm.nix index 6fa0b8f..0006aee 100644 --- a/nix/modules/home-manager/features/desktop/dwm.nix +++ b/nix/modules/home-manager/features/desktop/dwm.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; + options.homeManagerModules.dwm.enable = mkEnableOption "Enable dwm"; - config = mkIf config.features.desktop.dwm.enable { + config = mkIf config.homeManagerModules.dwm.enable { home = { file.".xinitrc".text = '' systemctl --user import-environment DISPLAY diff --git a/nix/modules/home-manager/features/desktop/espanso.nix b/nix/modules/home-manager/features/desktop/espanso.nix index 9f3d0be..0ba03f9 100644 --- a/nix/modules/home-manager/features/desktop/espanso.nix +++ b/nix/modules/home-manager/features/desktop/espanso.nix @@ -3,9 +3,9 @@ with lib; { - options.features.desktop.espanso.enable = mkEnableOption "Enable espanso"; + options.homeManagerModules.espanso.enable = mkEnableOption "Enable espanso"; - config = mkIf config.features.desktop.espanso.enable { + config = mkIf config.homeManagerModules.espanso.enable { services.espanso = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/flameshot.nix b/nix/modules/home-manager/features/desktop/flameshot.nix index d9a77d8..c9126c2 100644 --- a/nix/modules/home-manager/features/desktop/flameshot.nix +++ b/nix/modules/home-manager/features/desktop/flameshot.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.flameshot.enable = mkEnableOption "Enable flameshot"; + options.homeManagerModules.flameshot.enable = mkEnableOption "Enable flameshot"; - config = mkIf config.features.desktop.flameshot.enable { + config = mkIf config.homeManagerModules.flameshot.enable { services.flameshot = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/gtk.nix b/nix/modules/home-manager/features/desktop/gtk.nix index f68563b..2419d95 100644 --- a/nix/modules/home-manager/features/desktop/gtk.nix +++ b/nix/modules/home-manager/features/desktop/gtk.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.gtk.enable = mkEnableOption "Enable gtk"; + options.homeManagerModules.gtk.enable = mkEnableOption "Enable gtk"; - config = mkIf config.features.desktop.gtk.enable { + config = mkIf config.homeManagerModules.gtk.enable { gtk = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/media/gimp.nix b/nix/modules/home-manager/features/desktop/media/gimp.nix index db01267..e0a006d 100644 --- a/nix/modules/home-manager/features/desktop/media/gimp.nix +++ b/nix/modules/home-manager/features/desktop/media/gimp.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.media.gimp.enable = mkEnableOption "Enable gimp"; + options.homeManagerModules.gimp.enable = mkEnableOption "Enable gimp"; - config = mkIf config.features.desktop.media.gimp.enable { + config = mkIf config.homeManagerModules.gimp.enable { home.packages = with pkgs; [ gimp ]; }; } diff --git a/nix/modules/home-manager/features/desktop/media/handbrake.nix b/nix/modules/home-manager/features/desktop/media/handbrake.nix index e27a215..9cbf4e8 100644 --- a/nix/modules/home-manager/features/desktop/media/handbrake.nix +++ b/nix/modules/home-manager/features/desktop/media/handbrake.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.media.handbrake.enable = mkEnableOption "Enable handbrake"; + options.homeManagerModules.handbrake.enable = mkEnableOption "Enable handbrake"; - config = mkIf config.features.desktop.media.handbrake.enable { + config = mkIf config.homeManagerModules.handbrake.enable { home.packages = with pkgs; [ handbrake ]; }; } diff --git a/nix/modules/home-manager/features/desktop/media/kdenlive.nix b/nix/modules/home-manager/features/desktop/media/kdenlive.nix index 77743e6..039bb93 100644 --- a/nix/modules/home-manager/features/desktop/media/kdenlive.nix +++ b/nix/modules/home-manager/features/desktop/media/kdenlive.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.media.kdenlive.enable = mkEnableOption "Enable kdenlive"; + options.homeManagerModules.kdenlive.enable = mkEnableOption "Enable kdenlive"; - config = mkIf config.features.desktop.media.kdenlive.enable { + config = mkIf config.homeManagerModules.kdenlive.enable { home.packages = with pkgs; [ kdePackages.kdenlive ]; }; } diff --git a/nix/modules/home-manager/features/desktop/media/mpv.nix b/nix/modules/home-manager/features/desktop/media/mpv.nix index 2704dad..cfbf4a9 100644 --- a/nix/modules/home-manager/features/desktop/media/mpv.nix +++ b/nix/modules/home-manager/features/desktop/media/mpv.nix @@ -3,9 +3,9 @@ with lib; { - options.features.desktop.media.mpv.enable = mkEnableOption "Enable mpv media player"; + options.homeManagerModules.mpv.enable = mkEnableOption "Enable mpv media player"; - config = mkIf config.features.desktop.media.mpv.enable { + config = mkIf config.homeManagerModules.mpv.enable { programs.mpv = { enable = true; diff --git a/nix/modules/home-manager/features/desktop/media/pocket-casts.nix b/nix/modules/home-manager/features/desktop/media/pocket-casts.nix index d71183b..5387c0f 100644 --- a/nix/modules/home-manager/features/desktop/media/pocket-casts.nix +++ b/nix/modules/home-manager/features/desktop/media/pocket-casts.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.media.pocket-casts.enable = mkEnableOption "Enable Pocket Casts"; + options.homeManagerModules.pocket-casts.enable = mkEnableOption "Enable Pocket Casts"; - config = mkIf config.features.desktop.media.pocket-casts.enable { + config = mkIf config.homeManagerModules.pocket-casts.enable { home.packages = with pkgs; [ pocket-casts ]; }; } diff --git a/nix/modules/home-manager/features/desktop/slack.nix b/nix/modules/home-manager/features/desktop/slack.nix index 344cf86..1007150 100644 --- a/nix/modules/home-manager/features/desktop/slack.nix +++ b/nix/modules/home-manager/features/desktop/slack.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.slack.enable = mkEnableOption "Enable Slack"; + options.homeManagerModules.slack.enable = mkEnableOption "Enable Slack"; - config = mkIf config.features.desktop.slack.enable { + config = mkIf config.homeManagerModules.slack.enable { home.packages = with pkgs; [ slack ]; }; } diff --git a/nix/modules/home-manager/features/desktop/zoom.nix b/nix/modules/home-manager/features/desktop/zoom.nix index 5992587..e76e9ed 100644 --- a/nix/modules/home-manager/features/desktop/zoom.nix +++ b/nix/modules/home-manager/features/desktop/zoom.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.zoom.enable = mkEnableOption "Enable zoom"; + options.homeManagerModules.zoom.enable = mkEnableOption "Enable zoom"; - config = mkIf config.features.desktop.zoom.enable { + config = mkIf config.homeManagerModules.zoom.enable { home.packages = with pkgs; [ zoom-us ]; }; } diff --git a/nix/modules/nixos/features/cli/docker.nix b/nix/modules/nixos/features/cli/docker.nix index 10e4263..66c9ddd 100644 --- a/nix/modules/nixos/features/cli/docker.nix +++ b/nix/modules/nixos/features/cli/docker.nix @@ -3,9 +3,9 @@ with lib; { - options.features.cli.docker.enable = mkEnableOption "Enable Docker"; + options.nixosModules.docker.enable = mkEnableOption "Enable Docker"; - config = mkIf config.features.cli.docker.enable { + config = mkIf config.nixosModules.docker.enable { virtualisation.docker = { enable = true; diff --git a/nix/modules/nixos/features/desktop/autorandr.nix b/nix/modules/nixos/features/desktop/autorandr.nix index 385e9b3..e9d1afb 100644 --- a/nix/modules/nixos/features/desktop/autorandr.nix +++ b/nix/modules/nixos/features/desktop/autorandr.nix @@ -3,9 +3,9 @@ with lib; { - options.features.desktop.autorandr.enable = mkEnableOption "Enable autorandr"; + options.nixosModules.autorandr.enable = mkEnableOption "Enable autorandr"; - config = mkIf config.features.desktop.autorandr.enable { + config = mkIf config.nixosModules.autorandr.enable { services.autorandr = { enable = true; diff --git a/nix/modules/nixos/features/desktop/dwm.nix b/nix/modules/nixos/features/desktop/dwm.nix index 678310c..d17f4d4 100644 --- a/nix/modules/nixos/features/desktop/dwm.nix +++ b/nix/modules/nixos/features/desktop/dwm.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.dwm.enable = mkEnableOption "Enable dwm"; + options.nixosModules.dwm.enable = mkEnableOption "Enable dwm"; - config = mkIf config.features.desktop.dwm.enable { + config = mkIf config.nixosModules.dwm.enable { services = { dwm-status = { enable = true; diff --git a/nix/modules/nixos/features/desktop/peek.nix b/nix/modules/nixos/features/desktop/peek.nix index 85137d9..f6c810a 100644 --- a/nix/modules/nixos/features/desktop/peek.nix +++ b/nix/modules/nixos/features/desktop/peek.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.peek.enable = mkEnableOption "Enable peek"; + options.nixosModules.peek.enable = mkEnableOption "Enable peek"; - config = mkIf config.features.desktop.peek.enable { + config = mkIf config.nixosModules.peek.enable { environment.systemPackages = with pkgs; [ peek ]; }; } diff --git a/nix/modules/nixos/features/desktop/screenkey.nix b/nix/modules/nixos/features/desktop/screenkey.nix index 9bebebf..1c667b4 100644 --- a/nix/modules/nixos/features/desktop/screenkey.nix +++ b/nix/modules/nixos/features/desktop/screenkey.nix @@ -9,9 +9,9 @@ with lib; { - options.features.desktop.screenkey.enable = mkEnableOption "Enable screenkey"; + options.nixosModules.screenkey.enable = mkEnableOption "Enable screenkey"; - config = mkIf config.features.desktop.screenkey.enable { + config = mkIf config.nixosModules.screenkey.enable { environment.systemPackages = with pkgs; [ screenkey ]; home-manager.users.${username}.xdg.configFile."screenkey.json".text = builtins.toJSON { diff --git a/nix/modules/nixos/features/desktop/thunar.nix b/nix/modules/nixos/features/desktop/thunar.nix index 96e8086..e4f0eb5 100644 --- a/nix/modules/nixos/features/desktop/thunar.nix +++ b/nix/modules/nixos/features/desktop/thunar.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.thunar.enable = mkEnableOption "Enable thunar"; + options.nixosModules.thunar.enable = mkEnableOption "Enable thunar"; - config = mkIf config.features.desktop.thunar.enable { + config = mkIf config.nixosModules.thunar.enable { programs.thunar = { enable = true; diff --git a/nix/modules/nixos/features/gaming.nix b/nix/modules/nixos/features/gaming.nix index c8f4d40..e0266aa 100644 --- a/nix/modules/nixos/features/gaming.nix +++ b/nix/modules/nixos/features/gaming.nix @@ -8,9 +8,9 @@ with lib; { - options.features.desktop.gaming.enable = mkEnableOption "Enable games"; + options.nixosModules.gaming.enable = mkEnableOption "Enable games"; - config = mkIf config.features.desktop.gaming.enable { + config = mkIf config.nixosModules.gaming.enable { programs.steam.enable = true; environment.systemPackages = with pkgs; [ zeroad ]; diff --git a/nix/modules/nixos/features/homelab/audiobookshelf.nix b/nix/modules/nixos/features/homelab/audiobookshelf.nix index a357270..2701379 100644 --- a/nix/modules/nixos/features/homelab/audiobookshelf.nix +++ b/nix/modules/nixos/features/homelab/audiobookshelf.nix @@ -3,10 +3,10 @@ with lib; let - cfg = config.features.homelab.audiobookshelf; + cfg = config.nixosModules.audiobookshelf; in { - options.features.homelab.audiobookshelf.enable = mkEnableOption "Enable audiobookshelf"; + options.nixosModules.audiobookshelf.enable = mkEnableOption "Enable audiobookshelf"; config = mkIf cfg.enable { services = { diff --git a/nix/modules/nixos/features/homelab/containers/beaverhabits.nix b/nix/modules/nixos/features/homelab/containers/beaverhabits.nix index 434f748..d329c96 100644 --- a/nix/modules/nixos/features/homelab/containers/beaverhabits.nix +++ b/nix/modules/nixos/features/homelab/containers/beaverhabits.nix @@ -9,12 +9,12 @@ with lib; let - cfg = config.features.homelab.beaverhabits; + cfg = config.nixosModules.beaverhabits; port = 8084; in { - options.features.homelab.beaverhabits.enable = mkEnableOption "Enable beaverhabits"; + options.nixosModules.beaverhabits.enable = mkEnableOption "Enable beaverhabits"; config = mkIf cfg.enable { virtualisation = { diff --git a/nix/modules/nixos/features/homelab/containers/freshrss.nix b/nix/modules/nixos/features/homelab/containers/freshrss.nix index b383f71..cb6514e 100644 --- a/nix/modules/nixos/features/homelab/containers/freshrss.nix +++ b/nix/modules/nixos/features/homelab/containers/freshrss.nix @@ -8,11 +8,11 @@ with lib; let - cfg = config.features.homelab.freshrss; + cfg = config.nixosModules.freshrss; port = 4003; in { - options.features.homelab.freshrss.enable = mkEnableOption "Enable freshrss"; + options.nixosModules.freshrss.enable = mkEnableOption "Enable freshrss"; config = mkIf cfg.enable { # Auto-generated using compose2nix v0.3.2-pre. diff --git a/nix/modules/nixos/features/homelab/containers/pi-hole.nix b/nix/modules/nixos/features/homelab/containers/pi-hole.nix index 2a3bf83..1e4ad2c 100644 --- a/nix/modules/nixos/features/homelab/containers/pi-hole.nix +++ b/nix/modules/nixos/features/homelab/containers/pi-hole.nix @@ -11,9 +11,9 @@ let port = 8082; in { - options.features.homelab.pihole.enable = mkEnableOption "Enable pihole"; + options.nixosModules.pihole.enable = mkEnableOption "Enable pihole"; - config = mkIf config.features.homelab.pihole.enable { + config = mkIf config.nixosModules.pihole.enable { virtualisation = { docker = { enable = true; diff --git a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix index c1a3820..5abf494 100644 --- a/nix/modules/nixos/features/homelab/containers/tubearchivist.nix +++ b/nix/modules/nixos/features/homelab/containers/tubearchivist.nix @@ -8,13 +8,13 @@ with lib; let - cfg = config.features.homelab.tubearchivist-container; + cfg = config.nixosModules.tubearchivist-container; port = 8085; url = "tubearchivist.oliverdavies.uk"; in { - options.features.homelab.tubearchivist-container = { + options.nixosModules.tubearchivist-container = { enable = mkEnableOption "Enable the tubearchivist-container service."; }; diff --git a/nix/modules/nixos/features/homelab/forgejo.nix b/nix/modules/nixos/features/homelab/forgejo.nix index d23ba47..cb9dc93 100644 --- a/nix/modules/nixos/features/homelab/forgejo.nix +++ b/nix/modules/nixos/features/homelab/forgejo.nix @@ -3,9 +3,9 @@ with lib; { - options.features.homelab.forgejo.enable = mkEnableOption "Enable forgejo"; + options.nixosModules.forgejo.enable = mkEnableOption "Enable forgejo"; - config = mkIf config.features.homelab.forgejo.enable { + config = mkIf config.nixosModules.forgejo.enable { services = { forgejo = { enable = true; diff --git a/nix/modules/nixos/features/homelab/gitea.nix b/nix/modules/nixos/features/homelab/gitea.nix index d75221d..811146c 100644 --- a/nix/modules/nixos/features/homelab/gitea.nix +++ b/nix/modules/nixos/features/homelab/gitea.nix @@ -6,9 +6,9 @@ let port = 2222; in { - options.features.homelab.gitea.enable = mkEnableOption "Enable gitea"; + options.nixosModules.gitea.enable = mkEnableOption "Enable gitea"; - config = mkIf config.features.homelab.gitea.enable { + config = mkIf config.nixosModules.gitea.enable { services = { gitea = { enable = true; diff --git a/nix/modules/nixos/features/homelab/immich.nix b/nix/modules/nixos/features/homelab/immich.nix index 627a858..c015020 100644 --- a/nix/modules/nixos/features/homelab/immich.nix +++ b/nix/modules/nixos/features/homelab/immich.nix @@ -8,9 +8,9 @@ with lib; { - options.features.homelab.immich.enable = mkEnableOption "Enable immich"; + options.nixosModules.immich.enable = mkEnableOption "Enable immich"; - config = mkIf config.features.homelab.immich.enable { + config = mkIf config.nixosModules.immich.enable { services.immich = { enable = true; group = "media"; diff --git a/nix/modules/nixos/features/homelab/jellyfin.nix b/nix/modules/nixos/features/homelab/jellyfin.nix index 89bc38b..ea8e21e 100644 --- a/nix/modules/nixos/features/homelab/jellyfin.nix +++ b/nix/modules/nixos/features/homelab/jellyfin.nix @@ -3,9 +3,9 @@ with lib; { - options.features.homelab.jellyfin.enable = mkEnableOption "Enable jellyfin"; + options.nixosModules.jellyfin.enable = mkEnableOption "Enable jellyfin"; - config = mkIf config.features.homelab.jellyfin.enable { + config = mkIf config.nixosModules.jellyfin.enable { services.jellyfin = { enable = true; openFirewall = true; diff --git a/nix/modules/nixos/features/homelab/paperless.nix b/nix/modules/nixos/features/homelab/paperless.nix index 4184ea9..907731b 100644 --- a/nix/modules/nixos/features/homelab/paperless.nix +++ b/nix/modules/nixos/features/homelab/paperless.nix @@ -6,9 +6,9 @@ let url = "paperless.oliverdavies.uk"; in { - options.features.homelab.paperless.enable = mkEnableOption "Enable paperless"; + options.nixosModules.paperless.enable = mkEnableOption "Enable paperless"; - config = mkIf config.features.homelab.paperless.enable { + config = mkIf config.nixosModules.paperless.enable { services = { paperless = { enable = true; diff --git a/nix/modules/nixos/features/homelab/vaultwarden.nix b/nix/modules/nixos/features/homelab/vaultwarden.nix index 2871d47..17ef88b 100644 --- a/nix/modules/nixos/features/homelab/vaultwarden.nix +++ b/nix/modules/nixos/features/homelab/vaultwarden.nix @@ -3,9 +3,9 @@ with lib; { - options.features.homelab.vaultwarden.enable = mkEnableOption "Enable vaultwarden"; + options.nixosModules.vaultwarden.enable = mkEnableOption "Enable vaultwarden"; - config = mkIf config.features.homelab.vaultwarden.enable { + config = mkIf config.nixosModules.vaultwarden.enable { services = { vaultwarden = { enable = true; diff --git a/todo.txt b/todo.txt index 5c3275d..46e3fa6 100644 --- a/todo.txt +++ b/todo.txt @@ -4,3 +4,4 @@ Replace doppler with agenix Evaluate services.languagetool as a replacement for Grammarly Make git email address configurable Finish configuring syncthing with nix - https://github.com/neeasade/dotfiles/blob/694c2a11107c10947af956befe16cbe5cee0abda/os/nixos/config/shared.nix#L62 +