aboutsummaryrefslogtreecommitdiffstats
path: root/home/root/common/core/zsh
diff options
context:
space:
mode:
authorMark Nipper <nipsy@bitgnome.net>2024-04-18 19:28:29 -0700
committerMark Nipper <nipsy@bitgnome.net>2024-04-18 19:28:29 -0700
commit0e741291f1ea350c398302e4b212a28f5c77840a (patch)
treefe86873dcb1168ba3e3644d7e300f6709d5b2503 /home/root/common/core/zsh
parent05c88df33274373391b25fc73a1c965a74fb8d80 (diff)
downloadnix-0e741291f1ea350c398302e4b212a28f5c77840a.tar
nix-0e741291f1ea350c398302e4b212a28f5c77840a.tar.gz
nix-0e741291f1ea350c398302e4b212a28f5c77840a.tar.bz2
nix-0e741291f1ea350c398302e4b212a28f5c77840a.tar.lz
nix-0e741291f1ea350c398302e4b212a28f5c77840a.tar.xz
nix-0e741291f1ea350c398302e4b212a28f5c77840a.tar.zst
nix-0e741291f1ea350c398302e4b212a28f5c77840a.zip
Add root to home manager
Diffstat (limited to 'home/root/common/core/zsh')
-rw-r--r--home/root/common/core/zsh/default.nix45
-rw-r--r--home/root/common/core/zsh/zshrc110
2 files changed, 155 insertions, 0 deletions
diff --git a/home/root/common/core/zsh/default.nix b/home/root/common/core/zsh/default.nix
new file mode 100644
index 0000000..77d4b75
--- /dev/null
+++ b/home/root/common/core/zsh/default.nix
@@ -0,0 +1,45 @@
+{
+ programs.zsh = {
+ enable = true;
+ envExtra = ''
+export PATH=~/bin:''${PATH}
+
+#export PS1="%B%n%b@%U%m%u/%l:%~> "
+export PAGER=less
+export EDITOR=vim
+export BROWSER=firefox
+
+export LC_COLLATE="C"
+export QUOTING_STYLE="literal"
+
+export IRCNICK="nipsy"
+export IRCNAME="Mark Nipper"
+
+export NNTPSERVER="news.giganews.com"
+
+#export COLORTERM=truecolor
+export COLORFGBG="green;blue"
+
+# fix stupid broken Java shit
+export _JAVA_AWT_WM_NONREPARENTING=1
+
+# enable pass extensions
+export PASSWORD_STORE_ENABLE_EXTENSIONS=true
+ '';
+ history = {
+ save = 100000;
+ size = 100000;
+ };
+ initExtra = (builtins.readFile ./zshrc);
+ shellAliases = {
+ fixkeyboard = "setxkbmap -layout us -option caps:super -option compose:ralt";
+ grep = "grep --color=auto";
+ ip = "ip -c=auto";
+ la = "ls -aFh --color=auto";
+ ll = "ls -alF --color=auto";
+ lock = "xscreensaver-command -lock";
+ steam-no-beta = "steam -clearbeta";
+ zgrep = "zgrep --color=auto";
+ };
+ };
+}
diff --git a/home/root/common/core/zsh/zshrc b/home/root/common/core/zsh/zshrc
new file mode 100644
index 0000000..cd857e3
--- /dev/null
+++ b/home/root/common/core/zsh/zshrc
@@ -0,0 +1,110 @@
+umask 022
+
+eval $(dircolors)
+
+# set SWAYSOCK correctly
+if pgrep -U nipsy -x sway >/dev/null; then
+ export SWAYSOCK=/run/user/$(id -u)/sway-ipc.$(id -u).$(pgrep -x sway).sock
+fi
+
+# start sway by default if logging into tty1
+if [[ -z "${DISPLAY}" ]] && [[ $(tty) == "/dev/tty1" ]]; then
+
+ export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
+
+ # set some Wayland specific variables
+ export MOZ_ENABLE_WAYLAND=1
+ export GDK_BACKEND=wayland
+ export QT_QPA_PLATFORM=wayland
+ export SDL_VIDEODRIVER=wayland
+ export XDG_SESSION_TYPE=wayland
+
+ exec sway > ~/.sway.log
+
+fi
+
+# if already in Wayland, update the GPG TTY so ssh-askpass will work correctly
+if [[ -n "${WAYLAND_DISPLAY}" ]]; then
+ gpg-connect-agent updatestartuptty /bye >/dev/null
+fi
+
+# completion options
+setopt LIST_PACKED MENU_COMPLETE
+# expansion and globbing options
+setopt NO_NOMATCH
+# history options
+setopt SHARE_HISTORY EXTENDED_HISTORY HIST_FCNTL_LOCK HIST_IGNORE_ALL_DUPS HIST_REDUCE_BLANKS HIST_SAVE_NO_DUPS
+# input/output options
+setopt PRINT_EXIT_VALUE RM_STAR_SILENT
+# job control options
+setopt LONG_LIST_JOBS NO_HUP
+# zle options
+setopt NO_BEEP
+
+zstyle ':completion:*' menu select=5
+
+bindkey -v
+export KEYTIMEOUT=1
+
+autoload -U edit-command-line
+zle -N edit-command-line
+bindkey -M vicmd v edit-command-line
+
+# always open tmux if interactive
+[[ $- != *i* ]] && return
+#[[ -z "$TMUX" ]] && (tmux -2 new-session -t default \; new-window || tmux -2 new-session -s default)
+[[ -z "$TMUX" ]] && (tmux -2 attach -t default || tmux -2 new-session -s default)
+
+# prompt/theme shit
+function precmd {
+
+ local RC=${?}
+ #local RC=${(%)RC-%?}
+
+ print -nP '\n'
+
+ # current user
+ if [[ ${EUID} -eq 0 ]]; then
+ print -nP '%{%S%F{red}%}%n%{%f%s%}'
+ else
+ print -nP '%{%F{magenta}%}%n%{%f%}'
+ fi
+
+ print -nP '@'
+
+ # current host
+ if [[ -n "$SSH_CLIENT" || -n "$SSH2_CLIENT" ]]; then
+ print -nP '%{%F{yellow}%}%m%{%f%}'
+ else
+ print -nP '%{%F{green}%}%m%{%f%}'
+ fi
+
+ # connected terminal
+ print -nP '/%{%U%}%l%{%u%} '
+
+ # cwd
+ print -nP '%{%F{cyan}%}%~%{%f%} '
+
+ # job count
+ JOBCOUNT='%j'
+ if [[ ${(%)JOBCOUNT} -gt 0 ]]; then
+ print -nP 'j=%{%F{yellow}%}%j%{%f%} '
+ fi
+
+ # previous return code
+ if [[ ${RC} -ne 0 ]]; then
+ print -nP 'rc=%{%F{red}%}'
+ echo -n "${RC}"
+ print -nP '%{%f%} '
+ else
+ print -nP 'rc=%{%F{green}%}'
+ echo -n "${RC}"
+ print -nP '%{%f%} '
+ fi
+
+ # time stamp
+ print -P '%{%F{cyan}%}%D{%FT%T%z}%{%f%}'
+
+}
+
+PS1='%# '