dotfiles.nix/home/programs.nix

111 lines
2.9 KiB
Nix
Raw Normal View History

2022-01-23 01:32:58 +00:00
{ config, pkgs, lib, ... }:
let
secretiveAuthSocket = "${config.home.homeDirectory}/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh";
in
2022-01-23 01:32:58 +00:00
{
2022-09-15 21:17:21 +00:00
# Programs + packages with configuration --------------------------------------------------------------- {{{
2022-10-16 23:43:04 +00:00
home.sessionVariables = {
EDITOR = "hx";
} // lib.optionalAttrs pkgs.stdenv.isDarwin {
SSH_AUTH_SOCK = secretiveAuthSocket;
2022-10-16 23:43:04 +00:00
};
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-04 17:39:34 +00:00
helix = {
enable = true;
package = pkgs.helix-flake;
settings = {
2022-11-20 22:25:59 +00:00
theme = "rose_pine";
editor.indent-guides.render = true;
};
2022-09-04 17:39:34 +00:00
};
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";
IdentityAgent = secretiveAuthSocket;
2022-07-29 22:01:24 +00:00
};
};
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-01-23 01:32:58 +00:00
};
# }}}
# Other packages ----------------------------------------------------------------------------- {{{
home.packages = with pkgs; [
# GUI apps
discord-ptb
element-desktop
# kitty
lagrange
obsidian
slack
zoom-us
2022-07-17 17:24:28 +00:00
# System
2022-01-23 01:32:58 +00:00
abduco # lightweight session management
2022-07-29 22:01:24 +00:00
atool # archive tool
2022-01-23 01:32:58 +00:00
bottom # fancy version of `top` with ASCII graphs
coreutils
curl
du-dust # fancy version of `du`
exa # fancy version of `ls`
fd # fancy version of `find`
2022-02-05 21:53:35 +00:00
mosh # wrapper for `ssh` that better at not dropping connections
2022-01-23 01:32:58 +00:00
procs # fancy version of `ps`
2022-05-08 01:43:56 +00:00
pv # pipe progress viewer
2022-07-29 22:01:24 +00:00
rage # command line file encryption
2022-01-23 01:32:58 +00:00
thefuck
unrar # extract RAR archives
wget
xz # extract XZ archives
# Dev stuff
cloc # source code line counter
2022-07-04 22:00:05 +00:00
doctl # command line tools for digitalocean
2022-07-03 02:05:03 +00:00
flyctl # command line tools for fly.io
2022-07-17 17:24:28 +00:00
hyperfine # benchmarking tool
2022-01-24 00:04:06 +00:00
jq # json processor
2022-02-10 05:09:59 +00:00
pijul # alternative to `git`
2022-07-17 17:24:28 +00:00
ripgrep # better version of `grep`
tealdeer # rust implementation of `tldr`
xh # reimplementation of `httpie` in rust
2022-01-23 01:32:58 +00:00
# Useful nix related tools
cachix # adding/managing alternative binary caches hosted by Cachix
2022-11-20 16:49:45 +00:00
comma # run software from nixpkgs without installing it
nixpkgs-fmt
2022-01-23 01:32:58 +00:00
nix-prefetch-git
2022-07-11 02:08:44 +00:00
nix-tree
2022-11-20 16:49:45 +00:00
nil # nix language server
2022-01-23 01:32:58 +00:00
] ++ lib.optionals stdenv.isDarwin [
m-cli # useful macOS CLI commands
is-dark-mode # see /overlays/colors.nix
2022-01-23 01:32:58 +00:00
];
# }}}
}