mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 18:41:34 +01:00
Add nextcloud synchronization
This commit is contained in:
parent
9a6056f51b
commit
dc295a9e49
7 changed files with 68 additions and 20 deletions
|
|
@ -25,7 +25,6 @@
|
|||
virtualisation.enable = true;
|
||||
sops.enable = true;
|
||||
printing.enable = true;
|
||||
syncthing.enable = true;
|
||||
auto-gc.enable = true;
|
||||
geoclue.enable = true;
|
||||
tailscale = {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
virtualisation.enable = true;
|
||||
sops.enable = true;
|
||||
printing.enable = true;
|
||||
syncthing.enable = true;
|
||||
auto-gc.enable = true;
|
||||
geoclue.enable = true;
|
||||
tailscale = {
|
||||
|
|
|
|||
59
modules/home/nextcloud-sync.nix
Normal file
59
modules/home/nextcloud-sync.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
paths = [
|
||||
"Documents"
|
||||
"Downloads"
|
||||
"Pictures"
|
||||
"Music"
|
||||
"Videos"
|
||||
"Projects"
|
||||
];
|
||||
syncCommand =
|
||||
path:
|
||||
"nextcloudcmd ${
|
||||
lib.concatStringsSep " " [
|
||||
"--user seb"
|
||||
"--password \"$(cat ${config.sops.secrets."nextcloud-password".path})\""
|
||||
"--path /Sync/${path}"
|
||||
"--non-interactive"
|
||||
"~/${path}"
|
||||
"https://cloud.stork-atlas.ts.net"
|
||||
]
|
||||
}";
|
||||
in
|
||||
{
|
||||
options.myConfig.nextcloud-sync.enable = lib.mkEnableOption "";
|
||||
|
||||
config = lib.mkIf config.myConfig.nextcloud-sync.enable {
|
||||
sops.secrets."nextcloud-password" = { };
|
||||
|
||||
systemd.user = {
|
||||
services.nextcloud-autosync = {
|
||||
Service = {
|
||||
ExecStart = lib.getExe' (pkgs.writeShellApplication {
|
||||
name = "nextcloud-sync-script";
|
||||
runtimeInputs = [ pkgs.nextcloud-client ];
|
||||
text = builtins.concatStringsSep "\n" (map syncCommand paths);
|
||||
}) "nextcloud-sync-script";
|
||||
};
|
||||
};
|
||||
|
||||
timers.nextcloud-autosync = {
|
||||
Install.WantedBy = [ "default.target" ];
|
||||
Timer = {
|
||||
OnBootSec = "1min";
|
||||
OnUnitActiveSec = "5min";
|
||||
};
|
||||
Unit.After = [
|
||||
"network-online.target"
|
||||
"sops-nix.service"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
options.myConfig.nextcloud.enable = lib.mkEnableOption "";
|
||||
|
||||
config = lib.mkIf config.myConfig.nextcloud.enable {
|
||||
services.nextcloud-client = {
|
||||
enable = true;
|
||||
startInBackground = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
github-ssh-key: ENC[AES256_GCM,data:ahboYxvvd8QuDT7BKpAfqCJzUnhoWpsHmAP5RIy0fVnetIEZFVMgf1tAgchqkisG05mQRPp17xMIsGaeZG0WrPEct1l5VhLjC7cgxBgFM/pMlfxAJUaZQG8pIKUMtlpDmpdRO1SW+8wUOwNNyWoo2yd513XGM04L91QdUYXRe12YsGz+JddJSGgQd/3PZJknDhI/NGCBCj25u9oIfhw6aYdsrEYTbeFIO8lomCgLb1AlITwwQFqcyCzV42Ifk/v2KoCK6JO7mvAb1rtOqwCUm6r6rfyv8Hy2P5ckGmu8/h4ZzaccuhWZQyFhhxFMYJFHEejqnZFehGL+EV4JxXzBQuL2mrZmDfC9sNsresZSkM9CL6+ZvYq3X9eldLLGt9m3Hx6a7+dTTnLVvqz2ycmbR/EHY6BkQ6rd2FomjBIFWubBCa76UPOT7uuwY3ebtB/aHtKf+nqrkYiWDpoIpI7o7hr85j65IMEGvyqJqYxJN4mI/z3yreOfbUTv+3ymExeqeTdQLb/ryD9Kk/GzZtXa,iv:9yf3/tzhvKbI2T5NA5cWdjuVVfPCVKDou84SKvEVG4M=,tag:437owh8BgJ7urnVuW2PzyQ==,type:str]
|
||||
nextcloud-password: ENC[AES256_GCM,data:xzoP07fEC8lMEfpppFo2zW3Ea1J37UvlnAp4+Vg=,iv:wFNVM3LZcSK+TA2ZYrdk3WJotYPro7QMEiA/qX0/mVI=,tag:zCzFwFnEJ1lzfWXu8Fn9dQ==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
|
|
@ -23,8 +24,8 @@ sops:
|
|||
LzNhelFLTWhqd1FxazMzdmNXZnVwODAKQqwbkhPmBliuWpvrDbMn50yxYx8izVGE
|
||||
XsSeOv9OEKmxiWUJX928vxBNUm8cLtOazvRbdTxgbiAgHWIoEv4mUg==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-07-04T22:45:41Z"
|
||||
mac: ENC[AES256_GCM,data:8spcUd/bcvLIWU+a9Zbf9TKfWAHhqdkU0vtsuiTY6CkXmja5HsTiQ0kqfUgcmE2c+vM7PaXqIRV/4j/6tcaAiYly/+Y9uKGIhjs8QoRsP7NVvnUsNO1rc13yEFPe5c1DVZrTxbKAFWV9N66h6Qm1ZVkpCS2YqTUa7Jdo006oGNI=,iv:jc2F3IcXR1bCNNvvnCvNMS+UfnKWuxHvOhis0bQ6Yuc=,tag:la5RA3dCisEwUWbgRf9OHA==,type:str]
|
||||
lastmodified: "2024-10-19T15:28:57Z"
|
||||
mac: ENC[AES256_GCM,data:VFN6IR2FIuR5lHLoHIrIR/xgVmWzslKlp15oqybP0W4sdBJlUhjW4FoHl9CLmTQwOKxiQ+leItW56WI+zQu3HlKz78I/LKKN4XvDMTx1LBplcXsKZlMSmr0l3c/gsPlk44l5pNJiaqQugb5f4GkhRehrpw6gjBeQ5ISHVEg6L4Q=,iv:7yd6H99IKQvr2t32sIe2ewgvIHFpXO22xsiCmN3CHuk=,tag:EWojkfIpd7hWENRoYWUE8A==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.8.1
|
||||
version: 3.9.1
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
github-ssh-key: ENC[AES256_GCM,data:j8+ZA2oLeRbd8SeOELiV8UUYIreKUqg5SEkpaRshZDeiEoHEd7JCrShFY378aqWPBKqi6OZOI69dU/oBqXRnVzRhJCJb0GdeWItcOt85EtwPdMg6zDno3h3pnnkxd+9BsUZRx9WPh9uihxfk78tB/I9XN9Xl3kjBEBZrV0PUJQkYzbZ6HXHOIzz0k5ysEiGkscP/NQNQ8nnYpDZDz/BHhyJEcbaUXDgIVlbIskzfoWFIjRH+kpxgkwikwhAV7DBFex/CbLqwUvT53q0S8k0tHKf/HPdc84vPfl5sNT0iy4qxLt/l1mJZYjGyFJYdz5G7xSZnTE05bEEOLPAfAt7gIOzTETi+ZByzvEyu3VJah4SiJCbel9DZxqF1fxBXGhAExA6Lo6Q5QbuJZISCXFK4SZW+M30cA2WbRKL1aThix2eFRI9XJKvWMscyqo1do8xhdSy1ZZwRHD+MHWTuh8L/gVLevf4CuZLAQfguNhKGzpCBZNPABx2vSLxwtS+brJxyJOPSdNa3+Wuh+N01aJv3,iv:Tr2mM8/uQjORcXi3g2dcEPp1lXBOC/1ykKUJkNFOLZI=,tag:LPiiFUeu0Csjb6qrGdXsAA==,type:str]
|
||||
nextcloud-password: ENC[AES256_GCM,data:f9KhzSU0z7z3PNpm4K5YRjnoRADr4BF9leSzDE8=,iv:tFwSeOJ6AO+pHiDFt0ricSJLQqIKpWu7cF+scdU50No=,tag:tFzwLgncwRyopiPUnQIFbQ==,type:str]
|
||||
sops:
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
|
|
@ -23,8 +24,8 @@ sops:
|
|||
RWtJdlNqRkU3OC9KVGhpcC9QcW5WTG8K+TYbo8tudt7mYuBce5n5ShuqcXkPA80e
|
||||
avMoxXZ74tZEWz8qaQtgMR6ayeUU+3p2sHoY5ayHfmzmjljt/CCwvw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-07-04T22:03:44Z"
|
||||
mac: ENC[AES256_GCM,data:sDT9OQf1hNWaARnsdL1K5S1uthySEtrPauRkeEEgpUo0Li4DhqAUY9TJHKG8UIG9eZ8WduIKm8ciUGx7zSkgWflGx3o3dmkVpTRKz73HLmU5SqQoZ0r8xLR2mVtqxhy3c5WWVp9mKRKt+lH98SyPVpU5aXX5KWAuTm+nBdQu4+E=,iv:bWWUklD5CWHoOGTY3/J34mtV430xCfX6QvVigXgrFIE=,tag:eM3sXD1o2K1hYqcSatU2qw==,type:str]
|
||||
lastmodified: "2024-10-19T15:28:35Z"
|
||||
mac: ENC[AES256_GCM,data:BkU2+cbKatfgPbT2VL3ym8RCpFWhSzdEzfZcV88iwMPC7cLP/ckqaD1hqANLMEuG1IyKENbsl2N65mlPzMrY6D2bAkEjPIR3cJT2ZfvHIj8SaJAHI8Fig6XlRT5o8zTQzHx595a+3rofZgS5IzxBQz9CZp7Z+4HZ/ElQUgR4FCk=,iv:SpGH8Jiu9Zoeevb1ub1JQMUwzokPBqvB9H1IGGk103E=,tag:QPUZLTTqJj8TeOlHcayGWg==,type:str]
|
||||
pgp: []
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.8.1
|
||||
version: 3.9.1
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
git.enable = true;
|
||||
vscode.enable = true;
|
||||
equalizer.enable = true;
|
||||
nextcloud.enable = true;
|
||||
nextcloud-sync.enable = true;
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue