diff --git a/hosts/ulmo/default.nix b/hosts/ulmo/default.nix index 96f141d..df003a8 100644 --- a/hosts/ulmo/default.nix +++ b/hosts/ulmo/default.nix @@ -14,10 +14,10 @@ services = { auth.enable = true; media.enable = true; - # nextcloud.enable = true; + nextcloud.enable = true; games = { - minecraft.enable = true; + # minecraft.enable = true; }; }; diff --git a/modules/system/services/media.nix b/modules/system/services/media.nix index 8d97a25..26f997d 100644 --- a/modules/system/services/media.nix +++ b/modules/system/services/media.nix @@ -13,6 +13,15 @@ in enable = mkEnableOption "Media tools"; }; + imports = let + extras = fetchTarball { + url = "https://github.com/onny/nixos-nextcloud-testumgebung/archive/fa6f062830b4bc3cedb9694c1dbf01d5fdf775ac.tar.gz"; + sha256 = "0gzd0276b8da3ykapgqks2zhsqdv4jjvbv97dsxg0hgrhb74z0fs"; + }; + in [ + "${extras}/nextcloud-extras.nix" + ]; + config = mkIf config.modules.services.media.enable { environment.systemPackages = with pkgs; [ podman-tui @@ -36,6 +45,7 @@ in systemd.tmpfiles.rules = [ "d '${directory}/series' 0700 ${user} ${group} - -" "d '${directory}/movies' 0700 ${user} ${group} - -" + "d '${directory}/music' 0700 ${user} ${group} - -" "d '${directory}/qbittorrent' 0700 ${user} ${group} - -" "d '${directory}/sabnzbd' 0700 ${user} ${group} - -" "d '${directory}/reiverr/config' 0700 ${user} ${group} - -" diff --git a/modules/system/services/nextcloud.nix b/modules/system/services/nextcloud.nix index 687de65..4325d6c 100644 --- a/modules/system/services/nextcloud.nix +++ b/modules/system/services/nextcloud.nix @@ -4,6 +4,7 @@ let inherit (lib.modules) mkIf; user = "nextcloud"; + group = "nextcloud"; in { options.modules.services.nextcloud = { @@ -13,43 +14,59 @@ in config = mkIf config.modules.services.nextcloud.enable { users = { users.${user} = { - name = user; isSystemUser = true; - home = "/home/${user}"; - group = user; + group = group; }; - groups.${user} = {}; + groups.${group} = {}; }; - home-manager.users.${user}.home.file.".netrc".text = '' - login root - password KaasIsAwesome! - ''; + home-manager.users.${user}.home = { + stateVersion = config.system.stateVersion; - systemd.user = { - services.nextcloud-autosync = { - Unit = { - Description = "Automatic nextcloud sync"; - After = "network-online.target"; - }; - WantedBy = [ "multi-user.target" ]; - Service = { - Type = "simple"; - ExecStart = "${pkgs.nextcloud-client}/bin/nextcloudcmd -h -n --path /var/music /home/${user}/Music https://cloud.kruining.eu"; - TimeoutStopSec = "180"; - KillMode = "process"; - KillSignal = "SIGINT"; - }; - }; + file.".netrc".text = '' + login root + password KaasIsAwesome! + ''; + }; - timers.nextcloud-autosync = { - Unit.Description = "Automatic nextcloud sync"; - Timer.OnBootSec = "5min"; - Timer.OnUnitActiveSec = "60min"; - Install.WantedBy = [ "multi-user.target" "timers.target" ]; + services.nextcloud = { + enable = true; + webserver = "caddy"; + package = pkgs.nextcloud31; + hostName = "localhost"; + + config = { + adminpassFile = "/var/lib/nextcloud/admin-pass"; + dbtype = "sqlite"; }; }; + # systemd.user = { + # services.nextcloud-autosync = { + # Unit = { + # Description = "Automatic nextcloud sync"; + # After = "network-online.target"; + # }; + # WantedBy = [ "multi-user.target" ]; + # Service = { + # Type = "simple"; + # ExecStart = "${pkgs.nextcloud-client}/bin/nextcloudcmd -h -n --path /var/media/music https://cloud.kruining.eu"; + # TimeoutStopSec = "180"; + # KillMode = "process"; + # KillSignal = "SIGINT"; + # }; + # }; + + # timers.nextcloud-autosync = { + # Unit.Description = "Automatic nextcloud sync"; + # Timer.OnBootSec = "5min"; + # Timer.OnUnitActiveSec = "60min"; + # Install.WantedBy = [ "multi-user.target" "timers.target" ]; + # }; + + # startServices = true; + # }; + services.caddy = { enable = true; virtualHosts."cloud.kruining.eu".extraConfig = ''