259 lines
5 KiB
Nix
259 lines
5 KiB
Nix
{
|
|
nixpkgs,
|
|
nixpkgs-unstable,
|
|
nixos-hardware,
|
|
agenix,
|
|
home-manager,
|
|
lix-module,
|
|
authentik-nix,
|
|
self,
|
|
...
|
|
}:
|
|
let
|
|
agenixOverlay = final: prev: { agenix = agenix.packages.${prev.system}.default; };
|
|
|
|
customOverlays = (
|
|
final: prev: {
|
|
}
|
|
);
|
|
|
|
pkgs =
|
|
system:
|
|
import nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
agenixOverlay
|
|
customOverlays
|
|
];
|
|
config.allowUnfree = true;
|
|
};
|
|
|
|
pkgs-unstable =
|
|
system:
|
|
import nixpkgs-unstable {
|
|
inherit system;
|
|
overlays = [
|
|
agenixOverlay
|
|
customOverlays
|
|
];
|
|
config.allowUnfree = true;
|
|
};
|
|
|
|
nodeBaseModules = {
|
|
imports = [
|
|
# lix-module.nixosModules.default
|
|
authentik-nix.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 = [
|
|
# nodeBaseModules
|
|
# ./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 = [
|
|
# nodeBaseModules
|
|
# proxmoxModule
|
|
# ./base-lxc.nix
|
|
# agenix.nixosModules.default
|
|
# ];
|
|
# specialArgs = {
|
|
# inherit self;
|
|
# };
|
|
# };
|
|
|
|
arr = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./arr
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
caddy = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./caddy
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
metrics = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./metrics
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
nextcloud = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./nextcloud
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
plex = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./plex
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
vaultwarden = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./vaultwarden
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
portainer = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./portainer
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
authentik = nixpkgs-unstable.lib.nixosSystem {
|
|
pkgs = pkgs-unstable "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./authentik
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
colmena = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./colmena
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
dns01 = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./dns/dns-01.nix
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
dns02 = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./dns/dns-02.nix
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
shadowsocks = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./shadowsocks
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
immich = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./immich
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
firefly-iii = nixpkgs.lib.nixosSystem {
|
|
pkgs = pkgs "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./firefly-iii
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
paperless = nixpkgs-unstable.lib.nixosSystem {
|
|
pkgs = pkgs-unstable "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./paperless
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
zigbee2mqtt = nixpkgs-unstable.lib.nixosSystem {
|
|
pkgs = pkgs-unstable "x86_64-linux";
|
|
modules = [
|
|
nodeBaseModules
|
|
proxmoxModule
|
|
./zigbee2mqtt
|
|
agenix.nixosModules.default
|
|
];
|
|
# specialArgs = { };
|
|
};
|
|
|
|
}
|