configure vscode
to install all of my extensions and settings declaratively instead of using settings sync
This commit is contained in:
parent
47a7e8f518
commit
0ee492277a
5 changed files with 522 additions and 20 deletions
|
@ -30,7 +30,7 @@
|
|||
};
|
||||
|
||||
# Packages that should be installed to the user profile.
|
||||
home.packages = with pkgs; [ vesktop vscode ];
|
||||
home.packages = with pkgs; [ vesktop ];
|
||||
|
||||
# basic configuration of git, please change to your own
|
||||
programs.git = {
|
||||
|
|
363
home-manager/vscode.nix
Normal file
363
home-manager/vscode.nix
Normal file
|
@ -0,0 +1,363 @@
|
|||
{ pkgs, system, inputs, ... }: {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
#package = pkgs.vscode.fhsWithPackages (ps: [ ]);
|
||||
extensions =
|
||||
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace;
|
||||
with inputs.nix-vscode-extensions.extensions.${system}.vscode-marketplace-release; [
|
||||
# Themes
|
||||
(pkgs.catppuccin-vsc.override {
|
||||
accent = "blue";
|
||||
extraBordersEnabled = true;
|
||||
italicKeywords = false;
|
||||
customUIColors = {
|
||||
mocha = { "statusBar.foreground" = "accent"; };
|
||||
macchiato = { "statusBar.foreground" = "accent"; };
|
||||
frappe = { "statusBar.foreground" = "accent"; };
|
||||
latte = { "statusBar.foreground" = "accent"; };
|
||||
};
|
||||
})
|
||||
catppuccin.catppuccin-vsc-icons
|
||||
|
||||
# C#
|
||||
ms-dotnettools.csharp
|
||||
ms-dotnettools.csdevkit
|
||||
ms-dotnettools.vscodeintellicode-csharp
|
||||
ms-dotnettools.vscode-dotnet-runtime
|
||||
csharpier.csharpier-vscode
|
||||
patcx.vscode-nuget-gallery
|
||||
|
||||
# Python
|
||||
ms-python.python
|
||||
ms-python.vscode-pylance
|
||||
ms-python.debugpy
|
||||
ms-python.black-formatter
|
||||
ms-python.isort
|
||||
ms-python.flake8
|
||||
charliermarsh.ruff
|
||||
matangover.mypy
|
||||
|
||||
# JavaScript / TypeScript
|
||||
dbaeumer.vscode-eslint
|
||||
yoavbls.pretty-ts-errors
|
||||
quick-lint.quick-lint-js
|
||||
gregorbiswanger.json2ts
|
||||
vendicated.vencord-companion
|
||||
|
||||
# Luau
|
||||
evaera.vscode-rojo
|
||||
undermywheel.roblox-lua
|
||||
johnnymorganz.stylua
|
||||
johnnymorganz.luau-lsp
|
||||
nightrains.robloxlsp
|
||||
|
||||
# Go
|
||||
golang.go
|
||||
|
||||
# Kotlin
|
||||
mathiasfrohlich.kotlin
|
||||
|
||||
# Java
|
||||
vscjava.vscode-java-debug
|
||||
vscjava.vscode-gradle
|
||||
vscjava.vscode-maven
|
||||
vscjava.vscode-java-dependency
|
||||
vscjava.vscode-java-test
|
||||
redhat.java
|
||||
|
||||
# Bash
|
||||
mads-hartmann.bash-ide-vscode
|
||||
foxundermoon.shell-format
|
||||
timonwong.shellcheck
|
||||
shakram02.bash-beautify
|
||||
|
||||
# Paradox Interactive Scripting
|
||||
tboby.cwtools-vscode
|
||||
|
||||
# Git
|
||||
donjayamanne.githistory
|
||||
codezombiech.gitignore
|
||||
eamodio.gitlens
|
||||
|
||||
# GitHub
|
||||
ziyasal.vscode-open-in-github
|
||||
pkgs.vscode-extensions.github.vscode-github-actions
|
||||
github.vscode-pull-request-github
|
||||
|
||||
# Misc - Language Support
|
||||
jnoortheen.nix-ide
|
||||
tamasfe.even-better-toml
|
||||
matthewpi.caddyfile-support
|
||||
editorconfig.editorconfig
|
||||
prisma.prisma
|
||||
redhat.vscode-yaml
|
||||
ms-vscode.powershell
|
||||
irongeek.vscode-env
|
||||
wholroyd.jinja
|
||||
ms-vscode.makefile-tools
|
||||
tnze.snbt
|
||||
logerfo.sln-support
|
||||
tboby.paradox-syntax
|
||||
xteal.mcmeta
|
||||
footerman.heracles-support
|
||||
|
||||
# Misc - Debuggers
|
||||
firefox-devtools.vscode-firefox-debug
|
||||
rogalmic.zsh-debug
|
||||
|
||||
# Misc - Linters
|
||||
tekumara.typos-vscode
|
||||
stylelint.vscode-stylelint
|
||||
|
||||
# Misc - Formatters
|
||||
esbenp.prettier-vscode
|
||||
|
||||
# Misc - Visuals
|
||||
naumovs.color-highlight
|
||||
kshetline.ligatures-limited
|
||||
|
||||
# Misc - Utilities
|
||||
adpyke.codesnap
|
||||
exodiusstudios.comment-anchors
|
||||
elypia.magick-image-reader
|
||||
adpyke.vscode-sql-formatter
|
||||
qwtel.sqlite-viewer
|
||||
yy0931.vscode-sqlite3-editor
|
||||
supermaven.supermaven # requires a supermaven subscription - https://supermaven.com/
|
||||
leonardssh.vscord
|
||||
alefragnani.project-manager
|
||||
mkhl.direnv
|
||||
ms-vsliveshare.vsliveshare
|
||||
ms-azuretools.vscode-docker
|
||||
ms-vscode-remote.remote-ssh
|
||||
pkgs.vscode-extensions.ms-vscode-remote.remote-ssh-edit
|
||||
ms-vscode.remote-server
|
||||
ms-vscode.remote-explorer
|
||||
pkgs.vscode-extensions.ms-vscode-remote.remote-containers
|
||||
ms-vscode.remote-repositories
|
||||
formulahendry.auto-rename-tag
|
||||
prunoideae.probejs
|
||||
d-koppenhagen.file-tree-to-text-generator
|
||||
];
|
||||
userSettings = {
|
||||
"editor.tokenColorCustomizations" = {
|
||||
"[Catppuccin*]" = {
|
||||
"variables" = "#82eaf0";
|
||||
"textMateRules" = [
|
||||
{
|
||||
"scope" = "comment";
|
||||
"settings" = {
|
||||
"foreground" = "#f465ec";
|
||||
"fontStyle" = "italic";
|
||||
};
|
||||
}
|
||||
{
|
||||
"scope" = "punctuation.definition.comment";
|
||||
"settings" = {
|
||||
"foreground" = "#f465ec";
|
||||
"fontStyle" = "italic";
|
||||
};
|
||||
}
|
||||
{
|
||||
"scope" = "variable.other.readwrite";
|
||||
"settings" = { "foreground" = "#82eaf0"; };
|
||||
}
|
||||
{
|
||||
"scope" = "keyword.operator";
|
||||
"settings" = { "foreground" = "#EBA0AC"; };
|
||||
}
|
||||
{
|
||||
"scope" = "meta.block.paradox";
|
||||
"settings" = { "foreground" = "#EBA0AC"; };
|
||||
}
|
||||
{
|
||||
"scope" = "meta.shebang.shell";
|
||||
"settings" = {
|
||||
"foreground" = "#fb5d1f";
|
||||
"fontStyle" = "italic bold";
|
||||
};
|
||||
}
|
||||
{
|
||||
"scope" = "punctuation.definition.comment.shebang.shell";
|
||||
"settings" = {
|
||||
"foreground" = "#fb5d1f";
|
||||
"fontStyle" = "italic bold";
|
||||
};
|
||||
}
|
||||
{
|
||||
"scope" =
|
||||
"string.quoted.double.shell variable.other.normal.shell";
|
||||
"settings" = { "foreground" = "#82e5f0"; };
|
||||
}
|
||||
{
|
||||
"scope" = "variable.other.property.ts";
|
||||
"settings" = { "foreground" = "#32d5e7"; };
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
"[python]" = {
|
||||
"editor.formatOnType" = true;
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.defaultFormatter" = "charliermarsh.ruff";
|
||||
"editor.codeActionsOnSave" = {
|
||||
"source.fixAll" = "explicit";
|
||||
"source.organizeImports" = "explicit";
|
||||
};
|
||||
};
|
||||
"python.terminal.activateEnvironment" = false;
|
||||
"python.terminal.activateEnvInCurrentTerminal" = false;
|
||||
"[csharp]" = {
|
||||
"editor.defaultFormatter" = "csharpier.csharpier-vscode";
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnSaveMode" = "file";
|
||||
};
|
||||
"[typescript]" = {
|
||||
"editor.defaultFormatter" = "esbenp.prettier-vscode";
|
||||
"editor.formatOnType" = false;
|
||||
"editor.formatOnPaste" = true;
|
||||
"editor.formatOnSave" = true;
|
||||
"editor.formatOnSaveMode" = "file";
|
||||
"files.autoSave" = "onFocusChange";
|
||||
};
|
||||
"[markdown]" = { "files.trimTrailingWhitespace" = false; };
|
||||
"yaml.schemas" = {
|
||||
"https://json.schemastore.org/github-workflow.json" = [
|
||||
".github/workflows/*.{yml,yaml}"
|
||||
".forgejo/workflows/*.{yml,yaml}"
|
||||
".gitea/workflows/*.{yml,yaml}"
|
||||
];
|
||||
};
|
||||
"yaml.schemaStore.enable" = true;
|
||||
"nix.enableLanguageServer" = true;
|
||||
"nix.serverSettings" = {
|
||||
"nil" = { "formatting" = { "command" = [ "nixfmt" ]; }; };
|
||||
};
|
||||
"nix.serverPath" = "nil";
|
||||
"vscord.status.image.large.debugging.key" =
|
||||
"https://vscord.catppuccin.com/mocha/debugging.webp";
|
||||
"vscord.status.image.large.editing.key" =
|
||||
"https://vscord.catppuccin.com/mocha/{lang}.webp";
|
||||
"vscord.status.image.large.idle.key" =
|
||||
"https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
|
||||
"vscord.status.image.large.notInFile.key" =
|
||||
"https://vscord.catppuccin.com/mocha/idle-{app_id}.webp";
|
||||
"vscord.status.image.large.viewing.key" =
|
||||
"https://vscord.catppuccin.com/mocha/{lang}.webp";
|
||||
"vscord.status.image.small.debugging.key" =
|
||||
"https://vscord.catppuccin.com/mocha/debugging.webp";
|
||||
"vscord.status.image.small.editing.key" =
|
||||
"https://vscord.catppuccin.com/mocha/{app_id}.webp";
|
||||
"vscord.status.image.small.idle.key" =
|
||||
"https://vscord.catppuccin.com/mocha/idle.webp";
|
||||
"vscord.status.image.small.notInFile.key" =
|
||||
"https://vscord.catppuccin.com/mocha/idle.webp";
|
||||
"vscord.status.image.small.viewing.key" =
|
||||
"https://vscord.catppuccin.com/mocha/{app_id}.webp";
|
||||
"git.enableSmartCommit" = true;
|
||||
"git.autofetch" = true;
|
||||
"git.confirmSync" = false;
|
||||
"security.workspace.trust.untrustedFiles" = "open";
|
||||
"files.insertFinalNewline" = true;
|
||||
"files.trimFinalNewlines" = true;
|
||||
"files.trimTrailingWhitespace" = true;
|
||||
"editor.inlineSuggest.enabled" = true;
|
||||
"diffEditor.ignoreTrimWhitespace" = false;
|
||||
"git.enableCommitSigning" = true;
|
||||
"editor.accessibilitySupport" = "off";
|
||||
"git.inputValidationSubjectLength" = null;
|
||||
"git.inputValidationLength" = 150;
|
||||
"editor.fontLigatures" =
|
||||
"'cv01', 'cv02', 'ss05', 'ss08', 'ss03', 'cv29', 'cv30', 'cv11'";
|
||||
"workbench.iconTheme" = "catppuccin-latte";
|
||||
"codesnap.shutterAction" = "copy";
|
||||
"codesnap.transparentBackground" = true;
|
||||
"codesnap.realLineNumbers" = true;
|
||||
"codesnap.roundedCorners" = true;
|
||||
"codesnap.showWindowTitle" = true;
|
||||
"codesnap.showWindowControls" = false;
|
||||
"gitlens.remotes" = [{
|
||||
"domain" = "www.coastalcommits.com";
|
||||
"type" = "Gitea";
|
||||
}];
|
||||
"markdownlint.config" = {
|
||||
"ol-prefix" = false;
|
||||
"html" = false;
|
||||
};
|
||||
"markdownlint.lintWorkspaceGlobs" = [
|
||||
"**/*.{md,mkd,mdwn,mdown,markdown,markdn,mdtxt,mdtext,workbook}"
|
||||
"!**/node_modules"
|
||||
"!**/bower_components"
|
||||
"!**/.git"
|
||||
"!**/LICENSE"
|
||||
"!**/LICENSE.md"
|
||||
];
|
||||
"editor.largeFileOptimizations" = false;
|
||||
"files.associations" = {
|
||||
".env" = "properties";
|
||||
"*.ini" = "paradox";
|
||||
"*.kt" = "kotlin";
|
||||
};
|
||||
"editor.semanticHighlighting.enabled" = true;
|
||||
"[css]" = { "editor.defaultFormatter" = "vscode.css-language-features"; };
|
||||
"git.ignoreRebaseWarning" = true;
|
||||
"remote.autoForwardPortsSource" = "hybrid";
|
||||
"git.replaceTagsWhenPull" = true;
|
||||
"redhat.telemetry.enabled" = true;
|
||||
"editor.fontSize" = 14;
|
||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||
"editor.codeLensFontFamily" =
|
||||
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
|
||||
"editor.inlayHints.fontFamily" =
|
||||
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font', 'FiraCode Nerd Font Light'";
|
||||
"editor.fontFamily" =
|
||||
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
|
||||
"explorer.confirmDelete" = false;
|
||||
"window.confirmSaveUntitledWorkspace" = false;
|
||||
"cwtools.cache.stellaris" = "/bulk/steam/steamapps/common/Stellaris";
|
||||
"python.analysis.inlayHints.callArgumentNames" = "partial";
|
||||
"python.analysis.inlayHints.functionReturnTypes" = true;
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
"editor.unicodeHighlight.allowedLocales" = { ru = true; };
|
||||
"terminal.integrated.defaultProfile.linux" = "zsh";
|
||||
"explorer.confirmPasteNative" = false;
|
||||
"editor.renderWhitespace" = "none";
|
||||
"explorer.fileNesting.patterns" = {
|
||||
"*.ts" = "\${capture}.js";
|
||||
"*.js" = "\${capture}.js.map, \${capture}.min.js, \${capture}.d.ts";
|
||||
"*.jsx" = "\${capture}.js";
|
||||
"*.tsx" = "\${capture}.ts";
|
||||
"tsconfig.json" = "tsconfig.*.json";
|
||||
"package.json" =
|
||||
"package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb";
|
||||
"Cargo.toml" = "Cargo.lock";
|
||||
"*.sqlite" = "\${capture}.\${extname}-*";
|
||||
"*.db" = "\${capture}.\${extname}-*";
|
||||
"*.sqlite3" = "\${capture}.\${extname}-*";
|
||||
"*.db3" = "\${capture}.\${extname}-*";
|
||||
"*.sdb" = "\${capture}.\${extname}-*";
|
||||
"*.s3db" = "\${capture}.\${extname}-*";
|
||||
};
|
||||
"[shellscript]" = {
|
||||
"editor.defaultFormatter" = "shakram02.bash-beautify";
|
||||
};
|
||||
"vscord.app.name" = "Visual Studio Code";
|
||||
"workbench.editorAssociations" = { "*.db" = "sqlite3-editor.editor"; };
|
||||
"vs-code-prettier-eslint.prettierLast" = false;
|
||||
"typescript.updateImportsOnFileMove.enabled" = "always";
|
||||
"supermaven.allowGitignore" = true;
|
||||
"[javascript]" = {
|
||||
"editor.defaultFormatter" = "esbenp.prettier-vscode";
|
||||
};
|
||||
"[json]" = {
|
||||
"editor.defaultFormatter" = "vscode.json-language-features";
|
||||
};
|
||||
"go.toolsManagement.autoUpdate" = true;
|
||||
"remote.SSH.remotePlatform" = { "eclipse" = "linux"; };
|
||||
"terminal.integrated.fontWeightBold" = "bold";
|
||||
"terminal.integrated.fontFamily" =
|
||||
"'ComicCodeLigatures Nerd Font', 'Comic Code Ligatures', 'FiraCode Nerd Font'";
|
||||
"[jsonc]" = { "editor.defaultFormatter" = "esbenp.prettier-vscode"; };
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue