diff options
| author | schererleander <leander@schererleander.de> | 2025-04-29 16:59:25 +0200 |
|---|---|---|
| committer | schererleander <leander@schererleander.de> | 2025-04-29 16:59:25 +0200 |
| commit | db88d50e8924cba8b424c0ea7546b81baccd9c5c (patch) | |
| tree | 44b2b1082c587b47fb1f08d620ee707ddd4adf27 /modules/home-manager/nextcloud.nix | |
| parent | 539b3e2836e4e7177e65b3df10a4bfe68f9f4d23 (diff) | |
initial commit
Diffstat (limited to 'modules/home-manager/nextcloud.nix')
| -rw-r--r-- | modules/home-manager/nextcloud.nix | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/modules/home-manager/nextcloud.nix b/modules/home-manager/nextcloud.nix new file mode 100644 index 0000000..6e8774f --- /dev/null +++ b/modules/home-manager/nextcloud.nix @@ -0,0 +1,39 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.nextcloud; +in { + options.nextcloud.enable = lib.mkEnableOption "Enable nextcloud and setup"; + config = lib.mkIf cfg.enable { + home.file.".netrc".text = ''default + login exmaple + password test123 + ''; + + home.packages = pkgs.nextcloud-client; + + systemd.user = { + services.nextcloud-autosync = { + Unit = { + Description = "Auto sync Nextcloud"; + After = "network-online.target"; + }; + Service = { + Type = "simple"; + ExecStart = "${pkgs.nextcloud-client}/bin/nextcloudcmd -h -n https://cloud.schererleander.de"; + TimeoutStopSec = "180"; + KillMode = "process"; + KillSignal = "SIGINT"; + }; + Install.WantedBy = ["multi-user.target"]; + }; + timers.nextcloud-autosync = { + Unit.Description = "Automatic sync files with Nextcloud when booted up after 5 minutes then rerun every 60 minutes"; + Timer.OnBootSec = "5min"; + Timer.OnUnitActiveSec = "60min"; + Install.WantedBy = ["multi-user.target" "timers.target"]; + }; + startServices = true; + }; + }; +} |
