From 0a5754541bb01e96021ca7ee74f1256a8ee68bc4 Mon Sep 17 00:00:00 2001 From: tdback Date: Sat, 21 Dec 2024 15:32:13 -0500 Subject: initial commit to self-hosted git --- flake.nix | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 flake.nix (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..30d31b3 --- /dev/null +++ b/flake.nix @@ -0,0 +1,78 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager/release-24.11"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + agenix = { + url = "github:ryantm/agenix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = { ... }@inputs: + let + helpers = import ./modules { inherit inputs; }; + inherit (helpers) mergeSets makeSystem; + in + { + nixosConfigurations = mergeSets [ + (makeSystem "woodpecker" inputs.nixpkgs [ + { + type = "profiles"; + modules = [ "common" "fstrim" "libvirtd" "nvidia" "pipewire" "security" "steam" "wireshark" "x11" ]; + } + ]) + (makeSystem "sparrow" inputs.nixpkgs [ + { + type = "profiles"; + modules = [ "common" "pipewire" "security" "vpn" "x11" ]; + } + ]) + (makeSystem "raindog" inputs.nixpkgs [ + { + type = "profiles"; + modules = [ "common" "security" "upgrade" ]; + } + { type = "scripts"; modules = [ "motd" "pushover" ]; } + { type = "services"; modules = [ "blocky" "searx" "ssh" ]; } + ]) + (makeSystem "oasis" inputs.nixpkgs [ + { + type = "profiles"; + modules = [ "common" "podman" "security" "upgrade" "wireguard" "zfs" ]; + } + { type = "scripts"; modules = [ "motd" "pushover" ]; } + { + type = "services"; + modules = [ "cgit" "proxy" "sftpgo" "ssh" ]; + } + ]) + (makeSystem "hive" inputs.nixpkgs [ + { + type = "profiles"; + modules = [ "common" "security" "upgrade" "wireguard" ]; + } + { type = "scripts"; modules = [ "motd" "pushover" ]; } + { + type = "services"; + modules = [ "fediverse" "proxy" "ssh" "web" ]; + } + ]) + (makeSystem "eden" inputs.nixpkgs [ + { + type = "containers"; + modules = [ "freshrss" "jellyfin" "pinchflat" "vaultwarden" "watchtower" ]; + } + { + type = "profiles"; + modules = [ "common" "podman" "security" "share" "upgrade" "wireguard" "zfs" ]; + } + { type = "scripts"; modules = [ "motd" "pushover" ]; } + { type = "services"; modules = [ "immich" "proxy" "ssh" ]; } + ]) + ]; + }; +} -- cgit v1.2.3