nixos-config/modules/home/vscode.nix
2024-03-12 21:10:35 +01:00

50 lines
1.5 KiB
Nix

{
config,
pkgs,
lib,
...
}: {
options.myConfig.vscode.enable = lib.mkEnableOption "";
config = lib.mkIf config.myConfig.vscode.enable {
home.packages = [pkgs.nil];
programs.vscode = {
enable = true;
package = pkgs.vscodium;
mutableExtensionsDir = false;
extensions = [
pkgs.vscode-extensions.jnoortheen.nix-ide
pkgs.vscode-extensions.kamadorueda.alejandra
pkgs.vscode-extensions.pkief.material-icon-theme
pkgs.vscode-extensions.mkhl.direnv
];
};
systemd.user.tmpfiles.rules = let
settings = builtins.replaceStrings ["\n"] ["\\n"] ''
{
"editor.fontFamily": "JetBrainsMono Nerd Font",
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
"extensions.autoCheckUpdates": false,
"files.autoSave": "afterDelay",
"git.autofetch": true,
"git.confirmSync": false,
"nix.enableLanguageServer": true,
"nix.serverPath": "nil",
"update.mode": "none",
"git.suggestSmartCommit": false,
"workbench.sideBar.location": "right",
"editor.renderWhitespace": "none",
"workbench.iconTheme": "material-icon-theme",
"editor.minimap.enabled": false
}
'';
in [
"f+ %h/.config/VSCodium/User/settings.json - - - - ${settings}"
"f+ %h/.config/VSCodium/User/settings-default.json - - - - ${settings}"
];
};
}