mirror of
https://github.com/davegallant/nix-config
synced 2025-08-05 10:33:39 +00:00
233 lines
3.8 KiB
Nix
233 lines
3.8 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let inherit (pkgs) stdenv;
|
|
in
|
|
{
|
|
# System-wide packages to install.
|
|
environment.systemPackages = with pkgs;
|
|
let
|
|
common = [
|
|
# utils
|
|
curl
|
|
du-dust
|
|
duf
|
|
gnupg
|
|
imagemagick
|
|
pfetch
|
|
unzip
|
|
xdg_utils
|
|
zip
|
|
|
|
# dev tools
|
|
act
|
|
asciinema
|
|
dive
|
|
gcc
|
|
git
|
|
git-crypt
|
|
github-cli
|
|
gnumake
|
|
hadolint
|
|
nodePackages.eslint
|
|
pre-commit
|
|
shellcheck
|
|
shfmt
|
|
starship
|
|
tokei
|
|
yq-go
|
|
|
|
# automation
|
|
ansible
|
|
|
|
# containers
|
|
docker
|
|
docker-compose
|
|
kubectl
|
|
podman
|
|
|
|
# language servers
|
|
nodePackages.bash-language-server
|
|
nodePackages.yaml-language-server
|
|
nodePackages.pyright
|
|
|
|
# productivity
|
|
bat
|
|
colordiff
|
|
exa
|
|
fd
|
|
go-jira
|
|
jq
|
|
ripgrep
|
|
tldr
|
|
tmux-sessionizer
|
|
xclip
|
|
|
|
# blog
|
|
hugo
|
|
|
|
# printing
|
|
ghostscript
|
|
|
|
# monitoring
|
|
ctop
|
|
glances
|
|
htop
|
|
procs
|
|
|
|
# data tools
|
|
dbeaver
|
|
postgresql
|
|
|
|
# password managers
|
|
_1password
|
|
gopass
|
|
rbw
|
|
|
|
# lua
|
|
lua53Packages.luacheck
|
|
stylua
|
|
|
|
# golang
|
|
golangci-lint
|
|
golint
|
|
gopls
|
|
gofumpt
|
|
|
|
# js
|
|
nodePackages.prettier
|
|
nodePackages.yarn
|
|
|
|
# imaging
|
|
gifsicle
|
|
|
|
# video
|
|
youtube-dl
|
|
|
|
# networking
|
|
arp-scan
|
|
bandwhich
|
|
dnsutils
|
|
gping
|
|
iperf
|
|
networkmanager-openvpn
|
|
nmap
|
|
openssl
|
|
openvpn
|
|
sshfs # mac requires https://osxfuse.github.io/
|
|
tcpdump
|
|
vpngate
|
|
whois
|
|
|
|
# backup
|
|
rclone
|
|
restic
|
|
|
|
# infra tools
|
|
terraform-ls
|
|
terraformer
|
|
tflint
|
|
tfsec
|
|
tfswitch
|
|
infracost
|
|
|
|
# gcp
|
|
google-cloud-sdk
|
|
|
|
# nix
|
|
cachix
|
|
nix-diff
|
|
nixfmt
|
|
nixpkgs-fmt
|
|
nixpkgs-review
|
|
rnix-lsp
|
|
|
|
# communication
|
|
element-desktop
|
|
|
|
## aws
|
|
aws-connect
|
|
aws-role-play
|
|
aws-vault
|
|
awscli2
|
|
awslogs
|
|
ssm-session-manager-plugin
|
|
|
|
# python
|
|
mypy
|
|
python310
|
|
python310Packages.black
|
|
python310Packages.ipython
|
|
python310Packages.pip
|
|
python310Packages.poetry
|
|
python310Packages.setuptools
|
|
python310Packages.virtualenv
|
|
|
|
# ruby
|
|
rbenv
|
|
rubocop
|
|
ruby_3_1
|
|
rufo
|
|
rubyPackages.solargraph
|
|
|
|
# news
|
|
srv
|
|
|
|
# security
|
|
sops
|
|
yubikey-manager
|
|
|
|
] ++ lib.optionals stdenv.isLinux ([
|
|
_1password-gui
|
|
albert
|
|
audio-recorder
|
|
authy
|
|
calibre
|
|
cryptsetup
|
|
firejail
|
|
glibcLocales
|
|
gnome3.gnome-tweaks
|
|
gnomeExtensions.appindicator
|
|
gptfdisk
|
|
guake
|
|
kazam
|
|
libreoffice
|
|
linuxPackages.perf
|
|
pavucontrol
|
|
pinentry-curses
|
|
pulseeffects-pw
|
|
qemu
|
|
rtorrent
|
|
rustup
|
|
spotify
|
|
strace
|
|
usbutils
|
|
/* virtmanager */
|
|
vlc
|
|
# Unsupported / broken on darwin:
|
|
aws-sam-cli
|
|
bitwarden
|
|
brave
|
|
datasette
|
|
deluge
|
|
discord
|
|
firefox
|
|
gimp
|
|
google-chrome
|
|
minecraft
|
|
postman
|
|
rfd
|
|
signal-desktop
|
|
slack
|
|
steam
|
|
tailscale
|
|
traceroute
|
|
wireshark-qt
|
|
zoom-us
|
|
netdata
|
|
]);
|
|
in
|
|
common;
|
|
|
|
programs.gnupg.agent.enable = true;
|
|
}
|