summaryrefslogtreecommitdiff
path: root/modules/development.nix
blob: 989444c4a64d17a62be71ddc6d440f9a8a03c478 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
{ pkgs, lib, config, ... }: {

  options.development.enable = lib.mkOption {
    type        = lib.types.bool;
    default     = false;
    description = "enables development";
  };

  config = lib.mkIf config.development.enable {

    environment.systemPackages = with pkgs; [
      jetbrains.idea-community

      # LSP
      asm-lsp
      astro-language-server
      basedpyright
      bash-language-server
      vscode-langservers-extracted # html/css/json
      gopls
      lemminx # xml
      lua-language-server
      markdown-oxide
      marksman
      mdx-language-server
      neocmakelsp
      nil # nix
      tailwindcss-language-server
      taplo # toml
      typescript-language-server
      yaml-language-server
      # pnpm i -g css-variables-language-server
      # pnpm install -g gh-actions-language-server

      # Tools
      stylua
      gofumpt
      golangci-lint
      prettierd
      jq
      lldb # codelldb debugger
      shellcheck
      beautysh # shell formatter
      gdb
      nasm
      rustup
      tokei # count lines of code
      go
      pnpm
      nodejs_24
      clang
      clang-tools
      gcc
      gnumake
      goose
      sqlc
      maven
      gradle
      kotlin
      mold # fast linker, for rust
      gomodifytags
      sops
    ];

  };
}