diff --git a/hosts/midas/default.nix b/hosts/midas/default.nix index feed24d2..bb3475e5 100644 --- a/hosts/midas/default.nix +++ b/hosts/midas/default.nix @@ -26,7 +26,6 @@ system = { server.enable = true; - lanzaboote.enable = true; stateVersion = "24.11"; }; } diff --git a/hosts/midas/services/default.nix b/hosts/midas/services/default.nix index 0132aae1..3f6af2ed 100644 --- a/hosts/midas/services/default.nix +++ b/hosts/midas/services/default.nix @@ -1,17 +1,18 @@ { ... }: { services = { - fileserver.enable = true; - socialserver.enable = true; - webserver.enable = true; - forgejo.enable = true; icecast.enable = true; + jellyfin.enable = true; + mastodon.enable = true; + matrix-synapse.enable = true; + nextcloud.enable = true; + nfs.server.enable = true; owncast.enable = true; transmission.enable = true; vaultwarden.enable = true; + webserver.enable = true; wireguard.server.enable = true; - minecraft-servers = { enable = true; servers = { diff --git a/modules/system/services/server/default.nix b/modules/system/services/server/default.nix index 27ccc60e..bbdf111b 100644 --- a/modules/system/services/server/default.nix +++ b/modules/system/services/server/default.nix @@ -2,15 +2,18 @@ { imports = [ ./cfdyndns - ./fileserver ./forgejo ./icecast + ./jellyfin ./mailserver + ./mastodon + ./matrix ./minecraft ./mysql + ./nextcloud + ./nfs ./nginx ./owncast - ./socialserver ./transmission ./vaultwarden ./wireguard diff --git a/modules/system/services/server/fileserver/default.nix b/modules/system/services/server/fileserver/default.nix deleted file mode 100644 index 08319e4e..00000000 --- a/modules/system/services/server/fileserver/default.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ lib, ... }: -{ - options.services.fileserver.enable = lib.mkEnableOption "Enable file serving services"; - - imports = [ - ./jellyfin - ./nextcloud - ./nfs - ]; -} diff --git a/modules/system/services/server/fileserver/jellyfin/default.nix b/modules/system/services/server/fileserver/jellyfin/default.nix deleted file mode 100644 index ad745cce..00000000 --- a/modules/system/services/server/fileserver/jellyfin/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, lib, ... }: -{ - imports = [ - ./nginx - ./user - ]; - - config = lib.mkIf config.services.fileserver.enable { - services.jellyfin.enable = true; - environment.persistence."/persist".directories = [ "/var/lib/jellyfin" ]; - }; -} diff --git a/modules/system/services/server/fileserver/nfs/default.nix b/modules/system/services/server/fileserver/nfs/default.nix deleted file mode 100644 index 2966ab64..00000000 --- a/modules/system/services/server/fileserver/nfs/default.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ config, lib, ... }: -{ - imports = [ ./user ]; - - config = lib.mkIf config.services.fileserver.enable { - services.nfs.server = { - enable = true; - exports = "/storage *(rw,sync,no_subtree_check)"; - }; - networking.firewall.extraInputRules = "ip saddr 10.0.0.0/8 tcp dport 2049 accept"; - }; -} diff --git a/modules/system/services/server/jellyfin/default.nix b/modules/system/services/server/jellyfin/default.nix new file mode 100644 index 00000000..f3198a91 --- /dev/null +++ b/modules/system/services/server/jellyfin/default.nix @@ -0,0 +1,9 @@ +{ config, lib, ... }: +{ + imports = [ + ./nginx + ./user + ]; + + environment.persistence."/persist".directories = lib.mkIf config.services.jellyfin.enable [ "/var/lib/jellyfin" ]; +} diff --git a/modules/system/services/server/fileserver/jellyfin/nginx/default.nix b/modules/system/services/server/jellyfin/nginx/default.nix similarity index 100% rename from modules/system/services/server/fileserver/jellyfin/nginx/default.nix rename to modules/system/services/server/jellyfin/nginx/default.nix diff --git a/modules/system/services/server/fileserver/jellyfin/user/default.nix b/modules/system/services/server/jellyfin/user/default.nix similarity index 100% rename from modules/system/services/server/fileserver/jellyfin/user/default.nix rename to modules/system/services/server/jellyfin/user/default.nix diff --git a/modules/system/services/server/socialserver/mastodon/default.nix b/modules/system/services/server/mastodon/default.nix similarity index 87% rename from modules/system/services/server/socialserver/mastodon/default.nix rename to modules/system/services/server/mastodon/default.nix index 37028db0..7a8786b2 100644 --- a/modules/system/services/server/socialserver/mastodon/default.nix +++ b/modules/system/services/server/mastodon/default.nix @@ -1,8 +1,7 @@ { config, lib, pkgs, ... }: { - config = lib.mkIf config.services.socialserver.enable { + config = lib.mkIf config.services.mastodon.enable { services.mastodon = { - enable = true; localDomain = "social.nixfox.ca"; streamingProcesses = 4; configureNginx = true; diff --git a/modules/system/services/server/socialserver/matrix/coturn/default.nix b/modules/system/services/server/matrix/coturn/default.nix similarity index 100% rename from modules/system/services/server/socialserver/matrix/coturn/default.nix rename to modules/system/services/server/matrix/coturn/default.nix diff --git a/modules/system/services/server/socialserver/matrix/coturn/nginx/default.nix b/modules/system/services/server/matrix/coturn/nginx/default.nix similarity index 100% rename from modules/system/services/server/socialserver/matrix/coturn/nginx/default.nix rename to modules/system/services/server/matrix/coturn/nginx/default.nix diff --git a/modules/system/services/server/socialserver/matrix/default.nix b/modules/system/services/server/matrix/default.nix similarity index 100% rename from modules/system/services/server/socialserver/matrix/default.nix rename to modules/system/services/server/matrix/default.nix diff --git a/modules/system/services/server/matrix/element/default.nix b/modules/system/services/server/matrix/element/default.nix new file mode 100644 index 00000000..dfa2fc61 --- /dev/null +++ b/modules/system/services/server/matrix/element/default.nix @@ -0,0 +1,19 @@ +{ config, lib, ... }: +{ + imports = [ ./nginx ]; + + nixpkgs.config.element-web.conf = lib.mkIf config.services.matrix-synapse.enable { + default_server_config."m.homeserver" = { + base_url = "https://matrix.nixfox.ca"; + server_name = "matrix.nixfox.ca"; + }; + branding = { + auth_header_logo_url = "https://www.nixfox.ca/images/copyright/profile.png"; + #welcome_background_url = "https://www.nixfox.ca/images/backgrounds/template-background.png"; + }; + embedded_pages.home_url = "https://www.nixfox.ca/"; + disable_custom_urls = true; + disable_guests = true; + default_theme = "dark"; + }; +} diff --git a/modules/system/services/server/socialserver/matrix/element/nginx/default.nix b/modules/system/services/server/matrix/element/nginx/default.nix similarity index 100% rename from modules/system/services/server/socialserver/matrix/element/nginx/default.nix rename to modules/system/services/server/matrix/element/nginx/default.nix diff --git a/modules/system/services/server/socialserver/matrix/synapse/default.nix b/modules/system/services/server/matrix/synapse/default.nix similarity index 93% rename from modules/system/services/server/socialserver/matrix/synapse/default.nix rename to modules/system/services/server/matrix/synapse/default.nix index 3a99df75..342fff38 100644 --- a/modules/system/services/server/socialserver/matrix/synapse/default.nix +++ b/modules/system/services/server/matrix/synapse/default.nix @@ -2,9 +2,8 @@ { imports = [ ./nginx ]; - config = lib.mkIf config.services.socialserver.enable { + config = lib.mkIf config.services.matrix-synapse.enable { services.matrix-synapse = { - enable = true; settings = { server_name = "nixfox.ca"; public_baseurl = "https://matrix.nixfox.ca"; diff --git a/modules/system/services/server/socialserver/matrix/synapse/nginx/default.nix b/modules/system/services/server/matrix/synapse/nginx/default.nix similarity index 100% rename from modules/system/services/server/socialserver/matrix/synapse/nginx/default.nix rename to modules/system/services/server/matrix/synapse/nginx/default.nix diff --git a/modules/system/services/server/fileserver/nextcloud/default.nix b/modules/system/services/server/nextcloud/default.nix similarity index 92% rename from modules/system/services/server/fileserver/nextcloud/default.nix rename to modules/system/services/server/nextcloud/default.nix index e29041e4..20408682 100644 --- a/modules/system/services/server/fileserver/nextcloud/default.nix +++ b/modules/system/services/server/nextcloud/default.nix @@ -5,9 +5,8 @@ ./user ]; - config = lib.mkIf config.services.fileserver.enable { + config = lib.mkIf config.services.nextcloud.enable { services.nextcloud = { - enable = true; package = pkgs.nextcloud30; hostName = "files.nixfox.ca"; https = true; diff --git a/modules/system/services/server/fileserver/nextcloud/nginx/default.nix b/modules/system/services/server/nextcloud/nginx/default.nix similarity index 100% rename from modules/system/services/server/fileserver/nextcloud/nginx/default.nix rename to modules/system/services/server/nextcloud/nginx/default.nix diff --git a/modules/system/services/server/fileserver/nextcloud/user/default.nix b/modules/system/services/server/nextcloud/user/default.nix similarity index 100% rename from modules/system/services/server/fileserver/nextcloud/user/default.nix rename to modules/system/services/server/nextcloud/user/default.nix diff --git a/modules/system/services/server/nfs/default.nix b/modules/system/services/server/nfs/default.nix new file mode 100644 index 00000000..73012608 --- /dev/null +++ b/modules/system/services/server/nfs/default.nix @@ -0,0 +1,9 @@ +{ config, lib, ... }: +{ + imports = [ ./user ]; + + config = lib.mkIf config.services.nfs.server.enable { + services.nfs.server.exports = "/storage *(rw,sync,no_subtree_check)"; + networking.firewall.extraInputRules = "ip saddr 10.0.0.0/8 tcp dport 2049 accept"; + }; +} diff --git a/modules/system/services/server/fileserver/nfs/user/default.nix b/modules/system/services/server/nfs/user/default.nix similarity index 100% rename from modules/system/services/server/fileserver/nfs/user/default.nix rename to modules/system/services/server/nfs/user/default.nix diff --git a/modules/system/services/server/nginx/default.nix b/modules/system/services/server/nginx/default.nix index 67e7ac29..7110b64c 100644 --- a/modules/system/services/server/nginx/default.nix +++ b/modules/system/services/server/nginx/default.nix @@ -22,7 +22,5 @@ 80 443 ]; - - environment.persistence."/persist".directories = [ "/var/www" ]; }; } diff --git a/modules/system/services/server/nginx/rtmp/default.nix b/modules/system/services/server/nginx/rtmp/default.nix index 2bb7d7fb..b5e80bd2 100644 --- a/modules/system/services/server/nginx/rtmp/default.nix +++ b/modules/system/services/server/nginx/rtmp/default.nix @@ -2,9 +2,9 @@ { config = lib.mkIf config.services.webserver.enable { services.nginx = { - package = (pkgs.nginx.override { + package = pkgs.nginx.override { modules = with pkgs.nginxModules; [ rtmp ]; - }); + }; appendConfig = '' rtmp { server { diff --git a/modules/system/services/server/nginx/virtualhosts/default.nix b/modules/system/services/server/nginx/virtualhosts/default.nix index 00d8b57d..aef9846f 100644 --- a/modules/system/services/server/nginx/virtualhosts/default.nix +++ b/modules/system/services/server/nginx/virtualhosts/default.nix @@ -1,7 +1,9 @@ -{ ... }: +{ config, lib, ... }: { imports = [ ./files ./nixfox ]; + + environment.persistence."/persist".directories = lib.mkIf config.services.webserver.enable [ "/var/www" ]; } diff --git a/modules/system/services/server/socialserver/default.nix b/modules/system/services/server/socialserver/default.nix deleted file mode 100644 index fc388324..00000000 --- a/modules/system/services/server/socialserver/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ lib, ... }: -{ - imports = [ - ./mastodon - ./matrix - ]; - - options.services.socialserver.enable = lib.mkEnableOption "Enable social media like services"; -} diff --git a/modules/system/services/server/socialserver/matrix/element/default.nix b/modules/system/services/server/socialserver/matrix/element/default.nix deleted file mode 100644 index 68b5b83e..00000000 --- a/modules/system/services/server/socialserver/matrix/element/default.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ config, lib, ... }: -{ - imports = [ ./nginx ]; - - config = lib.mkIf config.services.matrix-synapse.enable { - nixpkgs.config.element-web.conf = { - default_server_config."m.homeserver" = { - base_url = "https://matrix.nixfox.ca"; - server_name = "matrix.nixfox.ca"; - }; - branding = { - auth_header_logo_url = "https://www.nixfox.ca/images/copyright/profile.png"; - #welcome_background_url = "https://www.nixfox.ca/images/backgrounds/template-background.png"; - }; - embedded_pages.home_url = "https://www.nixfox.ca/"; - disable_custom_urls = true; - disable_guests = true; - default_theme = "dark"; - }; - }; -} diff --git a/modules/system/users/main/default.nix b/modules/system/users/main/default.nix index 1b466552..e9e29832 100644 --- a/modules/system/users/main/default.nix +++ b/modules/system/users/main/default.nix @@ -8,9 +8,9 @@ sysusers.main = "bun"; users.users."${config.sysusers.main}" = { - hashedPassword = config.secrets.mainAccPass; isNormalUser = true; createHome = true; + hashedPassword = config.secrets.mainAccPass; openssh.authorizedKeys.keyFiles = [ ../../../../hosts/tower/id_ed25519.pub ../../../../hosts/kitty/id_ed25519.pub