From 00cadeed67326b61168e2273c36d8de3fda84dfd Mon Sep 17 00:00:00 2001 From: Christoph Urlacher Date: Wed, 13 May 2026 14:00:04 +0200 Subject: [PATCH] Modules/VSCode: Update + undeprecate --- home/christoph/nixinator/default.nix | 5 +- .../1_deprecated/vscode/default.nix | 156 ------------------ home/homemodules/default.nix | 1 + home/homemodules/vscode/default.nix | 86 ++++++++++ .../{1_deprecated => }/vscode/options.nix | 0 5 files changed, 90 insertions(+), 158 deletions(-) delete mode 100644 home/homemodules/1_deprecated/vscode/default.nix create mode 100644 home/homemodules/vscode/default.nix rename home/homemodules/{1_deprecated => }/vscode/options.nix (100%) diff --git a/home/christoph/nixinator/default.nix b/home/christoph/nixinator/default.nix index 763f4a9e..636346ba 100644 --- a/home/christoph/nixinator/default.nix +++ b/home/christoph/nixinator/default.nix @@ -18,6 +18,7 @@ fcitx.enable = true; waybar.monitors = ["DP-1" "DP-2"]; + vscode.enable = true; }; home = let @@ -75,9 +76,9 @@ # jetbrains.idea-ultimate # jetbrains.webstorm # jetbrains.rider - zed-editor - vscode # ghidra # launch with _JAVA_AWT_WM_NONREPARENTING=1 (use programs.ghidra) + zed-editor # TODO: Module + # vscode # Using module # Unity Stuff # unityhub diff --git a/home/homemodules/1_deprecated/vscode/default.nix b/home/homemodules/1_deprecated/vscode/default.nix deleted file mode 100644 index 7de4a674..00000000 --- a/home/homemodules/1_deprecated/vscode/default.nix +++ /dev/null @@ -1,156 +0,0 @@ -# TODO: Expose some settings -{ - config, - nixosConfig, - lib, - mylib, - pkgs, - ... -}: -with lib; -with mylib.modules; let - cfg = config.homemodules.vscode; -in { - options.homemodules.vscode = import ./options.nix {inherit lib mylib;}; - - config = mkIf cfg.enable { - programs.vscode = { - enable = true; - enableExtensionUpdateCheck = false; - enableUpdateCheck = false; - extensions = with pkgs.vscode-extensions; [ - # alefragnani.bookmarks # TODO: Use inline bookmarks instead - # alefragnani.project-manager # NOTE: Not much sense with flake dev environments - catppuccin.catppuccin-vsc - catppuccin.catppuccin-vsc-icons - christian-kohler.path-intellisense - # codezombiech.gitignore # NOTE: Superfluous - # coolbear.systemd-unit-file # NOTE: Unnecessary on NixOS - eamodio.gitlens - # formulahendry.auto-rename-tag - # formulahendry.auto-close-tag - # gitlab.gitlab-workflow - # irongeek.vscode-env - # jnoortheen.nix-ide - # kamadorueda.alejandra - # kamikillerto.vscode-colorize - # llvm-vs-code-extensions.vscode-clangd - # matklad.rust-analyzer - mechatroner.rainbow-csv - # mikestead.dotenv - # mkhl.direnv - # ms-azuretools.vscode-docker - # ms-kubernetes-tools.vscode-kubernetes-tools - ms-python.python - ms-toolsai.jupyter - ms-vscode.cmake-tools - ms-vscode.cpptools - # ms-vscode.hexeditor - # ms-vscode.makefile-tools - ms-python.black-formatter - ms-python.vscode-pylance - ms-vscode-remote.remote-ssh - # naumovs.color-highlight - njpwerner.autodocstring - # james-yu.latex-workshop - # redhat.java - # redhat.vscode-xml - # redhat.vscode-yaml - ritwickdey.liveserver - # rubymaniac.vscode-paste-and-indent - ryu1kn.partial-diff - # serayuzgur.crates - shd101wyy.markdown-preview-enhanced - # skyapps.fish-vscode - # tamasfe.even-better-toml - # timonwong.shellcheck - # tomoki1207.pdf # Incompatible with latex workshop - # valentjn.vscode-ltex - vscodevim.vim - vscode-icons-team.vscode-icons - # yzhang.markdown-all-in-one - ]; - # haskell = {}; - # keybindings = {}; - - userSettings = { - # VSCode Internals - "editor.fontFamily" = "JetBrainsMono Nerd Font Mono"; - "editor.fontSize" = 16; - "editor.renderWhitespace" = "selection"; - "editor.cursorStyle" = "line"; # Use line for vim plugin - "editor.lineNumbers" = "relative"; - "editor.linkedEditing" = true; - "editor.smoothScrolling" = true; - "editor.stickyScroll.enabled" = true; - "editor.tabCompletion" = "on"; - "editor.cursorSmoothCaretAnimation" = "on"; - "editor.cursorSurroundingLines" = 10; - "editor.minimap.renderCharacters" = false; - "editor.bracketPairColorization.enabled" = true; - "editor.guides.bracketPairs" = "active"; - "editor.guides.bracketPairsHorizontal" = "active"; - "editor.guides.highlightActiveIndentation" = false; - - "files.autoSave" = "onFocusChange"; - "files.trimFinalNewlines" = true; - "files.trimTrailingWhitespace" = true; # NOTE: If this is enabled with frequent autosave, the current lines whitespace will always be removed, which is obnoxious - - "window.restoreWindows" = "none"; - - "window.titleBarStyle" = "custom"; # NOTE: Should help with crashing on wayland - # "window.titleBarStyle" = "native"; - # "window.menuBarVisibility" = "toggle"; - - "workbench.enableExperiments" = false; - "workbench.list.smoothScrolling" = true; - # "workbench.colorTheme" = "Default Light Modern"; - # "workbench.iconTheme" = "vscode-icons"; - "workbench.colorTheme" = "Catppuccin Latte"; - "workbench.iconTheme" = "catppuccin-latte"; - - "remote.SSH.configFile" = "~/.ssh/custom-config"; - - "security.workspace.trust.enabled" = false; - - # Language Tool - "ltex.checkFrequency" = "manual"; - - # LaTeX - "latex-workshop.latex.tools" = [ - { - "name" = "latexmk"; - "command" = "latexmk"; - "args" = [ - "-synctex=1" - "-shell-escape" - "-interaction=nonstopmode" - "-file-line-error" - "-pdf" - "-outdir=%OUTDIR%" - "%DOC%" - ]; - "env" = {}; - } - ]; - "latex-workshop.latexindent.args" = [ - "-c" - "%DIR%/" - "%TMPFILE%" - "-m" - "-y=defaultIndent: '%INDENT%'" - ]; - - # Nix - "[nix]"."editor.tabSize" = 2; - "nix.enableLanguageServer" = true; - "nix.serverPath" = "nil"; - "nix.formatterPath" = "alejandra"; - - # C++ - # "C_Cpp.intelliSenseEngine" = "disabled"; # IntelliSense conflics with Clangd - }; - # TODO: Snippets - }; - }; -} diff --git a/home/homemodules/default.nix b/home/homemodules/default.nix index 3376e3ff..d12ea25e 100644 --- a/home/homemodules/default.nix +++ b/home/homemodules/default.nix @@ -31,6 +31,7 @@ ./ssh ./terminal ./tmux + ./vscode ./yazi ./zathura diff --git a/home/homemodules/vscode/default.nix b/home/homemodules/vscode/default.nix new file mode 100644 index 00000000..1a8ea964 --- /dev/null +++ b/home/homemodules/vscode/default.nix @@ -0,0 +1,86 @@ +# TODO: Expose some settings +{ + config, + nixosConfig, + lib, + mylib, + pkgs, + ... +}: +with lib; +with mylib.modules; let + cfg = config.homemodules.vscode; +in { + options.homemodules.vscode = import ./options.nix {inherit lib mylib;}; + + config = mkIf cfg.enable { + programs.vscode = { + enable = true; + package = pkgs.vscode; + mutableExtensionsDir = false; + + profiles.default = { + enableUpdateCheck = false; + enableExtensionUpdateCheck = false; + enableMcpIntegration = false; + + extensions = with pkgs.vscode-extensions; [ + # Theme + catppuccin.catppuccin-vsc + catppuccin.catppuccin-vsc-icons + vscode-icons-team.vscode-icons + + # General + vscodevim.vim + christian-kohler.path-intellisense + ryu1kn.partial-diff + redhat.vscode-yaml + ms-vscode-remote.remote-ssh + ms-vscode-remote.remote-ssh-edit + ms-vscode.remote-explorer + + # Python + ms-python.python + ms-python.vscode-pylance + ms-python.black-formatter + + # C/C++ + ms-vscode.cpptools + # llvm-vs-code-extensions.vscode-clangd + ms-vscode.cmake-tools + ms-vscode.makefile-tools + # llvm-org.lldb-vscode + vadimcn.vscode-lldb + # "13xforever".language-x86-64-assembly + + # Latex + # james-yu.latex-workshop + # valentjn.vscode-ltex + ]; + + keybindings = []; + globalSnippets = {}; + languageSnippets = {}; + userMcp = {}; + + userSettings = { + "editor.fontFamily" = config.homemodules.color.font; + "editor.fontSize" = 14; + "editor.smoothScrolling" = true; + "editor.cursorSmoothCaretAnimation" = "on"; + "workbench.enableExperiments" = false; + "workbench.list.smoothScrolling" = true; + "workbench.colorTheme" = "Catppuccin Mocha"; + "workbench.iconTheme" = "catppuccin-mocha"; + "remote.SSH.configFile" = "~/.ssh/custom-config"; + "security.workspace.trust.enabled" = false; + + # C++ + # "C_Cpp.intelliSenseEngine" = "disabled"; # IntelliSense conflics with Clangd + }; + + userTasks = {}; + }; + }; + }; +} diff --git a/home/homemodules/1_deprecated/vscode/options.nix b/home/homemodules/vscode/options.nix similarity index 100% rename from home/homemodules/1_deprecated/vscode/options.nix rename to home/homemodules/vscode/options.nix