@ -9,6 +9,7 @@ in
home . username = " d u s t i n s w a n " ;
home . homeDirectory = " / U s e r s / d u s t i n s w a n " ;
home . shell . enableShellIntegration = true ;
nix = {
package = pkgs . nix ;
@ -22,42 +23,19 @@ in
] ;
home . packages = with pkgs ; [
fd # `fd PATTERN`; `fd` is like ls-R; `-e ext` searches by extension; `-g` for glob; `-H` searches hidden files; `-u` for unrestricted; `fd -e jpg -x convert {} {.}.png`
mosh # like ssh but better on spotty networks
aider-chat
w3m
wget
httpie # HTTPie CLI — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more
monolith # CLI tool for saving complete web pages as a single HTML file
supabase-cli
bitwarden-cli
fd
ngrok
ddev
# bitwarden-cli
mkcert
gnupg
gitu # A TUI Git client inspired by Magit
rage # A simple, secure and modern file encryption tool (and Rust library) with small explicit keys, no config options, and UNIX-style composability
sd
jq
sq
cacert
weechat
sttr # string operations. e.g. sttr md5 "Hello World"; sttr snake "ChangeCase"
imagemagick
# visidata
magic-wormhole
termscp # SCP/SFTP/FTP/S3
nodejs
pipx
yarn
# php83
stack
cargo
ruby
llvm
typescript
pnpm
uv
blade-formatter
# haskellPackages.ghcup
# php83Packages.composer
nodePackages . typescript-language-server
nodePackages . stylelint
nodePackages . js-beautify
@ -84,7 +62,6 @@ in
" $ H O M E / . c a r g o / b i n "
" $ H O M E / . n p m - g l o b a l / b i n "
" / o p t / h o m e b r e w / b i n "
" / U s e r s / d u s t i n s w a n / D o w n l o a d s / r o c _ n i g h t l y - m a c o s _ a p p l e _ s i l i c o n - 2 0 2 4 - 1 0 - 0 9 - b f 5 b 1 3 e 2 3 7 f "
] ;
xdg . enable = true ;
@ -107,7 +84,7 @@ in
terminal = " t m u x - 2 5 6 c o l o r " ;
plugins = with pkgs . tmuxPlugins ; [
sensible
resurrect # prefix ctrl-s to save sessions; prefix ctrl-r to restore
# resurrect # prefix ctrl-s to save sessions; prefix ctrl-r to restore
continuum # automatically save the session every 15 minutes
sessionist # prefix g to switch sessions; prefix C to create; prefix X to kill; prefix S to switch back; prefix @ to promote; prefix t f to join marked pane
pain-control # prefix |, -, \, _ to split; prefix h, j, k, l to switch; prefix H, J, K, L to resize; prefix <, > to move windows
@ -118,34 +95,24 @@ in
extrakto # prefix tab -> fuzzy find text on screen; enter to copy; tab to paste
fingers # prefix F -> copy/open/edit items on screen by letter
] ;
# Remove that SHELL thing when fixed upstream
extraConfig = ''
set - ag terminal-overrides " , x t e r m - 2 5 6 c o l o r : R G B "
set - g default-command " $ S H E L L "
'' ;
} ;
programs . eza = {
enable = true ;
enableZshIntegration = true ;
enableFishIntegration = true ;
git = true ;
} ;
programs . zoxide = {
enable = true ;
enableZshIntegration = true ;
enableFishIntegration = true ;
} ;
programs . zsh = {
enable = true ;
autosuggestion . enable = true ;
syntaxHighlighting . enable = true ;
oh-my-zsh = {
enable = true ;
plugins = [ " g i t " " h t t p i e " " a w s " " m o s h " " n p m " " r s y n c " " s u d o " " y a r n " " v i - m o d e " ] ;
} ;
} ;
programs . fish = {
enable = true ;
plugins = [
@ -164,36 +131,19 @@ in
}
] ;
interactiveShellInit = " s e t f i s h _ g r e e t i n g " ;
# https://codeberg.org/adamcstephens/dotfiles/src/commit/e14f35f6e9a9cb9174016948c512c0db364e0dec/apps/fish/init.fish
shellInit = ''
fenv source " $ H O M E / . n i x - p r o f i l e / e t c / p r o f i l e . d / h m - s e s s i o n - v a r s . s h "
source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon. fi sh
fenv source /nix/var/nix/profiles/default/etc/profile.d/nix-daemon. sh
source /nix/var/nix/profiles/default/etc/profile.d/nix.fish
'' ;
} ;
programs . direnv = {
enable = true ;
enableZshIntegration = true ;
# enableFishIntegration = true;
} ;
programs . starship = {
enable = true ;
enableZshIntegration = true ;
enableFishIntegration = true ;
} ;
# programs.skim = {
# enable = true;
# enableFishIntegration = true;
# enableZshIntegration = true;
# };
programs . fzf = {
enable = true ;
enableFishIntegration = true ;
enableZshIntegration = true ;
} ;
programs . direnv . enable = true ;
programs . starship . enable = true ;
programs . fzf . enable = true ;
programs . ssh = {
enable = true ;
@ -223,6 +173,20 @@ in
identityFile = " / U s e r s / d u s t i n s w a n / . s s h / i d _ r s a _ m r " ;
identitiesOnly = true ;
} ;
mr-prod3 = {
inherit ( secrets . mr-prod3 ) user ;
inherit ( secrets . mr-prod3 ) hostname ;
identityFile = " / U s e r s / d u s t i n s w a n / . s s h / i d _ r s a _ m r " ;
identitiesOnly = true ;
} ;
mr-prod4 = {
inherit ( secrets . mr-prod4 ) user ;
inherit ( secrets . mr-prod4 ) hostname ;
identityFile = " / U s e r s / d u s t i n s w a n / . s s h / i d _ r s a _ m r " ;
identitiesOnly = true ;
} ;
} ;
} ;
@ -237,17 +201,13 @@ in
delta . enable = true ;
} ;
programs . lazygit . enable = true ;
programs . gitui . enable = true ;
programs . bat . enable = true ;
programs . gpg . enable = true ;
programs . tealdeer . enable = true ;
programs . ripgrep . enable = true ;
programs . keychain = {
enable = true ;
enableZshIntegration = true ;
enableFishIntegration = true ;
inheritType = " a n y " ;
agents = [ " g p g " " s s h " ] ;