diff --git a/flake.nix b/flake.nix index 09730c24..58184c2c 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,7 @@ } @ inputs: let # Supported systems supportedSystems = ["x86_64-linux"]; + primarySystem = builtins.head supportedSystems; # Helper to generate per-system attributes eachSystem = nixpkgs.lib.genAttrs supportedSystems; @@ -34,48 +35,58 @@ inputs.nur.overlays.default ]; }; + + mkFormatter = system: + import ./formatter.nix { + inherit self; + pkgs = mkPkgs system; + }; in { - nixosConfigurations = eachSystem (system: { - c0d3h01 = nixpkgs.lib.nixosSystem { - inherit system; - modules = [ - ./modules/nixos - inputs.home-manager.nixosModules.home-manager - { - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - backupFileExtension = "backup"; - users.c0d3h01.imports = [./modules/home]; - }; - } - ]; + nixosConfigurations.c0d3h01 = nixpkgs.lib.nixosSystem { + system = primarySystem; + specialArgs = { + inherit inputs self; }; - }); + modules = [ + ./modules/nixos + inputs.home-manager.nixosModules.home-manager + { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + backupFileExtension = "backup"; + extraSpecialArgs = { + inherit inputs self; + }; + users.c0d3h01.imports = [./modules/home]; + }; + } + ]; + }; - homeConfigurations = eachSystem (system: { - c0d3h01 = inputs.home-manager.lib.homeManagerConfiguration { - pkgs = mkPkgs system; - modules = [./modules/home]; + homeConfigurations.c0d3h01 = inputs.home-manager.lib.homeManagerConfiguration { + pkgs = mkPkgs primarySystem; + extraSpecialArgs = { + inherit inputs self; }; - }); + modules = [./modules/home]; + }; devShells = eachSystem (system: { - default = import ./shell.nix {inherit (mkPkgs system) pkgs;}; + default = let + pkgs = mkPkgs system; + in + import ./shell.nix { + inherit pkgs; + formatter = (mkFormatter system).formatter; + }; }); formatter = eachSystem (system: - (import ./formatter.nix { - inherit self; - pkgs = mkPkgs system; - }).formatter); + (mkFormatter system).formatter); checks = eachSystem (system: { - formatting = - (import ./formatter.nix { - inherit self; - pkgs = mkPkgs system; - }).check; + formatting = (mkFormatter system).check; }); }; } diff --git a/modules/home/gtk.nix b/modules/home/gtk.nix index 27f60b6a..93c1a54e 100644 --- a/modules/home/gtk.nix +++ b/modules/home/gtk.nix @@ -4,10 +4,12 @@ lib, ... }: let - inherit (lib) mkIf; + inherit (lib) attrByPath mkIf; + kdeDesktopEnabled = attrByPath ["services" "kdeDesktop" "enable"] false config; + gnomeDesktopEnabled = attrByPath ["services" "gnomeDesktop" "enable"] false config; in { gtk = lib.mkMerge [ - (mkIf config.services.kdeDesktop.enable { + (mkIf kdeDesktopEnabled { enable = true; theme = { @@ -45,7 +47,7 @@ in { }; }) - (mkIf config.services.gnomeDesktop.enable { + (mkIf gnomeDesktopEnabled { enable = true; theme = { diff --git a/modules/home/home.nix b/modules/home/home.nix index c621bda2..712b3935 100644 --- a/modules/home/home.nix +++ b/modules/home/home.nix @@ -1,6 +1,6 @@ {config, ...}: { home = { - username = "${config.home.username}"; + username = "c0d3h01"; homeDirectory = "/home/${config.home.username}"; stateVersion = "25.11"; enableNixpkgsReleaseCheck = false;