Browse Source

shellrc: reorganize configuration files

Maxim Likhachev 4 years ago
parent
commit
9e46c69ca2
  1. 60
      etc/installrc.sh
  2. 0
      etc/rc.cygwin.windows
  3. 36
      etc/rc.darwin.macos
  4. 0
      etc/rc.linux.gentoo
  5. 53
      etc/rc.linux.nixos
  6. 0
      etc/shell/bash/aliases_darwin
  7. 9
      etc/shell/bash/bashrc
  8. 17
      etc/shell/bash/bashrc_darwin
  9. 33
      etc/shell/bash/bashrc_macos
  10. 36
      etc/shell/hstr/hh_blacklist
  11. 48
      etc/shell/hstr/hstr_blacklist

60
etc/installrc.sh

@ -1,7 +1,7 @@
#!/bin/bash #!/usr/bin/env bash
#Создан: Пт 23 авг 2013 19:57:29 #Создан: Пт 23 авг 2013 19:57:29
#Изменён: Чт 05 авг 2021 17:11:33 #Изменён: вт 02 ноя 2021 12:40:46
# #
# (c) 2013, Maxim Lihachev, <envrm@yandex.ru> # (c) 2013, Maxim Lihachev, <envrm@yandex.ru>
@ -28,8 +28,10 @@
#Директория для установки #Директория для установки
PLATFORM="$(uname -s | tr 'A-Z' 'a-z')"
HOSTFILE="${PLATFORM}.${HOSTNAME%%.*}"
RCDIR=$(pwd) RCDIR=$(pwd)
RCLIST=$RCDIR/rc.$OSTYPE RCLIST="${RCDIR}/rc.${HOSTFILE}"
ROOTDIR=$HOME ROOTDIR=$HOME
@ -43,7 +45,7 @@ white="\033[1;1m"
#Вывод [цветного] сообщения с заполнением строки до 30 колонки знаком "." #Вывод [цветного] сообщения с заполнением строки до 30 колонки знаком "."
# msg1 msg2 ?color? # msg1 msg2 ?color?
report() { report() {
len=$((30 - $(echo -e -n $2 | wc -m))) len=$((30 - $(echo -e -n "$2" | wc -m)))
echo -e -n " ${3:-$rstc} $1 $2 $rstc" echo -e -n " ${3:-$rstc} $1 $2 $rstc"
eval printf "%-.s-" {1..$len} eval printf "%-.s-" {1..$len}
@ -52,9 +54,9 @@ report() {
#Проверка доступности файла настроек #Проверка доступности файла настроек
# file # file
check() { check() {
report Поиск $(basename $1) report Поиск "$(basename "$1")"
if [ -a $RCDIR/$1 ]; then if [ -a "$RCDIR/$1" ]; then
echo OK echo OK
else else
echo -e "$red ФАЙЛ НАСТРОЕК НЕ СУЩЕСТВУЕТ: $RCDIR/$1 $rstc" >&2 echo -e "$red ФАЙЛ НАСТРОЕК НЕ СУЩЕСТВУЕТ: $RCDIR/$1 $rstc" >&2
@ -64,10 +66,10 @@ check() {
#Резервирование файла #Резервирование файла
# file # file
backup() { backup() {
report Сохранение $(basename $filename) $yellow report Сохранение "$(basename "$filename") $yellow"
date=$(\date "+%Y.%m.%d_%H.%M") date=$(\date "+%Y.%m.%d_%H.%M")
\mv "$link"{,.$date} && \ \mv "$link"{,."$date"} && \
echo -e "${green}Резервная копия: $link.$date ${rstc}" echo -e "${green}Резервная копия: $link.$date ${rstc}"
} }
@ -81,10 +83,10 @@ backup() {
# #
# file # file
dotfile() { dotfile() {
if [[ "$(dirname $1)" == $ROOTDIR ]]; then if [[ "$(dirname "$1")" == "$ROOTDIR" ]]; then
echo "$(dirname $1)/.$(basename $1)" echo "$(dirname "$1")/.$(basename "$1")"
else else
echo $1 echo "$1"
fi fi
} }
@ -95,19 +97,19 @@ mklink() {
DST=$2 DST=$2
#Файл существует? #Файл существует?
if [ -a $RCDIR/$SRC ]; then if [ -a "$RCDIR/$SRC" ]; then
filename=$(basename $SRC) filename=$(basename "$SRC")
report Установка $filename report Установка "$filename"
link=$(dotfile "$DST/${filename//\.$(uname -i)}") link=$(dotfile "$DST/${filename//\.${HOSTFILE}}")
#Файл существует? #Файл существует?
if [ -a $link ]; then if [ -a "$link" ]; then
#Файл -- ссылка? #Файл -- ссылка?
if [ -L $link ]; then if [ -L "$link" ]; then
ref=$(readlink $link) ref=$(readlink "$link")
if [ $ref == $RCDIR/$SRC ]; then if [ "$ref" == "$RCDIR/$SRC" ]; then
echo -e "Установка не требуется" echo -e "Установка не требуется"
return return
else else
@ -117,11 +119,11 @@ mklink() {
echo -e "$redНайден конфигурационный файл$rstc" echo -e "$redНайден конфигурационный файл$rstc"
fi fi
backup $link && \ backup "$link" && \
mklink $SRC $DST mklink "$SRC" "$DST"
else else
#Ссылка на файл-источник #Ссылка на файл-источник
ln -s $RCDIR/$SRC $(dotfile $DST/${filename//\.$(uname -i)}) 2>&- && \ ln -s "$RCDIR/$SRC" "$(dotfile "$DST/${filename//\.${HOSTFILE}}")" 2>&- && \
echo -e "${green}OK${rstc}" echo -e "${green}OK${rstc}"
fi fi
else else
@ -132,11 +134,11 @@ mklink() {
#Удаление ссылки на файл #Удаление ссылки на файл
# sourcefile link # sourcefile link
rmlink() { rmlink() {
FILE=$(basename $1) FILE=$(basename "$1")
LINK=$(dotfile $2/${FILE//\.$(uname -i)}) LINK=$(dotfile "$2/${FILE//\.${HOSTFILE}}")
if [[ ( -a $LINK ) && (-L $LINK)]]; then if [[ ( -a $LINK ) && (-L $LINK)]]; then
report Удаление $FILE $red report Удаление "$FILE" "$red"
\rm "$LINK" && echo -e "${green}OK${rstc}" || echo -e "Ошибка удаления" \rm "$LINK" && echo -e "${green}OK${rstc}" || echo -e "Ошибка удаления"
fi fi
@ -144,7 +146,7 @@ rmlink() {
#Установка настроек #Установка настроек
installrc() { installrc() {
while read line; do while read -r line; do
if [[ "$line" =~ ^\s*\+\s*.*$ ]]; then if [[ "$line" =~ ^\s*\+\s*.*$ ]]; then
#Установить файл #Установить файл
eval $(echo -e "$line" | sed 's/^+/mklink /') eval $(echo -e "$line" | sed 's/^+/mklink /')
@ -156,9 +158,9 @@ installrc() {
echo -e "${white}$line${rstc}" | tr '#' ' ' echo -e "${white}$line${rstc}" | tr '#' ' '
else else
#Выполнение строки #Выполнение строки
eval $line eval "$line"
fi fi
done < $1 done < "$1"
} }
#Разбор аргументов командной строки и выполнение скрипта #Разбор аргументов командной строки и выполнение скрипта
@ -169,5 +171,5 @@ case "$1" in
*) : ;; *) : ;;
esac esac
installrc $RCLIST installrc "$RCLIST"

0
etc/rc.cygwin → etc/rc.cygwin.windows

36
etc/rc.darwin.macos

@ -0,0 +1,36 @@
# ---------------------------------------------------------------
# [ MACOS ]
# ---------------------------------------------------------------
# [ Shell ]
+ shell/bash/bash_profile ~
+ shell/bash/bashrc ~
- shell/guile/guile ~
- shell/tcl/tclshrc ~
- shell/tcl/wishrc ~
- shell/screen/screenrc ~
+ shell/hstr/hstr_blacklist ~
# [ Soft ]
- soft/htop ~/.config
+ soft/dfc ~/.config
- soft/vim/vim ~
+ soft/nvim ~/.config
+ soft/vifm ~/.config
- soft/vim/vimrc ~
+ soft/git/gitconfig ~
+ soft/iterm/com.googlecode.iterm2.plist ~/Library/Preferences/
- soft/linters/eslintrc ~
+ soft/joplin/userchrome.css ~/.config/joplin-desktop/
+ soft/joplin/userstyle.css ~/.config/joplin-desktop/
: ---------------------------------------------------------------
mkdir -pv ../var/{shell,log,man,mpd,scmpc,vim} 2>&-
mkdir -pv ../var/vim/{backup,undo,mru,swp,view,yankring}
mkdir -pv net/ssh/sessions
# ---------------------------------------------------------------

0
etc/rc.linux-gnu → etc/rc.linux.gentoo

53
etc/rc.darwin19 → etc/rc.linux.nixos

@ -1,5 +1,5 @@
# --------------------------------------------------------------- # ---------------------------------------------------------------
# [ MACOS ] # [ GNU/LINUX ]
# --------------------------------------------------------------- # ---------------------------------------------------------------
mkdir -p ~/.config/dunst mkdir -p ~/.config/dunst
@ -11,61 +11,74 @@ mkdir -p ~/.config/dunst
+ shell/bash/bash_profile ~ + shell/bash/bash_profile ~
+ shell/bash/bashrc ~ + shell/bash/bashrc ~
- shell/guile/guile ~ - shell/guile/guile ~
- shell/tcl/tclshrc ~ + shell/tcl/tclshrc ~
- shell/tcl/wishrc ~ - shell/tcl/wishrc ~
- shell/screen/screenrc ~ - shell/screen/screenrc ~
+ shell/hstr/hstr_blacklist ~ + shell/hstr/hstr_blacklist ~
# [ X.org ] # [ X.org ]
- X/Xdefaults ~ + X/Xdefaults ~
- X/XCompose ~ + X/XCompose ~
- X/xinitrc.$(uname -i) ~ + X/xinitrc.$(uname -i) ~
- wm/fonts/fonts.conf ~
- wm/gtk/gtkrc-2.0 ~ - wm/gtk/gtkrc-2.0 ~
- wm/gtk/gtk-bookmarks ~ - wm/gtk/gtk-bookmarks ~
- wm/musca/musca_start.$(uname -i) ~ - wm/musca/musca_start.$(uname -i) ~
- wm/fonts/fonts.conf ~ - wm/xmonad ~
- wm/fonts/nerd-fonts ~/.fonts/ - soft/xmobar/xmobarrc ~
+ wm/bspwm ~/.config
+ soft/sxhkd ~/.config
+ wm/xdg/user-dirs.dirs ~/.config
# [ Net ] # [ Net ]
- net/ssh ~ + net/ssh ~
- net/rtorrent/rtorrent.rc ~ - net/rtorrent/rtorrent.rc ~
- net/lftp/lftprc ~ - net/lftp/lftprc ~
- net/snownews ~ - net/snownews ~
- net/gorss ~
+ net/newsboat ~/.config
- mail/mailcap/mailcap ~ - mail/mailcap/mailcap ~
- mail/procmail/procmailrc ~ + mail/procmail/procmailrc ~
# [ Soft ] # [ Soft ]
- media/ncmpcpp ~ + media/ncmpcpp ~
- media/moc ~ - media/moc ~
- media/scmpc ~ - media/scmpc ~
- soft/bar/barrc ~ - soft/bar/barrc ~
- soft/conky/conkyrc.$(uname -i) ~ - soft/conky/conkyrc.$(uname -i) ~
- soft/ctags/ctags ~ - soft/ctags/ctags ~
- soft/htop ~/.config
- soft/dunst/dunstrc ~/.config/dunst
- soft/mc ~/.config
+ soft/dfc ~/.config
- soft/vim/vim ~
+ soft/nvim ~/.config + soft/nvim ~/.config
+ soft/vifm ~/.config + soft/vifm ~/.config
- soft/vim/vimrc ~
- soft/vimperator ~ - soft/vimperator ~
- soft/vimperator/vimperatorrc ~ - soft/vimperator/vimperatorrc ~
+ soft/git/gitconfig ~ + soft/git/gitconfig ~
- soft/git/gitk ~ - soft/git/gitk ~
+ soft/iterm/com.googlecode.iterm2.plist ~/Library/Preferences/
- soft/stalonetray/stalonetrayrc ~ - soft/stalonetray/stalonetrayrc ~
+ soft/linters/eslintrc ~ - soft/tmux/tmux.conf ~
+ media/alsa/asoundrc ~
+ soft/sxiv ~/.config
+ soft/dfc ~/.config
+ soft/polybar ~/.config
+ soft/procps ~/.config
+ soft/k9s/config.$(uname -i).yml ~/.k9s
+ soft/k9s/skin.$(uname -i).yml ~/.k9s
+ soft/htop ~/.config
- soft/mc ~/.config
- soft/vim ~/.config
- soft/vim/vimrc ~
- soft/dunst/dunstrc ~/.config/dunst
- soft/linters/eslintrc ~
+ soft/joplin/userchrome.css ~/.config/joplin-desktop/ + soft/joplin/userchrome.css ~/.config/joplin-desktop/
+ soft/joplin/userstyle.css ~/.config/joplin-desktop/ + soft/joplin/userstyle.css ~/.config/joplin-desktop/
: --------------------------------------------------------------- : ---------------------------------------------------------------
mkdir -pv ../var/{shell,log,man,mpd,scmpc,vim} 2>&- mkdir -pv ../var/{shell,log,man,mpd,scmpc,vim}
mkdir -pv ../var/vim/{backup,undo,mru,swp,view,yankring} mkdir -pv ../var/vim/{backup,undo,mru,swp,view,yankring}
mkdir -pv ../../.local/share/newsboat
mkdir -pv net/ssh/sessions mkdir -pv net/ssh/sessions
: --------------------------------------------------------------- : ---------------------------------------------------------------

0
etc/shell/bash/aliases_macos → etc/shell/bash/aliases_darwin

9
etc/shell/bash/bashrc

@ -1,6 +1,6 @@
#!/bin/bash #################################################################### #!/bin/bash ####################################################################
# #
# Изменён: пн 19 июл 2021 21:19:51 # Изменён: вт 02 ноя 2021 12:29:31
# #
################################################################################ ################################################################################
@ -12,6 +12,7 @@ export BASH_ENV="$HOME/.bashrc" #Файл настроек интерпрет
export SHELLRC="$HOME/.shellrc" #Путь к директории настроек export SHELLRC="$HOME/.shellrc" #Путь к директории настроек
export BASHRC="$SHELLRC/etc/shell/bash" #Путь к настройкам bash export BASHRC="$SHELLRC/etc/shell/bash" #Путь к настройкам bash
export INPUTRC="$BASHRC/inputrc" #Файл inputrc export INPUTRC="$BASHRC/inputrc" #Файл inputrc
export PLATFORM="$(uname -s | tr 'A-Z' 'a-z')" #Тип ОС
export MANPATH="$MANPATH:/home/maks/.shellrc/var/man" #Локальные файлы руководства export MANPATH="$MANPATH:/home/maks/.shellrc/var/man" #Локальные файлы руководства
@ -200,11 +201,7 @@ fi
# {{{ Загрузка системоспецифичных настроек # {{{ Загрузка системоспецифичных настроек
################################################################################ ################################################################################
case "$(uname -s)" in [[ -f "${BASHRC}/bashrc_${PLATFORM}" ]] && . "${BASHRC}/bashrc_${PLATFORM}"
"Linux") [[ -f $BASHRC/bashrc_linux ]] && . "$BASHRC/bashrc_linux";;
"Cygwin") [[ -f $BASHRC/bashrc_cygwin ]] && . "$BASHRC/bashrc_cygwin";;
"Darwin") [[ -f $BASHRC/bashrc_macos ]] && . "$BASHRC/bashrc_macos";;
esac
# }}} ########################################################################## # }}} ##########################################################################

17
etc/shell/bash/bashrc_darwin

@ -0,0 +1,17 @@
PATH="$SHELLRC/bin:$SHELLRC/bin/scripts:/usr/local/opt/coreutils/libexec/gnubin/:$PATH:/Applications/:~/go/bin/:~/Library/Python/3.9/bin/:$HOME/.cabal/bin:${GHCUP_INSTALL_BASE_PREFIX:=$HOME}/.ghcup/bin:~/.cargo/bin:~/.local/bin"
# Homebrew settings
export HOMEBREW_NO_ANALYTICS=1
export HOMEBREW_NO_INSECURE_REDIRECT=1
# export HOMEBREW_CASK_OPTS="--require-sha"
# .Net settings
export DOTNET_CLI_TELEMETRY_OPTOUT=1
[[ -e "${HOME}/.iterm2_shell_integration.bash" ]] && source "${HOME}/.iterm2_shell_integration.bash"
[[ -f $BASHRC/aliases_darwin ]] && DARWIN_ALIASES="$BASHRC/aliases_darwin" \
&& . $DARWIN_ALIASES \
&& HELPSRC+=("$DARWIN_ALIASES")
[[ -f $BASHRC/bash_completion_darwin ]] && . $BASHRC/bash_completion_darwin

33
etc/shell/bash/bashrc_macos

@ -1,33 +0,0 @@
PATH="$SHELLRC/bin:$SHELLRC/bin/scripts:/usr/local/opt/coreutils/libexec/gnubin/:$PATH:/Applications/:~/go/bin/:~/Library/Python/3.9/bin/:$HOME/.cabal/bin:${GHCUP_INSTALL_BASE_PREFIX:=$HOME}/.ghcup/bin:~/.cargo/bin:~/.local/bin"
# Homebrew settings
export HOMEBREW_NO_ANALYTICS=1
export HOMEBREW_NO_INSECURE_REDIRECT=1
# export HOMEBREW_CASK_OPTS="--require-sha"
# .Net settings
export DOTNET_CLI_TELEMETRY_OPTOUT=1
test -e "${HOME}/.iterm2_shell_integration.bash" && source "${HOME}/.iterm2_shell_integration.bash"
[[ -f $BASHRC/aliases_macos ]] && MACOS_ALIASES="$BASHRC/aliases_macos" \
&& . $MACOS_ALIASES \
&& HELPSRC+=("$MACOS_ALIASES")
[[ -f $BASHRC/bash_completion_macos ]] && . $BASHRC/bash_completion_macos
#Цвета ls
# export LS_COLORS="\
# no=00:fi=00:di=01;34:ln=01;36:\
# pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:\
# *.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:\
# *.lzh=01;31:*.zip=01;31:*.7z=01;31:*.rar=01;31:*.z=01;31:*.Z=01;31:\
# *.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:\
# *.jpg=00;35:*.jpeg=00;35:*.JPG=00;35:*.png=00;35:*.gif=00;35:*.bmp=00;35:\
# *.ppm=00;35:*.tga=00;35:*.xbm=00;35:*.xpm=00;35:*.tif=00;35:*.png=00;35:\
# *.mpg=01;35:*.avi=01;35:*.fli=01;35:*.vob=01;35:*.mp4=01;35:*.wmv=01;35:\
# *.txt=00;33:*.doc=00;33:*.odt=00;33:*.rtf=00;33:*.pdf=00;33:*.djvu=00;33:\
# *.mp3=01;36:*.wav=01;36:*.ape=01;36:*.ogg=01;36:*.wma=01;36:*.midi=01;36:\
# *.flac=01;36:*.gpt=01;38:*.gp2=01;38:*.gp3=01;38:*.gp4=01;38:\
# *.c=00;04:*.cpp=00;04:*.pas=00;04:*.ui=00;04:*.sh=00;04:*.py=00;04:*.rb=00;04:\
# *.gl=01;35:*.dl=01;35:"

36
etc/shell/hstr/hh_blacklist

@ -1,36 +0,0 @@
~
..
.-
su
ls
cd
g st
g ls
g lf
g lu
g u
g p
g add .
mc
mutt
,w,w
,ww
startx
geeqie .
,m
:q
shutdown -h now
./Downloads/
killall zathura
kz
dus
dus .
dus *
mpd
reload
easytag .
alsamixer
vifm
htop
vim
ping ya.ru

48
etc/shell/hstr/hstr_blacklist

@ -0,0 +1,48 @@
startx
terraform apply
dus
alsamixer
,ww
ping ya.ru
dfc
,w,w
htop
g df .
g p
g u
vifm
g cmadd
dus *
dus .
vim
terraform destroy
mpd
g lf
g st
g lu
g ls
terraform init
,m
..
.-
g add .
~
terraform plan
reload
:q
g u | sh
geeqie .
mutt
g df
easytag .
cd -
./Downloads/
cd
g pull
killall zathura
kz
mc
ls
g st .
su
shutdown -h now
Loading…
Cancel
Save