{ pkgs, ... }: { users.groups.gandalf = { gid = 1000; }; users.users.gandalf = { isNormalUser = true; home = "/home/gandalf"; createHome = true; group = "gandalf"; extraGroups = [ "wheel" ]; shell = pkgs.zsh; }; programs.zsh = { enable = true; ohMyZsh = { enable = true; theme = "half-life"; }; syntaxHighlighting.enable = true; enableCompletion = true; autosuggestions.enable = true; shellAliases = { ls = "${pkgs.eza}/bin/eza --group-directories-first --hyperlink --icons"; la = "${pkgs.eza}/bin/eza --group-directories-first --hyperlink --icons -la"; ll = "${pkgs.expect}/bin/unbuffer ${pkgs.eza}/bin/eza --group-directories-first --hyperlink --icons -la | ${pkgs.less}/bin/less -r"; lt = "${pkgs.eza}/bin/eza --group-directories-first --hyperlink --icons -la --tree"; llt = "${pkgs.expect}/bin/unbuffer ${pkgs.eza}/bin/eza --group-directories-first --hyperlink --icons -la --tree | ${pkgs.less}/bin/less -r"; sa = '' if ps -p $SSH_AGENT_PID > /dev/null 2>&1; then ${pkgs.gum}/bin/gum log -l info "ssh-agent is already running: pid: $SSH_AGENT_PID"; else eval $(ssh-agent); ssh-add ~/.ssh/id_ed25519; ${pkgs.gum}/bin/gum log -l info "ssh-agent started"; fi''; }; }; environment.homeBinInPath = true; }