diff --git a/home-manager/vscode.nix b/home-manager/vscode.nix index 5b80d18f..11530ff7 100644 --- a/home-manager/vscode.nix +++ b/home-manager/vscode.nix @@ -13,54 +13,58 @@ in { programs.vscode = { enable = true; enableUpdateCheck = false; - package = ( - pkgs.callPackage ../pkgs/vscode-repackaged.nix {} - ); + package = (pkgs.vscode.override { + # if keyring does not work, try either "libsecret" or "gnome" + commandLineArgs = ''--password-store=gnome-libsecret''; + }); # Since not all extensions are provided via nixpkgs, # We are using a vscode marketplace flake # But we are still allowing extensions to be installed from VS code GUI # disabling mutableExtensionsDir will mess up things - extensions = with pkgs-vscode-extensions.vscode-marketplace; [ - ## Language support ## - jnoortheen.nix-ide # Nix language support - ms-python.python # Python language support - ms-vscode.cpptools # C/C++ language support - ms-vscode.cpptools-extension-pack # C/C++ extension pack - tamasfe.even-better-toml # TOML language support - bmewburn.vscode-intelephense-client # PHP language support + extensions = + (with pkgs-vscode-extensions.vscode-marketplace; [ + ## Language support ## + jnoortheen.nix-ide # Nix language support + ms-python.python # Python language support + ms-vscode.cpptools-extension-pack # C/C++ extension pack + tamasfe.even-better-toml # TOML language support + bmewburn.vscode-intelephense-client # PHP language support - ## Linters ## - esbenp.prettier-vscode # Prettier code formatter - davidanson.vscode-markdownlint # Markdown Linting + ## Linters ## + esbenp.prettier-vscode # Prettier code formatter + davidanson.vscode-markdownlint # Markdown Linting - ## GIT Tools ## - github.copilot # GitHub Copilot - github.copilot-chat # GitHub Copilot Chat - github.codespaces # GitHub Codespaces - github.vscode-pull-request-github # GitHub Pull Requests - github.vscode-github-actions # GitHub Actions - donjayamanne.githistory # Git History - eamodio.gitlens # GitLens + ## GIT Tools ## + github.copilot # GitHub Copilot + github.copilot-chat # GitHub Copilot Chat + github.codespaces # GitHub Codespaces + github.vscode-pull-request-github # GitHub Pull Requests + github.vscode-github-actions # GitHub Actions + donjayamanne.githistory # Git History + eamodio.gitlens # GitLens - ## MISCELLANEOUS ## - ms-azuretools.vscode-docker # Docker - ms-vscode-remote.remote-containers # Dev Containers - ms-vscode-remote.remote-ssh # Remote SSH + ## MISCELLANEOUS ## + ms-azuretools.vscode-docker # Docker + ms-vscode-remote.remote-containers # Dev Containers + ms-vscode-remote.remote-ssh # Remote SSH - rolandgreim.sharecode # Pastebin/Gist support - ritwickdey.liveserver # launch local html web server - mkhl.direnv # direnv support - oderwat.indent-rainbow # colorful indentation - # arrterian.nix-env-selector # not needed at the moment + rolandgreim.sharecode # Pastebin/Gist support + ritwickdey.liveserver # launch local html web server + mkhl.direnv # direnv support + oderwat.indent-rainbow # colorful indentation + # arrterian.nix-env-selector # not needed at the moment - ## THEMING ## - # dracula-theme.theme-dracula # Dracula theme - # enkia.tokyo-night # Tokyo Night theme - robbowen.synthwave-vscode # SynthWave '84 theme - pkief.material-icon-theme # Material Icon Theme - pkief.material-product-icons # Material Product Icons - ]; + ## THEMING ## + # dracula-theme.theme-dracula # Dracula theme + # enkia.tokyo-night # Tokyo Night theme + robbowen.synthwave-vscode # SynthWave '84 theme + pkief.material-icon-theme # Material Icon Theme + pkief.material-product-icons # Material Product Icons + ]) + ++ (with pkgs.vscode-extensions; [ + ms-vscode.cpptools # C/C++ language support, only available via nixpkgs + ]); userSettings = { "workbench.colorTheme" = "SynthWave '84"; # "Tokyo Night"; # "Dracula"; # "Default Dark Modern"; # ^ Set the default theme diff --git a/pkgs/vscode-repackaged.nix b/pkgs/vscode-repackaged.nix deleted file mode 100644 index 9391cf31..00000000 --- a/pkgs/vscode-repackaged.nix +++ /dev/null @@ -1,49 +0,0 @@ -# This file is specifically for overriding desktop item of VSCode -# to make it work with my encrypted SSH keys by passing environment variables -{ - pkgs, - makeDesktopItem, - ... -}: let - executableName = "code"; - longName = "Visual Studio Code"; - shortName = "Code"; - envVars = "env SSH_AUTH_SOCK=/run/user/1001/gnupg/S.gpg-agent.ssh"; -in ((pkgs.vscode.override { - # if keyring does not work, try either "libsecret" or "gnome" - commandLineArgs = ''--password-store=gnome-libsecret''; - }) - .overrideAttrs { - desktopItem = makeDesktopItem { - name = executableName; - desktopName = longName; - comment = "Code Editing. Redefined."; - genericName = "Text Editor"; - exec = "${envVars} ${executableName} %F"; - icon = "vs${executableName}"; - startupNotify = true; - startupWMClass = shortName; - categories = ["Utility" "TextEditor" "Development" "IDE"]; - mimeTypes = ["text/plain" "inode/directory"]; - keywords = ["vscode"]; - actions.new-empty-window = { - name = "New Empty Window"; - exec = "${executableName} --new-window %F"; - icon = "vs${executableName}"; - }; - }; - - urlHandlerDesktopItem = makeDesktopItem { - name = executableName + "-url-handler"; - desktopName = longName + " - URL Handler"; - comment = "Code Editing. Redefined."; - genericName = "Text Editor"; - exec = envVars + executableName + " --open-url %U"; - icon = "vs${executableName}"; - startupNotify = true; - categories = ["Utility" "TextEditor" "Development" "IDE"]; - mimeTypes = ["x-scheme-handler/vs${executableName}"]; - keywords = ["vscode"]; - noDisplay = true; - }; - })