diff --git a/flake.lock b/flake.lock index 2c8c2e6..bd12546 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1748487945, - "narHash": "sha256-e9zc/rHdoH9i+sFFhhQiKoF6IuD+T2rB/nUyPaO7CCg=", + "lastModified": 1749154018, + "narHash": "sha256-gjN3j7joRvT3a8Zgcylnd4NFsnXeDBumqiu4HmY1RIg=", "owner": "nix-community", "repo": "home-manager", - "rev": "0d13ea58d565d3c1c1468ddae1f623316dc395d9", + "rev": "7aae0ee71a17b19708b93b3ed448a1a0952bf111", "type": "github" }, "original": { @@ -23,11 +23,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748302896, - "narHash": "sha256-ixMT0a8mM091vSswlTORZj93WQAJsRNmEvqLL+qwTFM=", + "lastModified": 1749237914, + "narHash": "sha256-N5waoqWt8aMr/MykZjSErOokYH6rOsMMXu3UOVH5kiw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7848cd8c982f7740edf76ddb3b43d234cb80fc4d", + "rev": "70c74b02eac46f4e4aa071e45a6189ce0f6d9265", "type": "github" }, "original": { diff --git a/machines/terra/modules.nix b/machines/terra/modules.nix index eec563b..e517108 100644 --- a/machines/terra/modules.nix +++ b/machines/terra/modules.nix @@ -8,7 +8,6 @@ }: { imports = [ ../../modules - ../../modules/boot/loader/systemd.nix ]; config.horseman = { diff --git a/modules/apps/dev.nix b/modules/apps/dev.nix index e9581da..e9daaac 100644 --- a/modules/apps/dev.nix +++ b/modules/apps/dev.nix @@ -17,28 +17,26 @@ in { }; config = mkIf cfg.enable { - home-manager.users.${homeCfg.username} = { - home.packages = with pkgs; [ - dotnetCorePackages.sdk_9_0 - gcc - ghex - haskell.compiler.native-bignum.ghcHEAD - haskell-language-server - jdk - jetbrains.clion - jetbrains.idea-ultimate - jetbrains.rider - jetbrains.rust-rover - jetbrains.webstorm - mono - nodejs_22 - platformio-core - python313 - sqlite - sqlitebrowser - xclip - uv - ]; - }; + environment.systemPackages = with pkgs; [ + dotnetCorePackages.sdk_9_0 + gcc + ghex + haskell.compiler.native-bignum.ghcHEAD + haskell-language-server + jdk + jetbrains.clion + jetbrains.idea-ultimate + jetbrains.rider + jetbrains.rust-rover + jetbrains.webstorm + mono + nodejs_22 + platformio-core + python313 + sqlite + sqlitebrowser + xclip + uv + ]; }; } diff --git a/modules/boot/default.nix b/modules/boot/default.nix index 164afb0..27422e1 100644 --- a/modules/boot/default.nix +++ b/modules/boot/default.nix @@ -1,6 +1,9 @@ {inputs, ...}: { imports = [ ./greeter/sddm.nix + ./greeter/gdm.nix + ./greeter/cosmic.nix + ./refind.nix ./loader/grub.nix diff --git a/modules/boot/greeter/cosmic.nix b/modules/boot/greeter/cosmic.nix new file mode 100644 index 0000000..3effde4 --- /dev/null +++ b/modules/boot/greeter/cosmic.nix @@ -0,0 +1,23 @@ +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkEnableOption mkIf mkOption types; + cfg = config.horseman.boot.greeter.cosmic; +in { + options = { + horseman.boot.greeter.cosmic = { + enable = mkEnableOption "COSMIC Greeter"; + }; + }; + + config = mkIf cfg.enable { + services.displayManager.cosmic-greeter = { + enable = true; + }; + }; +} diff --git a/modules/boot/greeter/gdm.nix b/modules/boot/greeter/gdm.nix new file mode 100644 index 0000000..9cd6c05 --- /dev/null +++ b/modules/boot/greeter/gdm.nix @@ -0,0 +1,23 @@ +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkEnableOption mkIf mkOption types; + cfg = config.horseman.boot.greeter.gdm; +in { + options = { + horseman.boot.greeter.gdm = { + enable = mkEnableOption "GDM Greeter"; + }; + }; + + config = mkIf cfg.enable { + services.xserver.displayManager.gdm = { + enable = true; + }; + }; +} diff --git a/modules/wm/cosmic/default.nix b/modules/wm/cosmic/default.nix new file mode 100644 index 0000000..50f018e --- /dev/null +++ b/modules/wm/cosmic/default.nix @@ -0,0 +1,23 @@ +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkEnableOption mkIf mkOption types; + cfg = config.horseman.wm.cosmic; +in { + options = { + horseman.wm.cosmic = { + enable = mkEnableOption "COSMIC"; + }; + }; + + config = mkIf cfg.enable { + services.desktopManager.cosmic = { + enable = true; + }; + }; +} diff --git a/modules/wm/default.nix b/modules/wm/default.nix index 309f9f1..0fb0acd 100644 --- a/modules/wm/default.nix +++ b/modules/wm/default.nix @@ -3,5 +3,6 @@ ./gnome ./plasma ./hyprland + ./cosmic ]; } diff --git a/modules/wm/qtile/default.nix b/modules/wm/qtile/default.nix deleted file mode 100644 index c499fe1..0000000 --- a/modules/wm/qtile/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - inputs, - outputs, - lib, - config, - pkgs, - ... -}: let - inherit (lib) mkEnableOption mkIf mkOption types; - cfg = config.horseman.wm.qtile; -in { - options = { - horseman.wm.qtile = { - enable = mkEnableOption "Qtile"; - }; - }; - - config = mkIf cfg.enable { - services.xserver = { - enable = true; - windowManager.qtile.enable = true; - }; - - system.activationScripts.script.text = '' - cd /home/horseman && \ - rm -r .config/qtile && \ - cp -r nix-config/modules/wm/qtile/config \ - .config/qtile && \ - sudo chown -R horseman:users .config/qtile - ''; - }; -}