My nix-darwin and NixOS config
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

nextcloud: use VFS

+37 -4
+17
flake.lock
··· 210 210 "type": "github" 211 211 } 212 212 }, 213 + "nixpkgs-unstable": { 214 + "locked": { 215 + "lastModified": 1771369470, 216 + "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", 217 + "owner": "nixos", 218 + "repo": "nixpkgs", 219 + "rev": "0182a361324364ae3f436a63005877674cf45efb", 220 + "type": "github" 221 + }, 222 + "original": { 223 + "owner": "nixos", 224 + "ref": "nixos-unstable", 225 + "repo": "nixpkgs", 226 + "type": "github" 227 + } 228 + }, 213 229 "nixpkgs_2": { 214 230 "locked": { 215 231 "lastModified": 1766736597, ··· 321 337 "nix-darwin": "nix-darwin", 322 338 "nix-vscode-extensions": "nix-vscode-extensions", 323 339 "nixpkgs": "nixpkgs_6", 340 + "nixpkgs-unstable": "nixpkgs-unstable", 324 341 "plasma-manager": "plasma-manager", 325 342 "sops-nix": "sops-nix" 326 343 }
+19 -3
home/default.nix
··· 94 94 95 95 programs.home-manager.enable = true; 96 96 97 - # ── Nextcloud desktop client: allow syncing files of any size ──────────── 98 - # The client defaults to blocking files over ~500 MB. This activation script 99 - # patches the setting in-place so credentials/tokens in the file are preserved. 97 + # ── Nextcloud desktop client ───────────────────────────────────────────── 98 + # Both activation scripts below patch nextcloud.cfg in-place so that 99 + # credentials/tokens already written by the client are preserved. 100 + 101 + # Enable VFS (virtual files) for all configured sync folders — files appear 102 + # as lightweight placeholders locally and are only downloaded on access, 103 + # keeping the primary copy on the server. Linux uses "suffix" mode (.nextcloud 104 + # placeholder files); this is a no-op if VFS is already on or if the cfg 105 + # file doesn't exist yet (new installs pick it up after first sync setup). 106 + home.activation.nextcloudVFS = lib.mkIf (cfg.isDesktop && !isDarwin) ( 107 + lib.hm.dag.entryAfter [ "writeBoundary" ] '' 108 + cfg_file="$HOME/.config/Nextcloud/nextcloud.cfg" 109 + if [ -f "$cfg_file" ]; then 110 + $DRY_RUN_CMD ${pkgs.gnused}/bin/sed -i 's/virtualFilesMode=off/virtualFilesMode=suffix/g' "$cfg_file" 111 + fi 112 + '' 113 + ); 114 + 115 + # Allow syncing files of any size (client default blocks files over ~500 MB). 100 116 home.activation.nextcloudMaxSize = lib.mkIf cfg.isDesktop ( 101 117 lib.hm.dag.entryAfter [ "writeBoundary" ] '' 102 118 cfg_file="$HOME/.config/Nextcloud/nextcloud.cfg"
+1 -1
modules/options.nix
··· 824 824 "microsoft-teams" 825 825 "microsoft-word" 826 826 "libreoffice" 827 - "nextcloud" 827 + "nextcloud-vfs" 828 828 ]; 829 829 }; 830 830 masApps = mkOption {