{ config, lib, pkgs, ... }: let inherit (pkgs) stdenv; ls-use-coreutils = false; lsOptions = if stdenv.isDarwin && !ls-use-coreutils then "-p" else "--color=auto -v --group-directories-first --hyperlink=auto"; lsIsoDate = lib.optionalString (!stdenv.isDarwin || ls-use-coreutils) "--time-style=long-iso"; in { home = { shellAliases = { ls = "ls ${lsOptions} -hF"; l = "ls -Bp"; l1 = "ls -1"; la = "ls -hA"; ll = "ls ${lsIsoDate} -hl"; llr = "ll -t"; "c," = "cd ${config.home.homeDirectory + "/projects/alin.ovh/nixfiles"}"; cg = "cd $(git root)"; cdg = "cd $(git root)"; fs = "bfs -nohidden"; nohead = "skiphead"; f = "field"; http = "xh"; https = "xh --default-scheme https"; xhh = "xh --print Hh"; xhhs = "xhs --print Hh"; hist-freq-lines = lib.mkDefault "fc -l -10000 | cut -d' ' -f4- | sort | uniq -c | sort -gr | head -n100 | less"; hist-freq-commands = lib.mkDefault "fc -l -10000 | cut -d' ' -f4 | sort | uniq -c | sort -gr | head -n100 | less"; e = "edit"; se = "sudo -e"; ip = "ip --color=auto"; ip4 = "ip -4"; ip6 = "ip -6"; d = "docker"; db = "docker build"; dr = "docker run"; di = "docker image"; dl = "docker load"; dj = "docker pull"; dk = "docker push"; dp = "docker ps"; dps = "docker ps"; dc = "docker compose"; dcb = "dc build"; dcd = "dc down"; dcj = "dc pull"; dck = "dc push"; dcl = "dc logs"; dclf = "dc logs -f"; dcu = "dc up"; dcud = "dc up -d"; dcr = "dc restart"; gg = "git get"; gq = "ghq"; ga = "git add"; gai = "git add --intent-to-add"; gan = "git add -N"; gs = "git st"; gds = "git dshow"; gsl = "git dshow"; gd = "git diff"; gdc = "git diff --cached"; gdd = "git ddiff"; gddc = "git ddiff --cached"; gf = "git fetch"; gk = "git push"; gkf = "git push --force-with-lease"; gj = "git pull"; gl = "git lg"; gils = "git ls"; gm = "git merge"; ge = "git remote"; ges = "git remote -v show"; gr = "git rebase"; gz = "git stash"; gzl = "git stash list"; gzp = "git stash pop"; gdt = "git difftool"; grl = "git reflog"; gri = "git rebase --interactive"; gfa = "git fetch --all"; grs = "git reset"; grsh = "git reset --hard"; gsh = "git show"; gsm = "git submodule"; gci = "git commit"; gx = "git restore"; gb = "git switch"; gbr = "git br"; gbrc = "git checkout -b"; gbrd = "git branch --delete"; gbrm = "git branch --move"; gmup = "git mup"; grup = "git rup"; ho = "home-manager"; hob = "home-manager build"; hos = "home-manager switch --flake '.?submodules=1' -b hm_bak_$(date +%Y%m%d%H%M)"; hon = "home-manager news --flake '.?submodules=1'"; hoh = "home-manager help"; hop = "home-manager packages"; hol = "home-manager generations"; hogc = "home-manager expire-generations '-30 days'"; j = "just"; jb = "just build"; jt = "just test"; jr = "just run"; lw = "lorri watch"; lwo = "lorri watch --once"; nsh = "nix shell"; nb = "nix build"; nd = "nix develop"; nr = "nix run"; nf = "nix flake"; nfa = "nix flake archive"; nfc = "nix flake check"; nfu = "nix flake update"; nfl = "nix flake lock"; nfsh = "nix shell"; nfb = "nix build"; nlg = "nix-env --list-generations"; snlg = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system"; ngc = "nix-collect-garbage --delete-older-than 30d"; sngc = "sudo nix-collect-garbage --delete-older-than 30d"; }; }; home.packages = with pkgs; [ personal.dirstat-rs ]; programs.fzf = { enable = true; defaultOptions = [ "--cycle" "--layout=reverse" "--border" "--height=90%" "--preview-window=wrap" "--marker='*'" ]; fileWidgetCommand = ""; enableFishIntegration = true; }; programs.fish.interactiveShellInit = lib.mkOrder 201 '' fzf_configure_bindings --directory=\cx\cf bind alt-s __ghq_repository_search ''; }