mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-06-17 18:45:12 -05:00
refactor: abstracted out vscode config
This commit is contained in:
parent
1ae9601263
commit
18258dec54
5 changed files with 75 additions and 61 deletions
|
@ -1,61 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
programs = {
|
|
||||||
vscode = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.vscode;
|
|
||||||
keybindings = [
|
|
||||||
{
|
|
||||||
key = "ctrl+shift+s";
|
|
||||||
command = "editor.action.insertCursorAtEndOfEachLineSelected";
|
|
||||||
when = "textInputFocus";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "ctrl+shift+a";
|
|
||||||
command = "editor.action.quickFix";
|
|
||||||
when = "editorHasCodeActionsProvider && textInputFocus && !editorReadonly";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "ctrl+shift+f";
|
|
||||||
command = "editor.action.formatDocument";
|
|
||||||
when = "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
extensions = builtins.attrValues {
|
|
||||||
inherit (pkgs.vscode-extensions.catppuccin) catppuccin-vsc;
|
|
||||||
inherit (pkgs.vscode-extensions.eamodio) gitlens;
|
|
||||||
inherit (pkgs.vscode-extensions.elmtooling) elm-ls-vscode;
|
|
||||||
inherit (pkgs.vscode-extensions.esbenp) prettier-vscode;
|
|
||||||
inherit (pkgs.vscode-extensions.haskell) haskell;
|
|
||||||
inherit (pkgs.vscode-extensions.james-yu) latex-workshop;
|
|
||||||
inherit (pkgs.vscode-extensions.jnoortheen) nix-ide;
|
|
||||||
inherit (pkgs.vscode-extensions.kamadorueda) alejandra;
|
|
||||||
inherit (pkgs.vscode-extensions.mattn) lisp;
|
|
||||||
inherit (pkgs.vscode-extensions.mkhl) direnv;
|
|
||||||
inherit (pkgs.vscode-extensions.pkief) material-icon-theme;
|
|
||||||
inherit (pkgs.vscode-extensions.streetsidesoftware) code-spell-checker;
|
|
||||||
inherit (pkgs.vscode-extensions.tamasfe) even-better-toml;
|
|
||||||
};
|
|
||||||
userSettings = {
|
|
||||||
"git.confirmSync" = false;
|
|
||||||
"editor.insertSpaces" = false;
|
|
||||||
"files.autoSave" = "afterDelay";
|
|
||||||
"git.enableSmartCommit" = true;
|
|
||||||
"nix.enableLanguageServer" = true;
|
|
||||||
"nix.serverPath" = lib.getExe pkgs.nil;
|
|
||||||
"nix.formatterPath" = lib.getExe pkgs.alejandra;
|
|
||||||
"window.menuBarVisibility" = "toggle";
|
|
||||||
"workbench.iconTheme" = "material-icon-theme";
|
|
||||||
"workbench.startupEditor" = "none";
|
|
||||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
|
||||||
"workbench.statusBar.visible" = false;
|
|
||||||
"editor.multiCursorLimit" = 700000;
|
|
||||||
"elmLS.disableElmLSDiagnostics" = true;
|
|
||||||
"elmLS.elmReviewDiagnostics" = "warning";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
17
home-manager/modules/vscode/config/extensions.nix
Normal file
17
home-manager/modules/vscode/config/extensions.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
extensions = builtins.attrValues {
|
||||||
|
inherit (pkgs.vscode-extensions.catppuccin) catppuccin-vsc;
|
||||||
|
inherit (pkgs.vscode-extensions.eamodio) gitlens;
|
||||||
|
inherit (pkgs.vscode-extensions.elmtooling) elm-ls-vscode;
|
||||||
|
inherit (pkgs.vscode-extensions.esbenp) prettier-vscode;
|
||||||
|
inherit (pkgs.vscode-extensions.haskell) haskell;
|
||||||
|
inherit (pkgs.vscode-extensions.james-yu) latex-workshop;
|
||||||
|
inherit (pkgs.vscode-extensions.jnoortheen) nix-ide;
|
||||||
|
inherit (pkgs.vscode-extensions.kamadorueda) alejandra;
|
||||||
|
inherit (pkgs.vscode-extensions.mattn) lisp;
|
||||||
|
inherit (pkgs.vscode-extensions.mkhl) direnv;
|
||||||
|
inherit (pkgs.vscode-extensions.pkief) material-icon-theme;
|
||||||
|
inherit (pkgs.vscode-extensions.streetsidesoftware) code-spell-checker;
|
||||||
|
inherit (pkgs.vscode-extensions.tamasfe) even-better-toml;
|
||||||
|
};
|
||||||
|
}
|
19
home-manager/modules/vscode/config/keybindings.nix
Normal file
19
home-manager/modules/vscode/config/keybindings.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
keybindings = [
|
||||||
|
{
|
||||||
|
key = "ctrl+shift+s";
|
||||||
|
command = "editor.action.insertCursorAtEndOfEachLineSelected";
|
||||||
|
when = "textInputFocus";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "ctrl+shift+a";
|
||||||
|
command = "editor.action.quickFix";
|
||||||
|
when = "editorHasCodeActionsProvider && textInputFocus && !editorReadonly";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "ctrl+shift+f";
|
||||||
|
command = "editor.action.formatDocument";
|
||||||
|
when = "editorHasDocumentFormattingProvider && editorTextFocus && !editorReadonly && !inCompositeEditor";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
23
home-manager/modules/vscode/config/userSettings.nix
Normal file
23
home-manager/modules/vscode/config/userSettings.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
userSettings = {
|
||||||
|
"git.confirmSync" = false;
|
||||||
|
"editor.insertSpaces" = false;
|
||||||
|
"files.autoSave" = "afterDelay";
|
||||||
|
"git.enableSmartCommit" = true;
|
||||||
|
"nix.enableLanguageServer" = true;
|
||||||
|
"nix.serverPath" = lib.getExe pkgs.nil;
|
||||||
|
"nix.formatterPath" = lib.getExe pkgs.alejandra;
|
||||||
|
"window.menuBarVisibility" = "toggle";
|
||||||
|
"workbench.iconTheme" = "material-icon-theme";
|
||||||
|
"workbench.startupEditor" = "none";
|
||||||
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||||
|
"workbench.statusBar.visible" = false;
|
||||||
|
"editor.multiCursorLimit" = 700000;
|
||||||
|
"elmLS.disableElmLSDiagnostics" = true;
|
||||||
|
"elmLS.elmReviewDiagnostics" = "warning";
|
||||||
|
};
|
||||||
|
}
|
16
home-manager/modules/vscode/default.nix
Executable file
16
home-manager/modules/vscode/default.nix
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs = {
|
||||||
|
vscode =
|
||||||
|
{
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscode;
|
||||||
|
}
|
||||||
|
// (import ./config/keybindings.nix)
|
||||||
|
// (import ./config/extensions.nix) {inherit pkgs;}
|
||||||
|
// (import ./config/userSettings.nix) {inherit pkgs lib;};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue