24 Commits

Author SHA1 Message Date
Aly Raffauf
cd0e747f6a vscode: add mutable user settings 2026-09-11 21:08:12 -05:00
Austin Horstman
f96f717a47 vscode: support path literals in userSettings
programs.vscode.profiles.<name>.userSettings accepts either JSON settings or a path to a settings.json file. The update-check defaults were merged into userSettings before deciding whether to generate JSON or link a source file, so path values failed when Nix tried to apply // to them.

Skip those merges for path-like values and use the shared isPathLike helper for VS Code's source-or-generated JSON options so Nix paths, store path strings, and derivation outputs are handled consistently.

Fixes #7726
2026-06-10 13:10:31 -05:00
Malik
ebc55fd103 claude-code, codex, antigravity-cli, github-copilot-cli, opencode, vscode, zed-editor: use mcp lib
- use lib.hm.mcp.transformMcpServer for MCP integration
- Update tests to reflect new merged server configuration
2026-06-09 23:03:52 -05:00
Seong Yong-ju
c909892de5 vscode: warn when package is a known fork and remove pname option
Existing configs setting `programs.vscode.package` to a fork package
(e.g. `pkgs.vscodium`) silently kept evaluating but wrote files to
Visual Studio Code's paths instead of the fork's. Detect known fork
pnames and emit an actionable warning pointing to the dedicated
module.

The `pname` option, previously used with `package = null`, no longer
has any effect since `nameShort`/`dataFolderName` are now factory
arguments. Replace it with `mkRemovedOptionModule` so the migration
fails loudly rather than silently.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 18:50:49 -05:00
Seong Yong-ju
26412a220b vscode: extract mkVscodeModule factory function
Extract the core vscode module logic into a reusable factory function
(mkVscodeModule.nix), following the established mkFirefoxModule pattern.
This is a pure refactor with no behavior change — programs.vscode
retains the same interface.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 18:50:49 -05:00
Benedikt Rips
a93d80bcec treewide: remove unused attrs patterns 2026-04-13 22:02:40 -05:00
Ryan Horiguchi
051da45e96 vscode: add null package support 2026-03-26 16:41:41 -05:00
Ryan Horiguchi
5148e08046 vscode: fix argv.json path 2026-01-18 09:24:24 -06:00
Ryan Horiguchi
1c27557d99 vscode: add argv.json support 2026-01-17 21:32:44 -06:00
Thierry Delafontaine
9ff9a94fd4 vscode: add mcp module integration 2025-11-03 20:25:16 -06:00
andre4ik3
5f06ceafc6 vscode: also test unknown package if IFD is enabled 2025-10-04 12:18:56 +02:00
Jacob S. Steward
7c6f7377cc vscode: enable defining mcp.json separate from settings.json (#7441)
VS Code 1.102 separates MCP configuration from `settings.json` to a profile-specific `mcp.json`. VS Code automatically performs this separation if MCP configuration is detected inside `settings.json` which conflicts with the immutability of the settings.json that home-manager supplies.
2025-07-11 20:33:17 -05:00
Jonathan Bouchard
b022c9e3b8 vscode: allow specifying paths for VSCode JSON settings (#7055)
Enables users to provide paths to JSON files for VS Code settings,
tasks, and keybindings. This allows for more flexible configuration
management and reuse of existing configuration files instead of using inline configurations.
2025-05-15 13:32:46 -05:00
Austin Horstman
cba2f9ce95 treewide: reformat nixfmt-rfc-style
Reformat repository using new nixfmt-rfc-style.
2025-04-08 08:50:05 -07:00
Austin Horstman
1fd39a1055 tests/vscode: fix darwin snippets test 2025-03-09 00:44:11 -06:00
Reputable2772
e860bd49ea vscode: add profiles support (#5640)
Adds support for VSCode Profiles configuration. Allowing you to define custom extensions and settings per profile.
2025-02-22 10:58:27 -06:00
Robert Helgesson
af715ed857 tests: some minor cleanups 2023-07-08 10:12:35 +02:00
Felix Leitz
24c1a6335e vscode: add options for global and user snippets (#3765)
Co-authored-by: Felix Leitz <felix.leitz92@gmail.com>
2023-03-13 18:45:03 +01:00
natsukium
9333581075 vscode: add userTasks test 2022-11-03 10:36:21 +01:00
Markus S. Wamser
d3f21617ac vscode: add options to disable update checks
Update notification popups are annoying when vscode/vscodium is
managed by Home Manager. However, as these settings also require the
configuration to be managed via `userSettings`, they are disabled by
default.
2022-10-27 18:16:03 +02:00
Jakub Kozłowski
d420287583 vscode: add args option to keybindings
Also make `when` optional.
2021-02-05 22:38:37 +01:00
Robert Helgesson
22ecd0e568 vscode: fix typo 2021-02-04 23:26:00 +01:00
Nicolas Berbiche
44f9d68d8c treewide: replace attrs by formats or types.anything 2020-11-29 21:54:55 -05:00
Christoph Herzog
1ed8e7ef98 vscode: add options for keybindings
Adds a new `keybindings` option to the `vscode` configuration.

It contains a list of key bindings, which will be written to
`%vscode-dir%/User/keybindings.json`.

PR #1351
2020-09-04 14:14:52 +02:00