mirror of
https://github.com/SebastianStork/nixos-config.git
synced 2026-01-21 15:11: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;
|
virtualisation.enable = true;
|
||||||
sops.enable = true;
|
sops.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
syncthing.enable = true;
|
|
||||||
auto-gc.enable = true;
|
auto-gc.enable = true;
|
||||||
geoclue.enable = true;
|
geoclue.enable = true;
|
||||||
tailscale = {
|
tailscale = {
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,6 @@
|
||||||
virtualisation.enable = true;
|
virtualisation.enable = true;
|
||||||
sops.enable = true;
|
sops.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
syncthing.enable = true;
|
|
||||||
auto-gc.enable = true;
|
auto-gc.enable = true;
|
||||||
geoclue.enable = true;
|
geoclue.enable = true;
|
||||||
tailscale = {
|
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]
|
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:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
gcp_kms: []
|
gcp_kms: []
|
||||||
|
|
@ -23,8 +24,8 @@ sops:
|
||||||
LzNhelFLTWhqd1FxazMzdmNXZnVwODAKQqwbkhPmBliuWpvrDbMn50yxYx8izVGE
|
LzNhelFLTWhqd1FxazMzdmNXZnVwODAKQqwbkhPmBliuWpvrDbMn50yxYx8izVGE
|
||||||
XsSeOv9OEKmxiWUJX928vxBNUm8cLtOazvRbdTxgbiAgHWIoEv4mUg==
|
XsSeOv9OEKmxiWUJX928vxBNUm8cLtOazvRbdTxgbiAgHWIoEv4mUg==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-07-04T22:45:41Z"
|
lastmodified: "2024-10-19T15:28:57Z"
|
||||||
mac: ENC[AES256_GCM,data:8spcUd/bcvLIWU+a9Zbf9TKfWAHhqdkU0vtsuiTY6CkXmja5HsTiQ0kqfUgcmE2c+vM7PaXqIRV/4j/6tcaAiYly/+Y9uKGIhjs8QoRsP7NVvnUsNO1rc13yEFPe5c1DVZrTxbKAFWV9N66h6Qm1ZVkpCS2YqTUa7Jdo006oGNI=,iv:jc2F3IcXR1bCNNvvnCvNMS+UfnKWuxHvOhis0bQ6Yuc=,tag:la5RA3dCisEwUWbgRf9OHA==,type:str]
|
mac: ENC[AES256_GCM,data:VFN6IR2FIuR5lHLoHIrIR/xgVmWzslKlp15oqybP0W4sdBJlUhjW4FoHl9CLmTQwOKxiQ+leItW56WI+zQu3HlKz78I/LKKN4XvDMTx1LBplcXsKZlMSmr0l3c/gsPlk44l5pNJiaqQugb5f4GkhRehrpw6gjBeQ5ISHVEg6L4Q=,iv:7yd6H99IKQvr2t32sIe2ewgvIHFpXO22xsiCmN3CHuk=,tag:EWojkfIpd7hWENRoYWUE8A==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
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]
|
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:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
gcp_kms: []
|
gcp_kms: []
|
||||||
|
|
@ -23,8 +24,8 @@ sops:
|
||||||
RWtJdlNqRkU3OC9KVGhpcC9QcW5WTG8K+TYbo8tudt7mYuBce5n5ShuqcXkPA80e
|
RWtJdlNqRkU3OC9KVGhpcC9QcW5WTG8K+TYbo8tudt7mYuBce5n5ShuqcXkPA80e
|
||||||
avMoxXZ74tZEWz8qaQtgMR6ayeUU+3p2sHoY5ayHfmzmjljt/CCwvw==
|
avMoxXZ74tZEWz8qaQtgMR6ayeUU+3p2sHoY5ayHfmzmjljt/CCwvw==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-07-04T22:03:44Z"
|
lastmodified: "2024-10-19T15:28:35Z"
|
||||||
mac: ENC[AES256_GCM,data:sDT9OQf1hNWaARnsdL1K5S1uthySEtrPauRkeEEgpUo0Li4DhqAUY9TJHKG8UIG9eZ8WduIKm8ciUGx7zSkgWflGx3o3dmkVpTRKz73HLmU5SqQoZ0r8xLR2mVtqxhy3c5WWVp9mKRKt+lH98SyPVpU5aXX5KWAuTm+nBdQu4+E=,iv:bWWUklD5CWHoOGTY3/J34mtV430xCfX6QvVigXgrFIE=,tag:eM3sXD1o2K1hYqcSatU2qw==,type:str]
|
mac: ENC[AES256_GCM,data:BkU2+cbKatfgPbT2VL3ym8RCpFWhSzdEzfZcV88iwMPC7cLP/ckqaD1hqANLMEuG1IyKENbsl2N65mlPzMrY6D2bAkEjPIR3cJT2ZfvHIj8SaJAHI8Fig6XlRT5o8zTQzHx595a+3rofZgS5IzxBQz9CZp7Z+4HZ/ElQUgR4FCk=,iv:SpGH8Jiu9Zoeevb1ub1JQMUwzokPBqvB9H1IGGk103E=,tag:QPUZLTTqJj8TeOlHcayGWg==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.8.1
|
version: 3.9.1
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
vscode.enable = true;
|
vscode.enable = true;
|
||||||
equalizer.enable = true;
|
equalizer.enable = true;
|
||||||
nextcloud.enable = true;
|
nextcloud-sync.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = [
|
home.packages = [
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue