nix: optimize flake.nix for reusability

This commit is contained in:
js0ny 2025-10-13 02:31:29 +01:00
parent 6b7c6d529d
commit 05d620296e
3 changed files with 42 additions and 46 deletions

View file

@ -42,32 +42,24 @@
config.allowUnfree = true; config.allowUnfree = true;
}; };
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
nixosHosts = [
"zp"
"zephyrus"
"nixvirt"
];
mkNixosSystem =
hostname:
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
inherit specialArgs;
modules = [ ./hosts/${hostname} ];
};
in in
{ {
nixosConfigurations.zp = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
inherit specialArgs;
modules = [
nix-flatpak.nixosModules.nix-flatpak
./hosts/zp
];
};
nixosConfigurations.zephyrus = nixpkgs.lib.nixosSystem { nixosConfigurations = nixpkgs.lib.genAttrs nixosHosts mkNixosSystem;
system = "x86_64-linux";
inherit specialArgs;
modules = [
./hosts/zephyrus
];
};
nixosConfigurations.nixvirt = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
inherit specialArgs;
modules = [
./hosts/nixvirt
];
};
darwinConfigurations."zen" = nix-darwin.lib.darwinSystem { darwinConfigurations."zen" = nix-darwin.lib.darwinSystem {
system = "aarch64-darwin"; system = "aarch64-darwin";
@ -76,28 +68,31 @@
./hosts/zen ./hosts/zen
]; ];
}; };
homeConfigurations.js0ny = home-manager.lib.homeManagerConfiguration {
pkgs = forSystem "x86_64-linux"; homeConfigurations = {
extraSpecialArgs = specialArgs; js0ny = home-manager.lib.homeManagerConfiguration {
modules = [ pkgs = forSystem "x86_64-linux";
./users/js0ny extraSpecialArgs = specialArgs;
]; modules = [
}; ./users/js0ny
homeConfigurations."js0ny@zephyrus" = home-manager.lib.homeManagerConfiguration { ];
pkgs = forSystem "x86_64-linux"; };
extraSpecialArgs = specialArgs; "js0ny@zephyrus" = home-manager.lib.homeManagerConfiguration {
modules = [ pkgs = forSystem "x86_64-linux";
./users/js0ny/zephyrus.nix extraSpecialArgs = specialArgs;
plasma-manager.homeModules.plasma-manager modules = [
nix-flatpak.homeManagerModules.nix-flatpak ./users/js0ny/zephyrus.nix
]; plasma-manager.homeModules.plasma-manager
}; nix-flatpak.homeManagerModules.nix-flatpak
homeConfigurations."js0ny@nixvirt" = home-manager.lib.homeManagerConfiguration { ];
pkgs = forSystem "x86_64-linux"; };
extraSpecialArgs = specialArgs; "js0ny@nixvirt" = home-manager.lib.homeManagerConfiguration {
modules = [ pkgs = forSystem "x86_64-linux";
./users/js0ny/nixvirt.nix extraSpecialArgs = specialArgs;
]; modules = [
./users/js0ny/nixvirt.nix
];
};
}; };
}; };
} }

View file

@ -9,6 +9,7 @@
{ {
imports = [ imports = [
../../modules/nixos ../../modules/nixos
../../modules/nixos/host-machine.nix
# ../../modules/nixos/users/js0ny.nix # ../../modules/nixos/users/js0ny.nix
# ../../modules/nixos/guest.nix # ../../modules/nixos/guest.nix
../../modules/nixos/laptop.nix ../../modules/nixos/laptop.nix

View file

@ -9,5 +9,5 @@
usbutils usbutils
smartmontools smartmontools
v4l-utils v4l-utils
] ];
} }