{ 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; }; }; }; }; }