diff --git a/home/breakerbox.nix b/home/breakerbox.nix index bd8a03f..f9c725e 100644 --- a/home/breakerbox.nix +++ b/home/breakerbox.nix @@ -53,6 +53,7 @@ in ./programs/thunderbird.nix ./programs/tmux ./programs/uv.nix + ./programs/vscode ./programs/yazi.nix ./programs/yt-dlp.nix ./programs/zed @@ -72,7 +73,6 @@ in ] ++ (optionals graphics [ ./config/gtk.nix - ./programs/vscode ./programs/zathura.nix ./services/fcitx5.nix @@ -146,7 +146,8 @@ in programs.rofi.enable = graphics; programs.taskwarrior.enable = graphics; programs.thunderbird.enable = graphics; - programs.zed.enable = graphics; + programs.vscode.enable = graphics; + programs.zed-editor.enable = graphics; services.copyq.enable = graphics; services.dunst.enable = graphics; diff --git a/home/programs/vscode/auto-update-extensions.nix b/home/programs/vscode/auto-update-extensions.nix index 892589c..1ee4a75 100644 --- a/home/programs/vscode/auto-update-extensions.nix +++ b/home/programs/vscode/auto-update-extensions.nix @@ -2,7 +2,7 @@ let cfg = config.programs.vscode; in -{ +lib.mkIf cfg.enable { # TODO: add `dirname` to $PATH upstream systemd.user.services.update-vscode-extensions = { Unit = { diff --git a/home/programs/vscode/default.nix b/home/programs/vscode/default.nix index fef4c8a..41025e0 100644 --- a/home/programs/vscode/default.nix +++ b/home/programs/vscode/default.nix @@ -1,32 +1,28 @@ { pkgs, lib, config, ... }: let cfg = config.programs.vscode; - - mapPrefixToSet = prefix: set: - with lib; attrsets.mapAttrs' (k: v: attrsets.nameValuePair ("${prefix}.${k}") v) set; - - configDir = { - "vscode" = "Code"; - "vscode-insiders" = "Code - Insiders"; - "vscodium" = "VSCodium"; - }.${cfg.package.pname}; - userDir = "${config.xdg.configHome}/${configDir}/User"; - configFilePath = "${userDir}/settings.json"; in { imports = [ ./auto-update-extensions.nix - # ./extensions ]; - home.file.${configFilePath} = { - target = "${configFilePath}.ro"; - onChange = ''install -m660 $(realpath "${configFilePath}.ro") "${configFilePath}"''; + home.file = let + configDir = { + "vscode" = "Code"; + "vscode-insiders" = "Code - Insiders"; + "vscodium" = "VSCodium"; + }.${cfg.package.pname}; + userDir = "${config.xdg.configHome}/${configDir}/User"; + configFilePath = "${userDir}/settings.json"; + in lib.mkIf cfg.enable { + ${configFilePath} = { + target = "${configFilePath}.ro"; + onChange = ''install -m660 $(realpath "${configFilePath}.ro") "${configFilePath}"''; + }; }; programs.vscode = { - enable = true; - package = pkgs.vscode.overrideAttrs (prev: { # NOTE: this messes up zsh's tab completion in the terminal whenever code is started # from within a shell @@ -39,6 +35,9 @@ in profiles.default = { userSettings = let + mapPrefixToSet = prefix: set: + lib.mapAttrs' (k: v: lib.nameValuePair "${prefix}.${k}" v) set; + editor = mapPrefixToSet "editor" { fontFamily = "Fira Code"; fontLigatures = true;