├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── Xresources ├── bash_profile ├── bashrc ├── bootstrap.sh ├── cdmrc ├── fish ├── config.fish └── functions │ ├── __pip.fish │ ├── fish_greeting.fish │ └── fish_prompt.fish ├── i3 ├── detect_displays.sh ├── i3-run ├── i3.config └── shared.config ├── i3status └── config ├── nanorc ├── npmrc ├── nvim ├── autoload │ └── plug.vim └── init.vim ├── pkglist-local.txt ├── pkglist.txt ├── ranger ├── rc.conf ├── rifle.conf └── scope.sh ├── screenshots └── 2016-01-30-054717_swaygrab.png ├── scripts └── select-shell ├── sway ├── shared.config ├── sway-run └── sway.config ├── termite └── config ├── tmux.conf ├── vim ├── vimrc ├── xinitrc ├── zathura └── zathurarc ├── zsh ├── .zshrc └── zshrc └── zshenv /.gitignore: -------------------------------------------------------------------------------- 1 | fish/fish_history 2 | fish/fish_read_history 3 | fish/fishd.* 4 | nvim/.netrwhist 5 | nvim/plugged/ 6 | ranger/bookmarks 7 | ranger/history 8 | ranger/tagged 9 | zsh/.zcompdump* 10 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "nvim/vim-plug"] 2 | path = nvim/vim-plug 3 | url = https://github.com/junegunn/vim-plug.git 4 | [submodule "zsh/oh-my-zsh"] 5 | path = zsh/oh-my-zsh 6 | url = https://github.com/robbyrussell/oh-my-zsh.git 7 | [submodule "zsh/custom/plugins/zsh-syntax-highlighting"] 8 | path = zsh/custom/plugins/zsh-syntax-highlighting 9 | url = https://github.com/zsh-users/zsh-syntax-highlighting.git 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Robert Schütz 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # dotfiles 2 | This repository collects some user configuration files from my [Arch Linux][Arch Linux] system. 3 | 4 | What's special about these? I'm using a window manager called [Sway][Sway] running on **Wayland**. Yay :tada: :tada: 5 | 6 | [Arch Linux]: https://www.archlinux.org/ 7 | [Sway]: https://github.com/SirCmpwn/sway 8 | 9 | ![](https://raw.githubusercontent.com/dotlambda/dotfiles/master/screenshots/2016-01-30-054717_swaygrab.png) 10 | 11 | ## Installation 12 | Clone this repo with git's `--recursive` flag to obtain all submodules. Run [bootstrap.sh][bootstrap.sh] to symlink the dotfiles in this repo to `$HOME` or `$XDG_CONFIG_HOME` and to install vim plugins. 13 | 14 | [bootstrap.sh]: https://github.com/dotlambda/dotfiles/blob/master/bootstrap.sh 15 | 16 | ## What software do these configure? 17 | * [CDM](https://github.com/ghost1227/cdm): console-based display manager 18 | * [fish](https://fishshell.com/): the shell I use 19 | * [i3wm](https://i3wm.org/): not used anymore, because I switched to Wayland 20 | * [Neovim](https://neovim.io/): vim fork 21 | * [vim-plug](https://github.com/junegunn/vim-plug): plugin manager 22 | * [ranger](http://nongnu.org/ranger/): file manager 23 | * [Sway](https://github.com/SirCmpwn/sway): my preferred tiling WM for Wayland 24 | * [termite](https://github.com/thestinger/termite/): terminal, though I only used it in i3 25 | * [urxvt](http://software.schmorp.de/pkg/rxvt-unicode.html): terminal, configured in [Xresources][Xresources] 26 | * [zathura](https://pwmt.org/projects/zathura/): PDF reader 27 | * [Zsh](http://www.zsh.org/): fallback shell for bash compatibility 28 | * [Oh My Zsh](http://ohmyz.sh/) 29 | 30 | [Xresources]: https://github.com/dotlambda/dotfiles/blob/master/Xresources 31 | 32 | ### Installed packages 33 | I've created two files: 34 | * [pkglist.txt](https://github.com/dotlambda/dotfiles/blob/master/pkglist.txt) where I store a record of all packages installed from the official Arch repo. This list is generated using `pacman -Qqen`. 35 | * [pkglist-local.txt](https://github.com/dotlambda/dotfiles/blob/master/pkglist-local.txt) where all packages installed from the [AUR](https://aur.archlinux.org/) are listed. This list is generated using `pacman -Qqem`. 36 | -------------------------------------------------------------------------------- /Xresources: -------------------------------------------------------------------------------- 1 | URxvt.background: #101b2a 2 | URxvt.foreground: #dcdccc 3 | 4 | URxvt.font: xft:ProFont:size=8 5 | 6 | URxvt.scrollstyle: plain 7 | 8 | URxvt.scrollBar_right: true 9 | 10 | URxvt.termName: rxvt-256color 11 | 12 | URxvt.iso14755: false 13 | 14 | URxvt.perl-ext: default,url-select 15 | URxvt.keysym.M-u: perl:url-select:select_next 16 | URxvt.url-select.launcher: /usr/bin/xdg-open 17 | URxvt.url-select.underline: true 18 | 19 | URxvt.perl-ext-common: default,clipboard 20 | URxvt.keysym.Shift-Control-C: perl:clipboard:copy 21 | URxvt.keysym.Shift-Control-V: perl:clipboard:paste 22 | -------------------------------------------------------------------------------- /bash_profile: -------------------------------------------------------------------------------- 1 | # 2 | # ~/.bash_profile 3 | # 4 | 5 | if [[ -f "$HOME/.bashrc" ]]; then 6 | source "$HOME/.bashrc" 7 | fi 8 | 9 | # TMUX 10 | if which tmux >/dev/null 2>&1; then 11 | #if not inside a tmux session, and if no session is started, start a new session 12 | test -z "$TMUX" && (tmux attach || tmux new-session) 13 | fi 14 | -------------------------------------------------------------------------------- /bashrc: -------------------------------------------------------------------------------- 1 | # 2 | # ~/.bashrc 3 | # 4 | 5 | export PATH=$HOME/bin:$PATH 6 | 7 | if [[ -z "$XDG_CONFIG_HOME" ]]; then 8 | export XDG_CONFIG_HOME="$HOME/.config" 9 | fi 10 | 11 | # If not running interactively, don't do anything 12 | [[ $- != *i* ]] && return 13 | -------------------------------------------------------------------------------- /bootstrap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # bootstrap.sh 4 | # Symlink all dotfiles in this repo to their appropriate location. 5 | # 6 | # Inspired by https://github.com/bamos/dotfiles/blob/master/bootstrap.sh 7 | 8 | set -e 9 | 10 | if [[ -z "$XDG_CONFIG_HOME" ]]; then 11 | XDG_CONFIG_HOME="$HOME/.config" 12 | fi 13 | 14 | link_file() { 15 | local ORIG="$1"; local NEW="$2" 16 | 17 | echo " '$ORIG'" 18 | if [[ $BACKUP =~ ^[Yy]$ ]] && [ ! -h $ORIG ]; then 19 | mv "$ORIG" "${ORIG}.save" &> /dev/null \ 20 | && echo " ...backed up" 21 | else 22 | rm -rf "$ORIG" 23 | echo " ...deleted" 24 | fi 25 | ln -s "$NEW" "$ORIG" && echo " ...linked" 26 | } 27 | 28 | 29 | if [[ $# == 1 ]]; then 30 | [[ $1 =~ '-y' ]] && BACKUP='y' 31 | [[ $1 =~ '-n' ]] && BACKUP='n' 32 | else 33 | read -p "Backup files ? [Y/n] " -n 1; echo 34 | BACKUP=$REPLY 35 | if [[ $BACKUP == '' ]]; then 36 | BACKUP='y' 37 | fi 38 | fi 39 | 40 | cd "$(dirname "${BASH_SOURCE}")" # Switch to dotfiles directory 41 | 42 | echo "Symlinking..." 43 | 44 | for DOTFILE in $(find -L . -maxdepth 1 -type f ! -name '.*'); do 45 | [[ $DOTFILE != './bootstrap.sh' ]] \ 46 | && [[ $DOTFILE != './README.md' ]] \ 47 | && [[ $DOTFILE != './LICENSE' ]] \ 48 | && [[ ! $DOTFILE =~ pkglist ]] \ 49 | && link_file "$HOME/.$(basename $DOTFILE)" "$PWD/$DOTFILE" 50 | done 51 | 52 | mkdir -p $HOME/.config 53 | for DOTFILE in $(find -L . -maxdepth 1 -type d ! -path . ! -path './.*'); do 54 | if [[ $DOTFILE = './vim' ]]; then 55 | link_file "$HOME/.$(basename $DOTFILE)" "$PWD/$DOTFILE" 56 | else 57 | [[ $DOTFILE != './screenshots' ]] \ 58 | && link_file "$XDG_CONFIG_HOME/$(basename $DOTFILE)" "$PWD/$(basename $DOTFILE)" 59 | fi 60 | done 61 | 62 | # Install vim-plug plugins 63 | if [[ -x "$(which nvim)" ]]; then 64 | nvim +PlugInstall +qall 65 | else 66 | vim +PlugInstall +qall 67 | fi 68 | -------------------------------------------------------------------------------- /cdmrc: -------------------------------------------------------------------------------- 1 | binlist=( 2 | '$HOME/dotfiles/sway/sway-run' 3 | '$HOME/dotfiles/i3/i3-run' 4 | '$SHELL -li' 5 | '/usr/bin/fish -li' 6 | ) 7 | namelist=(Sway i3 Console 'Console (fish)') 8 | flaglist=(C C C C) 9 | dialogrc=/usr/share/cdm/themes/blackandwhite 10 | -------------------------------------------------------------------------------- /fish/config.fish: -------------------------------------------------------------------------------- 1 | # Colorized man pages 2 | # https://wiki.archlinux.org/index.php/Man_page#Using_less_.28Recommended.29 3 | set -xU LESS_TERMCAP_mb (printf "\e[01;31m") # begin blinking 4 | set -xU LESS_TERMCAP_md (printf "\e[01;31m") # begin bold 5 | set -xU LESS_TERMCAP_me (printf "\e[0m") # end mode 6 | set -xU LESS_TERMCAP_se (printf "\e[0m") # end standout-mode 7 | set -xU LESS_TERMCAP_so (printf "\e[01;44;33m") # begin standout-mode - info box 8 | set -xU LESS_TERMCAP_ue (printf "\e[0m") # end underline 9 | set -xU LESS_TERMCAP_us (printf "\e[01;32m") # begin underline 10 | 11 | if test -z $XDG_CONFIG_HOME 12 | set -x XDG_CONFIG_HOME ~/.config 13 | end 14 | 15 | set PATH ~/.local/bin $PATH # PyPi packages 16 | set PATH (ruby -e 'print Gem.user_dir')/bin $PATH # Ruby gems 17 | set PATH ~/.node_modules/bin $PATH # npm packages 18 | set -x PATH ~/bin $PATH 19 | 20 | set -x BROWSER firefox 21 | set -x TERMCMD urxvtc # Which terminal ranger uses to start an application in 22 | set -x GTK_THEME Adwaita 23 | 24 | alias octave "octave --no-gui" 25 | alias pip "__pip pip" 26 | alias pip2 "__pip pip2" 27 | alias pip3 "__pip pip3" 28 | alias rm "rm -I" 29 | 30 | alias vi "vim" 31 | if test -x (which nvim) 32 | set -x VISUAL nvim 33 | alias vim "nvim" 34 | else 35 | set -x VISUAL vim 36 | end 37 | 38 | if test -x (which most) 39 | set -x PAGER most 40 | end 41 | -------------------------------------------------------------------------------- /fish/functions/__pip.fish: -------------------------------------------------------------------------------- 1 | function __pip 2 | set pip (which $argv[1]) 3 | set n (count $argv) 4 | if test $n -gt 1 5 | switch $argv[2] 6 | case install list 7 | eval $pip $argv[2] --user $argv[$n..-2] 8 | case '*' 9 | eval $pip $argv[$n..-1] 10 | end 11 | else 12 | eval $pip 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /fish/functions/fish_greeting.fish: -------------------------------------------------------------------------------- 1 | if test -x (which fortune) -a -x (which cowthink) -a -x (which lolcat) 2 | function fish_greeting 3 | fortune -s | cowthink -f tux -W (math (stty size | cut -d " " -f 2)-3) | lolcat 4 | end 5 | else 6 | function fish_greeting 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /fish/functions/fish_prompt.fish: -------------------------------------------------------------------------------- 1 | function fish_prompt 2 | set -l last_status $status 3 | 4 | set -l last_status_string "" 5 | if [ $last_status -ne 0 ] 6 | printf "%s(%d)%s " (set_color red --bold) $last_status (set_color normal) 7 | end 8 | 9 | if not set -q -g __fish_robbyrussell_functions_defined 10 | set -g __fish_robbyrussell_functions_defined 11 | function _git_branch_name 12 | echo (git symbolic-ref HEAD ^/dev/null | sed -e 's|^refs/heads/||') 13 | end 14 | 15 | function _is_git_dirty 16 | echo (git status -s --ignore-submodules=dirty ^/dev/null) 17 | end 18 | 19 | function _is_git_repo 20 | git status -s >/dev/null ^/dev/null 21 | end 22 | 23 | function _hg_branch_name 24 | echo (hg branch ^/dev/null) 25 | end 26 | 27 | function _is_hg_dirty 28 | echo (hg status -mard ^/dev/null) 29 | end 30 | 31 | function _is_hg_repo 32 | hg summary >/dev/null ^/dev/null 33 | end 34 | 35 | function _repo_branch_name 36 | eval "_$argv[1]_branch_name" 37 | end 38 | 39 | function _is_repo_dirty 40 | eval "_is_$argv[1]_dirty" 41 | end 42 | 43 | function _repo_type 44 | if _is_hg_repo 45 | echo 'hg' 46 | else if _is_git_repo 47 | echo 'git' 48 | end 49 | end 50 | end 51 | 52 | set -l cyan (set_color -o cyan) 53 | set -l yellow (set_color -o yellow) 54 | set -l red (set_color -o red) 55 | set -l blue (set_color -o blue) 56 | set -l normal (set_color normal) 57 | 58 | set -l arrow "$red➜ " 59 | if [ $USER = 'root' ] 60 | set arrow "$red# " 61 | end 62 | 63 | set -l cwd $cyan(basename (prompt_pwd)) 64 | 65 | set -l repo_type (_repo_type) 66 | if [ $repo_type ] 67 | set -l repo_branch $red(_repo_branch_name $repo_type) 68 | set repo_info "$blue $repo_type:($repo_branch$blue)" 69 | 70 | if [ (_is_repo_dirty $repo_type) ] 71 | set -l dirty "$yellow ✗" 72 | set repo_info "$repo_info$dirty" 73 | end 74 | end 75 | 76 | echo -n -s $arrow ' '$cwd $repo_info $normal ' ' 77 | end 78 | -------------------------------------------------------------------------------- /i3/detect_displays.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | XRANDR="xrandr" 4 | CMD="${XRANDR}" 5 | declare -A VOUTS 6 | eval VOUTS=$(${XRANDR}|awk 'BEGIN {printf("(")} /^\S.*connected/{printf("[%s]=%s ", $1, $2)} 7 | END{printf(")")}') 8 | declare -A POS 9 | #XPOS=0 10 | #YPOS=0 11 | #POS="${XPOS}x${YPOS}" 12 | 13 | POS=([X]=0 [Y]=0) 14 | 15 | find_mode() { 16 | echo $(${XRANDR} |grep ${1} -A1|awk '{FS="[ x]"} /^\s/{printf("WIDTH=%s\nHEIGHT=%s", $4,$5)}') 17 | } 18 | 19 | xrandr_params_for() { 20 | if [ "${2}" == 'connected' ] 21 | then 22 | eval $(find_mode ${1}) #sets ${WIDTH} and ${HEIGHT} 23 | MODE="${WIDTH}x${HEIGHT}" 24 | CMD="${CMD} --output ${1} --mode ${MODE} --pos ${POS[X]}x${POS[Y]}" 25 | POS[X]=$((${POS[X]}+${WIDTH})) 26 | return 0 27 | else 28 | CMD="${CMD} --output ${1} --off" 29 | return 1 30 | fi 31 | } 32 | 33 | for VOUT in ${!VOUTS[*]} 34 | do 35 | xrandr_params_for ${VOUT} ${VOUTS[${VOUT}]} 36 | done 37 | set -x 38 | ${CMD} 39 | set +x 40 | 41 | # Update desktop background 42 | sh ~/.fehbg 43 | -------------------------------------------------------------------------------- /i3/i3-run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Combine shared (i3 & sway) config with i3 specific stuff 4 | dir=$(dirname ${BASH_SOURCE}) 5 | file=$(mktemp) 6 | cat $dir/shared.config \ 7 | $dir/i3.config > $file 8 | export i3_config_file=$file 9 | 10 | # Start i3 11 | startx 12 | -------------------------------------------------------------------------------- /i3/i3.config: -------------------------------------------------------------------------------- 1 | # Font for window titles 2 | font pango:ProFont 8 3 | 4 | # Use Mouse+$mod to drag floating windows to their wanted position 5 | floating_modifier $mod 6 | 7 | # class border backgr indicator 8 | client.focused $grey $grey $bg 9 | client.unfocused $border $border $fg 10 | client.focused_inactive $border $border $grey 11 | client.urgent $alert $alert $bg 12 | 13 | popup_during_fullscreen smart 14 | 15 | # Move the current workspace to the next output 16 | # (effectively toggles when you only have two outputs) 17 | bindsym $mod+x move workspace to output right 18 | -------------------------------------------------------------------------------- /i3/shared.config: -------------------------------------------------------------------------------- 1 | ../sway/shared.config -------------------------------------------------------------------------------- /i3status/config: -------------------------------------------------------------------------------- 1 | general { 2 | colors = true 3 | interval = 10 4 | output_format = "i3bar" 5 | } 6 | 7 | # order += "ipv6" 8 | order += "disk /" 9 | order += "disk /home" 10 | order += "run_watch DHCP" 11 | order += "run_watch VPN" 12 | order += "wireless wlp3s0" 13 | order += "ethernet enp2s0" 14 | order += "battery 1" 15 | # order += "load" 16 | order += "volume master" 17 | order += "tztime local" 18 | 19 | wireless wlp3s0 { 20 | format_up = "WLAN: %quality at %essid, %bitrate (%ip)" 21 | format_down = "WLAN: down" 22 | } 23 | 24 | ethernet enp2s0 { 25 | format_up = "LAN: %speed (%ip)" 26 | format_down = "LAN: down" 27 | } 28 | 29 | battery 1 { 30 | format = "%status %percentage %remaining" 31 | status_bat = "⚡" 32 | status_chr = "⚇ " 33 | status_full = "☻ " 34 | path = "/sys/class/power_supply/BAT%d/uevent" 35 | low_threshold = 10 36 | } 37 | 38 | run_watch DHCP { 39 | pidfile = "/var/run/dhcpcd*.pid" 40 | } 41 | 42 | run_watch VPN { 43 | pidfile = "/var/run/vpnc/pid" 44 | } 45 | 46 | tztime local { 47 | format = "%Y-%m-%d %H:%M" 48 | } 49 | 50 | load { 51 | format = "%1min" 52 | } 53 | 54 | disk "/" { 55 | format = "root %avail (%total)" 56 | } 57 | 58 | disk "/home" { 59 | format = "home %avail (%total)" 60 | } 61 | 62 | volume master { 63 | format = "♪: %volume" 64 | device = "default" 65 | mixer = "Master" 66 | mixer_idx = 0 67 | } 68 | -------------------------------------------------------------------------------- /nanorc: -------------------------------------------------------------------------------- 1 | # Don't wrap text at all. 2 | set nowrap 3 | 4 | # Allow nano to be suspended. 5 | set suspend 6 | 7 | include /usr/share/nano-syntax-highlighting/apacheconf.nanorc 8 | include /usr/share/nano-syntax-highlighting/asciidoc.nanorc 9 | include /usr/share/nano-syntax-highlighting/asm.nanorc 10 | include /usr/share/nano-syntax-highlighting/awk.nanorc 11 | include /usr/share/nano-syntax-highlighting/cmake.nanorc 12 | include /usr/share/nano-syntax-highlighting/c.nanorc 13 | include /usr/share/nano-syntax-highlighting/coffeescript.nanorc 14 | include /usr/share/nano-syntax-highlighting/colortest.nanorc 15 | include /usr/share/nano-syntax-highlighting/conf.nanorc 16 | include /usr/share/nano-syntax-highlighting/csharp.nanorc 17 | include /usr/share/nano-syntax-highlighting/css.nanorc 18 | include /usr/share/nano-syntax-highlighting/cython.nanorc 19 | include /usr/share/nano-syntax-highlighting/dot.nanorc 20 | include /usr/share/nano-syntax-highlighting/email.nanorc 21 | include /usr/share/nano-syntax-highlighting/erb.nanorc 22 | include /usr/share/nano-syntax-highlighting/fish.nanorc 23 | include /usr/share/nano-syntax-highlighting/fortran.nanorc 24 | include /usr/share/nano-syntax-highlighting/gentoo.nanorc 25 | include /usr/share/nano-syntax-highlighting/git.nanorc 26 | include /usr/share/nano-syntax-highlighting/glsl.nanorc 27 | include /usr/share/nano-syntax-highlighting/go.nanorc 28 | include /usr/share/nano-syntax-highlighting/groff.nanorc 29 | include /usr/share/nano-syntax-highlighting/haml.nanorc 30 | include /usr/share/nano-syntax-highlighting/html.nanorc 31 | include /usr/share/nano-syntax-highlighting/ini.nanorc 32 | include /usr/share/nano-syntax-highlighting/inputrc.nanorc 33 | include /usr/share/nano-syntax-highlighting/java.nanorc 34 | include /usr/share/nano-syntax-highlighting/javascript.nanorc 35 | include /usr/share/nano-syntax-highlighting/js.nanorc 36 | include /usr/share/nano-syntax-highlighting/json.nanorc 37 | include /usr/share/nano-syntax-highlighting/keymap.nanorc 38 | include /usr/share/nano-syntax-highlighting/kickstart.nanorc 39 | include /usr/share/nano-syntax-highlighting/ledger.nanorc 40 | include /usr/share/nano-syntax-highlighting/lisp.nanorc 41 | include /usr/share/nano-syntax-highlighting/lua.nanorc 42 | include /usr/share/nano-syntax-highlighting/makefile.nanorc 43 | include /usr/share/nano-syntax-highlighting/man.nanorc 44 | include /usr/share/nano-syntax-highlighting/markdown.nanorc 45 | include /usr/share/nano-syntax-highlighting/mpdconf.nanorc 46 | include /usr/share/nano-syntax-highlighting/mutt.nanorc 47 | include /usr/share/nano-syntax-highlighting/nanorc.nanorc 48 | include /usr/share/nano-syntax-highlighting/nginx.nanorc 49 | include /usr/share/nano-syntax-highlighting/patch.nanorc 50 | include /usr/share/nano-syntax-highlighting/peg.nanorc 51 | include /usr/share/nano-syntax-highlighting/perl.nanorc 52 | include /usr/share/nano-syntax-highlighting/php.nanorc 53 | include /usr/share/nano-syntax-highlighting/pkgbuild.nanorc 54 | include /usr/share/nano-syntax-highlighting/pkg-config.nanorc 55 | include /usr/share/nano-syntax-highlighting/po.nanorc 56 | include /usr/share/nano-syntax-highlighting/pov.nanorc 57 | include /usr/share/nano-syntax-highlighting/privoxy.nanorc 58 | include /usr/share/nano-syntax-highlighting/puppet.nanorc 59 | include /usr/share/nano-syntax-highlighting/python.nanorc 60 | include /usr/share/nano-syntax-highlighting/reST.nanorc 61 | include /usr/share/nano-syntax-highlighting/rpmspec.nanorc 62 | include /usr/share/nano-syntax-highlighting/ruby.nanorc 63 | include /usr/share/nano-syntax-highlighting/scala.nanorc 64 | include /usr/share/nano-syntax-highlighting/sed.nanorc 65 | include /usr/share/nano-syntax-highlighting/sh.nanorc 66 | include /usr/share/nano-syntax-highlighting/sql.nanorc 67 | include /usr/share/nano-syntax-highlighting/systemd.nanorc 68 | include /usr/share/nano-syntax-highlighting/tcl.nanorc 69 | include /usr/share/nano-syntax-highlighting/tex.nanorc 70 | include /usr/share/nano-syntax-highlighting/vala.nanorc 71 | include /usr/share/nano-syntax-highlighting/vi.nanorc 72 | include /usr/share/nano-syntax-highlighting/xml.nanorc 73 | include /usr/share/nano-syntax-highlighting/xresources.nanorc 74 | include /usr/share/nano-syntax-highlighting/yaml.nanorc 75 | include /usr/share/nano-syntax-highlighting/yum.nanorc 76 | include /usr/share/nano-syntax-highlighting/zsh.nanorc 77 | -------------------------------------------------------------------------------- /npmrc: -------------------------------------------------------------------------------- 1 | strict-ssl=true 2 | python=/usr/bin/python2 3 | prefix=~/.node_modules 4 | -------------------------------------------------------------------------------- /nvim/autoload/plug.vim: -------------------------------------------------------------------------------- 1 | ../vim-plug/plug.vim -------------------------------------------------------------------------------- /nvim/init.vim: -------------------------------------------------------------------------------- 1 | set shell=bash " fish is not POSIX compatible 2 | 3 | set tabstop=2 4 | set softtabstop=2 5 | set shiftwidth=2 6 | set expandtab 7 | 8 | set showcmd " Show partial commands 9 | 10 | set number " Show line numbers 11 | 12 | set hlsearch " Highlight search results 13 | set incsearch " Immediately show matches 14 | 15 | set ignorecase " Case insensitive searching 16 | set smartcase " Case sensitive searching when pattern includes upper case characters 17 | 18 | set statusline+=%#warningmsg# 19 | set statusline+=%{SyntasticStatuslineFlag()} 20 | set statusline+=%* 21 | 22 | let g:syntastic_always_populate_loc_list = 1 23 | let g:syntastic_auto_loc_list = 1 24 | let g:syntastic_check_on_open = 1 25 | let g:syntastic_check_on_wq = 0 26 | 27 | autocmd FileType tex setlocal spell spelllang=de_de 28 | 29 | " Set up :make to use fish for syntax checking. 30 | autocmd FileType fish compiler fish 31 | " Set this to have long lines wrap inside comments. 32 | autocmd FileType fish setlocal textwidth=79 33 | " Enable folding of block structures in fish. 34 | autocmd FileType fish setlocal foldmethod=expr 35 | 36 | filetype plugin indent on 37 | syntax on 38 | 39 | call plug#begin('$XDG_CONFIG_HOME/nvim/plugged') 40 | Plug 'tpope/vim-sensible' 41 | Plug 'scrooloose/syntastic' 42 | Plug 'lervag/vimtex' 43 | Plug 'dart-lang/dart-vim-plugin' 44 | Plug 'editorconfig/editorconfig-vim' 45 | Plug 'dag/vim-fish' 46 | 47 | " Install YouCompleteMe with JavaScript support 48 | if v:version > 703 49 | Plug 'Valloric/YouCompleteMe', { 'do': 'python2 ./install.py --tern-completer' } 50 | endif 51 | 52 | Plug 'godlygeek/tabular' 53 | Plug 'plasticboy/vim-markdown' 54 | call plug#end() 55 | -------------------------------------------------------------------------------- /pkglist-local.txt: -------------------------------------------------------------------------------- 1 | asciinema 2 | aurvote-git 3 | bemenu-git 4 | cdm-git 5 | fortune-mod-de 6 | j4-dmenu-desktop-git 7 | jabref 8 | jdownloader2 9 | mediathek 10 | nano-syntax-highlighting-git 11 | netctl-eduroam 12 | package-query 13 | rxvt-unicode-patched 14 | srandrd 15 | sway-git 16 | texworks 17 | tor-browser-en 18 | ttf-ms-fonts 19 | xcmenu-git 20 | xonsh 21 | yaourt 22 | youtube-dl-git 23 | -------------------------------------------------------------------------------- /pkglist.txt: -------------------------------------------------------------------------------- 1 | alsa-plugins 2 | alsa-utils 3 | atool 4 | audacity 5 | autoconf 6 | automake 7 | bash 8 | bc 9 | binutils 10 | bison 11 | bluez 12 | bluez-firmware 13 | bluez-utils 14 | bzip2 15 | cabal-install 16 | chromium 17 | clang 18 | clang-analyzer 19 | cmus 20 | coreutils 21 | cowsay 22 | cryptsetup 23 | curlftpfs 24 | dart 25 | dash 26 | device-mapper 27 | dhcpcd 28 | dialog 29 | diffutils 30 | dmenu 31 | dosfstools 32 | e2fsprogs 33 | eclipse-ecj 34 | evince 35 | exfat-utils 36 | fakeroot 37 | feh 38 | file 39 | filesystem 40 | findutils 41 | firefox 42 | fish 43 | flex 44 | fortune-mod 45 | fuse-exfat 46 | gawk 47 | gcc 48 | gcc-libs 49 | gdb 50 | gendesk 51 | gettext 52 | ghc 53 | gimp 54 | git 55 | gksu 56 | glibc 57 | gparted 58 | gpicview 59 | gradle 60 | grep 61 | groff 62 | gzip 63 | haddock 64 | happy 65 | haveged 66 | highlight 67 | htop 68 | hub 69 | i3-wm 70 | i3lock 71 | i3status 72 | ifenslave 73 | ifplugd 74 | inetutils 75 | inkscape 76 | intel-ucode 77 | iproute2 78 | iputils 79 | iverilog 80 | iw 81 | jfsutils 82 | keepassx2 83 | less 84 | lftp 85 | libreoffice-fresh 86 | libtool 87 | libva-intel-driver 88 | licenses 89 | linux 90 | lolcat 91 | lvm2 92 | m4 93 | make 94 | man-db 95 | man-pages 96 | mdadm 97 | mediainfo 98 | mercurial 99 | mongodb 100 | most 101 | mplayer 102 | mpv 103 | nano 104 | nautilus 105 | ncmpcpp 106 | neovim 107 | net-tools 108 | netctl 109 | nmap 110 | ntfs-3g 111 | octave 112 | openssh 113 | pacman 114 | patch 115 | pavucontrol 116 | pciutils 117 | pcmciautils 118 | perl 119 | perl-file-mimeinfo 120 | perl-string-crc32 121 | pkg-config 122 | pkgfile 123 | polkit 124 | ponymix 125 | procps-ng 126 | profont 127 | psmisc 128 | pulseaudio 129 | pulseaudio-alsa 130 | pulseaudio-bluetooth 131 | python-neovim 132 | python-pip 133 | python2-matplotlib 134 | python2-neovim 135 | python2-pip 136 | python2-pygments 137 | ranger 138 | reiserfsprogs 139 | rethinkdb 140 | rfkill 141 | rofi 142 | rsync 143 | ruby 144 | s-nail 145 | screenfetch 146 | scrot 147 | sed 148 | shadow 149 | sshfs 150 | strace 151 | subversion 152 | sudo 153 | sysfsutils 154 | systemd-sysvcompat 155 | tar 156 | termite 157 | texinfo 158 | texlive-bibtexextra 159 | texlive-core 160 | texlive-fontsextra 161 | texlive-latexextra 162 | texlive-pictures 163 | texlive-science 164 | texstudio 165 | thunderbird 166 | tmux 167 | traceroute 168 | transmission-cli 169 | ttf-dejavu 170 | ttf-hack 171 | ttf-inconsolata 172 | ttf-linux-libertine 173 | ttf-ubuntu-font-family 174 | udevil 175 | udiskie 176 | ufw 177 | unzip 178 | urxvt-perls 179 | usbutils 180 | util-linux 181 | vi 182 | vim-spell-de 183 | vlc 184 | vpnc 185 | w3m 186 | weechat 187 | wget 188 | which 189 | wireshark-qt 190 | wpa_actiond 191 | wpa_supplicant 192 | xbase 193 | xbindkeys 194 | xclip 195 | xf86-input-synaptics 196 | xf86-video-intel 197 | xfsprogs 198 | xorg-server 199 | xorg-utils 200 | xorg-xdm 201 | xorg-xev 202 | xorg-xfontsel 203 | xorg-xhost 204 | xorg-xinit 205 | xorg-xlsfonts 206 | xorg-xman 207 | xorg-xrandr 208 | xterm 209 | zathura-pdf-mupdf 210 | zip 211 | zsh 212 | -------------------------------------------------------------------------------- /ranger/rc.conf: -------------------------------------------------------------------------------- 1 | set vcs_aware false 2 | 3 | set preview_images true 4 | set preview_images_method w3m 5 | 6 | set colorscheme solarized 7 | 8 | set update_title true 9 | set tilde_in_titlebar true 10 | -------------------------------------------------------------------------------- /ranger/rifle.conf: -------------------------------------------------------------------------------- 1 | ext js|json|dart = "$EDITOR" -- "$@" 2 | 3 | # open all files with xdg-utils 4 | # has xdg-open, flag f = xdg-open "$1" 5 | 6 | # vim: ft=cfg 7 | # 8 | # This is the configuration file of "rifle", ranger's file executor/opener. 9 | # Each line consists of conditions and a command. For each line the conditions 10 | # are checked and if they are met, the respective command is run. 11 | # 12 | # Syntax: 13 | # , , ... = command 14 | # 15 | # The command can contain these environment variables: 16 | # $1-$9 | The n-th selected file 17 | # $@ | All selected files 18 | # 19 | # If you use the special command "ask", rifle will ask you what program to run. 20 | # 21 | # Prefixing a condition with "!" will negate its result. 22 | # These conditions are currently supported: 23 | # match | The regexp matches $1 24 | # ext | The regexp matches the extension of $1 25 | # mime | The regexp matches the mime type of $1 26 | # name | The regexp matches the basename of $1 27 | # path | The regexp matches the absolute path of $1 28 | # has | The program is installed (i.e. located in $PATH) 29 | # file | $1 is a file 30 | # directory | $1 is a directory 31 | # number | change the number of this command to n 32 | # terminal | stdin, stderr and stdout are connected to a terminal 33 | # X | $DISPLAY is not empty (i.e. Xorg runs) 34 | # 35 | # There are also pseudo-conditions which have a "side effect": 36 | # flag | Change how the program is run. See below. 37 | # label