This commit is contained in:
Chris Kruining 2025-05-20 18:21:37 +02:00
parent 2248891dea
commit d68ce07602
Signed by: chris
SSH key fingerprint: SHA256:nG82MUfuVdRVyCKKWqhY+pCrbz9nbX6uzUns4RKa1Pg
3 changed files with 57 additions and 30 deletions

View file

@ -14,10 +14,10 @@
services = {
auth.enable = true;
media.enable = true;
# nextcloud.enable = true;
nextcloud.enable = true;
games = {
minecraft.enable = true;
# minecraft.enable = true;
};
};

View file

@ -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} - -"

View file

@ -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 = ''