diff --git a/git/gitconfig b/git/gitconfig index 5d41aa3..77ffdbc 100644 --- a/git/gitconfig +++ b/git/gitconfig @@ -15,6 +15,7 @@ fe = "fetch --all --prune" co = "checkout" + cm = "commit --message" ci = "commit" st = "status" br = "branch" @@ -24,6 +25,7 @@ rba = "rebase --abort" df = "diff" gr = "! git graph" + ap = "add --patch" k = "!gitk --all" @@ -66,7 +68,7 @@ detachedHead = false [commit] gpgSign = true - ; cleanup = default + cleanup = strip status = true [status] relativePaths = false diff --git a/i3/config b/i3/config index fdcb007..f914bcc 100644 --- a/i3/config +++ b/i3/config @@ -1,5 +1,3 @@ -# vim:set foldmethod=indent: -# vim:set foldignore=: # This file has been auto-generated by i3-config-wizard(1). # It will not be overwritten, so edit it as you like. # @@ -196,13 +194,20 @@ assign [class="^Keepassx$"] $workspace8 bindsym $mod+Shift+Return exec $calc bindsym F1 exec --no-startup-id ~/.i3/scripts/shutdown-menu + bindsym F2 exec --no-startup-id ~/.i3/scripts/screenmenu + bindsym $mod+F1 exec --no-startup-id ~/.i3/scripts/i3exit lock + bindsym $mod+F2 exec --no-startup-id screencfg ~/.screencfg/all.yml ; exec --no-startup-id ~/.autostart/30_keyboard.sh + bindsym $mod+F3 exec --no-startup-id screencfg ~/.screencfg/laptop.yml ; exec --no-startup-id ~/.autostart/30_keyboard.sh + bindsym $mod+F4 exec --no-startup-id ~/.i3/scripts/i3exit suspend bindsym $mod+Home exec --no-startup-id ~/.i3/scripts/shutdown-menu bindsym $mod+Shift+v exec --no-startup-id redshift-toggle - bindsync $mod+Shift+$scratchpad move scratchpad - bindsync $mod+$scratchpad scratchpad show + bindsym $mod+Shift+$scratchpad move scratchpad + bindsym $mod+$scratchpad scratchpad show + + # bindsym $mod+$swap workspace $workspace1; move container to workspace $workspace10; workspace $workspace10; move container to workspace $workspace1; workspace $workspace1; ################################################################################ ### MODES ###################################################################### diff --git a/i3/i3status.conf b/i3/i3status.conf index a20caf5..873bc5a 100644 --- a/i3/i3status.conf +++ b/i3/i3status.conf @@ -23,15 +23,18 @@ order += volume_status order += spotify order += "wifi" order += online_status -order += "battery_level 0" +order += "battery_level all" order += "clock" -battery_level 0 { - format = " {icon} {percent}% " +battery_level all { + battery_id = "all" + format = " {icon} {percent}% {time_remaining} " + measurement_mode = "sys" charging_character = "" blocks = "" notification = true hide_when_full = false + hide_seconds = true notify_low_level = true threshold_full = 95 } diff --git a/packages.yml b/packages.yml index 08086a6..08a284f 100644 --- a/packages.yml +++ b/packages.yml @@ -26,6 +26,9 @@ packages: sudo: fedora: ["sudo"] ubuntu: ["sudo"] + apt: + fedora: [] + ubuntu: ["apt-file"] xorg: fedora: - '@base-x' @@ -56,7 +59,7 @@ packages: ubuntu: ["fonts-inconsolata"] taskwarrior: fedora: ["task", "tasksh"] - ubuntu: ["task"] + ubuntu: ["taskwarrior"] git: fedora: ["git", "gitk"] ubuntu: ["git", "git-extras", "gitk"] @@ -101,7 +104,7 @@ packages: ubuntu: ["pinta"] py3status: fedora: ["py3status", "python3-pytz", "python3-tzlocal"] - ubuntu: ["python3-arrow", "python3-tzlocal"] + ubuntu: ["py3status", "python3-arrow", "python3-tzlocal"] pass: fedora: ["pass"] ubuntu: ["pass"] @@ -173,55 +176,82 @@ packages: ubuntu: ["shutter"] nmap: fedora: ["nmap"] + ubuntu: ["nmap"] openvpn: fedora: ["openvpn"] + ubuntu: ["openvpn"] curl: fedora: ["curl"] + ubuntu: ["curl"] wget: fedora: ["wget"] + ubuntu: ["wget"] tree: fedora: ["tree"] + ubuntu: ["tree"] which: fedora: ["which"] + ubuntu: [] zip: fedora: ["zip"] + ubuntu: ["zip", "unzip"] traceroute: fedora: ["traceroute"] + ubuntu: ["traceroute"] tcpdump: fedora: ["tcpdump"] + ubuntu: ["tcpdump"] tar: fedora: ["tar"] + ubuntu: ["tar"] rsync: fedora: ["rsync"] + ubuntu: ["rsync"] nmap: fedora: ["nmap"] + ubuntu: ["nmap"] net-tools: fedora: ["net-tools"] + ubuntu: ["net-tools"] ntfs: fedora: ["ntfs-3g", "ntfsprogs"] + ubuntu: ["ntfs-3g"] lsof: fedora: ["lsof"] + ubuntu: ["lsof"] iptables: fedora: ["iptables"] + ubuntu: ["iptables"] gpg: fedora: ["gnupg2"] + ubuntu: ["gnupg2"] networkmanager: fedora: ["NetworkManager", "NetworkManager-wifi"] + ubuntu: ["network-manager", "network-manager-openvpn", "network-manager-openconnect"] pulseaudio: fedora: ["pulseaudio", "pulseaudio-utils"] + ubuntu: ["pulseaudio", "pulseaudio-utils"] iw: fedora: ["iw"] + ubuntu: ["iw"] cowsay: fedora: ["cowsay"] + ubuntu: ["cowsay"] ruby: fedora: ["ruby", "ruby-devel", "rubygem-bundler"] + ubuntu: ["ruby", "ruby-dev", "ruby-bundler"] lxc: fedora: ["lxc"] + ubuntu: ["lxc"] acpi: fedora: ["acpi"] + ubuntu: ["acpid"] npm: fedora: ["npm"] + ubuntu: ["npm"] xdg: fedora: ["xdg-utils"] + ubuntu: ["xdg-utils"] docs: fedora: ["man-pages"] + ubuntu: ["manpages"] diff --git a/vim/vimrc b/vim/vimrc index f9208f0..0b83807 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -51,6 +51,7 @@ Plug 'ElmCast/elm-vim' Plug 'avh4/elm-format' Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } +Plug 'hashivim/vim-terraform' call plug#end() filetype plugin indent on @@ -280,3 +281,5 @@ set completeopt-=preview let g:ycm_add_preview_to_completeopt = 0 let g:instant_markdown_autostart = 0 + +let g:terraform_align = 1 diff --git a/x/Xresources b/x/Xresources index 0ec1b8c..8f0f729 100644 --- a/x/Xresources +++ b/x/Xresources @@ -5,7 +5,7 @@ URxvt.scrollBar: false URxvt.font: xft:Inconsolata:size=10 URxvt.letterSpace: -1 -URxvt.perl-ext-common: default,matcher,selection-to-clipboard +URxvt.perl-ext: default,matcher,selection-to-clipboard,font-size,resize-font URxvt.url-launcher: /usr/bin/xdg-open URxvt.matcher.button: 1 URxvt.saveLines: 10000 @@ -21,6 +21,14 @@ URxvt.secondaryScreen: 1 URxvt.secondaryScroll: 0 URxvt.secondaryWheel: 1 +URxvt.keysym.C-Up: font-size:increase +URxvt.keysym.C-Down: font-size:decrease +URxvt.keysym.C-S-Up: font-size:incglobal +URxvt.keysym.C-S-Down: font-size:decglobal +URxvt.keysym.C-equal: font-size:reset +URxvt.keysym.C-slash: font-size:show + + URxvt.fading: 15 ! special diff --git a/zsh/zshrc.d/20_aliases.sh b/zsh/zshrc.d/20_aliases.sh index 9aac967..cef524f 100644 --- a/zsh/zshrc.d/20_aliases.sh +++ b/zsh/zshrc.d/20_aliases.sh @@ -8,7 +8,6 @@ alias tml="tmux list-sessions" alias tma="tmux ls 2>/dev/null && tmux attach-session || tmux" alias tmn="tmux new-session -A -s" -alias clip="xclip -selection clipboard" alias clipc="xclip -selection primary" alias clipo="xclip -out -selection clipboard" @@ -73,3 +72,214 @@ alias gpush='git push origin $(currentbranch)' alias pass=mypass alias issh="ssh -o StrictHostKeyChecking=false -o UserKnownHostsFile=/dev/null" +alias gfix='git commit --amend --no-edit' +alias gfixa='git commit --amend --no-edit --all ' +alias gfixp='git commit --amend --no-edit --patch' + +alias issh="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" + +alias newpw="pwgen --secure 25 1" + +gitmaster() { + git stash push -m gitmaster-$(date -uIseconds) -u || return 1 + _branch=$(git rev-parse --abbrev-ref HEAD) + git fe || return 1 + git checkout master || return 1 + git merge origin/master || return 1 + git checkout $_branch + git stash pop +} + +_remote() { + [[ -n "$SSH_CONNECTION" ]] +} + +cd() { + builtin cd "$@" && ls +} + +mount() { + if [[ $# == 0 ]] ; then + command mount | column -t + else + command mount "$@" + fi +} + +extr() +{ + if [[ -f "$1" ]] ; then + case "$1" in + *.tar.bz2 ) tar xvjf "$1" ;; + *.tar.gz ) tar xvzf "$1" ;; + *.tar.xz ) tar xvJf "$1" ;; + *.bz2 ) bunzip2 "$1" ;; + *.rar ) unrar x "$1" ;; + *.gz ) gunzip "$1" ;; + *.tar ) tar xvf "$1" ;; + *.tbz2 ) tar xvjf "$1" ;; + *.tgz ) tar xvzf "$1" ;; + *.zip ) unzip "$1" ;; + *.Z ) uncompress "$1" ;; + *.7z ) 7z x "$1" ;; + *) + echo "$1 cannot be extracted via $0" + ;; + esac + else + echo "$1 is not a valid file" + fi +} + +ruler() { + for s in '....^....|' '1234567890'; do + w=${#s} + str=$(for (( i=1; $i<=$(( ($COLUMNS + $w) / $w )) ; i=$i+1 )); do echo -n $s; done ) + str=$(echo $str | cut -c -$COLUMNS) + echo $str + done +} + +addext() { + [[ -z "$1" ]] || [[ -z "$2" ]] && { echo "Usage: $0 " ; return } + mv "$1" "$1$2" +} + +rmext() { + [[ -e "$1" ]] && mv -i "$1" "${1%.*}" +} + + +ckwww() { + ping -c 3 www.google.com +} + +httpcode() { + curl http://httpcode.info/$1 +} + +bak() { + if ! [[ "$1" ]] ; then + printf '%s\n' "usage: $0 FILE" + return 1 + fi + if ! [[ -e "$1" ]] ; then + printf '%s\n' "\"$1\" not found" + return 1 + fi + name="$1.$(date +%Y%m%d%H%M%S.bak)" + if [[ -e "${name}" ]] ; then + printf '%s\n' "Backup file \"$name\" already exists" + return 1 + fi + cp --archive --verbose --no-clobber "$1" "${name}" +} + +fstab() { + # yeah + expand /etc/fstab | grep -v '^#' | grep -P '^.+$' | tr -s ' ' | tr ' ' '|' | cat <(grep -P '<.+>' /etc/fstab | cut -f 2- -d ' ' | sed 's/>[^<]*|&2 "$(man)" ; return ; } + man -t "$1" | ps2pdf - - | zathura - +} + +myip4() { + curl "http://ipv4.icanhazip.com" +} + +myip6() { + curl "http://ipv6.icanhazip.com" 2>/dev/null || echo "no ip6" +} + +diffdir() { + [[ "$1" ]] && [[ "$2" ]] || { echo "$0 " ; return 1 ; } + diff <(cd "$1" && find -type f -exec md5sum {} \;) <(cd "$2" && find -type f -exec md5sum {} \;) +} + +diffdir2() { + [[ "$1" ]] && [[ "$2" ]] || { echo "$0 " ; return 1 ; } + comm -13 <(cd "$1" && find -type f | sort -g) <(cd "$2" && find -type f | sort -g) +} + +bm() { + case "$1" in + dev) + cd "$HOME/development/projects" + ;; + dot) + cd "$HOME/dotfiles" + ;; + *) + echo "unknown target" + ;; + esac +} + +man() { + env LESS_TERMCAP_mb=$'\E[01;31m' \ + LESS_TERMCAP_md=$'\E[01;38;5;74m' \ + LESS_TERMCAP_me=$'\E[0m' \ + LESS_TERMCAP_se=$'\E[0m' \ + LESS_TERMCAP_so=$'\E[38;5;246m' \ + LESS_TERMCAP_ue=$'\E[0m' \ + LESS_TERMCAP_us=$'\E[04;38;5;146m' \ + man "$@" +} + +embiggen() { + enscript --no-header --media=A4 --landscape --font="DejaVuSansMono30" -o - | ps2pdf - | zathura - +} + +resolvecd() { + cd "$(readlink -f $(pwd))" +} + +ssht () { + ssh -t $@ "tmux a || tmux"; +} + +t() { + if [[ "$1" ]] ; then + tmux new-session -A -s "$1" + else + tmux attach-session + fi +} + +b() { + bookmarks=${DOTFILES}/bookmarks + bookmark="$1" + if ! [[ "${bookmark}" ]] ; then + printf 'Need a bookmark' >&2 + return 1 + fi + if ! [[ -r "${bookmark}" ]] ; then + printf 'Invalid bookmark %s' "${bookmark}" >&2 + return 1 + fi + target="$(head -1 ${bookmark})" + if ! [[ -e "${target}" ]] ; then + printf 'Traget not found: %s' "${target}" >&2 + fi + cd "$(eval ${target})" +} + +sb() { + echo $(( $1 * $(cat /sys/class/backlight/intel_backlight/max_brightness) / 100)) | sudo tee /sys/class/backlight/intel_backlight/brightness +} + +clip() { + tee >(xclip -selection clipboard) | tee >(xclip -selection primary) +} + +gb() { + while [[ ! -e ./.git ]] ; do + cd .. + done +}