if $XONSH_INTERACTIVE: from datetime import datetime t0 = datetime.now() ## ENV ## $XONSH_COLOR_STYLE = 'native' $PROMPT = '{YELLOW}{env_name}{RESET}{BOLD_GREEN}{user}@{hostname} {cwd}{branch_color}{curr_branch: {}}{RESET} {RED}{last_return_code_if_nonzero:[{BOLD_INTENSE_RED}{}{RED}] }{RESET}{BOLD_BLUE}{prompt_end}{RESET} ' # Coloured man page support using 'less' env vars $LESS_TERMCAP_mb = "\033[01;31m" $LESS_TERMCAP_md = "\033[01;31m" $LESS_TERMCAP_me = "\033[0m" $LESS_TERMCAP_so = "\033[01;44;36m" $LESS_TERMCAP_se = "\033[0m" $LESS_TERMCAP_us = "\033[00;36m" $LESS_TERMCAP_ue = "\033[0m" ## XONTRIB ## xontrib load coreutils xontrib load fish_completer xontrib load direnv xontrib load clp xontrib load bashisms #xontrib load abbrevs #relies on xonsh.ptk_shell which was deprecated in 0.13 xontrib load fzf-completions from xonsh.built_ins import XSH XSH.env['fzf_history_binding'] = "c-r" # Ctrl+R XSH.env['fzf_ssh_binding'] = "c-s" # Ctrl+S XSH.env['fzf_file_binding'] = "c-t" # Ctrl+T XSH.env['fzf_dir_binding'] = "c-g" # Ctrl+G ## ALIASES ## aliases["tsla-fan"] = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0" aliases["nixoss"] = "sudo nixos-rebuild switch --flake .#${config.networking.hostName}" aliases["nixossu"] = "sudo nixos-rebuild switch --update-input nixpkgs --flake .#${config.networking.hostName}" aliases["nixost"] = "sudo nixos-rebuild test --flake .#${config.networking.hostName}" aliases["nixosdb"] = "sudo nixos-rebuild dry-build --flake .#${config.networking.hostName}" aliases["devt"] = "devenv test" aliases["devtas"] = "devenv tasks list" aliases["devtar"] = "devenv tasks run" aliases["devs"] = "devenv shell" aliases["devi-python"] = "nix flake init -t templates#python" aliases["weboot"] = "bash -c 'nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 && reboot'" aliases["ls"] = "exa" aliases["ll"] = "exa -lah" aliases["grep"] = "rg" aliases["theo"] = "python ~/.config/xonsh/theo.py" aliases["kittycatsay"] = "python ~/.config/xonsh/kittycatsay.py" if $XONSH_INTERACTIVE: hour = t0.hour theo | kittycatsay """ if 5 <= hour < 10: theo | cowsay -d elif 10 <= hour < 16: theo | cowsay -w elif 16 <= hour < 18: theo | cowsay elif 18 <= hour < 22: theo | cowsay -t else: theo | cowsay -s """ dt = round((datetime.now() - t0).microseconds/1000000, 2) print("Load time:", dt, "seconds")