From 578d4526e5e7c2221bd544e337fa30b8692e4a79 Mon Sep 17 00:00:00 2001 From: Tim Schubert Date: Sun, 27 Jul 2025 15:13:36 +0200 Subject: [PATCH] chore: clean up nixos configurations Consolidate nixpkgs instances into once for all x86 systems --- flake.lock | 17 --- flake.nix | 1 - home/nixpkgs-config.nix | 7 -- home/pkgs.nix | 1 - hydra-jobs.nix | 4 - nixos/configurations.nix | 175 +++++++++++++------------------ nixos/gorgon/configuration.nix | 5 +- nixos/modules/nixpkgs.nix | 3 - nixos/modules/profiles/cloud.nix | 4 + nixos/modules/profiles/home.nix | 7 ++ nixos/stolas/default.nix | 7 +- outputs.nix | 21 ++-- overlays.nix | 1 - 13 files changed, 92 insertions(+), 161 deletions(-) delete mode 100644 home/nixpkgs-config.nix delete mode 100644 hydra-jobs.nix delete mode 100644 nixos/modules/nixpkgs.nix create mode 100644 nixos/modules/profiles/home.nix delete mode 100644 overlays.nix diff --git a/flake.lock b/flake.lock index 8c964f5..3d0d3f2 100644 --- a/flake.lock +++ b/flake.lock @@ -325,22 +325,6 @@ "type": "github" } }, - "nixpkgs-small": { - "locked": { - "lastModified": 1753505055, - "narHash": "sha256-jQKnNATDGDeuIeUf7r0yHnmirfYkYPHeF0N2Lv8rjPE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "7be0239edbf0783ff959f94f9728db414be73002", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable-small", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1730741070, @@ -397,7 +381,6 @@ "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", - "nixpkgs-small": "nixpkgs-small", "systems": "systems_2", "treefmt-nix": "treefmt-nix" } diff --git a/flake.nix b/flake.nix index 73686ce..151f1b5 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,6 @@ description = "dadada's nix flake"; inputs = { - nixpkgs-small.url = "github:NixOS/nixpkgs/nixos-unstable-small"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; disko = { url = "github:nix-community/disko"; diff --git a/home/nixpkgs-config.nix b/home/nixpkgs-config.nix deleted file mode 100644 index 6a29a63..0000000 --- a/home/nixpkgs-config.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ pkgs }: -{ - allowUnfree = true; - allowUnfreePredicate = pkg: true; - allowBroken = false; - android_sdk.accept_license = true; -} diff --git a/home/pkgs.nix b/home/pkgs.nix index 7a707e1..e980614 100644 --- a/home/pkgs.nix +++ b/home/pkgs.nix @@ -125,7 +125,6 @@ with pkgs; spotify sqlite sshfs-fuse - steam taplo tcpdump tdesktop diff --git a/hydra-jobs.nix b/hydra-jobs.nix deleted file mode 100644 index 3369943..0000000 --- a/hydra-jobs.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ self, nixpkgs, ... }: -(nixpkgs.lib.mapAttrs' ( - name: config: nixpkgs.lib.nameValuePair name config.config.system.build.toplevel -) self.nixosConfigurations) diff --git a/nixos/configurations.nix b/nixos/configurations.nix index 95b894e..220e4d0 100644 --- a/nixos/configurations.nix +++ b/nixos/configurations.nix @@ -8,127 +8,92 @@ nixos-hardware, nixos-generators, nixpkgs, - nixpkgs-small, ... }@inputs: let - nixosSystem = + # create a new instance allowing some unfree packages + nixpkgsx86 = import nixpkgs { + system = "x86_64-linux"; + config.allowUnfreePredicate = + pkg: + builtins.elem (nixpkgs.lib.getName pkg) [ + "aspell-dict-en-science" + "brgenml1lpr" + "saleae-logic-2" + "spotify" + ]; + }; + nixosSystem = nixpkgs.lib.nixosSystem; + baseModule = + { lib, ... }: { - nixpkgs, - system ? "x86_64-linux", - extraModules ? [ ], - }: - nixpkgs.lib.nixosSystem { - inherit system; - - modules = [ - { - nixpkgs.overlays = nixpkgs.lib.attrValues self.overlays; - } + _module.args.inputs = inputs; + imports = [ + inputs.agenix.nixosModules.age + inputs.disko.nixosModules.disko + inputs.home-manager.nixosModules.home-manager + ( + { pkgs, ... }: + { + dadada.homepage.package = homepage; + dadada.pkgs = inputs.self.packages.${pkgs.system}; + dadada.inputs = inputs // { + dadada = inputs.self; + }; + } + ) + inputs.lanzaboote.nixosModules.lanzaboote ] - ++ (nixpkgs.lib.attrValues self.nixosModules) - ++ [ agenix.nixosModules.age ] - ++ extraModules; + ++ (lib.attrValues inputs.self.nixosModules); }; + homeModule = ./modules/profiles/home.nix; in { - stolas = - let - system = "x86_64-linux"; - in - nixosSystem { - inherit nixpkgs system; + stolas = nixosSystem { + modules = [ + { nixpkgs.pkgs = nixpkgsx86; } + baseModule + nixos-hardware.nixosModules.framework-amd-ai-300-series + homeModule + ./stolas + ]; + }; - extraModules = [ - lanzaboote.nixosModules.lanzaboote - disko.nixosModules.disko - { - nixpkgs.overlays = nixpkgs.lib.attrValues self.overlays; - dadada.pkgs = self.packages.${system}; - dadada.inputs = inputs // { - dadada = self; - }; - } - nixos-hardware.nixosModules.framework-amd-ai-300-series - home-manager.nixosModules.home-manager - ( - { pkgs, ... }: - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.sharedModules = (nixpkgs.lib.attrValues self.hmModules) ++ [ - { dadada.home.helix.package = pkgs.helix; } - ]; - home-manager.users.dadada = import ../home; - } - ) - ./stolas - ]; - }; - - gorgon = - let - system = "x86_64-linux"; - in - nixosSystem { - inherit nixpkgs system; - - extraModules = [ - { - nixpkgs.overlays = nixpkgs.lib.attrValues self.overlays; - dadada.pkgs = self.packages.${system}; - dadada.inputs = inputs // { - dadada = self; - }; - } - nixos-hardware.nixosModules.lenovo-thinkpad-t14s-amd-gen1 - home-manager.nixosModules.home-manager - ( - { pkgs, ... }: - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.sharedModules = (nixpkgs.lib.attrValues self.hmModules) ++ [ - { dadada.home.helix.package = pkgs.helix; } - { manual.manpages.enable = false; } - ]; - home-manager.users.dadada = import ../home; - } - ) - ./gorgon/configuration.nix - ]; - }; + gorgon = nixosSystem { + modules = [ + { nixpkgs.pkgs = nixpkgsx86; } + baseModule + nixos-hardware.nixosModules.lenovo-thinkpad-t14s-amd-gen1 + homeModule + ./gorgon/configuration.nix + ]; + }; surgat = nixosSystem { - nixpkgs = nixpkgs-small; - system = "x86_64-linux"; - extraModules = [ - { - dadada.homepage.package = homepage; - } - ./modules/profiles/server.nix + modules = [ + { nixpkgs.pkgs = nixpkgsx86; } + baseModule ./surgat/configuration.nix ]; }; agares = nixosSystem { - nixpkgs = nixpkgs-small; - extraModules = [ + modules = [ + { nixpkgs.pkgs = nixpkgsx86; } + baseModule ./agares/configuration.nix ]; }; - installer = - let - nixpkgs = nixpkgs-small; - in - nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - modules = [ - nixos-generators.nixosModules.install-iso - self.nixosModules.admin + installer = nixosSystem { + modules = [ + nixos-generators.nixosModules.install-iso + inputs.self.nixosModules.admin + ( + { lib, ... }: { - isoImage.isoName = nixpkgs.lib.mkForce "dadada-nixos-installer.iso"; + nixpkgs.pkgs = nixpkgs.legacyPackages."x86_64-linux"; + isoImage.isoName = lib.mkForce "dadada-nixos-installer.iso"; networking.tempAddresses = "disabled"; dadada.admin.enable = true; documentation.enable = true; @@ -139,12 +104,14 @@ in keyMap = "us"; }; } - ]; - }; + ) + ]; + }; ninurta = nixosSystem { - nixpkgs = nixpkgs-small; - extraModules = [ + modules = [ + { nixpkgs.pkgs = nixpkgsx86; } + baseModule ./ninurta/configuration.nix ]; }; diff --git a/nixos/gorgon/configuration.nix b/nixos/gorgon/configuration.nix index 16f8130..cb99b2a 100644 --- a/nixos/gorgon/configuration.nix +++ b/nixos/gorgon/configuration.nix @@ -52,8 +52,6 @@ in age.secrets."${config.networking.hostName}-backup-passphrase-gs".file = "${secretsPath}/${config.networking.hostName}-backup-passphrase-gs.age"; - nixpkgs.config.android_sdk.accept_license = true; - programs.ssh.startAgent = true; nix.extraOptions = '' @@ -85,7 +83,7 @@ in networking.hostName = "gorgon"; dadada = { - steam.enable = true; + steam.enable = false; yubikey.enable = true; }; @@ -154,7 +152,6 @@ in #]; environment.systemPackages = with pkgs; [ - android-studio ghostscript smartmontools diff --git a/nixos/modules/nixpkgs.nix b/nixos/modules/nixpkgs.nix deleted file mode 100644 index 2c5849f..0000000 --- a/nixos/modules/nixpkgs.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - nixpkgs.config.allowUnfreePredicate = pkg: true; -} diff --git a/nixos/modules/profiles/cloud.nix b/nixos/modules/profiles/cloud.nix index de57714..1ddbb1e 100644 --- a/nixos/modules/profiles/cloud.nix +++ b/nixos/modules/profiles/cloud.nix @@ -4,6 +4,10 @@ let initrdHostKey = "${config.networking.hostName}-ssh_host_ed25519_key"; in { + imports = [ + ./server.nix + ]; + boot.initrd.availableKernelModules = [ "virtio-pci" ]; boot.kernelParams = [ diff --git a/nixos/modules/profiles/home.nix b/nixos/modules/profiles/home.nix new file mode 100644 index 0000000..a695e8b --- /dev/null +++ b/nixos/modules/profiles/home.nix @@ -0,0 +1,7 @@ +{ pkgs, inputs, ... }: +{ + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.sharedModules = pkgs.lib.attrValues inputs.self.hmModules; + home-manager.users.dadada = inputs.self.hmConfigurations.dadada; +} diff --git a/nixos/stolas/default.nix b/nixos/stolas/default.nix index 9ae2d23..1c5cc9b 100644 --- a/nixos/stolas/default.nix +++ b/nixos/stolas/default.nix @@ -12,11 +12,6 @@ ./paperless.nix ]; - nixpkgs = { - hostPlatform = "x86_64-linux"; - config.allowUnfree = true; - }; - boot = { lanzaboote = { enable = true; @@ -58,7 +53,7 @@ # NOTE: hardware.framework.enableKmod requires kernel patching, but enables access to some EC features bluetooth.enable = true; cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - enableAllFirmware = true; + enableRedistributableFirmware = true; framework.laptop13.audioEnhancement.enable = true; graphics = { enable = true; diff --git a/outputs.nix b/outputs.nix index c860d3c..08e8ad0 100644 --- a/outputs.nix +++ b/outputs.nix @@ -1,4 +1,3 @@ -# Adapted from Mic92/dotfiles { self, flake-utils, @@ -11,7 +10,7 @@ (flake-utils.lib.eachDefaultSystem ( system: let - pkgs = import nixpkgs { inherit system; }; + pkgs = nixpkgs.legacyPackages.${system}; treefmtEval = treefmt-nix.lib.evalModule pkgs ./treefmt.nix; in { @@ -31,20 +30,16 @@ formatter = treefmtEval.config.build.wrapper; packages = import ./pkgs { inherit pkgs; } // { - installer-iso = self.nixosConfigurations.installer.config.system.build.isoImage; + installer-iso = inputs.self.nixosConfigurations.installer.config.system.build.isoImage; }; } )) // { - hmModules = import ./home/modules.nix { lib = nixpkgs.lib; }; - - nixosConfigurations = import ./nixos/configurations.nix inputs; - - nixosModules = import ./nixos/modules { lib = nixpkgs.lib; }; - - overlays = import ./overlays.nix; - - hydraJobs = import ./hydra-jobs.nix inputs; - checks = import ./checks.nix inputs; + hmModules = import ./home/modules.nix { lib = nixpkgs.lib; }; + hmConfigurations = { + dadada = import ./home; + }; + nixosConfigurations = import ./nixos/configurations.nix inputs; + nixosModules = import ./nixos/modules { lib = nixpkgs.lib; }; } diff --git a/overlays.nix b/overlays.nix deleted file mode 100644 index ffcd441..0000000 --- a/overlays.nix +++ /dev/null @@ -1 +0,0 @@ -{ }