Modules/VSCode: Update + undeprecate
This commit is contained in:
@ -18,6 +18,7 @@
|
|||||||
fcitx.enable = true;
|
fcitx.enable = true;
|
||||||
|
|
||||||
waybar.monitors = ["DP-1" "DP-2"];
|
waybar.monitors = ["DP-1" "DP-2"];
|
||||||
|
vscode.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home = let
|
home = let
|
||||||
@ -75,9 +76,9 @@
|
|||||||
# jetbrains.idea-ultimate
|
# jetbrains.idea-ultimate
|
||||||
# jetbrains.webstorm
|
# jetbrains.webstorm
|
||||||
# jetbrains.rider
|
# jetbrains.rider
|
||||||
zed-editor
|
|
||||||
vscode
|
|
||||||
# ghidra # launch with _JAVA_AWT_WM_NONREPARENTING=1 (use programs.ghidra)
|
# ghidra # launch with _JAVA_AWT_WM_NONREPARENTING=1 (use programs.ghidra)
|
||||||
|
zed-editor # TODO: Module
|
||||||
|
# vscode # Using module
|
||||||
|
|
||||||
# Unity Stuff
|
# Unity Stuff
|
||||||
# unityhub
|
# unityhub
|
||||||
|
|||||||
@ -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
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -31,6 +31,7 @@
|
|||||||
./ssh
|
./ssh
|
||||||
./terminal
|
./terminal
|
||||||
./tmux
|
./tmux
|
||||||
|
./vscode
|
||||||
./yazi
|
./yazi
|
||||||
./zathura
|
./zathura
|
||||||
|
|
||||||
|
|||||||
86
home/homemodules/vscode/default.nix
Normal file
86
home/homemodules/vscode/default.nix
Normal file
@ -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 = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user