nix/hosts/default.nix

82 lines
1.5 KiB
Nix

{ nixpkgs
, nixos-hardware
, agenix
, home-manager
, lix-module
, nixpkgs-caddy
, ...
}:
let
agenixOverlay = final: prev: { agenix = agenix.packages.${prev.system}.default; };
pkgs =
system:
import nixpkgs {
inherit system;
overlays = [ agenixOverlay ];
config.allowUnfree = true;
};
pkgs-caddy =
system:
import nixpkgs-caddy {
inherit system;
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 = {
# inherit nixvim nix-index-database;
};
};
arr = nixpkgs.lib.nixosSystem {
pkgs = pkgs "x86_64-linux";
modules = [
myModule
proxmoxModule
./arr
agenix.nixosModules.default
];
specialArgs = {
# inherit nixvim nix-index-database;
};
};
metrics = nixpkgs.lib.nixosSystem {
pkgs = pkgs "x86_64-linux";
modules = [
myModule
proxmoxModule
./metrics
agenix.nixosModules.default
];
specialArgs = {
pkgs-caddy = pkgs-caddy "x86_64-linux";
};
};
}