{ 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 = with pkgs.vscode-extensions; [ catppuccin.catppuccin-vsc ms-azuretools.vscode-docker dbaeumer.vscode-eslint vue.volar esbenp.prettier-vscode firefox-devtools.vscode-firefox-debug davidanson.vscode-markdownlint bbenoist.nix brettm12345.nixfmt-vscode golang.go mkhl.direnv ms-vscode-remote.remote-ssh ms-vscode-remote.remote-containers sumneko.lua ]; userSettings = { "workbench.colorTheme" = "Catppuccin Mocha"; "editor.tabSize" = 2; "editor.insertSpaces" = true; "git.autofetch" = true; "git.confirmSync" = false; }; }; }; }; }