2025-12-06 23:47:07 +01:00
|
|
|
## 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 @('.#' + $(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))"
|
|
|
|
|
aliases["init-python"] = "nix flake update --flake templates && nix flake init -t 'templates#python' && direnv allow"
|
|
|
|
|
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"
|
|
|
|
|
|
|
|
|
|
## INTERACTIVE CONFIGURATION ##
|
2025-09-08 13:30:20 +02:00
|
|
|
if $XONSH_INTERACTIVE:
|
|
|
|
|
from datetime import datetime
|
2025-12-06 23:47:07 +01:00
|
|
|
import importlib.util
|
2025-09-08 13:30:20 +02:00
|
|
|
t0 = datetime.now()
|
2026-01-08 18:05:08 +01:00
|
|
|
|
2025-09-08 13:30:20 +02:00
|
|
|
## 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"
|
2026-01-01 17:35:58 +01:00
|
|
|
$SHELL_THICKENED = "FALSE"
|
2025-12-06 23:47:07 +01:00
|
|
|
## 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
|
|
|
|
|
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
|
2026-01-01 17:35:58 +01:00
|
|
|
|
|
|
|
|
## THICC SHELL
|
|
|
|
|
if $SHELL_THICCNESS == "HIGH" and not $SHELL_THICKENED == "TRUE":
|
2026-01-08 18:05:08 +01:00
|
|
|
t0_0 = datetime.now()
|
|
|
|
|
# Standard Library Imports
|
2025-12-15 16:00:57 +01:00
|
|
|
import os
|
|
|
|
|
import sys
|
|
|
|
|
import subprocess
|
|
|
|
|
import platform
|
|
|
|
|
import socket
|
|
|
|
|
import getpass
|
|
|
|
|
import pathlib
|
|
|
|
|
import re
|
|
|
|
|
import json
|
2026-01-08 18:05:08 +01:00
|
|
|
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
|
2026-01-01 17:35:58 +01:00
|
|
|
$SHELL_THICKENED = "TRUE"
|
2026-01-08 18:05:08 +01:00
|
|
|
t0_1 = datetime.now()
|
|
|
|
|
else:
|
|
|
|
|
xonsh_rc_path = $XONSHRC[0]
|
|
|
|
|
aliases["thicken-shell"] = f"export SHELL_THICCNESS=HIGH && source {xonsh_rc_path}"
|
2026-01-01 17:35:58 +01:00
|
|
|
|
|
|
|
|
## THEO GREETING ##
|
2025-09-08 13:30:20 +02:00
|
|
|
hour = t0.hour
|
2025-09-20 09:36:21 +02:00
|
|
|
theo | kittycatsay
|
2025-09-08 13:30:20 +02:00
|
|
|
dt = round((datetime.now() - t0).microseconds/1000000, 2)
|
2026-01-01 17:35:58 +01:00
|
|
|
if $SHELL_THICKENED == "TRUE":
|
2026-01-08 18:05:08 +01:00
|
|
|
print_color("{BOLD_GREEN}SHELL THICKENED IN " + str(round((t0_1 - t0_0).microseconds/1000000, 2)) + "{RESET}")
|
|
|
|
|
print("Load time:", dt, "seconds")
|