diff --git a/systems/modules/home/programs/vscode.nix b/systems/modules/home/programs/vscode.nix index bd54dc9..b920f95 100644 --- a/systems/modules/home/programs/vscode.nix +++ b/systems/modules/home/programs/vscode.nix @@ -1,41 +1,47 @@ { pkgs, pkgsUnstable, ... }: let - commonExtensions = with pkgs.vscode-extensions; [ + extensions = with pkgs.vscode-extensions; [ ms-dotnettools.csharp ms-dotnettools.csdevkit ms-dotnettools.vscode-dotnet-runtime - mkhl.direnv # Direnv integration for VSCode + mkhl.direnv catppuccin.catppuccin-vsc bmewburn.vscode-intelephense-client continue.continue vue.volar + ms-vscode-remote.remote-containers ]; - commonSettings = { + + userSettings = { "editor.lineNumbers" = "relative"; "workbench.colorTheme" = "Catppuccin Mocha"; "workbench.editor.enablePreview" = false; "direnv.restart.automatic" = true; + "terminal.integrated.defaultProfile.linux" = "zsh"; - "terminal.integrated.profiles.linux" = { - zsh = { - path = pkgs.zsh; - }; + "terminal.integrated.profiles.linux".zsh = { + path = "${pkgs.zsh}/bin/zsh"; + }; + }; + + editors = { + vscode = pkgsUnstable.vscode.fhs; + cursor = pkgsUnstable.code-cursor-fhs; + vscodium = pkgsUnstable.vscodium-fhs; + }; + + mkEditor = package: { + enable = true; + inherit package; + + profiles.default = { + inherit extensions; + inherit userSettings; }; }; in { - programs.vscode = { - enable = true; - package = pkgsUnstable.vscode.fhs; - profiles.default.extensions = commonExtensions; - profiles.default.userSettings = commonSettings; - }; - programs.cursor = { - enable = true; - package = pkgsUnstable.code-cursor-fhs; - profiles.default.extensions = commonExtensions; - profiles.default.userSettings = commonSettings; - }; + programs = builtins.mapAttrs (_: mkEditor) editors; }