nixos/modules/common/programming/vscode.nix
2024-10-07 12:08:02 -04:00

50 lines
1.7 KiB
Nix

{ config, pkgs, lib, ... }: {
options = {
vscode = {
enable = lib.mkEnableOption {
description = "Enable Visual Studio Code";
default = false;
};
};
};
config = lib.mkIf (config.gui.enable && config.vscode.enable) {
home-manager.users.${config.user} = {
nixpkgs.config.allowUnfree = true;
programs.vscode = {
enable = true;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
mutableExtensionsDir = false;
extensions = [
pkgs.vscode-extensions.catppuccin.catppuccin-vsc
pkgs.vscode-extensions.ms-azuretools.vscode-docker
pkgs.vscode-extensions.dbaeumer.vscode-eslint
pkgs.vscode-extensions.vue.volar
pkgs.vscode-extensions.esbenp.prettier-vscode
pkgs.vscode-extensions.firefox-devtools.vscode-firefox-debug
pkgs.vscode-extensions.davidanson.vscode-markdownlint
pkgs.vscode-extensions.bbenoist.nix
pkgs.vscode-extensions.brettm12345.nixfmt-vscode
pkgs.vscode-extensions.golang.go
pkgs.vscode-extensions.mkhl.direnv
pkgs.vscode-extensions.ms-vscode-remote.remote-ssh
pkgs.vscode-extensions.ms-vscode-remote.remote-containers
pkgs.vscode-extensions.sumneko.lua
pkgs.vscode-extensions.stanzilla.vscode-wow-toc
pkgs.vscode-extensions.septh.wow-bundle
pkgs.vscode-extensions.ketho.wow-api
];
userSettings = {
"workbench.colorTheme" = "Catppuccin Mocha";
"editor.tabSize" = 2;
"editor.insertSpaces" = true;
"git.autofetch" = true;
"git.confirmSync" = false;
};
};
};
};
}