nix-stuff/roles/desktop/programs/vscode.nix

27 lines
1,007 B
Nix

{ config, pkgs, flakeSelf, ... }:
let inputs = flakeSelf.inputs; in
{
nixpkgs.overlays = [ inputs.catppuccin-vsc.overlays.default ];
home-manager.users.toast.programs.vscode = {
enable = true;
package = pkgs.vscodium;
extensions = with inputs.vscode-extensions.extensions.x86_64-linux.open-vsx; [
jnoortheen.nix-ide
pkgs.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
];
userSettings = {
# VSCode doesn't like nested settings
# https://stackoverflow.com/questions/74134436/is-it-possible-to-express-settings-in-vs-codes-settings-json-where-each-dot-sep
# TODO: write a function that unnests settings
"workbench.colorTheme" = "Catppuccin Mocha";
"workbench.iconTheme": "catppuccin-mocha"
"editor.fontFamily" = "JetBrainsMono Nerd Font";
"editor.semanticHighlighting.enabled" = true;
"nix.enableLanguageServer = true;"
"nix.serverPath = "${pkgs.nil}/bin/nil";"
"terminal.integrated.minimumContrastRatio" = 1;
"window.titleBarStyle" = "custom";
};
};
}