132 lines
2.9 KiB
Nix
132 lines
2.9 KiB
Nix
{ pkgs, lib, ... }:
|
|
{
|
|
|
|
home.packages = builtins.attrValues (
|
|
{
|
|
inherit (pkgs)
|
|
# system tools
|
|
curl
|
|
wget
|
|
# `tmux` session alternative
|
|
abduco
|
|
# archive tool
|
|
atool
|
|
# `top` alternative with ASCII graphs
|
|
bottom
|
|
# `ncdu` alternative
|
|
diskonaut
|
|
# `dig` alternative. dogs _can_ look up
|
|
dogdns
|
|
# `du` alternative
|
|
du-dust
|
|
# `find` alternative
|
|
fd
|
|
# `ping` with a graph
|
|
gping
|
|
# `ps` alternative
|
|
procs
|
|
# pipe progress viewer
|
|
pv
|
|
# command line file encryption
|
|
rage
|
|
# `sed` alternative for _batch file_ edits
|
|
sad
|
|
# `sed` alternative for _stream_ edits
|
|
sd
|
|
# backups for the truly paranoid
|
|
tarsnap
|
|
# terminal color support testing
|
|
terminal-colors
|
|
# (La)TeX alternative
|
|
typst
|
|
# extract RAR archives
|
|
unrar
|
|
# extract XZ archives
|
|
xz
|
|
# `tmux` multiplexing/layout alternative
|
|
zellij
|
|
|
|
# dev platforms
|
|
# command line tools for fly.io
|
|
flyctl
|
|
# command line tools for netlify
|
|
netlify-cli
|
|
|
|
# dev tools
|
|
# session recording
|
|
asciinema
|
|
# benchmarking tool
|
|
hyperfine
|
|
# task runner
|
|
just
|
|
# source code line counter
|
|
tokei
|
|
# reimplementation of `httpie` in rust
|
|
xh
|
|
|
|
# useful nix related tools
|
|
nix-prefetch-git
|
|
nix-tree
|
|
nixfmt-rfc-style
|
|
# adding/managing alternative binary caches hosted by Cachix
|
|
cachix
|
|
# run software from nixpkgs without installing it
|
|
comma
|
|
# nix language servers
|
|
nil
|
|
nixd
|
|
;
|
|
}
|
|
// lib.optionalAttrs pkgs.stdenv.isDarwin {
|
|
inherit (pkgs)
|
|
# useful macOS CLI commands
|
|
m-cli
|
|
;
|
|
}
|
|
);
|
|
|
|
programs = {
|
|
# `cat` with wings
|
|
bat = {
|
|
enable = true;
|
|
config = {
|
|
style = "auto";
|
|
};
|
|
};
|
|
# multi-shell / multi-command argument completion daemon
|
|
carapace.enable = true;
|
|
# load and unload environment variables depending on the current directory
|
|
direnv = {
|
|
enable = true;
|
|
nix-direnv.enable = true;
|
|
};
|
|
# fork of `exa`, an `ls` alternative
|
|
eza = {
|
|
enable = true;
|
|
icons = true;
|
|
git = true;
|
|
extraOptions = [ "--group-directories-first" ];
|
|
};
|
|
jq.enable = true;
|
|
man = {
|
|
enable = true;
|
|
generateCaches = true;
|
|
};
|
|
nix-index.enable = true;
|
|
nushell.enable = true;
|
|
# `grep` alternative
|
|
ripgrep.enable = true;
|
|
# cli help, `tldr` implementation
|
|
tealdeer = {
|
|
enable = true;
|
|
settings = {
|
|
display.use_pager = true;
|
|
updates.auto_update = true;
|
|
updates.auto_update_interval_hours = 24 * 7;
|
|
};
|
|
};
|
|
# `z` alternative
|
|
zoxide.enable = true;
|
|
};
|
|
}
|