nix #11
|
@ -278,6 +278,11 @@ in
|
||||||
pull = {
|
pull = {
|
||||||
ff = "only";
|
ff = "only";
|
||||||
};
|
};
|
||||||
|
} // lib.optionalAttrs config.frogeye.desktop.xorg {
|
||||||
|
diff.tool = "meld";
|
||||||
|
difftool.prompt = false;
|
||||||
|
"difftool \"meld\"".cmd = "${pkgs.meld}/bin/meld \"$LOCAL\" \"$REMOTE\"";
|
||||||
|
# This escapes quotes, which isn't the case in the original, hoping this isn't an issue.
|
||||||
};
|
};
|
||||||
# TODO Delta syntax highlighter... and other cool-looking options?
|
# TODO Delta syntax highlighter... and other cool-looking options?
|
||||||
};
|
};
|
||||||
|
|
|
@ -229,7 +229,7 @@
|
||||||
"${mode_system}" = {
|
"${mode_system}" = {
|
||||||
"l" = "exec --no-startup-id exec ${locker}, mode default";
|
"l" = "exec --no-startup-id exec ${locker}, mode default";
|
||||||
"e" = "exit, mode default";
|
"e" = "exit, mode default";
|
||||||
"s" = "exec --no-startup-id exec ${locker} & ${pkgs.systemd}/bin/systemctl suspend, mode default";
|
"s" = "exec --no-startup-id exec ${locker} & ${pkgs.systemd}/bin/systemctl suspend --check-inhibitors=no, mode default";
|
||||||
"h" = "exec --no-startup-id exec ${locker} & ${pkgs.systemd}/bin/systemctl hibernate, mode default";
|
"h" = "exec --no-startup-id exec ${locker} & ${pkgs.systemd}/bin/systemctl hibernate, mode default";
|
||||||
"r" = "exec --no-startup-id ${pkgs.systemd}/bin/systemctl reboot, mode default";
|
"r" = "exec --no-startup-id ${pkgs.systemd}/bin/systemctl reboot, mode default";
|
||||||
"p" = "exec --no-startup-id ${pkgs.systemd}/bin/systemctl poweroff -i, mode default";
|
"p" = "exec --no-startup-id ${pkgs.systemd}/bin/systemctl poweroff -i, mode default";
|
||||||
|
|
53
config/scripts/.bsh/bashrc
Normal file
53
config/scripts/.bsh/bashrc
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Geoffrey's trimmed and condensed shell configuration file,
|
||||||
|
# with an healthy and safe dose of aliases and config.
|
||||||
|
# Can be embedded to any server
|
||||||
|
|
||||||
|
# Completion for existing commands
|
||||||
|
alias ls='ls -h --color=auto'
|
||||||
|
alias mkdir='mkdir -v'
|
||||||
|
alias cp="cp -i"
|
||||||
|
alias mv="mv -iv"
|
||||||
|
alias free='free -h'
|
||||||
|
alias df='df -h'
|
||||||
|
|
||||||
|
# Advanced completions
|
||||||
|
# (not busybox compatible)
|
||||||
|
alias cp="cp -i --reflink=auto"
|
||||||
|
alias grep="grep --color=auto"
|
||||||
|
alias dd='dd status=progress'
|
||||||
|
alias rm='rm -v --one-file-system'
|
||||||
|
alias free='free -m'
|
||||||
|
alias diff='diff --color=auto'
|
||||||
|
alias dmesg='dmesg --ctime'
|
||||||
|
|
||||||
|
# Frequent mistakes
|
||||||
|
alias sl=ls
|
||||||
|
alias al=la
|
||||||
|
alias mdkir=mkdir
|
||||||
|
alias systemclt=systemctl
|
||||||
|
alias please=sudo
|
||||||
|
|
||||||
|
# Shortcuts for commonly used commands
|
||||||
|
alias ll="ls -l"
|
||||||
|
alias la="ls -la"
|
||||||
|
# alias s='sudo -s -E'
|
||||||
|
|
||||||
|
# Bash options
|
||||||
|
shopt -s expand_aliases
|
||||||
|
shopt -s histappend
|
||||||
|
HISTCONTROL=ignoreboth:erasedups
|
||||||
|
|
||||||
|
# Program configuration
|
||||||
|
export TIME_STYLE='+%Y-%m-%d %H:%M:%S'
|
||||||
|
export LESS=-R
|
||||||
|
export LESS_TERMCAP_mb=$'\E[1;31m'
|
||||||
|
export LESS_TERMCAP_md=$'\E[1;36m'
|
||||||
|
export LESS_TERMCAP_me=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_so=$'\E[01;44;33m'
|
||||||
|
export LESS_TERMCAP_se=$'\E[0m'
|
||||||
|
export LESS_TERMCAP_us=$'\E[1;32m'
|
||||||
|
export LESS_TERMCAP_ue=$'\E[0m'
|
||||||
|
|
||||||
|
|
25
config/scripts/.bsh/bashrc_unsortable
Normal file
25
config/scripts/.bsh/bashrc_unsortable
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Prefered programs environment variables
|
||||||
|
export PAGER=less
|
||||||
|
if [ -x "$(command -v nvim)" ]
|
||||||
|
then
|
||||||
|
export EDITOR=nvim
|
||||||
|
alias vi=nvim
|
||||||
|
elif [ -x "$(command -v vim)" ]
|
||||||
|
then
|
||||||
|
export EDITOR=vim
|
||||||
|
alias vi=vim
|
||||||
|
else
|
||||||
|
export EDITOR=vi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prompt
|
||||||
|
if [[ $USER == 'root' ]]; then
|
||||||
|
col=31;
|
||||||
|
elif [[ $USER == 'geoffrey' ]]; then
|
||||||
|
col=32;
|
||||||
|
else
|
||||||
|
col=33;
|
||||||
|
fi
|
||||||
|
export PS1="\[\e]2;\u@\H \w\a\]\[\e[0;37m\][\[\e[0;${col}m\]\u\[\e[0;37m\]@\[\e[0;34m\]\h \[\e[0;36m\]\W\[\e[0;37m\]]\$\[\e[0m\] "
|
50
config/scripts/.bsh/inputrc
Normal file
50
config/scripts/.bsh/inputrc
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
$include /etc/inputrc
|
||||||
|
set bell-style none
|
||||||
|
set colored-completion-prefix on
|
||||||
|
set colored-stats on
|
||||||
|
set completion-ignore-case on
|
||||||
|
set completion-query-items 200
|
||||||
|
set editing-mode vi
|
||||||
|
set history-preserve-point on
|
||||||
|
set history-size 10000
|
||||||
|
set horizontal-scroll-mode off
|
||||||
|
set mark-directories on
|
||||||
|
set mark-modified-lines off
|
||||||
|
set mark-symlinked-directories on
|
||||||
|
set match-hidden-files on
|
||||||
|
set menu-complete-display-prefix on
|
||||||
|
set page-completions on
|
||||||
|
set print-completions-horizontally off
|
||||||
|
set revert-all-at-newline off
|
||||||
|
set show-all-if-ambiguous on
|
||||||
|
set show-all-if-unmodified on
|
||||||
|
set show-mode-in-prompt on
|
||||||
|
set skip-completed-text on
|
||||||
|
set visible-stats off
|
||||||
|
|
||||||
|
$if mode=vi
|
||||||
|
# these are for vi-command mode
|
||||||
|
set keymap vi-command
|
||||||
|
"k": history-search-backward
|
||||||
|
"j": history-search-forward
|
||||||
|
"\e[A": history-search-backward
|
||||||
|
"\e[B": history-search-forward
|
||||||
|
Control-l: clear-screen
|
||||||
|
|
||||||
|
# these are for vi-insert mode
|
||||||
|
set keymap vi-insert
|
||||||
|
"jk": vi-movement-mode
|
||||||
|
"\e[A": history-search-backward
|
||||||
|
"\e[B": history-search-forward
|
||||||
|
Control-l: clear-screen
|
||||||
|
|
||||||
|
# Switch between thin cursor and thicc block depending on vi mode
|
||||||
|
$if term=linux
|
||||||
|
set vi-ins-mode-string \1\e[?0c\2
|
||||||
|
set vi-cmd-mode-string \1\e[?8c\2
|
||||||
|
$else
|
||||||
|
set vi-ins-mode-string \1\e[6 q\2
|
||||||
|
set vi-cmd-mode-string \1\e[2 q\2
|
||||||
|
$endif
|
||||||
|
$endif
|
||||||
|
|
51
config/scripts/.bsh/vimrc
Normal file
51
config/scripts/.bsh/vimrc
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
cmap w!! w !sudo tee > /dev/null %
|
||||||
|
filetype indent on
|
||||||
|
filetype on
|
||||||
|
filetype plugin on
|
||||||
|
imap jk <Esc>
|
||||||
|
let g:netrw_fastbrowse = 0
|
||||||
|
nmap <C-H> :bp<CR>
|
||||||
|
nmap <C-J> jjjjjjjjjjjjjjjjjjjjj
|
||||||
|
nmap <C-K> kkkkkkkkkkkkkkkkkkkkk
|
||||||
|
nmap <C-L> :bn<CR>
|
||||||
|
nmap <Enter> o<Esc>
|
||||||
|
nnoremap <Leader>s :%s/\<<C-r><C-w>\>/
|
||||||
|
set backspace=indent,eol,start
|
||||||
|
set cursorcolumn
|
||||||
|
set encoding=utf-8
|
||||||
|
set expandtab
|
||||||
|
set gdefault
|
||||||
|
set hidden
|
||||||
|
set hlsearch
|
||||||
|
set ignorecase
|
||||||
|
set incsearch
|
||||||
|
set lazyredraw
|
||||||
|
set list
|
||||||
|
set listchars=tab:╾╌,trail:·,extends:↦,precedes:↤,nbsp:_
|
||||||
|
set noerrorbells
|
||||||
|
set number
|
||||||
|
set ruler
|
||||||
|
set scrolloff=10
|
||||||
|
set shiftwidth=4
|
||||||
|
set showbreak=↪
|
||||||
|
set showcmd
|
||||||
|
set smartcase
|
||||||
|
set splitbelow
|
||||||
|
set tabstop=4
|
||||||
|
set title
|
||||||
|
set updatetime=250
|
||||||
|
set visualbell
|
||||||
|
set wildmenu
|
||||||
|
set wildmode=longest,list
|
||||||
|
set wrap
|
||||||
|
syntax enable
|
||||||
|
vmap <Enter> <Esc>
|
||||||
|
if has('nvim')
|
||||||
|
set inccommand=nosplit
|
||||||
|
set relativenumber
|
||||||
|
augroup every
|
||||||
|
autocmd!
|
||||||
|
au InsertEnter * set norelativenumber
|
||||||
|
au InsertLeave * set relativenumber
|
||||||
|
augroup END
|
||||||
|
endif
|
|
@ -1,9 +1,10 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# TODO Do not dupplicate trimmed.bash
|
# TODO More integrated with current config
|
||||||
|
|
||||||
CACHE_DIR="${XDG_CACHE_DIR:-$HOME/.cache}/bsh"
|
CACHE_DIR="${XDG_CACHE_DIR:-$HOME/.cache}/bsh"
|
||||||
FOLDER_NAME="geoffrey"
|
FOLDER_NAME="geoffrey"
|
||||||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
|
||||||
|
|
||||||
mkdir -p "$CACHE_DIR"
|
mkdir -p "$CACHE_DIR"
|
||||||
|
@ -12,14 +13,24 @@ then
|
||||||
# Preparation
|
# Preparation
|
||||||
WORK="${CACHE_DIR}/${FOLDER_NAME}"
|
WORK="${CACHE_DIR}/${FOLDER_NAME}"
|
||||||
DEST="/tmp/${FOLDER_NAME}"
|
DEST="/tmp/${FOLDER_NAME}"
|
||||||
rm -rf "$WORK" # DEBUG
|
|
||||||
mkdir "$WORK"
|
mkdir "$WORK"
|
||||||
|
|
||||||
# Copying files
|
# TODO Maybe we should just set HOME there…
|
||||||
grep -o '^[^#]*' ~/.config/shell/trimmed.bash > "${WORK}/.bashrc"
|
|
||||||
grep -o '^[^#]*' ~/.config/inputrc > "${WORK}/.inputrc"
|
# Bashrc generation (sortable then unsortable)
|
||||||
# grep -o '^[^"]*' ~/.config/vim/vimconfig.vim > "${WORK}/.vimrc"
|
grep -o '^\s*[^#]*' $SCRIPT_DIR/.bsh/bashrc | sed 's/^\s\+//' > "${WORK}/b"
|
||||||
# TODO Above file doesn't work anymore with automatrop
|
echo "alias s='sudo -s -E bash --rcfile ${DEST}/b'" >> "${WORK}/b"
|
||||||
|
echo "export VIMINIT='source ${DEST}/v'" >> "${WORK}/b"
|
||||||
|
#echo "export TERMINFO=${DEST}/terminfo" >> "${WORK}/b"
|
||||||
|
echo "export INPUTRC=${DEST}/i" >> "${WORK}/b"
|
||||||
|
# Sort for compression efficiency (saves a whooping 12 bytes)
|
||||||
|
sort -u "${WORK}/b" > "${WORK}/b_sorted"
|
||||||
|
mv "${WORK}/b_sorted" "${WORK}/b"
|
||||||
|
|
||||||
|
dircolors --sh >> "${WORK}/b"
|
||||||
|
grep -o '^[^#]*' $SCRIPT_DIR/.bsh/bashrc_unsortable | sed 's/^\s\+//' >> "${WORK}/b"
|
||||||
|
|
||||||
|
# Other files generation
|
||||||
#mkdir -p "${WORK}/terminfo/${TERM:0:1}"
|
#mkdir -p "${WORK}/terminfo/${TERM:0:1}"
|
||||||
#if [ -f "/usr/share/terminfo/${TERM:0:1}/${TERM}" ]
|
#if [ -f "/usr/share/terminfo/${TERM:0:1}/${TERM}" ]
|
||||||
#then
|
#then
|
||||||
|
@ -28,23 +39,18 @@ then
|
||||||
#then
|
#then
|
||||||
# cp "$HOME/.config/terminfo/${TERM:0:1}/${TERM}" "${WORK}/terminfo/${TERM:0:1}/${TERM}"
|
# cp "$HOME/.config/terminfo/${TERM:0:1}/${TERM}" "${WORK}/terminfo/${TERM:0:1}/${TERM}"
|
||||||
#fi
|
#fi
|
||||||
|
grep -o '^\s*[^#]*' $SCRIPT_DIR/.bsh/inputrc | sed 's/^\s\+//' > "${WORK}/i"
|
||||||
# Extra configuration
|
grep -o '^\s*[^"]*' $SCRIPT_DIR/.bsh/vimrc | sed 's/^\s\+//' > "${WORK}/v"
|
||||||
echo "alias s='sudo -s -E bash --rcfile ${DEST}/.bashrc'" >> "${WORK}/.bashrc"
|
|
||||||
echo "export VIMINIT='source ${DEST}/.vimrc'" >> "${WORK}/.bashrc"
|
|
||||||
#echo "export TERMINFO=${DEST}/terminfo" >> "${WORK}/.bashrc"
|
|
||||||
echo "export INPUTRC=${DEST}/.inputrc" >> "${WORK}/.bashrc"
|
|
||||||
# TODO Maybe we should just set HOME there…
|
|
||||||
|
|
||||||
# Crafting command
|
# Crafting command
|
||||||
b64="$(cd "$CACHE_DIR"; tar czf - "$FOLDER_NAME" | base64 -w 0)"
|
b64="$(cd "$CACHE_DIR"; tar czf - "$FOLDER_NAME" | base64 -w 0)"
|
||||||
echo "echo '$b64' | base64 -d | tar xzf - -C /tmp" > "${CACHE_DIR}/cmd"
|
echo "echo $b64|base64 -d|tar xzC /tmp" > "${CACHE_DIR}/cmd"
|
||||||
echo "bash --rcfile ${DEST}/.bashrc" >> "${CACHE_DIR}/cmd"
|
echo "bash --rcfile ${DEST}/b" >> "${CACHE_DIR}/cmd"
|
||||||
echo "rm -rf ${DEST}" >> "${CACHE_DIR}/cmd"
|
echo "rm -rf ${DEST}" >> "${CACHE_DIR}/cmd"
|
||||||
# TODO Do not remove unless last one connected
|
# TODO Do not remove unless last one connected
|
||||||
|
|
||||||
# Cleanup
|
# Cleanup
|
||||||
# rm -rf "$WORK"
|
rm -rf "$WORK"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -1,79 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Geoffrey's trimmed and condensed shell configuration file,
|
|
||||||
# with an healthy and safe dose of aliases and config.
|
|
||||||
# Can be embedded to any server
|
|
||||||
|
|
||||||
# Prefered programs environment variables
|
|
||||||
export PAGER=less
|
|
||||||
if [ -x "$(command -v nvim)" ]
|
|
||||||
then
|
|
||||||
export EDITOR=nvim
|
|
||||||
alias vi=nvim
|
|
||||||
elif [ -x "$(command -v vim)" ]
|
|
||||||
then
|
|
||||||
export EDITOR=vim
|
|
||||||
alias vi=vim
|
|
||||||
else
|
|
||||||
export EDITOR=vi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Completion for existing commands
|
|
||||||
alias ls='ls -h --color=auto'
|
|
||||||
alias mkdir='mkdir -v'
|
|
||||||
alias cp="cp -i"
|
|
||||||
alias mv="mv -iv"
|
|
||||||
alias free='free -h'
|
|
||||||
alias df='df -h'
|
|
||||||
|
|
||||||
# Advanced completions
|
|
||||||
# (not busybox compatible)
|
|
||||||
alias cp="cp -i --reflink=auto"
|
|
||||||
alias grep="grep --color=auto"
|
|
||||||
alias dd='dd status=progress'
|
|
||||||
alias rm='rm -v --one-file-system'
|
|
||||||
alias free='free -m'
|
|
||||||
alias diff='diff --color=auto'
|
|
||||||
alias dmesg='dmesg --ctime'
|
|
||||||
|
|
||||||
# Frequent mistakes
|
|
||||||
alias sl=ls
|
|
||||||
alias al=la
|
|
||||||
alias mdkir=mkdir
|
|
||||||
alias systemclt=systemctl
|
|
||||||
alias please=sudo
|
|
||||||
|
|
||||||
# Shortcuts for commonly used commands
|
|
||||||
alias ll="ls -l"
|
|
||||||
alias la="ls -la"
|
|
||||||
alias s='sudo -s -E'
|
|
||||||
|
|
||||||
# Bash options
|
|
||||||
shopt -s expand_aliases
|
|
||||||
shopt -s histappend
|
|
||||||
HISTCONTROL=ignoreboth:erasedups
|
|
||||||
|
|
||||||
# Program configuration
|
|
||||||
export TIME_STYLE='+%Y-%m-%d %H:%M:%S'
|
|
||||||
export LESS=-R
|
|
||||||
export LESS_TERMCAP_mb=$'\E[1;31m' # begin blink
|
|
||||||
export LESS_TERMCAP_md=$'\E[1;36m' # begin bold
|
|
||||||
export LESS_TERMCAP_me=$'\E[0m' # reset bold/blink
|
|
||||||
export LESS_TERMCAP_so=$'\E[01;44;33m' # begin reverse video
|
|
||||||
export LESS_TERMCAP_se=$'\E[0m' # reset reverse video
|
|
||||||
export LESS_TERMCAP_us=$'\E[1;32m' # begin underline
|
|
||||||
export LESS_TERMCAP_ue=$'\E[0m' # reset underline
|
|
||||||
# from $(dircolors --sh)
|
|
||||||
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:';
|
|
||||||
export LS_COLORS
|
|
||||||
|
|
||||||
# Prompt
|
|
||||||
if [[ $USER == 'root' ]]; then
|
|
||||||
col=31;
|
|
||||||
elif [[ $USER == 'geoffrey' ]]; then
|
|
||||||
col=32;
|
|
||||||
else
|
|
||||||
col=33;
|
|
||||||
fi
|
|
||||||
export PS1="\[\e]2;\u@\H \w\a\]\[\e[0;37m\][\[\e[0;${col}m\]\u\[\e[0;37m\]@\[\e[0;34m\]\h \[\e[0;36m\]\W\[\e[0;37m\]]\$\[\e[0m\] "
|
|
||||||
|
|
Loading…
Reference in a new issue