dotfiles.nix/home/programs.nix

107 lines
2.4 KiB
Nix

{ pkgs, lib, ... }: {
programs = {
# a nicer cat
bat = {
enable = true;
config = { style = "auto"; };
};
# load and unload environment variables depending on the current directory
direnv = {
enable = true;
nix-direnv.enable = true;
};
nix-index = { enable = true; };
nushell = { enable = true; };
ssh = {
enable = true;
matchBlocks = {
"*".extraOptions = lib.mkIf pkgs.stdenv.isDarwin {
UseKeychain = "yes";
AddKeysToAgent = "yes";
};
remarkable = {
hostname = "10.11.99.1";
user = "root";
};
};
};
vscode = {
enable = false;
# extensions = [ pijul-vscode ];
};
zoxide = { enable = true; };
};
home.packages = builtins.attrValues ({
inherit (pkgs)
# GUI apps
cinny discord-ptb lagrange obsidian slack zoom-us
# system tools
curl wget
# lightweight session management
abduco
# archive tool
atool
# fancy version of `top` with ASCII graphs
bottom
# fancy version of `du`
du-dust
# fancy version of `ls`, fork of now-unmaintained `exa`
eza
# 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
# backups for the truly paranoid
tarsnap
# terminal color support testing
terminal-colors
# extract RAR archives
unrar
# extract XZ archives
xz
# dev tools
# source code line counter
cloc
# command line tools for digitalocean
doctl
# command line tools for fly.io
flyctl
# benchmarking tool
hyperfine
# json processor
jq
# task runner
just
# alternative to `git`
pijul
# better version of `grep`
ripgrep
# rust implementation of `tldr`
tealdeer
# reimplementation of `httpie` in rust
xh
# useful nix related tools
nixfmt nix-prefetch-git nix-tree
# 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;
});
}