{ 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 ]; }; }; }