feat: imperative VSCode #47
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add:
mkOutOfStoreSymlinksettings tohome/default.nixThere is some preparation needed, NixOS will be looking for your config files in
~/vscode-configin order to use your settings.mkdir -p ~/vscode-configThen download or copy the relevant content from the Gist into appropriate files, for example:
~/vscode-config/settings.json~/vscode-config/keybindings.json~/vscode-config/extensions.json(Others, if needed)
Imperative management: With the Gist's extensions list saved to
~/vscode-config/extensions.json,you can use extensions like
Shan.code-settings-syncto sync them in-app, or install them manually from that list.Declarative (optional): If you want to configure extensions using the explicit list provided by the Gist in Nix, you’d need to convert the extension identifiers into the Nix format (see the Home Manager VSCode module documentation).
You (or another user) can edit the files directly in ~/vscode-config/—either by hand, through VSCode, or by updating from the Gist.
Files are not managed by Nix, so settings changes are not overwritten on rebuild.
This setup allows you to combine the reproducibility of Nix with the flexibility of imperative edits and Settings Sync, ensuring both portability and easy, direct management.