Skip to content

Conversation

@saylesss88
Copy link
Contributor

Add: mkOutOfStoreSymlink settings to home/default.nix

There is some preparation needed, NixOS will be looking for your config files in ~/vscode-config in order to use your settings.

  1. Prepare Your Writable Directory Create a directory to store these files. For example:
mkdir -p ~/vscode-config

Then 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)

  1. Extensions: Two Approaches

Imperative management: With the Gist's extensions list saved to ~/vscode-config/extensions.json,
you can use extensions like Shan.code-settings-sync to 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.

Add: `mkOutOfStoreSymlink` settings to `home/default.nix`

There is some preparation needed, NixOS will be looking for your
config files in `~/vscode-config` in order to use your settings.

1. Prepare Your Writable Directory
Create a directory to store these files. For example:

```bash
mkdir -p ~/vscode-config
```

Then 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)

2.  Extensions: Two Approaches

Imperative management: With the Gist's extensions list saved to `~/vscode-config/extensions.json`,
 you can use extensions like `Shan.code-settings-sync` to 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant