refactor: change hosts to devices and separate hm modules from nix modules

This commit is contained in:
matt1432 2023-10-28 18:20:09 -04:00
parent 80eec12883
commit 0e4c446438
127 changed files with 36 additions and 51 deletions

View file

@ -0,0 +1,42 @@
# PS1
USER_COLOR="\[\033[01;32m\]"
HOST_COLOR="\[\033[01;38;5;183m\]"
WHITE="\[\033[00m\]"
PURPLE="\[\033[01;34m\]"
RED="\[\033[38;5;124m\]"
FAILED="$RED$WHITE"
set_prompt() {
BRANCH=$(git symbolic-ref -q --short HEAD 2>/dev/null)
if [ -n "$BRANCH" ]; then
BRANCH="$RED($WHITE$BRANCH$RED)"
fi
if [ "$1" == 0 ]; then
STATUS=""
else
STATUS="$FAILED"
fi
LEVEL=""
if [ $SHLVL -gt 1 ]; then
LEVEL="shellDepth=\$((SHLVL-1))"
fi
PS1="╭╴$USER_COLOR\u$HOST_COLOR@\h$BRANCH$WHITE:$PURPLE\w$WHITE $LEVEL $STATUS\n╰╴$ "
}
PROMPT_COMMAND="history -a"
#PATH manipulations
[[ -d ~/.local/bin ]] && PATH+=":$HOME/.local/bin"
# source: https://stackoverflow.com/a/44232192
PATH="$(perl -e 'print join(":", grep { not $seen{$_}++ } split(/:/, $ENV{PATH}))')"
# Pokemon Sprite
[ -x "$(command -v pokemon-colorscripts)" ] &&
[ "$POKE" == "true" ] &&
pokemon-colorscripts -r 1-5

View file

@ -0,0 +1,31 @@
function colorgrid() {
iter=16
while [ $iter -lt 52 ]
do
second=$[$iter+36]
third=$[$second+36]
four=$[$third+36]
five=$[$four+36]
six=$[$five+36]
seven=$[$six+36]
if [ $seven -gt 250 ];then seven=$[$seven-251]; fi
echo -en "\033[38;5;$(echo $iter)m█ "
printf "%03d" $iter
echo -en " \033[38;5;$(echo $second)m█ "
printf "%03d" $second
echo -en " \033[38;5;$(echo $third)m█ "
printf "%03d" $third
echo -en " \033[38;5;$(echo $four)m█ "
printf "%03d" $four
echo -en " \033[38;5;$(echo $five)m█ "
printf "%03d" $five
echo -en " \033[38;5;$(echo $six)m█ "
printf "%03d" $six
echo -en " \033[38;5;$(echo $seven)m█ "
printf "%03d" $seven
iter=$[$iter+1]
printf '\r\n'
done
}

View file

@ -0,0 +1,3 @@
# Modified from https://github.com/dracula/fzf
export FZF_DEFAULT_OPTS='--color=fg:#f8f8f2,hl:#bd93f9 --color=fg+:#f8f8f2,hl+:#bd93f9 --color=info:#ffb86c,prompt:#50fa7b,pointer:#ff79c6 --color=marker:#ff79c6,spinner:#ffb86c,header:#6272a4'

View file

@ -0,0 +1,10 @@
# Modified from https://github.com/dracula/man-pages
#man-page colors
export LESS_TERMCAP_mb=$'\e[1;31m' # begin bold
export LESS_TERMCAP_md=$'\e[1;34m' # begin blink
export LESS_TERMCAP_so=$'\e[01;45;37m' # begin reverse video
export LESS_TERMCAP_us=$'\e[01;36m' # begin underline
export LESS_TERMCAP_me=$'\e[0m' # reset bold/blink
export LESS_TERMCAP_se=$'\e[0m' # reset reverse video
export LESS_TERMCAP_ue=$'\e[0m' # reset underline

View file

@ -0,0 +1,167 @@
{ config, lib, ... }: {
imports = [
./programs.nix
];
programs = {
starship = let
textColor = "#e3e5e5";
firstColor = "#bd93f9";
secondColor = "#715895";
thirdColor = "#382c4a";
fourthColor = "#120e18";
in {
enable = true;
enableBashIntegration = true;
settings = {
format = lib.concatStrings [
""
"[](fg:${firstColor})"
"[ ](bg:${firstColor} fg:#090c0c)"
"[](bg:${secondColor} fg:${firstColor})"
"$username$hostname"
"$sudo"
"[](fg:${secondColor} bg:${thirdColor})"
"$directory"
"[](fg:${thirdColor} bg:${fourthColor})"
"$git_branch"
"[](fg:${fourthColor})"
"\n$shlvl$nix_shell$character"
];
sudo = {
disabled = false;
style = "fg:${textColor} bg:${secondColor}";
format = "[as root ]($style)";
};
username = {
show_always = true;
style_user = "fg:${textColor} bg:${secondColor}";
style_root = "fg:red bg:${secondColor} blink";
format = "[ $user]($style)";
};
hostname = {
ssh_only = false;
style = "fg:${textColor} bg:${secondColor}";
format = "[@$hostname ]($style)";
};
directory = {
style = "fg:${firstColor} bg:${thirdColor}";
format = "[ $path ]($style)";
truncate_to_repo = false;
truncation_length = 0;
substitutions = {
"Documents" = "󰈙 ";
"Downloads" = " ";
"Music" = " ";
"Pictures" = " ";
};
};
git_branch = {
style = "fg:${secondColor} bg:${fourthColor}";
symbol = "";
format = "[ $symbol $branch ]($style)";
};
shlvl = {
disabled = false;
repeat = true;
symbol = "󰔳 ";
format = "[$symbol]($style)";
threshold = 1;
};
nix_shell = {
symbol = " ";
format = "[$symbol]($style)";
};
character = {
success_symbol = "[\\$](bold green)";
error_symbol = "[\\$](bold red)";
};
};
};
bash = {
enable = true;
enableCompletion = true;
historyFile = "\$HOME/.cache/.bash_history";
historyFileSize = 100000; # default
historySize = 10000; # default
historyControl = [
"erasedups"
"ignorespace"
];
historyIgnore = [
"ls"
"exit"
"logout"
];
shellOptions = [
"histappend"
"checkwinsize"
"extglob"
"globstar"
"checkjobs"
"autocd"
"cdspell"
"dirspell"
"dotglob"
];
shellAliases = {
sudo = "sudo ";
frick = "sudo $(fc -ln -1)";
nivm = "nvim";
nivim = "nvim";
tmux = "tmux -2";
ls = "ls -lah --color=auto";
cp = "cp -r";
chore = "(cd ~/.nix; git add flake.lock; git commit -m 'chore: update flake.lock'; git push)";
tup = "tailscale up --login-server https://headscale.nelim.org";
pc = "mosh matt@binto -- tmux -2u new -At laptop";
oksys = "mosh matt@oksys -- tmux -2u new -At laptop";
pve = "mosh matt@pve -- tmux -2u new -At laptop";
mc = "mosh mc@mc -- tmux -2u new -At laptop";
pod = "mosh matt@pve -- ssh -t -p 6768 matt@10.0.0.122 'tmux -2u new -At laptop'";
jelly = "mosh matt@pve -- ssh -t matt@10.0.0.123 'tmux -2u new -At laptop'";
qbit = "mosh matt@pve -- ssh -t matt@10.0.0.128 'tmux -2u new -At laptop'";
};
sessionVariables = {
# FIXME: why is this not set by home-manager?
"RIPGREP_CONFIG_PATH" = "${config.xdg.configHome}/ripgrep/ripgreprc";
};
profileExtra = ''
export POKE=true
[[ -f ~/.bashrc ]] && . ~/.bashrc
'';
bashrcExtra = ''
${lib.strings.fileContents ./config/dracula/less.sh}
${lib.strings.fileContents ./config/dracula/fzf.sh}
${lib.strings.fileContents ./config/colorgrid.sh}
${lib.strings.fileContents ./config/bashrc}
'';
#initExtra = ''
#'';
#logoutExtra = ''
#'';
};
};
}

View file

@ -0,0 +1,44 @@
{ pkgs, ... }: {
programs = {
fzf = {
enable = true;
enableBashIntegration = true;
};
ripgrep = {
enable = true;
arguments = [
"--max-columns=150"
"--max-columns-preview"
"--hidden"
"--glob=!.git/*"
"--smart-case"
"--sort"
"path"
];
};
jq.enable = true;
htop.enable = true;
bash.shellAliases = {
cat = "bat ";
man = "BAT_THEME='default' batman ";
};
bat = {
enable = true;
config = {
theme = "dracula-bat";
};
themes = {
dracula-bat = {
src = "${pkgs.dracula-theme}/bat";
file = "dracula-bat.tmTheme";
};
};
extraPackages = with pkgs.bat-extras; [
batman
];
};
};
}