aboutsummaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authortdback <tyler@tdback.net>2024-12-21 15:32:13 -0500
committertdback <tyler@tdback.net>2024-12-21 15:32:13 -0500
commit0a5754541bb01e96021ca7ee74f1256a8ee68bc4 (patch)
tree2d0b8089e98239963a1e240cff676b1515fc8431 /flake.nix
initial commit to self-hosted git
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix78
1 files changed, 78 insertions, 0 deletions
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" ]; }
+ ])
+ ];
+ };
+}