dotfiles.nix/home/programs.nix

125 lines
2.9 KiB
Nix
Raw Normal View History

2022-12-21 05:22:57 +00:00
{ pkgs, lib, ... }: {
2022-09-15 21:17:21 +00:00
# Programs + packages with configuration --------------------------------------------------------------- {{{
2022-01-23 01:32:58 +00:00
programs = {
# a nicer cat
# https://rycee.gitlab.io/home-manager/options.html#opt-programs.bat.enable
bat = {
enable = true;
config = {
2022-09-15 21:17:21 +00:00
style = "auto";
2022-01-23 01:32:58 +00:00
};
};
# Direnv, load and unload environment variables depending on the current directory.
# https://direnv.net
# https://rycee.gitlab.io/home-manager/options.html#opt-programs.direnv.enable
direnv = {
enable = true;
nix-direnv.enable = true;
};
2022-09-26 02:34:46 +00:00
nix-index = {
enable = true;
enableFishIntegration = true;
};
2022-07-29 22:01:24 +00:00
ssh = {
enable = true;
2022-10-16 23:43:04 +00:00
matchBlocks."*".extraOptions = lib.optionalAttrs pkgs.stdenv.isDarwin {
2022-07-29 22:01:24 +00:00
UseKeychain = "yes";
AddKeysToAgent = "yes";
};
};
2022-04-21 01:26:30 +00:00
# vscode
2022-08-09 23:56:18 +00:00
vscode = {
2022-04-21 01:26:30 +00:00
enable = true;
2022-05-08 01:43:56 +00:00
# extensions = [ pijul-vscode ];
2022-04-21 01:26:30 +00:00
};
2022-12-20 02:45:46 +00:00
zoxide = {
enable = true;
enableFishIntegration = true;
};
2022-01-23 01:32:58 +00:00
};
# }}}
# Other packages ----------------------------------------------------------------------------- {{{
2022-12-21 05:22:57 +00:00
home.packages = builtins.attrValues ({
coreutils = pkgs.coreutils.override { withPrefix = true; singleBinary = "shebangs"; };
inherit (pkgs)
# GUI apps
discord-ptb
element-desktop
lagrange
obsidian
slack
zoom-us
2022-12-21 05:22:57 +00:00
# System
# lightweight session management
abduco
# archive tool
atool
# fancy version of `top` with ASCII graphs
bottom
curl
# fancy version of `du`
du-dust
# fancy version of `ls`
exa
# 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
thefuck
# extract RAR archives
unrar
wget
# extract XZ archives
xz
2022-01-23 01:32:58 +00:00
2022-12-21 05:22:57 +00:00
# Dev stuff
# source code line counter
cloc
# command line tools for digitalocean
doctl
# command line tools for fly.io
flyctl
# benchmarking tool
hyperfine
# json processor
jq
# 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
2022-12-21 05:22:57 +00:00
# Useful nix related tools
# adding/managing alternative binary caches hosted by Cachix
cachix
# run software from nixpkgs without installing it
comma
nixpkgs-fmt
nix-prefetch-git
nix-tree
# nix language server
nil
;
} // lib.optionalAttrs pkgs.stdenv.isDarwin {
inherit (pkgs)
# useful macOS CLI commands
m-cli
# see /overlays/colors.nix
is-dark-mode
;
});
2022-01-23 01:32:58 +00:00
# }}}
}