diff --git a/.pymolrc b/.pymolrc deleted file mode 100644 index 6cf75c2..0000000 --- a/.pymolrc +++ /dev/null @@ -1,21 +0,0 @@ -set fetch_path, /tmp -set async_builds, on -set max_threads, 16 -set cache_mode - -set opaque_background, 0 -log_open /tmp/pymol_log.pml -set cartoon_side_chain_helper, 1 -set cartoon_highlight_color, grey50 - -set_key F1, as lines, solvent -set_key F2, hide everything, solvent -set_key F3, as spheres, inorganic and (n. NA or n. K or n. CL or n. CA or n. XE or n. RN) -set_key F4, hide everything, inorganic and (n. NA or n. K or n. CL or n. CA or n. XE or n. RN) -set_key F5, as sticks, organic -set_key F6, hide everything, organic - -set_key F9, set orthoscopic -set_key F10, set orthoscopic, off -set_key F11, ray -set_key F12, ray 1600,1600 diff --git a/.ssh/config b/.ssh/config deleted file mode 100644 index 8ba3dad..0000000 --- a/.ssh/config +++ /dev/null @@ -1,25 +0,0 @@ -Host * - ForwardX11 yes - PermitLocalCommand yes - #LocalCommand tar c -C${HOME} --exclude="dotfiles/.git" --exclude=".zim/.git" dotfiles .zim | ssh -o PermitLocalCommand=no %n "tar mx -C${HOME}; bash ~/dotfiles/dotfiles_setup.sh ; chsh -s /bin/zsh" - -Host summonerapi - HostName 46.4.78.43 - -Host biodata0 - User bauer - HostName biodata0.compbiol.bio.tu-darmstadt.de - -Host bioclust - User bauer - HostName bioclust.bio.tu-darmstadt.de - -Host bioinfo4 - HostName 10.0.0.4 - User bauer - ProxyCommand ssh -q biodata0 nc -q0 %h 22 - -Host lcluster?* - User yg38ymab - ForwardX11 yes - HostName %h.hrz.tu-darmstadt.de diff --git a/.zshrc b/.zshrc deleted file mode 100644 index 6d9d7f8..0000000 --- a/.zshrc +++ /dev/null @@ -1,56 +0,0 @@ -if [ -f `which powerline-daemon` ]; then - powerline-daemon -q - POWERLINE_BASH_CONTINUATION=1 - POWERLINE_BASH_SELECT=1 - . /usr/local/lib/python2.7/dist-packages/powerline/bindings/zsh/powerline.zsh -fi - -# Change default zim location -export ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim - -# Start zim -[[ -s ${ZIM_HOME}/init.zsh ]] && source ${ZIM_HOME}/init.zsh - -# gromacs needs to be before ZIM for autocompletion -if [ -z "$GMXRC" ]; then - GMXRC="/opt/gromacs-2018/bin/GMXRC" -fi -source $GMXRC - -# preferences -export LANG=en_US.UTF-8 -export EDITOR='vim' -export SSH_KEY_PATH="~/.ssh/rsa_id" -export TERMINAL="terminator" -export BROWSER="firefox" -export PAGER='most' -export BAT_PAGER='less' - -# alter path -export PATH="$HOME/.cargo/bin:$PATH" -export PATH="$HOME/anaconda3/bin:${PATH}" # binaries -export PATH="$HOME/bin:${PATH}" # binaries -export PATH="$HOME/scripts:${PATH}" # scripts -export PATH="$HOME/.local/bin:${PATH}" # python executeables - -# aliases -if [ -f .cargo/bin/bat ]; then - alias cat='bat' -fi -alias clip='xsel --clipboard' -alias groclean='rm \#*' -alias sm='snakemake' -alias ls='ls -lh' -alias workon='source activate' # enable anaconda environ - -# config specific to this machine (not copied from dotfiles) -if [ -f $HOME/.zshrc_local ]; then - source $HOME/.zshrc_local -fi - -# fasd autocompletion -eval "$(fasd --init auto)" - -# marker -[[ -s "$HOME/.local/share/marker/marker.sh" ]] && source "$HOME/.local/share/marker/marker.sh" - diff --git a/dotfiles.sh b/dotfiles.sh new file mode 100755 index 0000000..19c52db --- /dev/null +++ b/dotfiles.sh @@ -0,0 +1,57 @@ +#!/bin/bash + + +PROFILE_BASE_DIR=$HOME/.dotfiles/profiles + +# Link files of a single profile +link_profile() { + profile=$1 + profile_dir=${PROFILE_BASE_DIR}/$profile + + + if [ ! -d $profile_dir ]; then + echo "$profile does not exist" + exit 1 + else + echo "Linking files from profile $profile" + fi + + cd $profile_dir + # Find all files to link + for file in `find . -type f | cut -c 3- | grep -v "^$"`; do + dir=$(dirname "${file}") + src=`pwd`/$file + dst_dir=$HOME/$dir + dst=$HOME/$file + + # create folder if not exist + if [ ! -d "$dst_dir" ]; then + echo "Creating destination direcory $dst_dir" + mkdir -p $dst_dir + fi + + # link file + echo "Linking $src to $dst" + if [ -f "${dst}" ] || [ -L "${dst}" ]; then + echo "$dst_file esists. Override? [y/N]" + read response + if [ "$response" == 'y' ] || [ "$response" == 'Y' ] \ + || [ "$response" == 'yes' ] || [ "$response" == 'Yes' ]; then + ln -sf $src $dst + else + echo "Skipping $file" + fi + else + ln -s $src $dst + fi + done +} + +# link profiles +if [ "$1" == "link" ]; then + shift + while [ "$1" != "" ]; do + link_profile $1 + shift + done +fi \ No newline at end of file diff --git a/dotfiles_setup.sh b/dotfiles_setup.sh deleted file mode 100755 index 0180853..0000000 --- a/dotfiles_setup.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -dir="${HOME}/dotfiles" -conffolder="${HOME}/.config" - -dotfiles=(".vimrc" ".vim" ".vimrc" ".zshrc" ".zshrc_functions" ".zim" ".zimrc" ".gitconfig") -for dotfile in "${dotfiles[@]}"; do - ln -sf $dir/$dotfile ${HOME}/${dotfile} -done - -# fonts -mkdir -p ~/.config/fontconfig -ln -sf $dir/.config/fontconfig/fonts.conf $conffolder/fontconfig/fonts.conf - -# matplotlib -ln -sf $dir/.config/matplotlib ~/.config/matplotlib diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..64b4041 --- /dev/null +++ b/install.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +# Make ZSH the default shell environment +if [ `cat /etc/passwd | grep $USER | awk -F ':' '{print $7}'` != "/bin/zsh" ]; then + echo "Changing shell to zsh" + chsh -s $(which zsh) +fi + +# ZIM Installation +if [ ! -d "$HOME/.zim" ]; then + echo "Installing ZIM" + git clone --recursive --depth=1 https://github.com/zimfw/zimfw.git \ + ${ZDOTDIR:-${HOME}}/.zim +else + echo "ZIM already exists." +fi + +# Powerlevel9k Theme +if [ ! -d "$HOME/.zim/modules/prompt/external-themes/powerlevel9k" ]; then + echo "Installing Powerlevel9k theme" + git clone --depth=1 https://github.com/bhilburn/powerlevel9k.git \ + ~/.zim/modules/prompt/external-themes/powerlevel9k + ln -s ~/.zim/modules/prompt/external-themes/powerlevel9k/powerlevel9k.zsh-theme ~/.zim/modules/prompt/functions/prompt_powerlevel9k_setup +else + echo "Powerlevel9k already exists." +fi + +# Conda and pip +if [ ! -d "$HOME/conda" ]; then + echo "Installing Conda" + wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh + bash /tmp/miniconda.sh -b -p ~/conda + rm /tmp/miniconda.sh + echo "yes" | conda install pip +else + echo "Conda already installed" +fi + +# Marker +if [ ! -d "$HOME/.marker" ]; then + echo "Installing Marker" + git clone --depth=1 https://github.com/pindexis/marker $HOME/.marker + $HOME/.marker/install.py +fi + +# linking dotfiles +$HOME/.dotfiles/dotfiles.sh link base + diff --git a/profiles/base/.aliases b/profiles/base/.aliases new file mode 100644 index 0000000..88cdc5e --- /dev/null +++ b/profiles/base/.aliases @@ -0,0 +1,9 @@ +# aliases +if [ -f .cargo/bin/bat ]; then + alias cat='bat' +fi +alias clip='xsel --clipboard' +alias groclean='rm \#*' +alias sm='snakemake' +alias ls='ls -lh' +alias workon='source activate' # enable anaconda environ diff --git a/.config/fontconfig/fonts.conf b/profiles/base/.config/fontconfig/fonts.conf similarity index 100% rename from .config/fontconfig/fonts.conf rename to profiles/base/.config/fontconfig/fonts.conf diff --git a/profiles/base/.environment b/profiles/base/.environment new file mode 100644 index 0000000..5cd3351 --- /dev/null +++ b/profiles/base/.environment @@ -0,0 +1,19 @@ +#!/bin/bash + +# system preferences +export LANG=en_US.UTF-8 +export SSH_KEY_PATH="~/.ssh/rsa_id" + +# Prefered programs +export EDITOR='vim' +export TERMINAL="terminator" +export BROWSER="firefox" +export PAGER='most' +export BAT_PAGER='less' + +# Path +export PATH="$HOME/.cargo/bin:$PATH" +export PATH="$HOME/conda/bin:${PATH}" # binaries +export PATH="$HOME/bin:${PATH}" # binaries +export PATH="$HOME/scripts:${PATH}" # scripts +export PATH="$HOME/.local/bin:${PATH}" # python executeables diff --git a/profiles/base/.functions b/profiles/base/.functions new file mode 100644 index 0000000..414ad85 --- /dev/null +++ b/profiles/base/.functions @@ -0,0 +1,10 @@ +sm_autocomplete() { + # make zsh emulate bash if necessary + if [[ -n "$ZSH_VERSION" ]]; then + autoload bashcompinit + bashcompinit + fi + + snakemake_options=$(snakemake --snakefile Snakefile --list) + complete -W "${snakemake_options}" 'snakemake' +} \ No newline at end of file diff --git a/.gitconfig b/profiles/base/.gitconfig similarity index 100% rename from .gitconfig rename to profiles/base/.gitconfig diff --git a/.vimrc b/profiles/base/.vimrc similarity index 100% rename from .vimrc rename to profiles/base/.vimrc diff --git a/.zimrc b/profiles/base/.zimrc similarity index 100% rename from .zimrc rename to profiles/base/.zimrc diff --git a/profiles/base/.zshrc b/profiles/base/.zshrc new file mode 100644 index 0000000..ba04bc4 --- /dev/null +++ b/profiles/base/.zshrc @@ -0,0 +1,37 @@ +if [ -f `which powerline-daemon` ]; then + powerline-daemon -q + POWERLINE_BASH_CONTINUATION=1 + POWERLINE_BASH_SELECT=1 + . /usr/local/lib/python2.7/dist-packages/powerline/bindings/zsh/powerline.zsh +fi + +# Change default zim location +export ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim + +# Start zim +[[ -s ${ZIM_HOME}/init.zsh ]] && source ${ZIM_HOME}/init.zsh + +# source other dotfiles +source $HOME/.environment +if [ -f "$HOME/.environment.local" ]; then + source $HOME/.environment.local +fi + +source $HOME/.aliases +source $HOME/.functions + +if [ -z "$GMXRC" ]; then + GMXRC="/opt/gromacs-2018/bin/GMXRC" +fi +source $GMXRC + +# config specific to this machine +if [ -f $HOME/.zshrc_local ]; then + source $HOME/.zshrc_local +fi + +# fasd autocompletion +eval "$(fasd --init auto)" + +# marker +[[ -s "$HOME/.local/share/marker/marker.sh" ]] && source "$HOME/.local/share/marker/marker.sh" diff --git a/.config/i3/autoxrandr b/profiles/i3/.config/i3/autoxrandr similarity index 100% rename from .config/i3/autoxrandr rename to profiles/i3/.config/i3/autoxrandr diff --git a/.config/i3/config b/profiles/i3/.config/i3/config similarity index 100% rename from .config/i3/config rename to profiles/i3/.config/i3/config diff --git a/.config/i3/scripts/change_monitor.sh b/profiles/i3/.config/i3/scripts/change_monitor.sh similarity index 100% rename from .config/i3/scripts/change_monitor.sh rename to profiles/i3/.config/i3/scripts/change_monitor.sh diff --git a/.config/i3/scripts/cpu_usage b/profiles/i3/.config/i3/scripts/cpu_usage similarity index 100% rename from .config/i3/scripts/cpu_usage rename to profiles/i3/.config/i3/scripts/cpu_usage diff --git a/.config/i3/scripts/current_track b/profiles/i3/.config/i3/scripts/current_track similarity index 100% rename from .config/i3/scripts/current_track rename to profiles/i3/.config/i3/scripts/current_track diff --git a/.config/i3/scripts/disk b/profiles/i3/.config/i3/scripts/disk similarity index 100% rename from .config/i3/scripts/disk rename to profiles/i3/.config/i3/scripts/disk diff --git a/.config/i3/scripts/exit_menu b/profiles/i3/.config/i3/scripts/exit_menu similarity index 100% rename from .config/i3/scripts/exit_menu rename to profiles/i3/.config/i3/scripts/exit_menu diff --git a/.config/i3/scripts/gpu b/profiles/i3/.config/i3/scripts/gpu similarity index 100% rename from .config/i3/scripts/gpu rename to profiles/i3/.config/i3/scripts/gpu diff --git a/.config/i3/scripts/keyboard_layout b/profiles/i3/.config/i3/scripts/keyboard_layout similarity index 100% rename from .config/i3/scripts/keyboard_layout rename to profiles/i3/.config/i3/scripts/keyboard_layout diff --git a/.config/i3/scripts/load_average b/profiles/i3/.config/i3/scripts/load_average similarity index 100% rename from .config/i3/scripts/load_average rename to profiles/i3/.config/i3/scripts/load_average diff --git a/.config/i3/scripts/memory b/profiles/i3/.config/i3/scripts/memory similarity index 100% rename from .config/i3/scripts/memory rename to profiles/i3/.config/i3/scripts/memory diff --git a/.config/i3/scripts/openvpn b/profiles/i3/.config/i3/scripts/openvpn similarity index 100% rename from .config/i3/scripts/openvpn rename to profiles/i3/.config/i3/scripts/openvpn diff --git a/.config/i3/scripts/shutdown_menu b/profiles/i3/.config/i3/scripts/shutdown_menu similarity index 100% rename from .config/i3/scripts/shutdown_menu rename to profiles/i3/.config/i3/scripts/shutdown_menu diff --git a/.config/i3/scripts/song.awk b/profiles/i3/.config/i3/scripts/song.awk similarity index 100% rename from .config/i3/scripts/song.awk rename to profiles/i3/.config/i3/scripts/song.awk diff --git a/.config/i3/scripts/spotify.py b/profiles/i3/.config/i3/scripts/spotify.py similarity index 100% rename from .config/i3/scripts/spotify.py rename to profiles/i3/.config/i3/scripts/spotify.py diff --git a/.config/i3/scripts/spotify_control b/profiles/i3/.config/i3/scripts/spotify_control similarity index 100% rename from .config/i3/scripts/spotify_control rename to profiles/i3/.config/i3/scripts/spotify_control diff --git a/.config/i3/scripts/spotify_control.bck b/profiles/i3/.config/i3/scripts/spotify_control.bck similarity index 100% rename from .config/i3/scripts/spotify_control.bck rename to profiles/i3/.config/i3/scripts/spotify_control.bck diff --git a/.config/i3/scripts/ssd b/profiles/i3/.config/i3/scripts/ssd similarity index 100% rename from .config/i3/scripts/ssd rename to profiles/i3/.config/i3/scripts/ssd diff --git a/.config/i3/scripts/tmux b/profiles/i3/.config/i3/scripts/tmux similarity index 100% rename from .config/i3/scripts/tmux rename to profiles/i3/.config/i3/scripts/tmux diff --git a/.config/i3/scripts/volume b/profiles/i3/.config/i3/scripts/volume similarity index 100% rename from .config/i3/scripts/volume rename to profiles/i3/.config/i3/scripts/volume diff --git a/.config/i3/scripts/volume-pulseaudio b/profiles/i3/.config/i3/scripts/volume-pulseaudio similarity index 100% rename from .config/i3/scripts/volume-pulseaudio rename to profiles/i3/.config/i3/scripts/volume-pulseaudio diff --git a/.config/i3/scripts/volume_1 b/profiles/i3/.config/i3/scripts/volume_1 similarity index 100% rename from .config/i3/scripts/volume_1 rename to profiles/i3/.config/i3/scripts/volume_1 diff --git a/.config/i3/workspace-9.json b/profiles/i3/.config/i3/workspace-9.json similarity index 100% rename from .config/i3/workspace-9.json rename to profiles/i3/.config/i3/workspace-9.json diff --git a/.config/i3/xrandr.sh b/profiles/i3/.config/i3/xrandr.sh similarity index 100% rename from .config/i3/xrandr.sh rename to profiles/i3/.config/i3/xrandr.sh diff --git a/.config/polybar/config b/profiles/i3/.config/polybar/config similarity index 100% rename from .config/polybar/config rename to profiles/i3/.config/polybar/config diff --git a/.config/polybar/gpu.sh b/profiles/i3/.config/polybar/gpu.sh similarity index 100% rename from .config/polybar/gpu.sh rename to profiles/i3/.config/polybar/gpu.sh diff --git a/.config/polybar/polybar.sh b/profiles/i3/.config/polybar/polybar.sh similarity index 100% rename from .config/polybar/polybar.sh rename to profiles/i3/.config/polybar/polybar.sh diff --git a/.config/polybar/spotify.py b/profiles/i3/.config/polybar/spotify.py similarity index 100% rename from .config/polybar/spotify.py rename to profiles/i3/.config/polybar/spotify.py diff --git a/profiles/laptop/.Xresources b/profiles/laptop/.Xresources new file mode 100644 index 0000000..e3fb627 --- /dev/null +++ b/profiles/laptop/.Xresources @@ -0,0 +1,7 @@ +Xft.dpi: 130 +Xft.autohint: 0 +Xft.lcdfilter: lcddefault +Xft.hintstyle: hintfull +Xft.hinting: 1 +Xft.antialias: 1 +Xft.rgba: rgb diff --git a/profiles/pymol/.pymol/.pymol b/profiles/pymol/.pymol/.pymol new file mode 120000 index 0000000..210ed3d --- /dev/null +++ b/profiles/pymol/.pymol/.pymol @@ -0,0 +1 @@ +/home/bauer/dotfiles/.pymol \ No newline at end of file diff --git a/.pymol/pymol-edu-license.lic b/profiles/pymol/.pymol/pymol-edu-license.lic similarity index 100% rename from .pymol/pymol-edu-license.lic rename to profiles/pymol/.pymol/pymol-edu-license.lic diff --git a/.pymol/startup/Draw_Protein_Dimensions.py b/profiles/pymol/.pymol/startup/Draw_Protein_Dimensions.py similarity index 100% rename from .pymol/startup/Draw_Protein_Dimensions.py rename to profiles/pymol/.pymol/startup/Draw_Protein_Dimensions.py diff --git a/.pymol/startup/anglebetweenhelices.py b/profiles/pymol/.pymol/startup/anglebetweenhelices.py similarity index 100% rename from .pymol/startup/anglebetweenhelices.py rename to profiles/pymol/.pymol/startup/anglebetweenhelices.py diff --git a/.pymol/startup/axes.py b/profiles/pymol/.pymol/startup/axes.py similarity index 100% rename from .pymol/startup/axes.py rename to profiles/pymol/.pymol/startup/axes.py diff --git a/.pymol/startup/center_of_mass.py b/profiles/pymol/.pymol/startup/center_of_mass.py similarity index 100% rename from .pymol/startup/center_of_mass.py rename to profiles/pymol/.pymol/startup/center_of_mass.py diff --git a/.pymol/startup/centroid.py b/profiles/pymol/.pymol/startup/centroid.py similarity index 100% rename from .pymol/startup/centroid.py rename to profiles/pymol/.pymol/startup/centroid.py diff --git a/.pymol/startup/color_h.py b/profiles/pymol/.pymol/startup/color_h.py similarity index 100% rename from .pymol/startup/color_h.py rename to profiles/pymol/.pymol/startup/color_h.py diff --git a/.pymol/startup/dssp_stride.py b/profiles/pymol/.pymol/startup/dssp_stride.py similarity index 100% rename from .pymol/startup/dssp_stride.py rename to profiles/pymol/.pymol/startup/dssp_stride.py diff --git a/.pymol/startup/propka.py b/profiles/pymol/.pymol/startup/propka.py similarity index 100% rename from .pymol/startup/propka.py rename to profiles/pymol/.pymol/startup/propka.py diff --git a/.pymol/startup/show_contact_map.py b/profiles/pymol/.pymol/startup/show_contact_map.py similarity index 100% rename from .pymol/startup/show_contact_map.py rename to profiles/pymol/.pymol/startup/show_contact_map.py diff --git a/.pymol/startup/spectrum_states.py b/profiles/pymol/.pymol/startup/spectrum_states.py similarity index 100% rename from .pymol/startup/spectrum_states.py rename to profiles/pymol/.pymol/startup/spectrum_states.py diff --git a/.pymol/startup/visualize_dca_scores.py b/profiles/pymol/.pymol/startup/visualize_dca_scores.py similarity index 100% rename from .pymol/startup/visualize_dca_scores.py rename to profiles/pymol/.pymol/startup/visualize_dca_scores.py diff --git a/profiles/pymol/.pymolrc b/profiles/pymol/.pymolrc new file mode 100644 index 0000000..242a07e --- /dev/null +++ b/profiles/pymol/.pymolrc @@ -0,0 +1,63 @@ +# general environment +bg_color white +space cmyk +set fetch_path, /tmp +log_open /tmp/pymol_log.pml +set retain_order + + +# interface +set overlay, 1 +set internal_gui_control_size, 10 +set display_scale_factor, 2 + +# performance +set async_builds, on +set max_threads, 8 +set cache_mode +set defer_builds_mode, 3 +set hash_max, 500 + +# shortcuts +set_key F1, as lines, solvent +set_key F2, hide everything, solvent +set_key F3, as spheres, inorganic and (n. NA or n. K or n. CL or n. CA or n. XE or n. RN) +set_key F4, hide everything, inorganic and (n. NA or n. K or n. CL or n. CA or n. XE or n. RN) +set_key F5, as sticks, organic +set_key F6, hide everything, organic +set_key F9, set depth_cue +set_key F10, set depth_cue, off +set_key F11, ray 800,800 +set_key F12, ray 1600,1600 + +#Extending colors with color-blindness friendly color palette +#References: +#http://jfly.iam.u-tokyo.ac.jp/html/color_cb/#pallet +#https://personal.sron.nl/~pault/colourschemes.pdf +set_color cb_blue, [51, 34, 136] +set_color cb_tan, [221, 204, 119] +set_color cb_lightblue, [136, 204, 238] +set_color cb_green, [17, 119, 51] +set_color cb_teal, [68, 170, 153] +set_color cb_gold, [153, 153, 51] +set_color cb_salmon, [204, 102, 119] +set_color cb_red, [136, 34, 85] +set_color cb_pink, [170, 68, 153] + +# raytrace +set depth_cue, 0 +set ray_opaque_background, false +set orthoscopic, 0 +set ray_shadow, false +set spec_reflect, 0 +set antialias, 0 +set surface_quality, 1 +set ray_trace_mode, 0 + +set valence, 0 +set cartoon_side_chain_helper, 1 +set cartoon_discrete_colors, on + +alias clean, hide everything, hydrogen + +