nix/hosts/default.nix
2024-09-13 13:31:59 +02:00

95 lines
1.7 KiB
Nix

{
nixpkgs,
nixos-hardware,
agenix,
home-manager,
lix-module,
...
}:
let
agenixOverlay = final: prev: { agenix = agenix.packages.${prev.system}.default; };
customOverlays = import ../overlay;
pkgs =
system:
import nixpkgs {
inherit system;
overlays = [
agenixOverlay
customOverlays
];
config.allowUnfree = true;
};
myModule = {
imports = [
lix-module.nixosModules.default
../modules
];
};
proxmoxModule = {
imports = [
"${nixpkgs}/nixos/modules/virtualisation/proxmox-lxc.nix"
../modules/virtualisation/proxmox.nix
];
};
in
{
deadbeef = nixpkgs.lib.nixosSystem {
pkgs = pkgs "x86_64-linux";
modules = [
myModule
./deadbeef
nixos-hardware.nixosModules.dell-xps-15-9560
home-manager.nixosModules.home-manager
agenix.nixosModules.default
];
# specialArgs = { };
};
baseLXC = nixpkgs.lib.nixosSystem {
pkgs = pkgs "x86_64-linux";
modules = [
myModule
proxmoxModule
./base-lxc.nix
agenix.nixosModules.default
];
};
arr = nixpkgs.lib.nixosSystem {
pkgs = pkgs "x86_64-linux";
modules = [
myModule
proxmoxModule
./arr
agenix.nixosModules.default
];
# specialArgs = { };
};
caddy = nixpkgs.lib.nixosSystem {
pkgs = pkgs "x86_64-linux";
modules = [
myModule
proxmoxModule
./caddy
agenix.nixosModules.default
];
# specialArgs = { };
};
metrics = nixpkgs.lib.nixosSystem {
pkgs = pkgs "x86_64-linux";
modules = [
myModule
proxmoxModule
./metrics
agenix.nixosModules.default
];
# specialArgs = { };
};
}