feat: Added stuff as a attr instead of list

This commit is contained in:
uttarayan21
2025-06-19 18:18:50 +05:30
parent cdc60fefb4
commit c15d06781b
7 changed files with 251 additions and 115 deletions

View File

@@ -6,41 +6,40 @@
home-manager,
nur,
...
}:
builtins.listToAttrs (builtins.map (device: {
name = device.name;
value = nixpkgs.lib.nixosSystem {
system = device.system;
specialArgs = {
inherit device;
stablePkgs = inputs.nixpkgs-stable.legacyPackages.${device.system};
lanzaboote = inputs.lanzaboote;
};
modules = [
nur.modules.nixos.default
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
{nixpkgs.overlays = overlays;}
./${device.name}/configuration.nix
home-manager.nixosModules.home-manager
inputs.lanzaboote.nixosModules.lanzaboote
inputs.musnix.nixosModules.musnix
inputs.arion.nixosModules.arion
{
nixpkgs.config.allowUnfree = true;
home-manager = {
backupFileExtension = "bak";
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit inputs;
inherit device;
stablePkgs = inputs.nixpkgs-stable.legacyPackages.${device.system};
}: (builtins.mapAttrs (
name: device:
nixpkgs.lib.nixosSystem {
system = device.system;
specialArgs = {
inherit device;
stablePkgs = inputs.nixpkgs-stable.legacyPackages.${device.system};
lanzaboote = inputs.lanzaboote;
};
modules = [
nur.modules.nixos.default
inputs.sops-nix.nixosModules.sops
inputs.disko.nixosModules.disko
{nixpkgs.overlays = overlays;}
./${device.name}/configuration.nix
home-manager.nixosModules.home-manager
inputs.lanzaboote.nixosModules.lanzaboote
inputs.musnix.nixosModules.musnix
inputs.arion.nixosModules.arion
{
nixpkgs.config.allowUnfree = true;
home-manager = {
backupFileExtension = "bak";
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = {
inherit inputs;
inherit device;
stablePkgs = inputs.nixpkgs-stable.legacyPackages.${device.system};
};
users.${device.user}.imports = [../home];
};
users.${device.user}.imports = [../home];
};
}
];
};
})
}
];
}
)
devices)

View File

@@ -191,9 +191,9 @@
layout = "us";
variant = "";
};
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
};
displayManager.gdm.enable = true;
desktopManager.gnome.enable = true;
pipewire = {
enable = true;
alsa.enable = true;