From 522794e5ed2b26eea254247f3f8b6e17a4ec4d1d Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Thu, 24 Jul 2025 12:17:21 +0200 Subject: [PATCH] feat: clean up configuration --- hosts/work/configuration.nix | 7 +-- modules/home-manager/bundles/desktop-apps.nix | 6 ++ modules/home-manager/programs/creativity.nix | 26 ++++++++ modules/home-manager/programs/default.nix | 4 ++ modules/home-manager/programs/fish.nix | 1 + modules/home-manager/programs/photos.nix | 15 +++++ modules/home-manager/programs/scanner.nix | 15 +++++ modules/nixos/archetypes/general.nix | 2 +- modules/nixos/default.nix | 4 -- modules/nixos/desktop-apps.nix | 59 ------------------- modules/nixos/features/default.nix | 3 + modules/nixos/features/fonts.nix | 12 +--- modules/nixos/features/gaming.nix | 13 +--- modules/nixos/features/stylix.nix | 4 +- modules/nixos/features/virtualisation.nix | 17 ++++++ 15 files changed, 96 insertions(+), 92 deletions(-) create mode 100644 modules/home-manager/programs/creativity.nix create mode 100644 modules/home-manager/programs/photos.nix create mode 100644 modules/home-manager/programs/scanner.nix delete mode 100644 modules/nixos/desktop-apps.nix diff --git a/hosts/work/configuration.nix b/hosts/work/configuration.nix index 48c4403..dc4ba11 100644 --- a/hosts/work/configuration.nix +++ b/hosts/work/configuration.nix @@ -1,10 +1,6 @@ { inputs, - outputs, - myLib, modulesPath, - lib, - pkgs, ... }: { @@ -22,6 +18,8 @@ }; }; archetype.general.enable = true; + feature.fonts.enable = true; + feature.virtualisation.enable = true; }; boot = { @@ -57,7 +55,6 @@ services.auto-cpufreq.enable = true; security.sudo.wheelNeedsPassword = false; services.xserver.videoDrivers = [ "amdgpu" ]; - virtualisation.docker.enable = true; # feature virtualisation system.stateVersion = "24.05"; } diff --git a/modules/home-manager/bundles/desktop-apps.nix b/modules/home-manager/bundles/desktop-apps.nix index 12fe1d9..5263e65 100644 --- a/modules/home-manager/bundles/desktop-apps.nix +++ b/modules/home-manager/bundles/desktop-apps.nix @@ -8,13 +8,19 @@ options.myHome.bundle.desktop-apps.enable = lib.mkEnableOption "enable desktop-apps bundle"; config = lib.mkIf config.myHome.bundle.desktop-apps.enable { myHome.programs.kitty.enable = true; + myHome.programs.scanner.enable = true; + myHome.programs.photos.enable = true; home.packages = map lib.lowPrio [ pkgs.bottles + pkgs.brightnessctl + pkgs.flameshot + pkgs.lutris pkgs.ungoogled-chromium pkgs.xfce.thunar pkgs.xfce.thunar-archive-plugin pkgs.xfce.thunar-volman pkgs.vial + pkgs.vlc ]; }; } diff --git a/modules/home-manager/programs/creativity.nix b/modules/home-manager/programs/creativity.nix new file mode 100644 index 0000000..71ef2c4 --- /dev/null +++ b/modules/home-manager/programs/creativity.nix @@ -0,0 +1,26 @@ +{ + pkgs, + config, + lib, + ... +}: +{ + options.myHome.programs.creativity.enable = lib.mkEnableOption "enable creativity software"; + config = lib.mkIf config.myHome.programs.creativity.enable { + home.packages = with pkgs; [ + blender + tiled + aseprite + inkscape + + prusa-slicer + openscad + + godot_4 + gdtoolkit_4 + + audacity + sfxr + ]; + }; +} diff --git a/modules/home-manager/programs/default.nix b/modules/home-manager/programs/default.nix index 7f45393..653a621 100644 --- a/modules/home-manager/programs/default.nix +++ b/modules/home-manager/programs/default.nix @@ -3,8 +3,12 @@ }: { imports = [ + ./creativity.nix + ./fish.nix ./helix.nix ./kitty.nix ./nvim.nix + ./photos.nix + ./scanner.nix ]; } diff --git a/modules/home-manager/programs/fish.nix b/modules/home-manager/programs/fish.nix index e69de29..c915eb0 100644 --- a/modules/home-manager/programs/fish.nix +++ b/modules/home-manager/programs/fish.nix @@ -0,0 +1 @@ +{ ... }: { } diff --git a/modules/home-manager/programs/photos.nix b/modules/home-manager/programs/photos.nix new file mode 100644 index 0000000..75fc126 --- /dev/null +++ b/modules/home-manager/programs/photos.nix @@ -0,0 +1,15 @@ +{ + pkgs, + config, + lib, + ... +}: +{ + options.myHome.programs.photos.enable = lib.mkEnableOption "enable photo software"; + config = lib.mkIf config.myHome.programs.photos.enable { + home.packages = with pkgs; [ + # gimp + rawtherapee + ]; + }; +} diff --git a/modules/home-manager/programs/scanner.nix b/modules/home-manager/programs/scanner.nix new file mode 100644 index 0000000..5dfec9d --- /dev/null +++ b/modules/home-manager/programs/scanner.nix @@ -0,0 +1,15 @@ +{ + pkgs, + config, + lib, + ... +}: +{ + options.myHome.programs.scanner.enable = lib.mkEnableOption "enable scanner software"; + config = lib.mkIf config.myHome.programs.scanner.enable { + home.packages = with pkgs; [ + xsane + sane-frontends + ]; + }; +} diff --git a/modules/nixos/archetypes/general.nix b/modules/nixos/archetypes/general.nix index 028a208..a98b90b 100644 --- a/modules/nixos/archetypes/general.nix +++ b/modules/nixos/archetypes/general.nix @@ -8,7 +8,7 @@ { options.myNixOS.archetype.general.enable = lib.mkEnableOption "enable general archetype"; config = lib.mkIf config.myNixOS.archetype.general.enable { - myNixOS.features.stylix.enable = true; + myNixOS.feature.stylix.enable = true; environment.systemPackages = [ pkgs.openssl diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 6248fa7..e790e05 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -11,10 +11,6 @@ ./archetypes ./features ./home-manager.nix - - # ./desktop-apps.nix - # ./fonts.nix - # ./gaming.nix ]; config = { diff --git a/modules/nixos/desktop-apps.nix b/modules/nixos/desktop-apps.nix deleted file mode 100644 index 16d060b..0000000 --- a/modules/nixos/desktop-apps.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: -with lib; -let - cfg = config.services.desktop-apps; -in -{ - imports = [ ]; - - options.services.desktop-apps = { - enable = mkEnableOption "enable desktop-apps"; - }; - - config = mkIf cfg.enable { - environment.systemPackages = with pkgs; [ - kitty - skypeforlinux - flameshot - xsane - sane-frontends - blender - tiled - aseprite - gimp - eog - mpv - brightnessctl - spotify - obs-studio - prusa-slicer - openscad - ungoogled-chromium - inkscape - - rawtherapee - godot_4 - gdtoolkit_4 - sfxr - lmms - audacity - handbrake - vlc - ]; - programs = { - firefox.enable = true; - thunar = { - enable = true; - plugins = with pkgs.xfce; [ - thunar-archive-plugin - thunar-volman - ]; - }; - }; - }; -} diff --git a/modules/nixos/features/default.nix b/modules/nixos/features/default.nix index e669d23..357a3d8 100644 --- a/modules/nixos/features/default.nix +++ b/modules/nixos/features/default.nix @@ -5,5 +5,8 @@ { imports = [ ./stylix.nix + ./fonts.nix + ./gaming.nix + ./virtualisation.nix ]; } diff --git a/modules/nixos/features/fonts.nix b/modules/nixos/features/fonts.nix index f189b7b..b026874 100644 --- a/modules/nixos/features/fonts.nix +++ b/modules/nixos/features/fonts.nix @@ -4,18 +4,10 @@ config, ... }: -with lib; -let - cfg = config.services.fonts; -in { - imports = [ ]; + options.myNixOS.feature.fonts.enable = lib.mkEnableOption "enable fonts"; - options.services.fonts = { - enable = mkEnableOption "enable fonts"; - }; - - config = mkIf cfg.enable { + config = lib.mkIf config.myNixOS.feature.fonts.enable { fonts.packages = with pkgs; [ noto-fonts noto-fonts-cjk-sans diff --git a/modules/nixos/features/gaming.nix b/modules/nixos/features/gaming.nix index b28e0ec..21b4dc9 100644 --- a/modules/nixos/features/gaming.nix +++ b/modules/nixos/features/gaming.nix @@ -4,23 +4,14 @@ config, ... }: -with lib; -let - cfg = config.services.gaming; -in { - imports = [ ]; + options.myNixOS.feature.gaming.enable = lib.mkEnableOption "enable gaming"; - options.services.gaming = { - enable = mkEnableOption "enable gaming"; - }; - - config = mkIf cfg.enable { + config = lib.mkIf config.myNixOS.feature.gaming.enable { environment.systemPackages = with pkgs; [ bottles steam discord - openttd ]; programs.steam.enable = true; programs.gamemode.enable = true; diff --git a/modules/nixos/features/stylix.nix b/modules/nixos/features/stylix.nix index 3240898..27f746d 100644 --- a/modules/nixos/features/stylix.nix +++ b/modules/nixos/features/stylix.nix @@ -5,8 +5,8 @@ ... }: { - options.myNixOS.features.stylix.enable = lib.mkEnableOption "enable Stylix"; - config = lib.mkIf config.myNixOS.features.stylix.enable { + options.myNixOS.feature.stylix.enable = lib.mkEnableOption "enable Stylix"; + config = lib.mkIf config.myNixOS.feature.stylix.enable { stylix = { enable = true; image = ../../../wall.jpg; diff --git a/modules/nixos/features/virtualisation.nix b/modules/nixos/features/virtualisation.nix index e69de29..2308020 100644 --- a/modules/nixos/features/virtualisation.nix +++ b/modules/nixos/features/virtualisation.nix @@ -0,0 +1,17 @@ +{ + pkgs, + lib, + config, + ... +}: +{ + options.myNixOS.feature.virtualisation.enable = lib.mkEnableOption "enable virtualisation"; + + config = lib.mkIf config.myNixOS.feature.virtualisation.enable { + virtualisation.podman = { + enable = true; + autoPrune.enable = true; + dockerCompat = true; + }; + }; +}