571 current 1970-01-01 01:00:00 24.11.20250221.11415c7 6.6.79 *
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,2 +1,3 @@ | |||||||
| .null-ls* | .null-ls* | ||||||
| nixos-switch.log | nixos-switch.log | ||||||
|  | result | ||||||
|   | |||||||
| @@ -57,6 +57,9 @@ | |||||||
|           { |           { | ||||||
|             home-manager.useGlobalPkgs = true; |             home-manager.useGlobalPkgs = true; | ||||||
|             home-manager.useUserPackages = true; |             home-manager.useUserPackages = true; | ||||||
|  |             home-manager.sharedModules = [ | ||||||
|  |               sops-nix.homeManagerModules.sops | ||||||
|  |             ]; | ||||||
|           } |           } | ||||||
|           musnix.nixosModules.musnix |           musnix.nixosModules.musnix | ||||||
|         ]; |         ]; | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ | |||||||
| }: let | }: let | ||||||
|   cfg = config.myConfig.programs; |   cfg = config.myConfig.programs; | ||||||
| in { | in { | ||||||
|   imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix ./wezterm.nix]; |   imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix ./wezterm.nix ./rclone.nix]; | ||||||
|  |  | ||||||
|   options.myConfig.programs = { |   options.myConfig.programs = { | ||||||
|     enable = lib.mkEnableOption "programs for desktop use"; |     enable = lib.mkEnableOption "programs for desktop use"; | ||||||
| @@ -17,7 +17,7 @@ in { | |||||||
|       foot.enable = lib.mkDefault true; |       foot.enable = lib.mkDefault true; | ||||||
|       wezterm.enable = lib.mkDefault true; |       wezterm.enable = lib.mkDefault true; | ||||||
|       thunderbird.enable = lib.mkDefault true; |       thunderbird.enable = lib.mkDefault true; | ||||||
|       nextcloud.enable = lib.mkDefault true; |       rclone.enable = lib.mkDefault true; | ||||||
|       udiskie.enable = lib.mkDefault true; |       udiskie.enable = lib.mkDefault true; | ||||||
|     }; |     }; | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										73
									
								
								modules/home/programs/rclone.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								modules/home/programs/rclone.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,73 @@ | |||||||
|  | { | ||||||
|  |   lib, | ||||||
|  |   config, | ||||||
|  |   pkgs, | ||||||
|  |   ... | ||||||
|  | }: let | ||||||
|  |   cfg = config.myConfig.programs.rclone; | ||||||
|  | in { | ||||||
|  |   options.myConfig.programs.rclone = { | ||||||
|  |     enable = lib.mkEnableOption "nextcloud sync using rclone"; | ||||||
|  |   }; | ||||||
|  |  | ||||||
|  |   config = lib.mkIf cfg.enable { | ||||||
|  |     sops = { | ||||||
|  |       age.keyFile = "/home/max/.config/sops/age/keys.txt"; | ||||||
|  |       secrets = { | ||||||
|  |         "cloud/url" = { | ||||||
|  |           sopsFile = ../../../secrets/rclone.yaml; | ||||||
|  |         }; | ||||||
|  |         "cloud/user" = { | ||||||
|  |           sopsFile = ../../../secrets/rclone.yaml; | ||||||
|  |         }; | ||||||
|  |         "cloud/pass" = { | ||||||
|  |           sopsFile = ../../../secrets/rclone.yaml; | ||||||
|  |         }; | ||||||
|  |         "luhbots/url" = { | ||||||
|  |           sopsFile = ../../../secrets/rclone.yaml; | ||||||
|  |         }; | ||||||
|  |         "luhbots/user" = { | ||||||
|  |           sopsFile = ../../../secrets/rclone.yaml; | ||||||
|  |         }; | ||||||
|  |         "luhbots/pass" = { | ||||||
|  |           sopsFile = ../../../secrets/rclone.yaml; | ||||||
|  |         }; | ||||||
|  |       }; | ||||||
|  |  | ||||||
|  |       templates."rclone.conf".content = '' | ||||||
|  |         [cloud] | ||||||
|  |         type = webdav | ||||||
|  |         url = ${config.sops.placeholder."cloud/url"} | ||||||
|  |         vendor = nextcloud | ||||||
|  |         user = ${config.sops.placeholder."cloud/user"} | ||||||
|  |         pass = ${config.sops.placeholder."cloud/pass"} | ||||||
|  |         nextcloud_chunk_size = 512M | ||||||
|  |  | ||||||
|  |         [luhbots] | ||||||
|  |         type = webdav | ||||||
|  |         url = ${config.sops.placeholder."luhbots/url"} | ||||||
|  |         vendor = nextcloud | ||||||
|  |         user = ${config.sops.placeholder."luhbots/user"} | ||||||
|  |         pass = ${config.sops.placeholder."luhbots/pass"} | ||||||
|  |       ''; | ||||||
|  |     }; | ||||||
|  |  | ||||||
|  |     home.packages = [pkgs.rclone]; | ||||||
|  |  | ||||||
|  |     systemd.user.services = { | ||||||
|  |       luhbots-mount = { | ||||||
|  |         Unit = { | ||||||
|  |           Description = "Mount the luhbots nextcloud"; | ||||||
|  |           After = ["network-online.target"]; | ||||||
|  |         }; | ||||||
|  |         Service = { | ||||||
|  |           Type = "notify"; | ||||||
|  |           ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p \"%h/luhbots Nextcloud\""; | ||||||
|  |           ExecStart = "${pkgs.rclone}/bin/rclone --config=${config.sops.templates."rclone.conf".path} --vfs-cache-mode full mount \"luhbots:\" \"%h/luhbots Nextcloud\""; | ||||||
|  |           ExecStop = "${pkgs.fuse}/bin/fusermount -u \"%h/luhbots Nextcloud\""; | ||||||
|  |         }; | ||||||
|  |         Install.WantedBy = ["default.target"]; | ||||||
|  |       }; | ||||||
|  |     }; | ||||||
|  |   }; | ||||||
|  | } | ||||||
							
								
								
									
										28
									
								
								secrets/rclone.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								secrets/rclone.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | |||||||
|  | cloud: | ||||||
|  |     url: ENC[AES256_GCM,data:BoSdQrtLNKYpaHIWUj5Ak8PGMJz3hj/z88XVBgN6AbyT2K/bC412p3oi+X9MmYATR3A=,iv:wez+v5kEN+niZmZXzaJoygHf4mqKVI6CINktAZe8WTs=,tag:20W87Kcn94smiLtX9mMdOw==,type:str] | ||||||
|  |     user: ENC[AES256_GCM,data:kFza,iv:OrDNF/h+xLuuyq2cpaHnQuRM1lwuXhe8Ue0rm/wRmkY=,tag:9t+hEx38r/yBIzWIFD0GnQ==,type:str] | ||||||
|  |     pass: ENC[AES256_GCM,data:V+I4N5bDSDeTaubUKWK5sWQnTojqg3Afahgvd02LbkjpW/7VMjtLOyxtR5g3vzswcUFFZzOe4P1Y/MdH,iv:TEHPa1mbj6ODtDSnMvKdUUeyd+WcX5CIT+x7V9+FgNU=,tag:z5d95/hy9YFYrhaTG7r+Yw==,type:str] | ||||||
|  | luhbots: | ||||||
|  |     url: ENC[AES256_GCM,data:5hnCSyNcr3un83FaNGYaiZdbxCJe87+hzpoRtWozbn0OW31pxONIEQnSikXh59/OlVJN9TEmv+bd3uO210NPoKUL0D2MWw==,iv:fvY7fLbiAVGq0hh4ifs/LRgixlZsIDczw0hpiUvFSw0=,tag:gXNgNWMDXnRMdyhTjnG6oA==,type:str] | ||||||
|  |     user: ENC[AES256_GCM,data:ucJ21fRmDKvHtyA=,iv:IYfNwBBWYxVb7ptwhfBiBgXwaoj5oCWg6gCI3WD8sjE=,tag:sB6/PJuquUL/GugpfzNMRw==,type:str] | ||||||
|  |     pass: ENC[AES256_GCM,data:3gkyN51YvL/SrtP3kbG4OVhc5KBzu33dYVx4u8pJs9h3GJ9Wh1A5NCaBFJa7VFWfKuysNmr4CQwQEYBX,iv:U5foeasbN/TrrR0mA1mNcqYWZFXHYIAqXLmP/RvC+Os=,tag:x7ck7quJG7npMGwi/ss3ZA==,type:str] | ||||||
|  | sops: | ||||||
|  |     kms: [] | ||||||
|  |     gcp_kms: [] | ||||||
|  |     azure_kv: [] | ||||||
|  |     hc_vault: [] | ||||||
|  |     age: | ||||||
|  |         - recipient: age1d6ze98387f0gryqwvrdlcxgz3wgs607ach4duwmnp72dzaa63cxqchc78n | ||||||
|  |           enc: | | ||||||
|  |             -----BEGIN AGE ENCRYPTED FILE----- | ||||||
|  |             YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVQ0hJN2R0V1NJNnZEeHRD | ||||||
|  |             SDVxVmRFbXRVMjlSUkRKTHExY2I5S1BqVm1zCjRjM1J4Nm5xVG4wWVZLN2tMWGxH | ||||||
|  |             Qi90UEpZdmROdkE0RzRoUmt0cDVFRlEKLS0tIHN1ZjQ4VUM5aGNjN3RZcUVieW9C | ||||||
|  |             cVV3dFpNbjY1bkZtUlltanpSNDlPd28KQ4FQrC6KyZEzzkmByh07q1RAGnWnCNtr | ||||||
|  |             XTDQhlbSq/LdptpqNbUD2g9H9vC2CAC0av39ExvT55JiK4dEWmrwUA== | ||||||
|  |             -----END AGE ENCRYPTED FILE----- | ||||||
|  |     lastmodified: "2025-02-28T13:54:09Z" | ||||||
|  |     mac: ENC[AES256_GCM,data:1KKWA9F1kfwcvvbTNwFH/Cp0QGFGAJZOWCZX16Qi8g9ncBeX8xY8ZXq9jWtgOXO1wDeB7gPQj2nanZSzFvvjaq44h/gJRDu72L9H5KOrhJbJTG2K8yLWKnvzuLet8dPlaMkZKermCRcN31W9cQBLj7+31lUznTSLvd0B9uJxdu8=,iv:KImOEnxVrRnDtM7w3Xa23L6j495WQlSvqJgmRii4WSQ=,tag:Ck6u78WVnjkUDUCJnKyUhQ==,type:str] | ||||||
|  |     pgp: [] | ||||||
|  |     unencrypted_suffix: _unencrypted | ||||||
|  |     version: 3.9.4 | ||||||
		Reference in New Issue
	
	Block a user