Files
nix-config/home/base/tui/editors/packages.nix
T

136 lines
3.4 KiB
Nix

{
pkgs,
pkgs-master,
...
}:
{
home.packages =
with pkgs;
(
# -*- Data & Configuration Languages -*-#
[
#-- nix
nil
nixd
statix # Lints and suggestions for the nix programming language
deadnix # Find and remove unused code in .nix source files
nixfmt # Nix Code Formatter
#-- json like
terraform-ls
jsonnet
jsonnet-language-server
taplo # TOML language server / formatter / validator
yaml-language-server
actionlint # GitHub Actions linter
#-- dockerfile
hadolint # Dockerfile linter
dockerfile-language-server
#-- markdown
marksman # language server for markdown
glow # markdown previewer
pandoc # document converter
pkgs-master.hugo # static site generator
#-- sql
sqlfluff
#-- protocol buffer
buf # linting and formatting
]
++
#-*- General Purpose Languages -*-#
[
#-- c/c++
cmake
cmake-language-server
gnumake
checkmake
# c/c++ compiler, required by nvim-treesitter!
gcc
gdb
# c/c++ tools with clang-tools, the unwrapped version won't
# add alias like `cc` and `c++`, so that it won't conflict with gcc
# llvmPackages.clang-unwrapped
clang-tools
lldb
#-- python
uv # python project package manager
(python313.withPackages (
ps: with ps; [
# python language server
ty
ruff
# my commonly used python packages
jupyter
ipython
pandas
numpy
requests
pyquery
pyyaml
protobuf # protocol buffer compiler
]
))
#-- rust
# we'd better use the rust-overlays for rust development
pkgs-master.rustc
pkgs-master.rust-analyzer
pkgs-master.cargo # rust package manager
pkgs-master.rustfmt
pkgs-master.clippy # rust linter
#-- golang
go
gomodifytags
iferr # generate error handling code for go
impl # generate function implementation for go
# gotools # contains tools like: godoc, goimports, etc.
gopls # go language server
delve # go debugger
# -- java
# jdk25
# gradle
# maven
# spring-boot-cli
# jdt-language-server
#-- lua
stylua
lua-language-server
#-- bash
bash-language-server
shellcheck
shfmt
]
#-*- Web Development -*-#
++ [
nodejs_24
pnpm
typescript
typescript-language-server
bun
# HTML/CSS/JSON/ESLint language servers extracted from vscode
vscode-langservers-extracted
tailwindcss-language-server
emmet-ls
]
++ [
proselint # English prose linter
#-- Optional Requirements:
prettier # common code formatter
fzf
gdu # disk usage analyzer, required by AstroNvim
(ripgrep.override { withPCRE2 = true; }) # recursively searches directories for a regex pattern
]
);
}