139 lines
4.7 KiB
Nix
139 lines
4.7 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
osConfig,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf;
|
|
inherit (osConfig) modules;
|
|
|
|
sys = modules.system;
|
|
prg = sys.programs;
|
|
in {
|
|
config = mkIf prg.vscode.enable {
|
|
programs.vscode = {
|
|
enable = true;
|
|
enableExtensionUpdateCheck = true;
|
|
enableUpdateCheck = true;
|
|
extensions = with pkgs.vscode-extensions;
|
|
[
|
|
arrterian.nix-env-selector
|
|
bbenoist.nix
|
|
catppuccin.catppuccin-vsc
|
|
christian-kohler.path-intellisense
|
|
dbaeumer.vscode-eslint
|
|
eamodio.gitlens
|
|
esbenp.prettier-vscode
|
|
formulahendry.code-runner
|
|
golang.go
|
|
ibm.output-colorizer
|
|
kamadorueda.alejandra
|
|
ms-azuretools.vscode-docker
|
|
ms-python.python
|
|
ms-python.vscode-pylance
|
|
ms-vscode-remote.remote-ssh
|
|
ms-vscode.cpptools
|
|
naumovs.color-highlight
|
|
svelte.svelte-vscode
|
|
ms-vsliveshare.vsliveshare
|
|
oderwat.indent-rainbow
|
|
pkief.material-icon-theme
|
|
rust-lang.rust-analyzer
|
|
shardulm94.trailing-spaces
|
|
sumneko.lua
|
|
timonwong.shellcheck
|
|
usernamehw.errorlens
|
|
xaver.clang-format
|
|
yzhang.markdown-all-in-one
|
|
james-yu.latex-workshop
|
|
redhat.vscode-yaml
|
|
ms-azuretools.vscode-docker
|
|
irongeek.vscode-env
|
|
github.vscode-pull-request-github
|
|
github.codespaces
|
|
astro-build.astro-vscode
|
|
WakaTime.vscode-wakatime
|
|
]
|
|
++ [
|
|
pkgs.vscode-extensions."2gua".rainbow-brackets
|
|
]
|
|
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
|
{
|
|
name = "copilot-nightly";
|
|
publisher = "github";
|
|
version = "1.67.7949";
|
|
sha256 = "sha256-ZtUqQeWjXmTz49DUeYkuqSTdVHRC8OfgWv8fuhlHDVc=";
|
|
}
|
|
{
|
|
name = "volar";
|
|
publisher = "vue";
|
|
version = "1.0.12";
|
|
sha256 = "sha256-D9E3KRUOlNVXH4oMv1W0+/mbqO8Se7+6E2F5P/KvCro=";
|
|
}
|
|
{
|
|
name = "vscode-typescript-vue-plugin";
|
|
publisher = "vue";
|
|
version = "1.0.12";
|
|
sha256 = "sha256-WiL+gc9+U861ubLlY/acR+ZcrFT7TdIDR0K1XNNidX8=";
|
|
}
|
|
{
|
|
name = "decay";
|
|
publisher = "decaycs";
|
|
version = "1.0.6";
|
|
sha256 = "sha256-Jtxj6LmHgF7UNaXtXxHkq881BbuPtIJGxR7kdhKr0Uo=";
|
|
}
|
|
{
|
|
name = "vscode-typescript-next";
|
|
publisher = "ms-vscode";
|
|
version = "5.0.202301100";
|
|
sha256 = "sha256-8d/L9F06ZaS9dTOXV6Q40ivI499nfZLQURcLdHXoTSM=";
|
|
}
|
|
{
|
|
name = "vscode-chromium-vector-icons";
|
|
publisher = "adolfdaniel";
|
|
version = "1.0.2";
|
|
sha256 = "sha256-Meo53e/3jUP6YDEXOA/40xghI77jj4iAQus3/S8RPZI=";
|
|
}
|
|
];
|
|
userSettings = {
|
|
"workbench.iconTheme" = "material-icon-theme";
|
|
"workbench.colorTheme" = "Catppuccin Macchiato";
|
|
"catppuccin.accentColor" = "mauve";
|
|
"editor.fontFamily" = "JetBrainsMono Nerd Font, Material Design Icons, 'monospace', monospace";
|
|
"editor.fontSize" = 16;
|
|
"editor.fontLigatures" = true;
|
|
"workbench.fontAliasing" = "antialiased";
|
|
"files.trimTrailingWhitespace" = true;
|
|
"terminal.integrated.fontFamily" = "JetBrainsMono Nerd Font Mono";
|
|
"window.titleBarStyle" = "custom";
|
|
"terminal.integrated.automationShell.linux" = "nix-shell";
|
|
"terminal.integrated.defaultProfile.linux" = "zsh";
|
|
"terminal.integrated.cursorBlinking" = true;
|
|
"terminal.integrated.enableBell" = false;
|
|
"editor.formatOnPaste" = true;
|
|
"editor.formatOnSave" = true;
|
|
"editor.formatOnType" = false;
|
|
"editor.minimap.enabled" = false;
|
|
"editor.minimap.renderCharacters" = false;
|
|
"editor.overviewRulerBorder" = false;
|
|
"editor.renderLineHighlight" = "all";
|
|
"editor.inlineSuggest.enabled" = true;
|
|
"editor.smoothScrolling" = true;
|
|
"editor.suggestSelection" = "first";
|
|
"editor.guides.indentation" = true;
|
|
"editor.guides.bracketPairs" = true;
|
|
"editor.bracketPairColorization.enabled" = true;
|
|
"window.nativeTabs" = true;
|
|
"window.restoreWindows" = "all";
|
|
"window.menuBarVisibility" = "toggle";
|
|
"workbench.panel.defaultLocation" = "right";
|
|
"workbench.editor.tabCloseButton" = "left";
|
|
"workbench.startupEditor" = "none";
|
|
"workbench.list.smoothScrolling" = true;
|
|
"security.workspace.trust.enabled" = false;
|
|
"explorer.confirmDelete" = false;
|
|
"breadcrumbs.enabled" = true;
|
|
};
|
|
};
|
|
};
|
|
}
|