diff --git a/hosts/bigding/configuration.nix b/hosts/bigding/configuration.nix index f16640b..793957b 100644 --- a/hosts/bigding/configuration.nix +++ b/hosts/bigding/configuration.nix @@ -5,13 +5,11 @@ ... }: { imports = [ - # Include the results of the hardware scan. ../common ./hardware-configuration.nix - ./caddy.nix - ./prometheus.nix - ./rclone.nix - ./synapse.nix + + (import ../../modules).bigding + ./tmux.nix ]; @@ -35,20 +33,6 @@ }; }; - services.jellyfin.enable = true; - - services.transmission = { - enable = true; - settings = { - rpc-host-whitelist-enable = true; - rpc-host-whitelist = "bigding.squirrel-clownfish.ts.net"; - }; - }; - - services.tailscale.permitCertUid = "caddy"; - - users.users."daniel".extraGroups = ["transmission"]; - environment.systemPackages = with pkgs; [ helix kitty # For terminfo diff --git a/hosts/bigding/caddy.nix b/modules/caddy/default.nix similarity index 97% rename from hosts/bigding/caddy.nix rename to modules/caddy/default.nix index 218e961..ba7957a 100644 --- a/hosts/bigding/caddy.nix +++ b/modules/caddy/default.nix @@ -5,6 +5,8 @@ }: { networking.firewall.allowedTCPPorts = [80 8448 443]; + services.tailscale.permitCertUid = "caddy"; + services.caddy = { enable = true; virtualHosts = { diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..570565c --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,10 @@ +{ + bigding = { + imports = [ + ./caddy + ./dungflix + ./monitoring + ./synapse + ]; + }; +} diff --git a/hosts/bigding/rclone.nix b/modules/dungflix/default.nix similarity index 84% rename from hosts/bigding/rclone.nix rename to modules/dungflix/default.nix index 0cfdee9..6f52560 100644 --- a/hosts/bigding/rclone.nix +++ b/modules/dungflix/default.nix @@ -19,6 +19,21 @@ in { dungflix_bucket_account_key.file = ../../secrets/dungflix_bucket_account_key.age; dungflix_crypt_remote_obscured_pass.file = ../../secrets/dungflix_crypt_remote_obscured_pass.age; }; + + services = { + jellyfin.enable = true; + + transmission = { + enable = true; + settings = { + rpc-host-whitelist-enable = true; + rpc-host-whitelist = "bigding.squirrel-clownfish.ts.net"; + }; + }; + }; + + users.users."daniel".extraGroups = ["transmission"]; + systemd.services.dungflix-mount = { description = "Mount the Backblaze B2 media store"; wantedBy = ["multi-user.target"]; diff --git a/hosts/bigding/prometheus.nix b/modules/monitoring/default.nix similarity index 100% rename from hosts/bigding/prometheus.nix rename to modules/monitoring/default.nix diff --git a/hosts/bigding/synapse.nix b/modules/synapse/default.nix similarity index 100% rename from hosts/bigding/synapse.nix rename to modules/synapse/default.nix