## ALIASES ## # home network utils aliases["tsla-fan"] = "ipmitool -H 10.30.0.3 -U ADMIN -P ADMIN raw 0x30 0x70 0x66 0x01 0x0" aliases["weboot"] = "bash -c 'nix shell nixpkgs#efibootmgr -c sudo efibootmgr -n 0000 && reboot'" # nixos helpers aliases["nixoss"] = "sudo nixos-rebuild switch --flake @('.#' + $(hostname))" aliases["nixost"] = "sudo nixos-rebuild test --flake @('.#' + $(hostname))" aliases["nixosb"] = "sudo nixos-rebuild build --flake @('.#' + $(hostname))" aliases["nixos-dry"] = "sudo nixos-rebuild dry-build --flake @('.#' + $(hostname))" # devenv aliases["init-python"] = "nix flake update --flake templates && nix flake init -t 'templates#python' && direnv allow" # utilities aliases["ls"] = "exa" aliases["ll"] = "exa -lah" aliases["grep"] = "rg" aliases["op"] = "xdg-open" # scrips aliases["theo"] = "python ~/.config/xonsh/theo.py" aliases["kittycatsay"] = "python ~/.config/xonsh/kittycatsay.py" # Kitty helpers aliases["kicat"] = "kitten icat" aliases["kissh"] = "kitten ssh" aliases["kidiff"] = "kitten diff" ## INTERACTIVE CONFIGURATION ## if $XONSH_INTERACTIVE: from datetime import datetime from xonsh.built_ins import XSH import importlib.util 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 (format is '\E[;m') $LESS_TERMCAP_mb = "\033[01;31m" # begin blinking $LESS_TERMCAP_md = "\033[01;31m" # begin bold $LESS_TERMCAP_me = "\033[0m" # end mode $LESS_TERMCAP_so = "\033[01;44;36m" # begin standout-mode (bottom of screen) $LESS_TERMCAP_se = "\033[0m" # end standout-mode $LESS_TERMCAP_us = "\033[00;36m" # begin underline $LESS_TERMCAP_ue = "\033[0m" # end underline $SHELL_THICKENED = "FALSE" ## XONTRIB ## if importlib.util.find_spec("xontrib.coreutils") is not None: xontrib load coreutils if importlib.util.find_spec("xontrib.fish_completer") is not None: xontrib load fish_completer if importlib.util.find_spec("xontrib.direnv") is not None: xontrib load direnv if importlib.util.find_spec("xontrib.clp") is not None: xontrib load clp if importlib.util.find_spec("xontrib.bashisms") is not None: xontrib load bashisms if importlib.util.find_spec("xontrib.fzf_completions") is not None: xontrib load fzf-completions XSH.env['fzf_history_binding'] = "c-r" ## THICC SHELL ## if XSH.env.get("SHELL_THICCNESS", "LOW") == "HIGH" and not XSH.env.get("SHELL_THICKENED", "FALSE") == "TRUE": t0_0 = datetime.now() # Standard Library Imports import os import sys import subprocess import platform import socket import getpass import pathlib import re import json import threading import multiprocessing # Third Party Imports if importlib.util.find_spec("scapy") is not None: import scapy.all if importlib.util.find_spec("yaml") is not None: import yaml if importlib.util.find_spec("requests") is not None: import requests $SHELL_THICKENED = "TRUE" t0_1 = datetime.now() else: xonsh_rc_path = $XONSHRC[0] aliases["thicken-shell"] = f"export SHELL_THICCNESS=HIGH && source {xonsh_rc_path}" ## SHELL GREETING ## theo | kittycatsay dt = round((datetime.now() - t0).microseconds/1000000, 2) if $SHELL_THICKENED == "TRUE": print_color("{BOLD_GREEN}SHELL THICKENED IN " + str(round((t0_1 - t0_0).microseconds/1000000, 2)) + "{RESET}") print("Load time:", dt, "seconds")