summaryrefslogtreecommitdiff
path: root/modules/common/vscode.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/common/vscode.nix')
-rw-r--r--modules/common/vscode.nix63
1 files changed, 36 insertions, 27 deletions
diff --git a/modules/common/vscode.nix b/modules/common/vscode.nix
index 3ae9800..62abcf8 100644
--- a/modules/common/vscode.nix
+++ b/modules/common/vscode.nix
@@ -41,6 +41,8 @@ in {
gitlab.gitlab-workflow
golang.go
graphql.vscode-graphql
+ graphql.vscode-graphql-execution
+ graphql.vscode-graphql-syntax
hashicorp.hcl
hashicorp.terraform
haskell.haskell
@@ -54,11 +56,13 @@ in {
redhat.vscode-xml
redhat.vscode-yaml
rust-lang.rust
+ skellock.just
streetsidesoftware.code-spell-checker
streetsidesoftware.code-spell-checker-british-english
streetsidesoftware.code-spell-checker-russian
streetsidesoftware.code-spell-checker-scientific-terms
tamasfe.even-better-toml
+ task.vscode-task
vscode-org-mode.org-mode
ziglang.vscode-zig
]
@@ -99,7 +103,7 @@ in {
};
workbench = {
- activityBar.visible = false;
+ activityBar.location = "hidden";
editor.highlightModifiedTabs = true;
enableExperiments = false;
settings.enableNaturalLanguageSearch = false;
@@ -149,71 +153,76 @@ in {
useFullyQualifiedCollectionNames = true;
reuseTerminal = true;
};
- validation.lint.path = "${pkgs.ansible-lint}/bin/ansible-lint";
+ validation.lint.path = getExe' pkgs.ansible-lint "ansible-lint";
};
- bashIde.shellcheckPath = "${pkgs.shellcheck}/bin/shellcheck";
+ bashIde.shellcheckPath = getExe' pkgs.shellcheck "shellcheck";
- cSpell.language = "en-GB,ru";
+ cSpell.language = "en-GB,en,ru";
+
+ direnv = {
+ restart.automatic = true;
+ };
magit = {
forge-enabled = true;
- git-path = "${config.hm.programs.git.package}/bin/git";
+ git-path = getExe config.hm.programs.git.package;
};
+ git.openRepositoryInParentFolders = "always";
+
github = {
branchProtection = true;
gitProtocol = "ssh";
};
terraform = {
- languageServer.path = "${pkgs.terraform-ls}/bin/terraform-ls";
- languageServer.terraform.path = "${pkgs.opentofu}/bin/tofu";
+ languageServer.path = getExe' pkgs.terraform-ls "terraform-ls";
+ languageServer.terraform.path = getExe pkgs.opentofu;
};
haskell = {
formattingProvider = "ormolu";
- serverExecutablePath = "${pkgs.haskell-language-server}/bin/haskell-language-server";
+ serverExecutablePath = getExe' pkgs.haskell-language-server "haskell-language-server";
};
nix = {
enableLanguageServer = true;
- serverPath = "${pkgs.nil}/bin/nil";
+ serverPath = getExe pkgs.nil;
};
python = with pkgs.python311Packages; {
experiments.optOutFrom = ["All"];
- pipenvPath = "${pkgs.pipenv}/bin/pipenv";
- poetryPath = "${pkgs.poetry}/bin/poetry";
+ pipenvPath = getExe' pkgs.pipenv "pipenv";
+ poetryPath = getExe' pkgs.poetry "poetry";
formatting = {
provider = "black";
- autopep8Path = "${autopep8}/bin/autopep8";
- blackPath = "${black}/bin/black";
- yapfPath = "${yapf}/bin/yapf";
+ autopep8Path = getExe' autopep8 "autopep8";
+ blackPath = getExe' black "black";
+ yapfPath = getExe' yapf "yapf";
};
linting = {
enabled = true;
- banditPath = "${bandit}/bin/bandit";
- flake8Path = "${flake8}/bin/flake8";
- mypyPath = "${mypy}/bin/mypy";
- pycodestylePath = "${pycodestyle}/bin/pycodestyle";
- pydocstylePath = "${pydocstyle}/bin/pydocstyle";
- pylamaPath = "${pylama}/bin/pylama";
- pylintPath = "${pylint}/bin/pylint";
+ banditPath = getExe' bandit "bandit";
+ flake8Path = getExe' flake8 "flake8";
+ mypyPath = getExe' mypy "mypy";
+ pycodestylePath = getExe' pycodestyle "pycodestyle";
+ pydocstylePath = getExe' pydocstyle "pydocstyle";
+ pylamaPath = getExe' pylama "pylama";
+ pylintPath = getExe' pylint "pylint";
};
testing = {
- pytestPath = "${pytest}/bin/pytest";
+ pytestPath = getExe' pytest "pytest";
};
};
rust-client = {
disableRustup = true;
- rustupPath = "${pkgs.rustup}/bin/rustup";
- rlsPath = "${pkgs.rustup}/bin/rls";
- rustfmt_path = "${pkgs.rustfmt}/bin/rustfmt";
+ rustupPath = getExe' pkgs.rustup "rustup";
+ rustfmt_path = getExe pkgs.rustfmt;
};
- vim = mkIf cfg.vim.enable rec {
+ vim = mkIf cfg.vim.enable {
easymotion = true;
easymotionMarkerFontFamily = fontFamily;
easymotionMarkerFontSize = fontSize;
@@ -225,7 +234,7 @@ in {
zig.zls = {
checkForUpdate = false;
- path = "${pkgs.zls}/bin/zls";
+ path = getExe' pkgs.zls "zls";
};
redhat.telemetry.enabled = false;