home/breakerbox: make vscode breaker

This commit is contained in:
2025-08-22 13:34:44 +02:00
parent 04dee771e2
commit 83c2971bb9
3 changed files with 20 additions and 20 deletions

View File

@@ -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;

View File

@@ -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 = {

View File

@@ -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;