2022-12-21 05:22:57 +00:00
|
|
|
{ pkgs, lib, ... }: {
|
2022-01-23 01:32:58 +00:00
|
|
|
programs = {
|
|
|
|
# a nicer cat
|
|
|
|
bat = {
|
|
|
|
enable = true;
|
2023-08-23 00:50:29 +00:00
|
|
|
config = { style = "auto"; };
|
2022-01-23 01:32:58 +00:00
|
|
|
};
|
2023-10-26 02:37:42 +00:00
|
|
|
# load and unload environment variables depending on the current directory
|
2022-01-23 01:32:58 +00:00
|
|
|
direnv = {
|
|
|
|
enable = true;
|
|
|
|
nix-direnv.enable = true;
|
|
|
|
};
|
2023-08-23 00:50:29 +00:00
|
|
|
nix-index = { enable = true; };
|
|
|
|
nushell = { enable = true; };
|
2022-07-29 22:01:24 +00:00
|
|
|
ssh = {
|
|
|
|
enable = true;
|
2023-10-26 02:37:42 +00:00
|
|
|
matchBlocks = {
|
|
|
|
"*".extraOptions = lib.mkIf pkgs.stdenv.isDarwin {
|
|
|
|
UseKeychain = "yes";
|
|
|
|
AddKeysToAgent = "yes";
|
|
|
|
};
|
|
|
|
remarkable = {
|
|
|
|
hostname = "10.11.99.1";
|
|
|
|
user = "root";
|
|
|
|
};
|
2022-07-29 22:01:24 +00:00
|
|
|
};
|
|
|
|
};
|
2023-10-02 23:42:46 +00:00
|
|
|
vscode = {
|
2023-10-26 02:37:42 +00:00
|
|
|
enable = false;
|
2023-10-02 23:42:46 +00:00
|
|
|
# extensions = [ pijul-vscode ];
|
|
|
|
};
|
2023-08-23 00:50:29 +00:00
|
|
|
zoxide = { enable = true; };
|
2022-01-23 01:32:58 +00:00
|
|
|
};
|
|
|
|
|
2022-12-21 05:22:57 +00:00
|
|
|
home.packages = builtins.attrValues ({
|
|
|
|
inherit (pkgs)
|
2023-08-23 00:50:29 +00:00
|
|
|
# GUI apps
|
|
|
|
cinny discord-ptb lagrange obsidian slack zoom-us
|
2022-11-05 22:03:58 +00:00
|
|
|
|
2023-10-26 02:37:42 +00:00
|
|
|
# system tools
|
2023-08-23 00:50:29 +00:00
|
|
|
curl wget
|
2022-12-21 05:22:57 +00:00
|
|
|
# lightweight session management
|
|
|
|
abduco
|
|
|
|
# archive tool
|
|
|
|
atool
|
|
|
|
# fancy version of `top` with ASCII graphs
|
|
|
|
bottom
|
|
|
|
# fancy version of `du`
|
|
|
|
du-dust
|
2023-10-02 23:42:46 +00:00
|
|
|
# fancy version of `ls`, fork of now-unmaintained `exa`
|
|
|
|
eza
|
2022-12-21 05:22:57 +00:00
|
|
|
# fancy version of `find`
|
|
|
|
fd
|
|
|
|
# wrapper for `ssh` that better at not dropping connections
|
|
|
|
mosh
|
|
|
|
# fancy version of `ps`
|
|
|
|
procs
|
|
|
|
# pipe progress viewer
|
|
|
|
pv
|
|
|
|
# command line file encryption
|
|
|
|
rage
|
2023-10-26 02:37:42 +00:00
|
|
|
# backups for the truly paranoid
|
|
|
|
tarsnap
|
2023-04-14 19:57:47 +00:00
|
|
|
# terminal color support testing
|
|
|
|
terminal-colors
|
2022-12-21 05:22:57 +00:00
|
|
|
# extract RAR archives
|
|
|
|
unrar
|
|
|
|
# extract XZ archives
|
|
|
|
xz
|
2022-01-23 01:32:58 +00:00
|
|
|
|
2023-10-26 02:37:42 +00:00
|
|
|
# dev tools
|
2022-12-21 05:22:57 +00:00
|
|
|
# source code line counter
|
|
|
|
cloc
|
|
|
|
# command line tools for digitalocean
|
|
|
|
doctl
|
|
|
|
# command line tools for fly.io
|
|
|
|
flyctl
|
|
|
|
# benchmarking tool
|
|
|
|
hyperfine
|
|
|
|
# json processor
|
|
|
|
jq
|
2023-06-07 20:14:01 +00:00
|
|
|
# task runner
|
|
|
|
just
|
2022-12-21 05:22:57 +00:00
|
|
|
# alternative to `git`
|
|
|
|
pijul
|
|
|
|
# better version of `grep`
|
|
|
|
ripgrep
|
|
|
|
# rust implementation of `tldr`
|
|
|
|
tealdeer
|
|
|
|
# reimplementation of `httpie` in rust
|
|
|
|
xh
|
2022-07-17 17:24:28 +00:00
|
|
|
|
2023-10-26 02:37:42 +00:00
|
|
|
# useful nix related tools
|
2023-08-23 00:50:29 +00:00
|
|
|
nixfmt nix-prefetch-git nix-tree
|
2022-12-21 05:22:57 +00:00
|
|
|
# adding/managing alternative binary caches hosted by Cachix
|
|
|
|
cachix
|
|
|
|
# run software from nixpkgs without installing it
|
|
|
|
comma
|
2023-10-26 02:37:42 +00:00
|
|
|
# nix language servers
|
|
|
|
nil nixd;
|
2022-12-21 05:22:57 +00:00
|
|
|
} // lib.optionalAttrs pkgs.stdenv.isDarwin {
|
|
|
|
inherit (pkgs)
|
2023-08-23 00:50:29 +00:00
|
|
|
# useful macOS CLI commands
|
2023-10-26 02:37:42 +00:00
|
|
|
m-cli;
|
2022-12-21 05:22:57 +00:00
|
|
|
});
|
2022-01-23 23:50:34 +00:00
|
|
|
}
|