diff options
author | William Carroll <wpcarro@gmail.com> | 2019-10-09T11·13+0100 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2019-12-24T15·21+0000 |
commit | 6b456c1b7a4f6899f063a6e65355af51901d9c7a (patch) | |
tree | cfc70d74818ae9fabdbbfb0cf16cce092e4c1a09 /configs/shared/misc/.config | |
parent | a7c72adb2ebec1e497fc040eaf3551d564d61a5b (diff) |
Massive configuration overhaul
Currently paying the price of months of non-diligent git usage. Here's what has changed. - Theming support in Gvcci and wpgtk - Dropping support for i3 - Supporting EXWM - Many Elisp modules - Collapsed redundant directories in ./configs
Diffstat (limited to 'configs/shared/misc/.config')
-rw-r--r-- | configs/shared/misc/.config/compton.conf | 24 | ||||
-rw-r--r-- | configs/shared/misc/.config/i3/config.shared | 279 | ||||
-rwxr-xr-x | configs/shared/misc/.config/i3/dmenu_timer.sh | 113 | ||||
-rwxr-xr-x | configs/shared/misc/.config/i3/passmenu | 25 | ||||
-rw-r--r-- | configs/shared/misc/.config/i3/workspace_1.json | 76 | ||||
-rw-r--r-- | configs/shared/misc/.config/lf/lfrc | 175 | ||||
-rw-r--r-- | configs/shared/misc/.config/lf/marks | 5 | ||||
-rw-r--r-- | configs/shared/misc/.config/nvim/init.vim | 667 | ||||
-rw-r--r-- | configs/shared/misc/.config/rofi/config | 1 | ||||
-rw-r--r-- | configs/shared/misc/.config/terminator/config | 20 |
10 files changed, 0 insertions, 1385 deletions
diff --git a/configs/shared/misc/.config/compton.conf b/configs/shared/misc/.config/compton.conf deleted file mode 100644 index ae06b19aba8f..000000000000 --- a/configs/shared/misc/.config/compton.conf +++ /dev/null @@ -1,24 +0,0 @@ -# shadow -shadow = true; -shadow-radius = 7; -shadow-offset-x = -7; -shadow-offset-y = -7; - -# opacity -menu-opacity = 0.8; -inactive-opacity = 0.8; - -# transitions -fading = true; -fade-in-step = 0.07; -fade-out-step = 0.07; - -# lock screen -# NOTE: Need this rule here because I set XSECURELOCK_NO_COMPOSITE=1 in -# ~/.profile. Without this, the lock screen will adopt the opacity settings -# above, which is a security risk if you lock your screen while it has sensitive -# content on it. -# -# NOTE: For some reason, `100:class_g` doesn't work, so settling for -# `99:class_g` instead. -opacity-rule = [ "99:class_g = 'xsecurelock'" ]; diff --git a/configs/shared/misc/.config/i3/config.shared b/configs/shared/misc/.config/i3/config.shared deleted file mode 100644 index b39b634704dc..000000000000 --- a/configs/shared/misc/.config/i3/config.shared +++ /dev/null @@ -1,279 +0,0 @@ -# Keymapping philosophy: -# When I feel it's appropriate, I try to borrow existing KBDs from OSX or -# Windows. For example, I use Ctrl+Alt+Del to start the screen lock, since this -# is a really well-known KBD. One notable difference is that when I'm borrowing -# OSX KBDs, I prefer using Alt instead of Super since the keyboard that I'm -# using has the Alt key in the same location as the Super key on my mac -# keyboard. I could rebind this, and I just may. But for now, that's worth -# pointing out. -# The reason behind borrowing from Windows and OSX is that some of these -# keybindings are hardwired into my muscle memory. I also tend to work between -# Linux and OSX quite often. Since OSX is much more difficult to remap KBDs -# than it is in Linux, I prefer to support the OSX KBDs to reduce the number of -# KBDs my feeble memory needs to store. - -set $mod Mod1 -set $super Mod4 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -font pango:monospace 8 - -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -# i3-gaps (depends on i3-gaps installation) -gaps inner 20 -gaps outer 0 -smart_gaps on - -bindsym $mod+Ctrl+plus gaps outer current plus 5 -bindsym $mod+Ctrl+minus gaps outer current minus 5 -bindsym $mod+Shift+plus gaps inner current plus 5 -bindsym $mod+Shift+minus gaps inner current minus 5 - -# KBD Principles: -# $mod+Ctrl+<app_char> = starting an application -# where <app_char> is a reserved character for a commonly used application. -# -# <app_char> definitions: -# terminal = t, Return -# emacs = e -# chrome = c -# spotify = s -# intellij = i -# -# Vertical -bindsym $mod+Ctrl+t exec st -bindsym $mod+Ctrl+Return exec st -bindsym $mod+Ctrl+e exec emacsclient --create-frame ~/programming -bindsym $mod+Ctrl+c exec google-chrome -bindsym $mod+Ctrl+s exec spotify -bindsym $mod+Ctrl+i exec zsh -i -c intellij - -# support dmenu-based bookmarks -bindsym $mod+Ctrl+b exec dmenu <$DOTFILES/bookmarks.txt | xargs $BROWSER - -bindsym $mod+Return exec st - -# pass integration -bindsym $mod+Ctrl+backslash exec ~/.config/i3/passmenu # mirroring the 1password KBD - -# integrate with Emacs's org-mode -bindsym $mod+o exec zsh -i -c org_capture -for_window [class="GoogleEmacs" instance="org-protocol-capture"] floating enable - -# ensure Spotify windows float -for_window [class="Spotify"] floating enable - -# ensure `lf` instances float -for_window [title="lf"] floating enable - -# ensure wallpaper -exec --no-startup-id feh --bg-scale ~/.local/share/wallpaper/cartoon-outdoors.jpg - -# ensure system service that run through XDG start -exec dex -ae i3 - -# dmenu configuration -bindsym $mod+space exec --no-startup-id dmenu_run -bindsym $mod+t exec --no-startup-id ~/.config/i3/dmenu_timer.sh ~/.local/share/sounds/gong.mp3 - -# file manager -bindsym $mod+n exec st -e lf ~/Dropbox - -# clipboard manager -# NOTE: Ctrl-c is already covered since `clipmenu` listens for X clipboard -# events using `clipnotify`. -# NOTE: `clipmenud` is started in `.xsessionrc.shared` -# NOTE: This is a bit of a hack intended to support pasting in both the terminal -# and in GUI applications. `st` expects `ctrl+Shift+v` while GUIs expect -# `ctrl+v`. In the instances where GUIs don't support `ctrl+Shift+v` already, it -# acts like `ctrl+v`, so it should "just work". -bindsym Ctrl+$mod+v exec clipmenu && xdotool key --clearmodifiers ctrl+Shift+v - -# Screenshot -# TODO: find a better KBD for this -bindsym $mod+s exec zsh -i -c snipit # note that this eclipses Tmux's M-s KBD for switching b/w session -bindsym Ctrl+Print exec scrot ~/Pictures/screenshots/%b-%d-%Y_%T.png # Windows style -# TODO: debug -# bindsym $mod+Print exec scrot --focused ~/Pictures/screenshots/%b-%d-%Y_%T.png # Windows style - -# online documentation -bindsym $mod+Shift+slash exec google-chrome https://i3wm.org/docs/userguide.html - -# no title bars -for_window [class="^.*"] border pixel 2 - -# disable mouse hover focus -focus_follows_mouse no - -# kill focused window -bindsym $mod+q kill - -# GTK Themes -exec --no-startup-id gnome-settings-daemon - -# wireless selection mechanism -exec --no-startup-id nm-applet - -# set the split direction -bindsym $mod+v split vertical -# cannot bind $mod+h because of movement commands -bindsym $mod+Shift+v split horizontal - -# lock the screen (Window's famous Ctrl-Alt-Delete) -bindsym $mod+Ctrl+Delete exec xsecurelock -bindsym $mod+Shift+q exec xsecurelock - -# sound applet -exec --no-startup-id gnome-sound-applet - -# change focus -bindsym $mod+h focus left -bindsym $mod+j focus down -bindsym $mod+k focus up -bindsym $mod+l focus right - -# move focused window -bindsym $mod+Shift+h move left 100 -bindsym $mod+Shift+j move down 100 -bindsym $mod+Shift+k move up 100 -bindsym $mod+Shift+l move right 100 - -# enable duplicating the current window vertically or horizontally -# bindsym $mod+- split v exec terminator -# bindsym $mod+\ split h exec terminator - -# enter fullscreen mode for the focused container -bindsym $mod+z fullscreen toggle - -# change container layout (stacked, tabbed, toggle split) -bindsym $super+e layout toggle split -bindsym $super+s layout stacking -bindsym $super+t layout tabbed - -# toggle tiling / floating -bindsym $mod+Shift+f floating toggle - -# toggle stickiness -bindsym $mod+Shift+s sticky toggle - -# change focus between tiling / floating windows -bindsym $mod+f focus mode_toggle - -# focus the parent container -bindsym $mod+a focus parent -bindsym $mod+Shift+a focus child - -# Define names for default workspaces for which we configure key bindings later on. -# We use variables to avoid repeating the names in multiple places. -set $ws1 "1" -set $ws2 "2" -set $ws3 "3" -set $ws4 "4" -set $ws5 "5" -set $ws6 "6" -set $ws7 "7" -set $ws8 "8" -set $ws9 "9" -set $ws10 "10" - -# jump to workspace -bindsym $mod+1 workspace $ws1 -bindsym $mod+2 workspace $ws2 -bindsym $mod+3 workspace $ws3 -bindsym $mod+4 workspace $ws4 -bindsym $mod+5 workspace $ws5 -bindsym $mod+6 workspace $ws6 -bindsym $mod+7 workspace $ws7 -bindsym $mod+8 workspace $ws8 -bindsym $mod+9 workspace $ws9 -bindsym $mod+0 workspace $ws10 - -# move and follow focused container to workspace -bindsym $mod+Shift+1 move container to workspace $ws1; workspace $ws1 -bindsym $mod+Shift+2 move container to workspace $ws2; workspace $ws2 -bindsym $mod+Shift+3 move container to workspace $ws3; workspace $ws3 -bindsym $mod+Shift+4 move container to workspace $ws4; workspace $ws4 -bindsym $mod+Shift+5 move container to workspace $ws5; workspace $ws5 -bindsym $mod+Shift+6 move container to workspace $ws6; workspace $ws6 -bindsym $mod+Shift+7 move container to workspace $ws7; workspace $ws7 -bindsym $mod+Shift+8 move container to workspace $ws8; workspace $ws8 -bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9 -bindsym $mod+Shift+0 move container to workspace $ws10; workspace $ws10 - -# move focused container to workspace -bindsym $mod+Ctrl+1 move container to workspace $ws1 -bindsym $mod+Ctrl+2 move container to workspace $ws2 -bindsym $mod+Ctrl+3 move container to workspace $ws3 -bindsym $mod+Ctrl+4 move container to workspace $ws4 -bindsym $mod+Ctrl+5 move container to workspace $ws5 -bindsym $mod+Ctrl+6 move container to workspace $ws6 -bindsym $mod+Ctrl+7 move container to workspace $ws7 -bindsym $mod+Ctrl+8 move container to workspace $ws8 -bindsym $mod+Ctrl+9 move container to workspace $ws9 -bindsym $mod+Ctrl+0 move container to workspace $ws10 - -# reload, restart i3 -bindsym $super+r exec cat ~/.config/i3/config.shared ~/.config/i3/config.device >~/.config/i3/config; reload -bindsym $super+Shift+r exec cat ~/.config/i3/config.shared ~/.config/i3/config.device >~/.config/i3/config; restart - - -# resize window (you can also use the mouse for that) -mode "resize" { - bindsym h resize shrink width 10 px or 10 ppt - bindsym j resize shrink height 10 px or 10 ppt - bindsym k resize grow height 10 px or 10 ppt - bindsym l resize grow width 10 px or 10 ppt - bindsym Return mode "default" - bindsym Caps_Lock mode "default" - bindsym $mod+Shift+r mode "default" -} -bindsym $mod+Shift+r mode "resize" - -# passthrough mode to support Emacs, Tmux, Vim KBDs for window and pane management -mode "passthrough" { - bindsym $mod+Escape mode "default" -} -bindsym $mod+Escape mode "passthrough" - -# Atom One Dark colors -set $black #1e2127 -set $red #e06c75 -set $green #98c379 -set $yellow #d19a66 -set $blue #61afef -set $magenta #c678dd -set $cyan #56b6c2 -set $white #abb2bf -set $bright_black #5c6370 -set $bright_red #e06c75 -set $bright_green #98c379 -set $bright_yellow #d19a66 -set $bright_white #ffffff -set $bright_blue #61afef -set $bright_magenta #c678dd -set $bright_cyan #56b6c2 -set $selection #3a3f4b - -# class # border # bg # text #indicator #child_border -client.focused $red $red $red $magenta $bright_cyan -client.focused_inactive $red $red $red $magenta $black -client.unfocused $red $red $red $magenta $black - -bar { - status_command i3status - position top - # disable system tray icons - tray_output none - colors { - background $black - statusline $white - separator $yellow - focused_workspace $black $black $bright_cyan - active_workspace $red $bright_blue $blue - inactive_workspace $black $black $bright_black - urgent_workspace $magenta $black $magenta - } -} \ No newline at end of file diff --git a/configs/shared/misc/.config/i3/dmenu_timer.sh b/configs/shared/misc/.config/i3/dmenu_timer.sh deleted file mode 100755 index 9d62ead73091..000000000000 --- a/configs/shared/misc/.config/i3/dmenu_timer.sh +++ /dev/null @@ -1,113 +0,0 @@ -#!/usr/bin/env bash - -# Select common timer intervals with dmenu and play an alarm sound when -# finished. Useful if you bind a KBD in a window manager such as i3. Pass the -# path to the alarm mp3 as the only argument. -# -# Usage: ./dmenu_timer.sh path/to/alarm.mp3 - -times=$(cat <<EOF -1 minute -2 minutes -3 minutes -4 minutes -5 minutes -10 minutes -15 minutes -20 minutes -30 minutes -45 minutes -1 hour -2 hours -EOF -) -selection=$(echo "$times" | dmenu) - -case $selection in - '1 minute') - notify-send 'Timer' 'Set for 1 minute' && \ - sleep 1m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '2 minutes') - notify-send 'Timer' 'Set for 2 minute' && \ - sleep 2m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '3 minutes') - notify-send 'Timer' 'Set for 3 minutes' && \ - sleep 3m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '4 minutes') - notify-send 'Timer' 'Set for 4 minutes' && \ - sleep 4m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '5 minutes') - notify-send 'Timer' 'Set for 5 minutes' && \ - sleep 5m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '10 minutes') - notify-send 'Timer' 'Set for 10 minutes' && \ - sleep 10m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '15 minutes') - notify-send 'Timer' 'Set for 15 minutes' && \ - sleep 15m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '20 minutes') - notify-send 'Timer' 'Set for 20 minutes' && \ - sleep 20m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '30 minutes') - notify-send 'Timer' 'Set for 30 minutes' && \ - sleep 30m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '45 minutes') - notify-send 'Timer' 'Set for 45 minutes' && \ - sleep 45m && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '1 hour') - notify-send 'Timer' 'Set for 1 hour' && \ - sleep 1h && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - '2 hours') - notify-send 'Timer' 'Set for 2 hours' && \ - sleep 2h && \ - notify-send 'Timer' 'Finished.' && \ - mpg123 $1 && \ - exit 0 - ;; - *) - notify-send 'Timer' 'No supported time selected. Exiting...' && exit 1 -esac diff --git a/configs/shared/misc/.config/i3/passmenu b/configs/shared/misc/.config/i3/passmenu deleted file mode 100755 index 71c4538fa61a..000000000000 --- a/configs/shared/misc/.config/i3/passmenu +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash - -shopt -s nullglob globstar - -typeit=0 -if [[ $1 == "--type" ]]; then - typeit=1 - shift -fi - -prefix=${PASSWORD_STORE_DIR-~/.password-store} -password_files=( "$prefix"/**/*.gpg ) -password_files=( "${password_files[@]#"$prefix"/}" ) -password_files=( "${password_files[@]%.gpg}" ) - -password=$(printf '%s\n' "${password_files[@]}" | dmenu "$@") - -[[ -n $password ]] || exit - -if [[ $typeit -eq 0 ]]; then - pass show -c "$password" 2>/dev/null -else - pass show "$password" | { IFS= read -r pass; printf %s "$pass"; } | - xdotool type --clearmodifiers --file - -fi \ No newline at end of file diff --git a/configs/shared/misc/.config/i3/workspace_1.json b/configs/shared/misc/.config/i3/workspace_1.json deleted file mode 100644 index b5d3f9d8c53f..000000000000 --- a/configs/shared/misc/.config/i3/workspace_1.json +++ /dev/null @@ -1,76 +0,0 @@ -// vim:ts=4:sw=4:et -{ - // splitv split container with 2 children - "border": "normal", - "floating": "auto_off", - "layout": "splitv", - "percent": 0.5, - "type": "con", - "nodes": [ - { - "border": "pixel", - "current_border_width": 3, - "floating": "auto_off", - "geometry": { - "height": 925, - "width": 1072, - "x": 0, - "y": 0 - }, - "name": "emacs@wpcarro.lon.corp.google.com", - "percent": 0.5, - "swallows": [ - { - "class": "^GoogleEmacs$", - "instance": "^emacs$", - "title": "^google-emacs$" - } - ], - "type": "con" - }, - { - "border": "pixel", - "current_border_width": 3, - "floating": "auto_off", - "geometry": { - "height": 484, - "width": 724, - "x": 0, - "y": 0 - }, - "name": "i3-save-tree", - "percent": 0.5, - "swallows": [ - { - "class": "^st\\-256color$", - "instance": "^st\\-256color$", - "title": "^st-term$" - } - ], - "type": "con" - } - ] -} - -{ - "border": "pixel", - "current_border_width": 3, - "floating": "auto_off", - "geometry": { - "height": 2125, - "width": 1914, - "x": 1923, - "y": 32 - }, - "name": "i3: Layout saving in i3 - Google Chrome", - "percent": 0.5, - "swallows": [ - { - "class": "^Google\\-chrome$", - "instance": "^google\\-chrome$", - "title": "Chrome", - "window_role": "^browser$" - } - ], - "type": "con" -} diff --git a/configs/shared/misc/.config/lf/lfrc b/configs/shared/misc/.config/lf/lfrc deleted file mode 100644 index 196856759b47..000000000000 --- a/configs/shared/misc/.config/lf/lfrc +++ /dev/null @@ -1,175 +0,0 @@ -# It might be possible to attempt to share KBDs between `lf` and `dired`. -# Currently shared KBDs with `dired`: -# - D: delete file -# - R: rename file -# - +: create directory -# - c: create file -# -# The following command prefixes are used by lf (taken from the docs): -# -# : read (default) builtin/custom command -# $ shell shell command -# % shell-pipe shell command running with the ui -# ! shell-wait shell command waiting for key press -# & shell-async shell command running asynchronously -# / search search file in current directory -# ? search-back search file in the reverse order -# -# `x` will be used as a generic prefix KBD for most of my user-defined KBDs. Do -# not map anything to just `x`. Instead prefer `x<char>`. Mneumonically, "x" is -# intended to resemble "eXecute". -# -# If `x<char>` does one thing; `x<uppercase-char>` should do the opposite when -# possible. This is convenient for things that pass the round-trip test like -# encrypt/decrypt, archive/unarchive. - -# TODO: move most of these commands to function.zsh and call those functions -# herein. Especially the `archive` and `extract` functions. -# -# TODO: consider integrations with `xdg-open` and configuring filetypes to -# behave in expected "dwim" ways. -# -# TODO: learn more about the terms "archive", "compress", "decompress", -# "expand", "extract", etc. See if a larger abstraction can be created on top -# without sacrificing too much nuance. This might be the case of "serialize", -# "deserialize", "pickle", "unpickle", "marshal", "unmarshal", "encode", -# "decode" -- in which case, a broader abstraction would be nice to decrease the -# surface area of the vocabulary. -# -# TODO: find a way to visualize all of the bound or unbound KBDs. -# -# TODO: support polymorphic way encrypt/decrypt a file or directory. -# -# TODO: support "toggle" for encryption/decryption that detects which function -# to run based on the extension. -# -# TODO: support "toggle" for archive/unarchive that detects which function to -# run based on the extension. - -# Basic configuration -set hidden on - -# Arguably the most import function herein -cmd help $lf -doc | less - -# delete a file, dir -map D delete - -cmd rename %{{ - # Renames files, dirs. - set -f - if [ -e "$1" ]; then - printf 'file exists' - else - mv "$f" "$1" - fi -}} -map R push :rename<space> - -cmd mkdir %{{ - mkdir -p "$1" -}} -map + push :mkdir<space> - -cmd touch %{{ - # Create a file - touch "$1" -}} -map c push :touch<space> - -cmd encrypt_file %{{ - # Encrypts the file and deletes the cleartext version. - # Run `decrypt_file` to return the file to its cleartext version. - printf "recipient: " - read recipient - gpg --encrypt --recipient "$recipient" "$f" && rm "$f" -}} -map xe :encrypt_file - -cmd decrypt_file %{{ - # Decrypts a file that was encrypted with `encrypt_file`. - # Assumes encrypted files have the .gpg extension and decrypted files omit the - # .gpg extension. - # Deletes the original .gpg file when finished. - - # check if file exists without .gpg extension - if [ -e "${f%.gpg}" ]; then - printf "${f%.gpg} exists. Consider deleting or renaming it. Aborting..." - else - gpg --decrypt "$f" >"${f%.gpg}" 2>/dev/null && rm "$f" - fi -}} -map xE :decrypt_file - -cmd archive %{{ - # Generic function for archiving directories. - # TODO: support selections of multiple files. - set -f - printf "Which type of archive would you like to create? (tar,tar.gz,zip) " - read answer - case $answer in - tar.gz) tar -czf "$f.tar.gz" "$(basename $f)"; rm -rf "$f";; - tar) tar -cf "$f.tar" "$(basename $f)"; rm -rf "$f";; - zip) zip -r "$f.zip" "$(basename $f)"; rm -rf "$f";; - *) printf "\"$1\" is not a support archive. Aborting..." - esac -}} -map xa :archive - -cmd unarchive %{{ - # Generic function for extracting archived directories. - # Assumes directories were archived with the `archive`. - set -f - case $f in - *.tar.gz) tar -xzvf $f; rm "$f";; - *.tar) tar -xvf $f; rm "$f";; - *.zip) unzip "$f"; rm "$f";; - # TODO: grab extension from $f and display it in `printf` call. - *) printf "Unsupported archive type. Aborting..." - esac -}} -map xA: unarchive - -cmd tar %{{ - # tars a directory - set -f - printf "gzip? (y,n) " - read answer - case $answer in - y) tar -czf "$f.tar.gz" "$(basename $f)"; rm -rf "$f";; - n) tar -cf "$f.tar" "$(basename $f)"; rm -rf "$f";; - *) printf "\"$answer\" is not a supported answer. Aborting...";; - esac -}} -map xt :tar - -cmd untar %{{ - # untars a directory tar'd with `tar`. - set -f - case $f in - *.tar.gz) tar -xzvf $f; rm "$f";; - *.tar) tar -xvf $f; rm "$f";; - esac -}} -map xT :untar - -cmd zip %{{ - # zip a directory - set -f - zip -r "$f.zip" "$(basename $f)" - rm -rf "$f" -}} -map xz :zip - -cmd unzip %{{ - # unzip a directory - set -f - unzip "$f" - rm "$f" -}} -map xZ :unzip - -# outputs the size of a particular file, dir -# TODO: consider mapping this to a KBD -cmd size %du -hs "$f" -map xs :size diff --git a/configs/shared/misc/.config/lf/marks b/configs/shared/misc/.config/lf/marks deleted file mode 100644 index a62bd91b859f..000000000000 --- a/configs/shared/misc/.config/lf/marks +++ /dev/null @@ -1,5 +0,0 @@ -':/usr/local/google/home/wpcarro -D:~/Dropbox -c:~/Dropbox/dotfiles/configs -d:~/Dropbox/dotfiles -s:~/Pictures/screenshots diff --git a/configs/shared/misc/.config/nvim/init.vim b/configs/shared/misc/.config/nvim/init.vim deleted file mode 100644 index 6e4122b40d39..000000000000 --- a/configs/shared/misc/.config/nvim/init.vim +++ /dev/null @@ -1,667 +0,0 @@ -" -- BEGIN: Vundle config -- -set nocompatible " be iMproved, required -filetype off " required - -" set the runtime path to include Vundle and initialize -" share Vundle between vim and neovim -set rtp+=~/.vim/bundle/Vundle.vim -set rtp+=~/.config/nvim/bundle/Vundle.vim -call vundle#begin() -" alternatively, pass a path where Vundle should install plugins -"call vundle#begin('~/some/path/here') - -" let Vundle manage Vundle, required -Plugin 'VundleVim/Vundle.vim' - -" The following are examples of different formats supported. -" Keep Plugin commands between vundle#begin/end. - -" Displays git information in airline. -Plugin 'tpope/vim-fugitive' - -" easier file navigation -Plugin 'tpope/vim-vinegar' - -" Displays git-tracked C*UD ops within gutter. -Plugin 'airblade/vim-gitgutter' - -" Fuzzy-finder -Plugin 'kien/ctrlp.vim' - -" Grep file contents -Plugin 'mileszs/ack.vim' - -" JS support -Plugin 'pangloss/vim-javascript' - -" JSX support -Plugin 'mxw/vim-jsx' - -" Syntax Highlighting Support -Plugin 'lambdatoast/elm.vim' - -" Elixir Plugins -Plugin 'elixir-lang/vim-elixir' -Plugin 'slashmili/alchemist.vim' -Plugin 'powerman/vim-plugin-AnsiEsc' - -" TypeScript Plugins -Plugin 'rschmukler/typescript-vim' - -" Themes -Plugin 'sickill/vim-monokai' -Plugin 'altercation/vim-colors-solarized' -Plugin 'mhartington/oceanic-next' - -" Executes shell commands and pipes output into new Vim buffer. -Plugin 'sjl/clam.vim' - -" Multiple cursors for simultaneous edits. -" NOTE: use <C-n> to run miltiple cursors not <C-d> -Plugin 'terryma/vim-multiple-cursors' - -" Visualize buffers -Plugin 'vim-airline/vim-airline' -Plugin 'vim-airline/vim-airline-themes' - -" Visually align assignments -Plugin 'godlygeek/tabular' - -" Visually Highlight and comment code. -Plugin 'tpope/vim-commentary' - -" Macros for quotes, parens, etc. -Plugin 'tpope/vim-surround' - -" Allows Plugins to be repeated with `.` character -Plugin 'tpope/vim-repeat' - -" Pairs of mappings -Plugin 'tpope/vim-unimpaired' - -" LISPs support -Plugin 'guns/vim-sexp' -Plugin 'tpope/vim-sexp-mappings-for-regular-people' -let g:sexp_enable_insert_mode_mappings = 0 -let g:sexp_filetypes = '' - -" Seamlessly navigate Vim and Tmux with similar bindings. -Plugin 'christoomey/vim-tmux-navigator' - -" Async `:make` for code linting etc. -Plugin 'neomake/neomake' - -" Color pack -Plugin 'flazz/vim-colorschemes' - -" Better buffer mgt than CtrlP -Plugin 'yegappan/mru' - -Plugin 'zanglg/nova.vim' - -" Emulates Emacs's Helm Swoop search -Plugin 'pelodelfuego/vim-swoop' - -" Fish Shell support -Plugin 'dag/vim-fish' - -" Gotham colorscheme -Plugin 'whatyouhide/vim-gotham' - -" Transparent encryption + decryption -Plugin 'jamessan/vim-gnupg' - -" Javascript auto-formatting -Plugin 'prettier/vim-prettier', { - \ 'do': 'yarn install', - \ 'for': ['javascript', 'typescript', 'css', 'less', 'scss', 'json', 'graphql', 'markdown'] } - -" Support Org mode -Plugin 'jceb/vim-orgmode' - -" ReaosnML -Plugin 'reasonml-editor/vim-reason-plus' - -" Autocompletion -Plugin 'junegunn/fzf' - -" Better JSON highlighting -Plugin 'elzr/vim-json' - -" Text objects made easy -Plugin 'kana/vim-textobj-user' - -" Elixir text objects -Plugin 'andyl/vim-textobj-elixir' - -" Making HTML editing faster -Plugin 'mattn/emmet-vim' - -" Snippets for all languages -Plugin 'honza/vim-snippets' - -" Automatic bracket insertion -Plugin 'jiangmiao/auto-pairs' - -" Linting & error warnings -Plugin 'vim-syntastic/syntastic' - -" Atom colorscheme -Plugin 'rakr/vim-one' - -" Nix syntax highlighting -Plugin 'LnL7/vim-nix' - -call vundle#end() " required -filetype plugin indent on " required -" Put your non-Plugin stuff after this line -" -- END: Vundle config -- - -" Changes <leader> to <space> character. -let mapleader = " " - - -" Highlight column width -set textwidth=80 -set colorcolumn=+0 - -" autoreload a file when it changes on disk -set autoread - -" default to case-insensitive searching -set ignorecase - -" JSX configuration -let g:jsx_ext_required = 0 - - -autocmd FileType reason nnoremap <buffer> gd :call LanguageClient_textDocument_definition()<CR> -autocmd FileType reason nnoremap <buffer> gf :call LanguageClient_textDocument_formatting()<CR> -autocmd FileType reason nnoremap <buffer> gh :call LanguageClient_textDocument_hover()<CR> -autocmd FileType reason nnoremap <buffer> gr :call LanguageClient_textDocument_rename()<CR> - -" Replace <CR> with G for faster navigation -nnoremap <CR> G - - -" Syntastic configuration -set statusline+=%#warningmsg# -set statusline+=%{SyntasticStatuslineFlag()} -set statusline+=%* - -let g:syntastic_always_populate_loc_list = 1 -let g:syntastic_auto_loc_list = 1 -let g:syntastic_check_on_open = 1 -let g:syntastic_check_on_wq = 0 -let g:syntastic_javascript_checkers = ['eslint'] -let g:syntastic_javascript_eslint_generic = 1 -" this is a hack to prevent a false negative -" https://github.com/vim-syntastic/syntastic/issues/1692 -let g:syntastic_javascript_eslint_exec = '/bin/ls' -let g:syntastic_javascript_eslint_exe = 'npx eslint' -let g:syntastic_javascript_eslint_args = '-f compact' - -" javascript autocompletion -autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS -autocmd FileType javascript nnoremap <buffer> gf :Prettier<CR> - -" Maximize the current window -" Similar to Tmux mapping alt-z in my tmux.conf -nnoremap t% :tab sp<CR> - -" Allow C-g to act like C-c the way it does in Emacs -cnoremap <C-g> <C-c> - -" Prettier configuration -let g:prettier#exec_cmd_async = 1 -" force Prettier to run on files even without the @format pragma -let g:prettier#autoformat = 0 - - -" Basic settings -" Thin cursor on INSERT mode -if has('nvim') - let $NVIM_TUI_ENABLE_CURSOR_SHAPE = 1 -endif - -set number -set nowrap -set tabstop=2 -set expandtab -set shiftwidth=2 -set background=dark - -syntax enable -colorscheme one -set background=dark - -" Vim in terminal cannot have a different font from the one set within your -" terminal. However, this setting will set the font for the GUI version. -if has('gui_running') - set guifont=Operator\ Mono:h12 -endif - -if has('termguicolors') - set termguicolors -endif - -if &term =~# '^screen' - let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" - let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" -endif - -set history=1000 -set undolevels=1000 - -set t_Co=255 - -" Support italics -highlight Comment cterm=italic - - -" quickly edit popular configuration files -nnoremap <leader>ev :vsplit $MYVIMRC<CR> -nnoremap <leader>ee :vsplit ~/.emacs.d/init.el<CR> -nnoremap <leader>ez :vsplit ~/.zshrc<CR> -nnoremap <leader>ea :vsplit ~/aliases.zsh<CR> -nnoremap <leader>ef :vsplit ~/functions.zsh<CR> -nnoremap <leader>el :vsplit ~/variables.zsh<CR> -nnoremap <leader>ex :vsplit ~/.Xresources<CR> -nnoremap <leader>ei :vsplit ~/.config/i3/config.shared<CR> - -" quickly source your vimrc -nnoremap <leader>sv :source $MYVIMRC<CR> - -" quickly edit your snippets -nnoremap <leader>es :vsplit<CR>:edit ~/.vim/bundle/vim-snippets/snippets/reason.snippets<CR> - - -" Auto resize window splits -autocmd VimResized * wincmd = - - -" Neomake Settings -autocmd! BufWritePost * Neomake - -" Elixir linting -let g:neomake_elixir_credo_maker = { - \ 'exe': 'mix', - \ 'args': ['credo', 'list', '%:p', '--format=oneline'], - \ 'errorformat': - \ '%W[F] %. %f:%l:%c %m,' . - \ '%W[F] %. %f:%l %m,' . - \ '%W[R] %. %f:%l:%c %m,' . - \ '%W[R] %. %f:%l %m,' . - \ '%I[C] %. %f:%l:%c %m,' . - \ '%I[C] %. %f:%l %m,' . - \ '%-Z%.%#' - \ } - - -let g:neomake_elixir_enabled_makers = ['mix', 'credo'] - -augroup my_error_signs - au! - autocmd ColorScheme * hi NeomakeErrorSign ctermfg=203 guifg=#ff5f5f - autocmd ColorScheme * hi NeomakeWarningSign ctermfg=209 guifg=#ffaf00 - autocmd ColorScheme * hi NeomakeInfoSign ctermfg=183 guifg=#dfafff - autocmd ColorScheme * hi NeomakeMessageSign ctermfg=27 guifg=#0087ff -augroup END - - -let g:neomake_error_sign = { - \ 'text': '>>', - \ 'texthl': 'NeoMakeErrorSign', - \ } - -let g:neomake_warning_sign = { - \ 'text': '>>', - \ 'texthl': 'NeoMakeWarningSign', - \ } - -let g:neomake_info_sign = { - \ 'text': '>>', - \ 'texthl': 'NeoMakeInfoSign', - \ } - -let g:neomake_message_sign = { - \ 'text': '>>', - \ 'texthl': 'NeoMakeMessageSign', - \ } - -function! <SID>LocationPrevious() - try - lprev - catch /^Vim\%((\a\+)\)\=:E553/ - llast - endtry -endfunction - -function! <SID>LocationNext() - try - lnext - catch /^Vim\%((\a\+)\)\=:E553/ - lfirst - endtry -endfunction - -nnoremap <Leader>[ :call <SID>LocationPrevious()<CR> -nnoremap <Leader>] :call <SID>LocationNext()<CR> - - -" Alchemist settings -let g:alchemist#elixir_erlang_src = '/usr/local/share/src' - - -" Airline Settings -" Enables the list of buffers. -let g:airline#extensions#tabline#enabled = 0 - -" Buffer numbers alongside files -let g:airline#extensions#tabline#buffer_nr_show = 0 - -" Shows the filename only. -let g:airline#extensions#tabline#fnamemod = ':t' - -" Allow glyphs in airline -let g:airline_powerline_fonts = 1 - -" Change Airline theme -let g:airline_theme = 'hybrid' - - -" Vim-Swoop Settings -" Edits colorscheme -let g:swoopHighlight = ["hi! link SwoopBufferLineHi Warning", "hi! link SwoopPatternHi Error"] - - -" Jump to buffers. -nmap <F1> :1b<CR> -nmap <F2> :2b<CR> -nmap <F3> :3b<CR> -nmap <F4> :4b<CR> -nmap <F5> :5b<CR> -nmap <F6> :6b<CR> -nmap <F7> :7b<CR> -nmap <F8> :8b<CR> -nmap <F9> :9b<CR> - - -" It's the twenty-first century...no swaps. -set noswapfile - - -" Allow visual tab completion in command mode -set wildmenu - - -" Show Vim commands as they're being input. -set showcmd - - -" Code folding -" set foldmethod=indent -" set foldnestmax=10 -" set nofoldenable -" set foldlevel=4 - - -" emulate ci" and ci' behavior -nnoremap ci( f(%ci( -nnoremap ci[ f[%ci[ - - -" extend functionality of <C-e> & <C-y> scrolling -nnoremap <C-e> <C-e>j -vnoremap <C-e> <C-e>j -nnoremap <C-y> <C-y>k -vnoremap <C-y> <C-y>k - - -" Opens all folds within the buffer -" nnoremap ZZ zR - -" Closes all folds within the buffer -" nnoremap zz zM - -" Opens all folds beneath the cursor -" NOTE: j is the character to go down -" nnoremap zJ zO - -" Opens single fold beneath the cursor -" NOTE: j is the character to go down -" nnoremap zj zo - -" Opens single fold beneath the cursor -" NOTE: k is the character to go down -" nnoremap zK zC - -" Opens single fold beneath the cursor -" NOTE: k is the character to go down -" nnoremap zk zc - - -" Save shortcut -nnoremap <C-s> :w<CR> - - -" Switch to MRU'd buffer -nnoremap <leader><leader> <C-^> - - -" Alternative MRU to CtrlP MRU -nnoremap <leader>b :MRU<CR> - - -" Supports mouse interaction. -set mouse=a - - -" Highlights matches during a search. -set hlsearch - -" Clear highlight -noremap <silent> <leader>h :nohlsearch<bar>:echo<CR> - - -" backspace settings -set backspace=2 -set backspace=indent,eol,start - - -" Javascript specific variables -let g:javascript_plugin_jsdoc = 1 - -" GlobalListchars -set list -set listchars=tab:··,trail:·,nbsp:· - - -" Keeps everything concealed at all times. Even when cursor is on the word. -set conceallevel=1 -set concealcursor=nvic - - -" map jk to <Esc> -inoremap jk <Esc> - - -" Hybrid mode for Vim -inoremap <C-a> <Esc>I -inoremap <C-e> <Esc>A - -inoremap <M-b> <S-Left> -inoremap <M-f> <S-Right> - -inoremap <C-b> <Left> -inoremap <C-f> <Right> -inoremap <C-p> <Up> -inoremap <C-n> <Down> - - -" Manage Vertical and Horizontal splits -nnoremap sl <Esc>:vs<CR><C-w>l -nnoremap sh <Esc>:vs<CR> -nnoremap sj <Esc>:sp<CR><C-w>j -nnoremap sk <Esc>:sp<CR> - - -" Delete (i.e. "close") the currently opened buffer -" TODO: unless it's a split window, which should be :q -nnoremap <leader>q :bdelete<CR> - - -" Set CtrlP runtime path -set runtimepath^=~/.vim/bundle/ctrlp.vim - - -" Pane movement -let g:tmux_navigator_no_mappings = 1 - -nnoremap <silent> <M-h> :TmuxNavigateLeft<CR> -nnoremap <silent> <M-j> :TmuxNavigateDown<CR> -nnoremap <silent> <M-k> :TmuxNavigateUp<CR> -nnoremap <silent> <M-l> :TmuxNavigateRight<CR> -nnoremap <silent> <M-q> :q<CR> - -" make Y do what is intuitive given: -" D: deletes until EOL -" C: changes until EOL -" Y: (should) yank until EOL -nnoremap Y y$ - - -" scrolling and maintaing mouse position -" nnoremap <C-j> j<C-e> -" nnoremap <C-k> k<C-y> - - -" remap redo key that is eclipsed by `rotate` currently -nnoremap U :redo<CR> - - -" Define highlighting groups -" NOTE: The ANSII aliases for colors will change when iTerm2 settings are -" changed. -highlight InterestingWord1 ctermbg=Magenta ctermfg=Black -highlight InterestingWord2 ctermbg=Blue ctermfg=Black - -" h1 highlighting -nnoremap <silent> <leader>1 :execute '2match InterestingWord1 /\<<c-r><c-w>\>/'<CR> -nnoremap <silent> <leader>x1 :execute '2match none'<CR> -vnoremap <silent> <leader>1 :execute '2match InterestingWord1 /\<<c-r><c-w>\>/'<CR> - -" h2 highlighting -nnoremap <silent> <leader>2 :execute '3match InterestingWord2 /\<<c-r><c-w>\>/'<CR> -nnoremap <silent> <leader>x2 :execute '3match none'<CR> - -"clear all highlighted groups -nnoremap <silent> <leader>xx :execute '2match none'<CR> :execute '3match none'<CR> hh - - -" pasteboard copy & paste -set clipboard+=unnamedplus - - -" Manage 80 char line limits -highlight OverLength1 ctermbg=Magenta ctermfg=Black -highlight OverLength2 ctermbg=LightMagenta ctermfg=Black -highlight OverLength3 ctermbg=White ctermfg=Black -" match OverLength3 /\%81v.\+/ -match OverLength2 /\%91v.\+/ -" match OverLength3 /\%101v.\+/ - -nnoremap <leader>w :w<CR> - - -" Resize split to 10,20,...,100 chars -" Uncomment the next lines for support at those sizes. -" These bindings interfere with the highlight groups, however. -" Increases the width of a vertical split. -" nnoremap <leader>1 :vertical resize 10<CR> -" nnoremap <leader>2 :vertical resize 20<CR> -nnoremap <leader>3 :vertical resize 30<CR> -nnoremap <leader>4 :vertical resize 40<CR> -nnoremap <leader>5 :vertical resize 50<CR> -nnoremap <leader>6 :vertical resize 60<CR> -nnoremap <leader>7 :vertical resize 70<CR> -nnoremap <leader>8 :vertical resize 80<CR> -nnoremap <leader>9 :vertical resize 90<CR> -nnoremap <leader>0 :vertical resize 100<CR> - - -" Increases the height of a horizontal split. -nnoremap <leader>v1 :resize 5<CR> -nnoremap <leader>v2 :resize 10<CR> -nnoremap <leader>v3 :resize 15<CR> -nnoremap <leader>v4 :resize 20<CR> -nnoremap <leader>v5 :resize 25<CR> -nnoremap <leader>v6 :resize 30<CR> -nnoremap <leader>v7 :resize 35<CR> -nnoremap <leader>v8 :resize 40<CR> -nnoremap <leader>v9 :resize 45<CR> -nnoremap <leader>v0 :resize 50<CR> - - -" BOL and EOL -nnoremap H ^ -vnoremap H ^ -nnoremap L $ -vnoremap L $ - - -" Search for visually selected text -vnoremap // y/<C-r>"<CR>N - - -" trim trailing whitespace on save -autocmd BufWritePre *.{js,py,tpl,less,html,ex,exs,txt} :%s/\s\+$//e - - -" Use .gitignore file to populate Ctrl-P -let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files . -co --exclude-standard', 'find %s -type f'] - - -" Ignores dirs and files -let g:ctrlp_custom_ignore = { - \ 'dir': 'node_modules', - \ 'file': '\v\.(exe|dll|png|jpg|jpeg)$' -\} - - -" WIP: Run elixir tests on that line -" TODO: only register binding in *.exs? file extensions -nnoremap <leader>t :call ExTestToggle()<CR> - - -" Jumps from an Elixir module file to an Elixir test file. -fun! ExTestToggle() - if expand('%:e') == "ex" - - let test_file_name = expand('%:t:r') . "_test.exs" - let test_file_dir = substitute(expand('%:p:h'), "/lib/", "/test/", "") - let full_test_path = join([test_file_dir, test_file_name], "/") - - e `=full_test_path` - - elseif match(expand('%:t'), "_test.exs") != -1 - - let test_file_name = expand('%:t:r') - let offset_amt = strlen(test_file_name) - strlen("_test") - let module_file_name = strpart(test_file_name, 0, offset_amt) . ".ex" - let module_file_dir = substitute(expand('%:p:h'), "/test/", "/lib/", "") - let full_module_path = join([module_file_dir, module_file_name], "/") - - e `=full_module_path` - - endif -endfun - - -" Creates intermediate directories and file to match current buffer's filepath -fun! CreateNonExistingDirsAndFile() - ! echo "Creating directory..." && mkdir -p %:p:h && echo "Created directory." && echo "Creating file..." && touch %:t:p && echo "Created file." - - " Write the buffer to the recently created file. - w -endfun diff --git a/configs/shared/misc/.config/rofi/config b/configs/shared/misc/.config/rofi/config deleted file mode 100644 index 3bc0a7cab04e..000000000000 --- a/configs/shared/misc/.config/rofi/config +++ /dev/null @@ -1 +0,0 @@ -rofi.theme: /usr/share/rofi/themes//lb.rasi diff --git a/configs/shared/misc/.config/terminator/config b/configs/shared/misc/.config/terminator/config deleted file mode 100644 index 5e62b9d4be5c..000000000000 --- a/configs/shared/misc/.config/terminator/config +++ /dev/null @@ -1,20 +0,0 @@ -[global_config] -[keybindings] -[layouts] - [[default]] - [[[child1]]] - parent = window0 - type = Terminal - [[[window0]]] - parent = "" - type = Window -[plugins] -[profiles] - [[default]] - background_type = transparent - cursor_color = "#aaaaaa" - cursor_shape = ibeam - font = Source Code Pro 12 - scrollbar_position = hidden - show_titlebar = False - use_system_font = False |