{ config, pkgs, inputs, ... }: { home.packages = [ pkgs.eza ]; programs.atuin = { enable = true; flags = ["--disable-up-arrow"]; settings = { style = "compact"; inline_height = 15; }; }; # Disable home-manager provided man binary as it breaks on macOS programs.man.enable = false; home.sessionVariables = { PAGER = "${pkgs.less}/bin/less"; MANPAGER = "nvim +Man!"; LESS = "-SRFXi"; ERL_FLAGS = "-kernel shell_history enabled"; }; programs.zsh.enable = true; programs.fish = { enable = true; plugins = [ { name = "agnoster"; src = inputs.agnoster; } ]; shellAliases = { git = "LC_CTYPE=UTF-8 LANG=C command git"; g = "git"; ls = "eza"; }; functions = { p = '' if test (count $argv) -gt 0 && test -f $argv[1] || not isatty bat $argv else eza -Alh --git $argv end ''; }; loginShellInit = '' fish_add_path --move --path /run/wrappers/bin /etc/profiles/per-user/$USER/bin /nix/var/nix/profiles/default/bin /run/current-system/sw/bin fish_add_path $HOME/.local/bin ''; shellInit = '' set -gx XDG_RUNTIME_DIR (getconf DARWIN_USER_TEMP_DIR) set -gx MIX_XDG 1 set -g fish_greeting ulimit -n 10480 ''; interactiveShellInit = '' # use fish in nix run and nix-shell ${pkgs.any-nix-shell}/bin/any-nix-shell fish | source set -g DEFAULT_USER ${config.home.username} set -gx SSH_AUTH_SOCK ~/.local/share/1password/agent.sock function e --wraps nvim --description 'Run $EDITOR' set -l cmd (string split ' ' $EDITOR) eval $cmd[1] $cmd[2..] $argv end source (${pkgs.lima}/bin/limactl completion fish | psub) source $HOME/.op/plugins.sh if which op > /dev/null; source (op completion fish | psub); end ''; }; }