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.nix244
1 files changed, 0 insertions, 244 deletions
diff --git a/modules/common/vscode.nix b/modules/common/vscode.nix
deleted file mode 100644
index bd840d8..0000000
--- a/modules/common/vscode.nix
+++ /dev/null
@@ -1,244 +0,0 @@
-{
- config,
- inputs,
- lib,
- pkgs,
- ...
-}:
-with lib;
-let
- cfg = config.nixfiles.modules.vscode;
-in
-{
- options.nixfiles.modules.vscode = {
- enable = mkEnableOption "VSCode";
-
- package =
- with pkgs;
- mkOption {
- type = types.enum [
- vscodium
- vscode
- vscode-fhs
- ];
- default = vscodium;
- description = "Which package to use as a VSCode implementation.";
- };
-
- vim.enable = mkOption {
- type = types.bool;
- default = true;
- description = "Whether to enable Vim emulation.";
- };
- };
-
- config = mkIf cfg.enable {
- hm = {
- stylix.targets.vscode.enable = false;
-
- programs.vscode =
- with config.nixfiles;
- with modules;
- with profiles;
- {
- enable = true;
-
- inherit (cfg) package;
-
- extensions =
- with pkgs.open-vsx;
- [
- editorconfig.editorconfig
- efoerster.texlab
- github.vscode-pull-request-github
- gitlab.gitlab-workflow
- golang.go
- graphql.vscode-graphql
- graphql.vscode-graphql-execution
- graphql.vscode-graphql-syntax
- hashicorp.hcl
- hashicorp.terraform
- haskell.haskell
- jnoortheen.nix-ide
- kahole.magit
- mads-hartmann.bash-ide-vscode
- mkhl.direnv
- ms-kubernetes-tools.vscode-kubernetes-tools
- ms-python.python
- redhat.ansible
- redhat.vscode-xml
- redhat.vscode-yaml
- rust-lang.rust
- signageos.signageos-vscode-sops
- 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
- ]
- ++ optional cfg.vim.enable vscodevim.vim;
-
- userSettings = {
- editor = {
- codeLens = false;
- cursorStyle = "block";
- detectIndentation = true;
- minimap.enabled = false;
- renderWhitespace = "trailing";
- rulers = [
- 80
- 120
- ];
- smoothScrolling = false;
- tabCompletion = "on";
- cursorSurroundingLines = 10;
- scrollBeyondLastColumn = 10;
- };
-
- keyboard.dispatch = "keyCode";
-
- diffEditor.codeLens = false;
-
- files = {
- autoSave = "off";
- enableTrash = false;
- };
-
- workbench = {
- activityBar.location = "hidden";
- colorTheme = "Default Light Modern";
- editor.highlightModifiedTabs = true;
- enableExperiments = false;
- settings.enableNaturalLanguageSearch = false;
- startupEditor = "none";
- tips.enabled = false;
- tree.indent = 4;
- welcomePage = {
- walkthroughs.openOnInstall = false;
- preferReducedMotion = true;
- };
- };
-
- extensions = {
- autoCheckUpdates = false;
- autoUpdate = false;
- ignoreRecommendations = true;
- };
-
- terminal.integrated = {
- enableBell = true;
- };
-
- update = {
- mode = "none";
- showReleaseNotes = false;
- };
-
- telemetry = {
- enableCrashReporter = false;
- enableTelemetry = false;
- };
-
- security.workspace.trust.enabled = false;
-
- # Extensions.
-
- ansible = {
- ansible = {
- useFullyQualifiedCollectionNames = true;
- reuseTerminal = true;
- };
- validation.lint.path = getExe' pkgs.ansible-lint "ansible-lint";
- };
-
- bashIde.shellcheckPath = getExe' pkgs.shellcheck "shellcheck";
-
- cSpell.language = "en-GB,en,ru";
-
- direnv = {
- restart.automatic = true;
- };
-
- magit = {
- forge-enabled = true;
- git-path = getExe config.hm.programs.git.package;
- };
-
- git.openRepositoryInParentFolders = "always";
-
- github = {
- branchProtection = true;
- gitProtocol = "ssh";
- };
-
- terraform = {
- languageServer.path = getExe' pkgs.terraform-ls "terraform-ls";
- languageServer.terraform.path = getExe pkgs.opentofu;
- };
-
- haskell = {
- formattingProvider = "ormolu";
- serverExecutablePath = getExe' pkgs.haskell-language-server "haskell-language-server";
- };
-
- nix = {
- enableLanguageServer = true;
- serverPath = getExe pkgs.nil;
- };
-
- python = with pkgs.python311Packages; {
- experiments.optOutFrom = [ "All" ];
- pipenvPath = getExe' pkgs.pipenv "pipenv";
- poetryPath = getExe' pkgs.poetry "poetry";
- formatting = {
- provider = "black";
- autopep8Path = getExe' autopep8 "autopep8";
- blackPath = getExe' black "black";
- yapfPath = getExe' yapf "yapf";
- };
- linting = {
- enabled = true;
- 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 = getExe' pytest "pytest";
- };
- };
-
- rust-client = {
- disableRustup = true;
- rustupPath = getExe' pkgs.rustup "rustup";
- rustfmt_path = getExe pkgs.rustfmt;
- };
-
- vim = mkIf cfg.vim.enable {
- easymotion = true;
-
- leader = " ";
-
- useSystemClipboard = true;
- };
-
- zig.zls = {
- checkForUpdate = false;
- path = getExe' pkgs.zls "zls";
- };
-
- redhat.telemetry.enabled = false;
- };
- };
- };
-
- nixpkgs.overlays = [ inputs.vscode-extensions.overlays.default ];
- };
-}