My nix-darwin and NixOS config
3
fork

Configure Feed

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

fix: correct Nextcloud routing comment, refactor VS Code settings to writable symlink

The Nextcloud service was already routed through the Cloudflare tunnel
but the comment incorrectly said "Tailnet-only". Also moves VS Code
userSettings to an out-of-store symlink so settings.json can be edited
directly in the nix-config repo.

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>

+89 -61
+7 -60
home/programs/vscode.nix
··· 62 62 63 63 profiles.default = { 64 64 extensions = map toNixpkgsExt nixpkgsExtensions ++ map toMarketplaceExt marketplaceExtensions; 65 - 66 - userSettings = { 67 - "workbench.colorTheme" = lib.mkDefault cfg.development.vscode.colorTheme; 68 - "workbench.iconTheme" = lib.mkDefault cfg.development.vscode.iconTheme; 69 - "editor.fontFamily" = "'${editorFont}', 'monospace'"; 70 - "editor.fontSize" = cfg.development.vscode.fontSize; 71 - "editor.lineHeight" = cfg.development.vscode.lineHeight; 72 - "editor.fontLigatures" = cfg.development.vscode.fontLigatures; 73 - "editor.formatOnSave" = true; 74 - "editor.minimap.enabled" = false; 75 - "editor.renderWhitespace" = "boundary"; 76 - "editor.rulers" = [ 77 - 80 78 - 120 79 - ]; 80 - "editor.tabSize" = 2; 81 - "editor.insertSpaces" = true; 82 - "files.autoSave" = "afterDelay"; 83 - "files.autoSaveDelay" = 1000; 84 - "git.autofetch" = true; 85 - "git.confirmSync" = false; 86 - "terminal.integrated.fontFamily" = "'${terminalFont}'"; 87 - "terminal.integrated.fontSize" = cfg.development.vscode.terminalFontSize; 88 - "workbench.startupEditor" = "none"; 89 - "explorer.confirmDelete" = false; 90 - "explorer.confirmDragAndDrop" = false; 91 - 92 - "[javascript]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; 93 - "[typescript]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; 94 - "[svelte]"."editor.defaultFormatter" = "svelte.svelte-vscode"; 95 - "[css]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; 96 - "[html]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; 97 - "[json]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; 98 - "[jsonc]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; 99 - "[yaml]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; 100 - "[toml]"."editor.defaultFormatter" = "tamasfe.even-better-toml"; 101 - "[shellscript]"."editor.defaultFormatter" = "foxundermoon.shell-format"; 102 - "[dockerfile]"."editor.defaultFormatter" = "ms-azuretools.vscode-docker"; 103 - "[makefile]"."editor.defaultFormatter" = "ms-vscode.makefile-tools"; 104 - "[python]"."editor.defaultFormatter" = "charliermarsh.ruff"; 105 - 106 - "nix.enableLanguageServer" = true; 107 - "nix.serverPath" = "nil"; 108 - "nix.serverSettings".nil.formatting.command = [ "nixfmt" ]; 109 - 110 - "go.useLanguageServer" = true; 111 - 112 - "python.analysis.typeCheckingMode" = "basic"; 113 - "ruff.lint.enable" = true; 114 - 115 - "shellcheck.executablePath" = "shellcheck"; 116 - "shellformat.path" = "shfmt"; 117 - "bashIde.shellcheckPath" = "shellcheck"; 118 - 119 - "yaml.format.enable" = true; 120 - "yaml.validate" = true; 121 - 122 - "evenBetterToml.formatter.alignEntries" = false; 123 - "evenBetterToml.formatter.arrayTrailingComma" = true; 124 - }; 65 + # Settings managed via home.file below (writable, stored in nix-config) 66 + userSettings = { }; 125 67 }; 126 68 }; 69 + 70 + # Writable VS Code settings — symlinked directly from nix-config repo. 71 + # Edit at ~/.config/nix-config/home/programs/vscode/settings.json 72 + home.file."Library/Application Support/Code/User/settings.json".source = 73 + lib.file.mkOutOfStoreSymlink "${builtins.getEnv "HOME"}/.config/nix-config/home/programs/vscode/settings.json"; 127 74 }
+81
home/programs/vscode/settings.json
··· 1 + { 2 + "[css]": { 3 + "editor.defaultFormatter": "esbenp.prettier-vscode" 4 + }, 5 + "[dockerfile]": { 6 + "editor.defaultFormatter": "ms-azuretools.vscode-docker" 7 + }, 8 + "[html]": { 9 + "editor.defaultFormatter": "esbenp.prettier-vscode" 10 + }, 11 + "[javascript]": { 12 + "editor.defaultFormatter": "esbenp.prettier-vscode" 13 + }, 14 + "[json]": { 15 + "editor.defaultFormatter": "esbenp.prettier-vscode" 16 + }, 17 + "[jsonc]": { 18 + "editor.defaultFormatter": "esbenp.prettier-vscode" 19 + }, 20 + "[makefile]": { 21 + "editor.defaultFormatter": "ms-vscode.makefile-tools" 22 + }, 23 + "[python]": { 24 + "editor.defaultFormatter": "charliermarsh.ruff" 25 + }, 26 + "[shellscript]": { 27 + "editor.defaultFormatter": "foxundermoon.shell-format" 28 + }, 29 + "[svelte]": { 30 + "editor.defaultFormatter": "svelte.svelte-vscode" 31 + }, 32 + "[toml]": { 33 + "editor.defaultFormatter": "tamasfe.even-better-toml" 34 + }, 35 + "[typescript]": { 36 + "editor.defaultFormatter": "esbenp.prettier-vscode" 37 + }, 38 + "[yaml]": { 39 + "editor.defaultFormatter": "esbenp.prettier-vscode" 40 + }, 41 + "bashIde.shellcheckPath": "shellcheck", 42 + "editor.fontFamily": "'FiraCode', 'monospace'", 43 + "editor.fontLigatures": true, 44 + "editor.fontSize": 14, 45 + "editor.formatOnSave": true, 46 + "editor.insertSpaces": true, 47 + "editor.lineHeight": 22, 48 + "editor.minimap.enabled": false, 49 + "editor.renderWhitespace": "boundary", 50 + "editor.rulers": [80, 120], 51 + "editor.tabSize": 2, 52 + "evenBetterToml.formatter.alignEntries": false, 53 + "evenBetterToml.formatter.arrayTrailingComma": true, 54 + "explorer.confirmDelete": false, 55 + "explorer.confirmDragAndDrop": false, 56 + "files.autoSave": "afterDelay", 57 + "files.autoSaveDelay": 1000, 58 + "git.autofetch": true, 59 + "git.confirmSync": false, 60 + "go.useLanguageServer": true, 61 + "nix.enableLanguageServer": true, 62 + "nix.serverPath": "nil", 63 + "nix.serverSettings": { 64 + "nil": { 65 + "formatting": { 66 + "command": ["nixfmt"] 67 + } 68 + } 69 + }, 70 + "python.analysis.typeCheckingMode": "basic", 71 + "ruff.lint.enable": true, 72 + "shellcheck.executablePath": "shellcheck", 73 + "shellformat.path": "shfmt", 74 + "terminal.integrated.fontFamily": "'FiraCode Nerd Font'", 75 + "terminal.integrated.fontSize": 13, 76 + "workbench.colorTheme": "Default Dark Modern", 77 + "workbench.iconTheme": "vs-seti", 78 + "workbench.startupEditor": "none", 79 + "yaml.format.enable": true, 80 + "yaml.validate": true 81 + }
+1 -1
hosts/server/default.nix
··· 28 28 29 29 # Service toggles 30 30 myConfig.services.forgejo.enable = true; 31 - myConfig.services.nextcloud.enable = true; # Tailnet-only — not in CF tunnel 31 + myConfig.services.nextcloud.enable = true; # Cloudflare tunnel — cloud.ewancroft.uk 32 32 myConfig.services.immich.enable = true; # Tailnet-only — not in CF tunnel 33 33 myConfig.services.jellyfin.enable = true; # Tailnet-only — not in CF tunnel 34 34 myConfig.services.pds.enable = false;