rice

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit b4f6dbd76f4a3d0eb519ba85d79d250717cda18e
parent 7deb8b163f06dcc2c27da3d71fbd4dad7c536e07
Author: Mark Feller <mark.feller@member.fsf.org>
Date:   Sat, 16 Mar 2019 16:51:54 -0600

cleanup to use with osx

Diffstat:
Mbootstrap.sh | 21++++++++++++++++++++-
Ddots/.bashrc | 146-------------------------------------------------------------------------------
Mdots/.config/alacritty/alacritty.yml | 43++++++++++++++-----------------------------
Mdots/.vimrc | 38++++++++++++++++++++++++++++++++++++++
Mdots/.zshenv | 3++-
Mdots/.zshrc | 47+++++++++++++++++++++++++++++------------------
Apackages | 28++++++++++++++++++++++++++++
Apackages_linux | 7+++++++
8 files changed, 138 insertions(+), 195 deletions(-)

diff --git a/bootstrap.sh b/bootstrap.sh @@ -1,3 +1,22 @@ #!/bin/sh -sudo dnf install i3wm i3lock mpd ncmpcpp ripgrep +PKGS=`grep -v ^\# packages | grep . | awk '{print $1}' | paste -sd ' ' -` + +bootstrap_linux() { + echo "Installing Packages" + sudo dnf install $PKGS +} + +bootstrap_osx() { + echo "Installing Packages" + brew install $PKGS +} + +if [[ "$OSTYPE" == "linux-gnu" ]]; then + bootstrap_linux +elif [[ "$OSTYPE" == "darwin"* ]]; then + bootstrap_osx + IGNORE="--ignore bin|conkyrc|tmux.conf|dunst|rofi|i3|i3status" +fi + +stow $IGNORE dots diff --git a/dots/.bashrc b/dots/.bashrc @@ -1,146 +0,0 @@ -# .bashrc - -# Source global definitions -if [ -f /etc/bashrc ]; then - . /etc/bashrc -fi - -# User specific environment -PATH="$HOME/.local/bin:$HOME/.bin:$PATH" -export PATH - -# Uncomment the following line if you don't like systemctl's auto-paging feature: -# export SYSTEMD_PAGER= - -# User specific aliases and functions - -## Prompt -export PS1="\e[37mλ \W »\e[0m " - -## Alias -alias ls="ls -F" -alias ll="ls -lh" -alias l="ls -la" -alias emacs="TERM=xterm-256color emacs" -alias q="exit" -alias :q="exit" -alias neo="clear && neofetch" -alias notify='terminal-notifier -title "Terminal" -message "Done with taks"' -alias weather="curl wttr.in/\~Boulder+Colorado" -alias f="fzf --preview=\"head -$LINES {}\"" -alias fz="vim \$(f)" -alias vi=vim -alias yt="youtube-dl" - -# Kubernetes -alias kc="kubectl --kubeconfig=$HOME/cluster.config" -alias helm="helm --kubeconfig=$HOME/cluster.config" -export CORE=$GOPATH/src/gitlab.com/redeam/core -alias c="cd $CORE" - -## Kubernetes -function gdep { - godepgraph -o gitlab.com/redeam -s gitlab.com/redeam/core/$1 | dot -Tpng -o /tmp/dep.png - open /tmp/dep.png -} - -function gp { - kubectl --kubeconfig=$HOME/cluster.config get pods | egrep -o "$1.*Running" | egrep -o "$1[^ ]*" | head -1 -} - -function kcforward { - POD=`gp $1` - kubectl --kubeconfig=$HOME/cluster.config port-forward $POD $2:8001 -} - -alias kt="ktail --kubeconfig=$HOME/cluster.config -t ' -$BOLD$LIGHT_CYAN{{ .Container.Name }}$NONE $DIM{{ .Pod.Name }}$NONE $YELLOW{{ if .Timestamp }}{{ .Timestamp.Format \"2006-01-02T15:04:05.999999999Z07:00\" }}{{ end }}$NONE -{{ .Message }} '" - -# coloured manuals -man() { - env \ - LESS_TERMCAP_mb=$(printf "\e[1;31m") \ - LESS_TERMCAP_md=$(printf "\e[1;31m") \ - LESS_TERMCAP_me=$(printf "\e[0m") \ - LESS_TERMCAP_se=$(printf "\e[0m") \ - LESS_TERMCAP_so=$(printf "\e[1;44;33m") \ - LESS_TERMCAP_ue=$(printf "\e[0m") \ - LESS_TERMCAP_us=$(printf "\e[1;32m") \ - man "$@" -} - -setxkbmap -layout us -option ctrl:nocaps - -# fkill - kill process -fkill() { - local pid - pid=$(ps -ef | sed 1d | fzf -m | awk '{print $2}') - - if [ "x$pid" != "x" ] - then - echo $pid | xargs kill -${1:-9} - fi -} - -# ---------------------------------------------------------------------- -# Env -export TERMINAL=$HOME/.bin/alacritty -export PATH=$PATH:/usr/local/bin -export PATH=$PATH:$HOME/.bin - -export HISTSIZE=1000 -export SAVEHIST=1000 -export HISTFILE=~/.history - -## User configuration -export MANPATH=/usr/local/share/man:$MANPATH - -## Haskel -export PATH=$PATH:$HOME/Library/Haskell/bin - -## Go -export GOPATH=$HOME/prog/go -export PATH=$PATH:$GOPATH/bin - -## Rust -export PATH=$PATH:$HOME/.cargo/bin - -## fzf -export FZF_DEFAULT_OPTS='--height 40% --exact' -export FZF_CTRL_T_OPTS="--preview '(highlight -O ansi -l {} 2> /dev/null || cat {} || tree -C {}) 2> /dev/null | head -200'" -export FZF_CTRL_R_OPTS='--sort --exact' - -## Google Cloud SDK -export PATH="/usr/local/opt/texinfo/bin:$PATH" -export PATH="/usr/local/opt/gpg-agent/bin:$PATH" - - - - -# re-wrote the script above -bind '"\C-r": "\C-x1\e^\er"' -bind -x '"\C-x1": __fzf_history'; - -__fzf_history () -{ -__ehc $(history | fzf --tac --tiebreak=index | perl -ne 'm/^\s*([0-9]+)/ and print "!$1"') -} - -__ehc() -{ -if - [[ -n $1 ]] -then - bind '"\er": redraw-current-line' - bind '"\e^": magic-space' - READLINE_LINE=${READLINE_LINE:+${READLINE_LINE:0:READLINE_POINT}}${1}${READLINE_LINE:+${READLINE_LINE:READLINE_POINT}} - READLINE_POINT=$(( READLINE_POINT + ${#1} )) -else - bind '"\er":' - bind '"\e^":' -fi -} - -# auto command to cd without cd -shopt -s autocd diff --git a/dots/.config/alacritty/alacritty.yml b/dots/.config/alacritty/alacritty.yml @@ -24,12 +24,12 @@ window: # Units are physical pixels; this is not DPI aware. # (change requires restart) padding: - x: 10 - y: 10 + x: 45 + y: 45 # Window decorations # Setting this to false will result in window without borders and title bar. - # decorations: transparent + decorations: transparent # Display tabs using this many cells (changes require restart) tabspaces: 8 @@ -58,7 +58,7 @@ font: # style: Italic # Point size of the font - size: 7 + size: 12.0 # Offset is the extra space around each character. offset.y can be thought of # as modifying the linespacing, and offset.x as modifying the letter spacing. @@ -83,13 +83,13 @@ render_timer: false # Use custom cursor colors. If true, display the cursor in the cursor.foreground # and cursor.background colors, otherwise invert the colors of the cursor. -#custom_cursor_colors: false +custom_cursor_colors: false # Colors (Tomorrow Night Bright) colors: # Default colors primary: - background: '#1d2021' + background: '#161819' foreground: '#ebdbb2' # Colors the cursor will use if `custom_cursor_colors` is true @@ -186,8 +186,6 @@ mouse: # or triple click. double_click: { threshold: 300 } triple_click: { threshold: 300 } - - # If this is `true`, the cursor is temporarily hidden when typing. hide_when_typing: true # Faux Scrollback @@ -198,14 +196,14 @@ mouse: # scrolling for applications like `man`. # # To disable this completely, set `faux_scrollback_lines` to 0. - # faux_scrollback_lines: 1 + faux_scrollback_lines: 1 selection: semantic_escape_chars: ",│`|:\"' ()[]{}<>" dynamic_title: true -#hide_cursor_when_typing: true +hide_cursor_when_typing: true # Style of the cursor # @@ -213,7 +211,7 @@ dynamic_title: true # - Block # - Underline # - Beam -#cursor_style: Block +cursor_style: Block # Live config reload (changes require restart) live_config_reload: true @@ -224,7 +222,7 @@ live_config_reload: true # Entries in shell.args are passed unmodified as arguments to the shell. # shell: - program: /bin/bash + program: /bin/zsh # args: # - --login @@ -263,9 +261,11 @@ shell: # `command` must be a map containing a `program` string, and `args` array of # strings. For example: # - { ... , command: { program: "alacritty", args: ["-e", "vttest"] } } +# +# USE: xxd -psd key_bindings: - - { key: V, mods: Control|Shift, action: Paste } - - { key: C, mods: Control|Shift, action: Copy } + - { key: V, mods: Command, action: Paste } + - { key: C, mods: Command, action: Copy } - { key: Q, mods: Command, action: Quit } - { key: W, mods: Command, action: Quit } - { key: Home, chars: "\x1bOH", mode: AppCursor } @@ -443,18 +443,3 @@ key_bindings: - { key: Key6, mods: Alt|Shift, chars: "\x1b^" } # Alt + ^ - { key: Backslash, mods: Alt, chars: "\x1b\\" } # Alt + \ - { key: Backslash, mods: Alt|Shift, chars: "\x1b|" } # Alt + | - - - { key: Period, mods: Alt, chars: "\x1b." } - - { key: Key8, mods: Alt|Shift, chars: "\x1b*" } - - { key: Key3, mods: Alt|Shift, chars: "\x1b#" } - - - { key: Key1, mods: Alt, chars: "\x1b1" } - - { key: Key2, mods: Alt, chars: "\x1b2" } - - { key: Key3, mods: Alt, chars: "\x1b3" } - - { key: Key4, mods: Alt, chars: "\x1b4" } - - { key: Key5, mods: Alt, chars: "\x1b5" } - - { key: Key6, mods: Alt, chars: "\x1b6" } - - { key: Key7, mods: Alt, chars: "\x1b7" } - - { key: Key8, mods: Alt, chars: "\x1b8" } - - { key: Key9, mods: Alt, chars: "\x1b9" } - - { key: Key0, mods: Alt, chars: "\x1b0" } diff --git a/dots/.vimrc b/dots/.vimrc @@ -7,10 +7,15 @@ let mapleader =" " call plug#begin('~/.vim/plugged') +Plug 'Valloric/YouCompleteMe' +Plug '/usr/local/opt/fzf' +Plug 'rust-lang/rust.vim' Plug 'junegunn/goyo.vim' Plug 'fatih/vim-go' call plug#end() +map <leader>g :Goyo<CR> + " Some basics: set nocompatible set encoding=utf-8 @@ -24,3 +29,35 @@ call plug#end() " Open corresponding .pdf map <leader>p :!open <c-r>%<CR><CR> + +" enable man pages in vim + runtime ftplugin/man.vim + +" Window Navigation + nnoremap <C-h> <C-w>h + nnoremap <C-j> <C-w>j + nnoremap <C-k> <C-w>k + nnoremap <C-l> <C-w>l + +" fzf + noremap <C-x><C-f> :FZF<CR> + noremap <C-x>b :Buffers<CR> + noremap <C-x><C-s> :w<CR> + nmap <C-x><C-s> :w<CR> + noremap <C-c>psr :Rg<CR> + noremap <C-c>pf :GFiles<CR> + nmap <C-s> :BLines<CR> + autocmd! FileType fzf + autocmd FileType fzf set laststatus=0 noshowmode noruler + \| autocmd BufLeave <buffer> set laststatus=2 showmode ruler + + noremap <C-x>` :cn<CR> + noremap <C-x><C-c> :qa<CR> + noremap <C-c><C-c> :GoBuild + + command! Core execute ":cd $CORE" + + + nnoremap gi :GoImports<CR> + + noremap <leader>t :vertical terminal<CR>+ \ No newline at end of file diff --git a/dots/.zshenv b/dots/.zshenv @@ -1,6 +1,5 @@ export TERMINAL=$HOME/bin/alacritty export PATH=$PATH:/usr/local/bin -export PATH=$PATH:$HOME/.bin ## ZSH Config export ZDOTDIR=$HOME @@ -28,9 +27,11 @@ export PATH="/usr/local/sbin:$PATH" export PATH=$PATH:$HOME/Library/Haskell/bin ## Go +export GOROOT=/usr/local/go export GOPATH=$HOME/prog/go export PATH=$PATH:$GOPATH/bin export CORE=$GOPATH/src/gitlab.com/redeam/core +export OPS=$GOPATH/src/gitlab.com/redeam/corestar ## Docker export DOCKER_HIDE_LEGACY_COMMANDS=1 diff --git a/dots/.zshrc b/dots/.zshrc @@ -14,11 +14,13 @@ alias f="fzf --preview=\"head -$LINES {}\"" alias fz="vim \$(f)" alias vi=vim alias yt="youtube-dl" +alias r="ranger" # Kubernetes alias kc="kubectl --kubeconfig=$HOME/cluster.config" alias helm="helm --kubeconfig=$HOME/cluster.config" alias c="cd $CORE" +alias o="cd $OPS" ## Kubernetes function gdep { @@ -26,15 +28,6 @@ function gdep { open /tmp/dep.png } -function gp { - kubectl --kubeconfig=$HOME/cluster.config get pods | egrep -o "$1.*Running" | egrep -o "$1[^ ]*" | head -1 -} - -function kcforward { - POD=`gp $1` - kubectl --kubeconfig=$HOME/cluster.config port-forward $POD $2:8001 -} - alias kt="ktail --kubeconfig=$HOME/cluster.config -t ' $BOLD$LIGHT_CYAN{{ .Container.Name }}$NONE $DIM{{ .Pod.Name }}$NONE $YELLOW{{ if .Timestamp }}{{ .Timestamp.Format \"2006-01-02T15:04:05.999999999Z07:00\" }}{{ end }}$NONE {{ .Message }} '" @@ -48,6 +41,17 @@ function fhc { echo -n $( ([ -n "$ZSH_NAME" ] && fc -l 1 || history) | fzf +s --tac | sed 's/ *[0-9]* *//') | pbcopy } +# fkill - kill process +fkill() { + local pid + pid=$(ps -ef | sed 1d | fzf -m | awk '{print $2}') + + if [ "x$pid" != "x" ] + then + echo $pid | xargs kill -${1:-9} + fi +} + # coloured manuals man() { env \ @@ -63,15 +67,22 @@ man() { autoload -U +X bashcompinit && bashcompinit -# if [ -z $TMUX ] -# then -# tmux ls && read tmux_session && tmux attach -t ${tmux_session:-default} || tmux new -s ${tmux_session:-default} -# fi +if [[ "$OSTYPE" == "linux-gnu" ]]; then + setxkbmap -layout us -option ctrl:nocaps + + # The next line updates PATH for the Google Cloud SDK. + if [ -f '/home/mjf/prog/google-cloud-sdk/path.zsh.inc' ]; then + . '/home/mjf/prog/google-cloud-sdk/path.zsh.inc'; + fi -setxkbmap -layout us -option ctrl:nocaps + # The next line enables shell command completion for gcloud. + if [ -f '/home/mjf/prog/google-cloud-sdk/completion.zsh.inc' ]; then + . '/home/mjf/prog/google-cloud-sdk/completion.zsh.inc'; + fi -# The next line updates PATH for the Google Cloud SDK. -if [ -f '/home/mjf/prog/google-cloud-sdk/path.zsh.inc' ]; then . '/home/mjf/prog/google-cloud-sdk/path.zsh.inc'; fi +elif [[ "$OSTYPE" == "darwin"* ]]; then + if [ -f '/Users/markfeller/Downloads/google-cloud-sdk/completion.zsh.inc' ]; then + source '/Users/markfeller/Downloads/google-cloud-sdk/completion.zsh.inc'; + fi +fi -# The next line enables shell command completion for gcloud. -if [ -f '/home/mjf/prog/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/mjf/prog/google-cloud-sdk/completion.zsh.inc'; fi diff --git a/packages b/packages @@ -0,0 +1,27 @@ +# Shell +zsh + +# Music +mpd +mpc +ncmpcpp + +# Utilities +fzf +ripgrep +emacs +vim +ranger # file browser +wget +youtube-dl +htop +jq +neofetch +stow # manage dotfiles + +# build systems +cmake +gcc +go +pyenv +ipython+ \ No newline at end of file diff --git a/packages_linux b/packages_linux @@ -0,0 +1,6 @@ +i3wm +i3status +i3lock +rofi +dunst +libnotify+ \ No newline at end of file