nix/modules/nixos/workstation/dev/default.nix
Ameya Shenoy 4998e822a7 feat: init
Signed-off-by: Ameya Shenoy <shenoy.ameya@gmail.com>
2024-11-11 01:48:40 +05:30

153 lines
4.4 KiB
Nix

{ lib, config, pkgs, ... }: {
config = lib.mkIf config.snowflake.workstation.isDevMachine {
environment = {
systemPackages = with pkgs; [
## system libs
gnumake # for Makefile executions
## terminal tools
dnsutils
git
zip
sshfs
glxinfo
lshw
stow
wl-clipboard
bc # basic calculator
htmlq # html parser like jq
litecli # for exploring sql databases in the cli
moreutils # for sponge to allow inplace editing using jq
xorg.xev
wev
unzip
arp-scan # for finding devices on network
## cli enhancers
ripgrep # grep in rust
eza # ls alternative
zoxide # cd alternative
difftastic # syntactic diff
## terminal multiplexer
tmux
tmuxinator # pre determined layout maker for tmux
## battery
powertop
## video player
yt-dlp # for mpv_quick
# # disabling streamlink because of build failure
# streamlink # cli for streaming from youtube or google drive
## torrent
# nodePackages.webtorrent-cli # commenting out, waiting on this issue: https://github.com/NixOS/nixpkgs/issues/321300
# qbittorrent # torrent
## kubernetes
kubectl
k9s
kubernetes-helm
cmctl # cert manager cli tool for k8s
kubelogin # for azure kubernetes login
atuin # shell history in sqlite
pinentry-curses # choosing this since it is the default package - https://search.nixos.org/options?channel=unstable&show=programs.gnupg.agent.pinentryPackage&from=0&size=50&sort=relevance&type=packages&query=programs.gnupg.agent.pinentryPackage
## neovim deps
tree-sitter # for parser
gcc # for neovim
fzf # terminal reverse search + nvim-telescope
fd # nvim-telescope
black # code formatter for python in neovim
isort # code formatter for python in neovim
nixpkgs-review # fore reviewing PRs
pyright # lsp server for python in neovim
nodePackages.prettier # code formatter for js/ts in neovim
pgformatter # code formatter for sql in neovim
jq # code formatter for json in neovim
lua-language-server # lsp for lua in neovim
stylua # code formatter for lua in neovim
nodePackages.fixjson # code formatter for json in neovim
shellcheck
shellharden
shfmt
ruff # code formatter for python in neovim
nodePackages.bash-language-server
vscode-langservers-extracted # lsp for markdown in neovim
dockerfile-language-server-nodejs # for dockerfiles
nodePackages.typescript-language-server # lsp for typescript in neovim
emmet-ls # lsp for tsx files in neovim
terraform-ls # lsp for terraform files in neovim
pciutils # for lspci
# rubocop # code formatter for ruby
## nix tools
nixd
nix-index
nixpkgs-fmt
nixfmt-classic
nvd # Nix/NixOS package version diff tool
## docker
# dive # to analyze container images # never used
## backups
restic
## work
# azure-cli # breaking because of some nacl modulenotfound error
azure-storage-azcopy # to create and push vhd image to azure
## emacs
ispell # dictionary for doom emacs
graphviz # for org-roam in doom emacs
sqlite # for lookup in doom emacs
## android
android-tools
## speech to text
ffmpeg
# openai-whisper # won't work with GPU because of mismatching version
# openai-whisper-cpp
## try out other OSes
# distrobox # useless, not using
## vpn tools
wireguard-tools
openvpn
## kvm
# libguestfs
# p7zip
# dmg2img
# tesseract
# cdrkit
# libvirt-glib
# red teaming
# mitmproxy # use in docker container
## marshal - ads
# oauth2l # interfacing with Google API
## devops
# terraformer # use in docker container
## bitwardel cli for secrets
bitwarden-cli
## cli
apacheHttpd # for htpasswd
aichat # for chatgpt in terminal
## removing as unable to use, will add back when can use it
# deepfilternet # for noise supressions
];
};
};
}