blob: 5fade12c0614209157287293844212bf795d411a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
#
# .kshrc - oksh - Public domain Korn shell startup file
#
# See also oksh(1)
# Don't do anything if we don't have a prompt (not an interactive shell)
[[ $- != *i* ]] && return || [ -z "$PS1" ] && return
# Don't let \^{}d logout
set -o ignoreeof
# Export all
set -o allexport
# Setup history
HISTFILE=$HOME/.ksh_history
HISTSIZE=10000
HISTCONTROL=ignoredups:ignorespace
# Some useful aliases
# If btop is installed then alias top to btop
[ -e /usr/local/bin/btop ] && alias top="/usr/local/bin/btop"
alias ls='ls --color=auto -hv'
alias config='/usr/local/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
command -v bat > /dev/null && alias cat='bat --paging=never'
alias wanip='dig @resolver4.opendns.com myip.opendns.com +short'
# Alias to stop foot terminal confusing ssh
if [ "$TERM" = "foot" ]; then
alias ssh='TERM=linux ssh'
fi
# Simple, lightweight git prompt for oksh: if inside a git repo, adds the
# branch name to PS1.
__get_current_git_branch_name() {
branch_name="$(git rev-parse --abbrev-ref HEAD 2>/dev/null)" && \
[ -n "$branch_name" ] && \
echo -en " $branch_name"
}
# Set prompt: ``username@hostname directory $ ''
PS1="\[\e[1;32m\]\u@\h \[\e[1;34m\]\w\[\e[0m\] \[\e[1;31m\]\$(__get_current_git_branch_name)\[\e[0m\] $ "
COLORTERM="truecolor"
EDITOR="nvim"
VISUAL="nvim"
STARSHIP_CONFIG=~/.config/starship/config.toml
BROWSER="qutebrowser"
XDG_CONFIG_HOME="$HOME/.config"
WEECHAT_HOME="$XDG_CONFIG_HOME/weechat"
MOZ_ENABLE_WAYLAND=1
XDG_SESSION_TYPE=wayland
GDK_BACKEND=wayland
# export QT_QPA_PLATFORM=wayland
# export XKB_DEFAULT_LAYOUT=us
# export LANG="en_US.UTF-8"
# export LC_ALL="en_US.UTF-8"
TERMINAL="foot"
SAL_USE_VCLPLUGIN=gtk3
# Search path for cd(1)
CDPATH=:$HOME
# Always add below to allow gpg-agent to work correctly
GPG_TTY=$(tty)
# Enable the use of ssh-agent
pkill -f ssh-agent
if ! pgrep -u "$USER" ssh-agent > /dev/null; then
ssh-agent -t 1h > "$XDG_RUNTIME_DIR/ssh-agent.env"
fi
if [ ! -f "$SSH_AUTH_SOCK" ]; then
. "$XDG_RUNTIME_DIR/ssh-agent.env" >/dev/null
fi
# Completions
# Display possible interfaces on this machine for ifconfig
set -A complete_ifconfig_1 -- $(ifconfig | grep ^[a-z] | cut -d: -f1)
# Remote access
_SSH_HOSTS=$(awk '/^host/{ print $2 }' ~/.ssh/config)
set -A complete_ssh -- $_SSH_HOSTS
set -A complete_pkg -- autoremove clean install search update upgrade version
# Git completion
set -A complete_git -- \
$(git --list-cmds=main) \
$(git config --get-regexp ^alias\. | awk -F '[\. ]' '{ print $2 }')
set -A complete_config -- add commit diff push status
set -A complete_service_2 -- onereload onerestart onestop restart start status stop
set -A complete_service_1 -- $(service -l)
set -A complete_zfs -- clone create diff get jail list mount promote receive set send share snapshot upgrade
set -A complete_zpool -- add attach checkpoint clear create detach export get history import iostat list offline \
online scrub set split status upgrade
# Turn off export all
set +o allexport
# Set vi mode
set -o vi
if [ "$(tty)" = "/dev/ttyv0" ]; then
exec dbus-run-session river > /dev/null 2>&1
fi
|