Add n8n service
This commit is contained in:
parent
81bee0a7b9
commit
54fc411e13
8 changed files with 186 additions and 223 deletions
|
|
@ -17,9 +17,9 @@ let
|
|||
}
|
||||
);
|
||||
|
||||
pkgs =
|
||||
system:
|
||||
import nixpkgs {
|
||||
mkPkgs =
|
||||
nixpkgsSrc: system:
|
||||
import nixpkgsSrc {
|
||||
inherit system;
|
||||
overlays = [
|
||||
agenixOverlay
|
||||
|
|
@ -28,243 +28,85 @@ let
|
|||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
pkgs-unstable =
|
||||
system:
|
||||
import nixpkgs-unstable {
|
||||
inherit system;
|
||||
overlays = [
|
||||
agenixOverlay
|
||||
customOverlays
|
||||
];
|
||||
config.allowUnfree = true;
|
||||
# Helper function to create a Proxmox LXC host
|
||||
mkLXC =
|
||||
{
|
||||
hostModule,
|
||||
unstable ? false,
|
||||
system ? "x86_64-linux",
|
||||
extraModules ? [ ],
|
||||
specialArgs ? { },
|
||||
}:
|
||||
let
|
||||
nixpkgsSrc = if unstable then nixpkgs-unstable else nixpkgs;
|
||||
in
|
||||
nixpkgsSrc.lib.nixosSystem {
|
||||
pkgs = mkPkgs nixpkgsSrc system;
|
||||
modules = [
|
||||
# Base modules for all hosts
|
||||
authentik-nix.nixosModules.default
|
||||
../modules
|
||||
|
||||
# Proxmox LXC support
|
||||
"${nixpkgs}/nixos/modules/virtualisation/proxmox-lxc.nix"
|
||||
../modules/virtualisation/proxmox.nix
|
||||
|
||||
# Agenix for secrets
|
||||
agenix.nixosModules.default
|
||||
|
||||
# Host-specific module
|
||||
hostModule
|
||||
]
|
||||
++ extraModules;
|
||||
inherit specialArgs;
|
||||
};
|
||||
|
||||
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";
|
||||
# pkgs = mkPkgs nixpkgs "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 = { };
|
||||
baseLXC = mkLXC {
|
||||
hostModule = ./base-lxc.nix;
|
||||
specialArgs = { inherit self; };
|
||||
};
|
||||
|
||||
caddy = nixpkgs.lib.nixosSystem {
|
||||
pkgs = pkgs "x86_64-linux";
|
||||
modules = [
|
||||
nodeBaseModules
|
||||
proxmoxModule
|
||||
./caddy
|
||||
agenix.nixosModules.default
|
||||
];
|
||||
# specialArgs = { };
|
||||
arr = mkLXC { hostModule = ./arr; };
|
||||
caddy = mkLXC { hostModule = ./caddy; };
|
||||
colmena = mkLXC { hostModule = ./colmena; };
|
||||
dns01 = mkLXC { hostModule = ./dns/dns-01.nix; };
|
||||
dns02 = mkLXC { hostModule = ./dns/dns-02.nix; };
|
||||
firefly-iii = mkLXC { hostModule = ./firefly-iii; };
|
||||
forgejo = mkLXC { hostModule = ./forgejo; };
|
||||
immich = mkLXC { hostModule = ./immich; };
|
||||
metrics = mkLXC { hostModule = ./metrics; };
|
||||
n8n = mkLXC { hostModule = ./n8n; };
|
||||
nextcloud = mkLXC { hostModule = ./nextcloud; };
|
||||
plex = mkLXC { hostModule = ./plex; };
|
||||
portainer = mkLXC { hostModule = ./portainer; };
|
||||
shadowsocks = mkLXC { hostModule = ./shadowsocks; };
|
||||
vaultwarden = mkLXC { hostModule = ./vaultwarden; };
|
||||
|
||||
# Hosts requiring nixpkgs-unstable
|
||||
authentik = mkLXC {
|
||||
hostModule = ./authentik;
|
||||
unstable = true;
|
||||
};
|
||||
|
||||
metrics = nixpkgs.lib.nixosSystem {
|
||||
pkgs = pkgs "x86_64-linux";
|
||||
modules = [
|
||||
nodeBaseModules
|
||||
proxmoxModule
|
||||
./metrics
|
||||
agenix.nixosModules.default
|
||||
];
|
||||
# specialArgs = { };
|
||||
paperless = mkLXC {
|
||||
hostModule = ./paperless;
|
||||
unstable = true;
|
||||
};
|
||||
|
||||
nextcloud = nixpkgs.lib.nixosSystem {
|
||||
pkgs = pkgs "x86_64-linux";
|
||||
modules = [
|
||||
nodeBaseModules
|
||||
proxmoxModule
|
||||
./nextcloud
|
||||
agenix.nixosModules.default
|
||||
];
|
||||
# specialArgs = { };
|
||||
|
||||
zigbee2mqtt = mkLXC {
|
||||
hostModule = ./zigbee2mqtt;
|
||||
unstable = true;
|
||||
};
|
||||
|
||||
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 = { };
|
||||
};
|
||||
|
||||
forgejo = nixpkgs.lib.nixosSystem {
|
||||
pkgs = pkgs "x86_64-linux";
|
||||
modules = [
|
||||
nodeBaseModules
|
||||
proxmoxModule
|
||||
./forgejo
|
||||
agenix.nixosModules.default
|
||||
];
|
||||
# specialArgs = { };
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue