Refactor.
This commit is contained in:
parent
46dc54ccca
commit
acb5021913
1 changed files with 54 additions and 77 deletions
131
flake.nix
131
flake.nix
|
@ -30,91 +30,68 @@
|
|||
config.android_sdk.accept_license = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Common modules shared across all hosts
|
||||
commonModules = [
|
||||
agenix.nixosModules.default
|
||||
{
|
||||
environment.systemPackages = [ agenix.packages.${system}.default ];
|
||||
}
|
||||
(
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
nixpkgs.overlays = [ overlayUnstable ];
|
||||
}
|
||||
)
|
||||
];
|
||||
|
||||
# Common home-manager modules
|
||||
homeManagerModules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
}
|
||||
];
|
||||
|
||||
# Helper function to create a host configuration
|
||||
mkHost =
|
||||
{
|
||||
hostPath,
|
||||
extraModules ? [ ],
|
||||
includeHomeManager ? true,
|
||||
specialArgs ? { },
|
||||
}:
|
||||
nixpkgs.lib.nixosSystem {
|
||||
inherit system specialArgs;
|
||||
modules =
|
||||
commonModules
|
||||
++ (if includeHomeManager then homeManagerModules else [ ])
|
||||
++ extraModules
|
||||
++ [ hostPath ];
|
||||
};
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
nixbox = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
{
|
||||
environment.systemPackages = [ agenix.packages.${system}.default ];
|
||||
}
|
||||
(
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
nixpkgs.overlays = [ overlayUnstable ];
|
||||
}
|
||||
)
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
}
|
||||
./hosts/nixbox
|
||||
];
|
||||
nixbox = mkHost {
|
||||
hostPath = ./hosts/nixbox;
|
||||
};
|
||||
flynode = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
{
|
||||
environment.systemPackages = [ agenix.packages.${system}.default ];
|
||||
}
|
||||
(
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
nixpkgs.overlays = [ overlayUnstable ];
|
||||
}
|
||||
)
|
||||
nixos-hardware.nixosModules.lenovo-thinkpad-z13-gen1
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
}
|
||||
./hosts/flynode
|
||||
];
|
||||
|
||||
flynode = mkHost {
|
||||
hostPath = ./hosts/flynode;
|
||||
extraModules = [ nixos-hardware.nixosModules.lenovo-thinkpad-z13-gen1 ];
|
||||
};
|
||||
thewordnerd = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
|
||||
thewordnerd = mkHost {
|
||||
hostPath = ./hosts/hub;
|
||||
extraModules = [ simple-nixos-mailserver.nixosModule ];
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
{
|
||||
environment.systemPackages = [ agenix.packages.${system}.default ];
|
||||
}
|
||||
(
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
nixpkgs.overlays = [ overlayUnstable ];
|
||||
}
|
||||
)
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
}
|
||||
simple-nixos-mailserver.nixosModule
|
||||
./hosts/hub
|
||||
];
|
||||
};
|
||||
garden = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
|
||||
garden = mkHost {
|
||||
hostPath = ./hosts/garden;
|
||||
includeHomeManager = false;
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
agenix.nixosModules.default
|
||||
{
|
||||
environment.systemPackages = [ agenix.packages.${system}.default ];
|
||||
}
|
||||
(
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
nixpkgs.overlays = [ overlayUnstable ];
|
||||
}
|
||||
)
|
||||
./hosts/garden
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue