all repos

dotfiles @ b11c53f63484469afdfc65a90853d62a01c7d43a

i use rach linux btw
13 files changed, 99 insertions(+), 156 deletions(-)
Update i3, bspwm config, add screenhot for bspwm
Author: Smirnov Olexandr ss2316544@gmail.com
Committed at: 2021-02-24 15:56:14 +0200
Parent: 5374db6
M README.md
···
        1
        1
         <h1 align="center">dotfiles</h1>

      
        2
        2
         

      
        3
        
        -![](./config/qtile/screen.png)

      
        4
        
        -------------------------------

      
        
        3
        +![](config/bspwm/screen.png)

      
        
        4
        +----------------------------

      
        5
        5
         

      
        6
        6
         #### System configuration

      
        7
        7
         - `OS` Arch

      
A config/bspwm/README.md
···
        
        1
        +# BSPWM

      
        
        2
        +

      
        
        3
        +[](screen.png)

      
        
        4
        +--------------

      
        
        5
        +

      
        
        6
        +### Install

      
        
        7
        +```bash

      
        
        8
        +sudo pacman -S bspwm sxhkd

      
        
        9
        +yay -S polybar

      
        
        10
        +```

      
M config/bspwm/bspwmrc
···
        49
        49
         bspc rule -a Joplin                desktop='^5' focus=on   follow=on

      
        50
        50
         bspc rule -a Simplenote            desktop='^5' focus=on   follow=on

      
        51
        51
         bspc rule -a discord               desktop='^6' focus=off  follow=off

      
        52
        
        -bspc rule -a telegram-desktop      desktop='^6' focus=off  follow=off

      
        
        52
        +bspc rule -a telegram-desktop      desktop='^6' focus=off  follow=on

      
        53
        53
         bspc rule -a KeePassXC             desktop='^7' focus=on   follow=off

      
        54
        54
         bspc rule -a Spotify               desktop='^9' focus=on   follow=on

      
        55
        55
         bspc rule -a google-tasks-desktop  state=floating

      
A config/bspwm/screen.png

Not showing binary file.

M config/bspwm/sxhkd
···
        6
        6
             {kitty,  \

      
        7
        7
              rofi -show drun -theme ntenV2}

      
        8
        8
         

      
        9
        
        -super + shift + {w,f,e,c,v,q}

      
        10
        
        -        {google-chrome-stable,               \

      
        11
        
        -         alacritty --class=ranger -e ranger, \

      
        12
        
        -         alacritty --class=nvim   -e nvim,   \

      
        13
        
        -         code,                               \

      
        14
        
        -         veracrypt,                          \

      
        15
        
        -         xkill                               }

      
        16
        
        -

      
        17
        
        -super + shift + z

      
        18
        
        -    betterlockscreen --off 180 -t "Computer is locked" -l

      
        
        9
        +super + shift + {w,f,e,c,v,s,z,q}

      
        
        10
        +        {google-chrome-stable,                                  \

      
        
        11
        +         kitty --class ranger -e ranger,                        \

      
        
        12
        +         kitty --class nvim   -e nvim,                          \

      
        
        13
        +         code,                                                  \

      
        
        14
        +         veracrypt,                                             \

      
        
        15
        +         .applications/simplenote.appimage,                     \

      
        
        16
        +         betterlockscreen --off 180 -t "Computer is locked" -l, \

      
        
        17
        +         xkill                                                  }

      
        19
        18
         

      
        20
        19
         super + {equal, minus, shift+minus}

      
        21
        20
             amixer sset Master {2%+,2%-,toggle}

      
M config/i3/config
···
        16
        16
         hide_edge_borders smart

      
        17
        17
         

      
        18
        18
         ############ Variables ###########

      
        19
        
        -set $terminal alacritty

      
        
        19
        +set $terminal kitty

      
        20
        20
         set $browser google-chrome-stable

      
        21
        
        -set $filemanager alacritty --title=ranger -e ranger

      
        22
        
        -set $codeeditor alacritty --title=nvim -e nvim

      
        
        21
        +set $filemanager kitty --class ranger -e ranger

      
        
        22
        +set $codeeditor kitty --class nvim -e nvim

      
        23
        23
         set $guicode code

      
        24
        24
         

      
        25
        25
         ############ Autostart ############

      
        26
        26
         exec_always --no-startup-id exec setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps"

      
        27
        
        -exec_always --no-startup-id exec picom --experimental-backends -b

      
        
        27
        +exec --no-startup-id exec picom -b

      
        28
        28
         exec --no-startup-id exec nitrogen --restore

      
        29
        29
         exec --no-startup-id exec lxsession

      
        30
        
        -#exec --no-startup-id exec $HOME/.script/autolock

      
        31
        
        -#exec --no-startup-id exec org.telegram.desktop

      
        32
        
        -#exec --no-startup-id exec discord

      
        33
        
        -#exec --no-startup-id exec redshift-gtk

      
        34
        
        -#exec_always --no-startup-id exec $HOME/.config/i3/bar.sh

      
        35
        30
         

      
        36
        31
         ############## WM keys ############

      
        37
        32
         

      ···
        62
        57
         ############## User key ###########

      
        63
        58
         

      
        64
        59
         # Menus

      
        65
        
        -bindsym $mod+Shift+Return exec rofi -show drun

      
        
        60
        +bindsym $mod+Shift+Return exec rofi -show drun -theme ntenV2

      
        66
        61
         bindsym $mod+Escape exec ~/.script/dmenu/dmenu-power.sh

      
        67
        62
         bindsym $mod+Control+u exec ~/.script/dmenu/dmenu-config-edit.sh

      
        68
        63
         bindsym $mod+Control+i exec ~/.script/dmenu/dmenu-pass.sh

      ···
        73
        68
         bindsym $mod+Shift+f exec $filemanager

      
        74
        69
         bindsym $mod+Shift+e exec $codeeditor

      
        75
        70
         bindsym $mod+Shift+c exec $guicode

      
        
        71
        +bindsym $mod+Shift+v exec veracrypt

      
        
        72
        +bindsym $mod+Shift+s exec ~/.applications/simplenote.appimage

      
        76
        73
         

      
        77
        74
         # Sceenshot

      
        78
        75
         bindsym --release Print exec scrot -s /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png

      
        79
        
        -bindsym --release Shift+Print exec scrot /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png

      
        
        76
        +bindsym Shift+Print exec scrot /home/${USER}/$(date +%Y-%m-%d-%H-%M-%S).png

      
        80
        77
         

      
        81
        78
         # Lockscreen

      
        82
        79
         bindsym $mod+Shift+z exec betterlockscreen --off 180 -t "Computer is lockerd" -l

      
        83
        80
         

      
        84
        81
         # Volume

      
        85
        
        -bindsym $mod+plus exec "amixer sset Master 2%+"

      
        86
        
        -bindsym $mod+minus exec "amixer sset Master 2%-"

      
        87
        
        -bindsym $mod+Shift+minus exec "amixer sset Master toggle"

      
        
        82
        +bindsym $mod+plus exec amixer sset Master 2%+

      
        
        83
        +bindsym $mod+minus exec amixer sset Master 2%-

      
        
        84
        +bindsym $mod+Shift+minus exec amixer sset Master toggle

      
        88
        85
         

      
        89
        86
         ######### Window preferens ########

      
        90
        87
         assign [class="(?i)alacritty|kitty"] $ws1

      
        91
        
        -assign [class="(?i)firefox|google-chorome-stable"] $ws2

      
        92
        
        -assign [class="(?i)code|vscodium|subl"] $ws3

      
        93
        
        -assign [title="nvim"] $ws3

      
        94
        
        -assign [class="(?!)thunar"] $ws4

      
        95
        
        -assign [title="ranger"] $ws4

      
        96
        
        -assign [title="Joplin"] $ws5

      
        97
        
        -assign [class="(?i)telegram|discord"] $ws6

      
        
        88
        +assign [class="(?i)google-chrome-stable|firefox"] $ws2

      
        
        89
        +assign [class="Code|nvim"] $ws3

      
        
        90
        +assign [class="Thunar|ranger"] $ws4

      
        
        91
        +assign [class="Joplin|Simplenote"] $ws5

      
        
        92
        +assign [class="TelegramDesktop|discord"] $ws6

      
        
        93
        +for_window [class="TelegramDesktop|discord"] layout tabbed

      
        
        94
        +assign [class="KeePassXC"] $ws7

      
        98
        95
         assign [class="Spotify"] $ws9

      
        99
        96
         for_window [title="Google Tasks"] floating enable

      
        100
        
        -for_window [class="(?i)telegram|discord"] layout tabbed

      
        101
        97
         focus_on_window_activation focus

      
        102
        98
         

      
        103
        99
         ########## Change focus ###########

      ···
        163
        159
         

      
        164
        160
         ############### Bar ###############

      
        165
        161
         bar {

      
        166
        
        -    #status_command i3status -c ~/.config/i3/i3status

      
        167
        
        -    status_command i3blocks -c ~/.config/i3/i3blocks

      
        
        162
        +    # status_command i3status -c ~/.config/i3/i3status

      
        
        163
        +    status_command i3status-rs ~/.config/i3/i3status-rs.toml

      
        168
        164
             font pango:JetBrains Mono 10

      
        169
        165
             position top

      
        170
        166
             colors {

      
D config/i3/i3blocks
···
        1
        
        -separator=true

      
        2
        
        -separator_block_width=15

      
        3
        
        -

      
        4
        
        -[keyboard]

      
        5
        
        -command=$HOME/.script/kblayout

      
        6
        
        -label= 

      
        7
        
        -interval=repeat

      
        8
        
        -

      
        9
        
        -[volume]

      
        10
        
        -command=$HOME/.script/volume

      
        11
        
        -interval=repeat

      
        12
        
        -label= 

      
        13
        
        -signal=10

      
        14
        
        -

      
        15
        
        -[weather]

      
        16
        
        -command=python $HOME/.config/polybar/scripts/weather.py

      
        17
        
        -interval=10

      
        18
        
        -

      
        19
        
        -[wiki-signal]

      
        20
        
        -command=$HOME/.config/polybar/scripts/wifi-signal.sh

      
        21
        
        -label= 

      
        22
        
        -interval=5

      
        23
        
        -

      
        24
        
        -[updates-arch]

      
        25
        
        -command=$HOME/.config/polybar/scripts/updates-pacman-aur.sh

      
        26
        
        -interval=60

      
        27
        
        -

      
        28
        
        -[time]

      
        29
        
        -command=date +%H:%M

      
        30
        
        -label= 

      
        31
        
        -interval=60

      
A config/i3/i3status
···
        
        1
        +# vim: ft=conf

      
        
        2
        +general {

      
        
        3
        +    colors = false

      
        
        4
        +    interval = 1

      
        
        5
        +    output_format = "i3bar"

      
        
        6
        +}

      
        
        7
        +

      
        
        8
        +order += "volume master"

      
        
        9
        +order += "wireless _first_"

      
        
        10
        +#order += "battery all"

      
        
        11
        +order += "tztime local"

      
        
        12
        +

      
        
        13
        +volume master {

      
        
        14
        +    format = " %volume"

      
        
        15
        +    format_muted = " %volume"

      
        
        16
        +    device = "default"

      
        
        17
        +    mixer = "Master"

      
        
        18
        +    mixer_idx = 2

      
        
        19
        +}

      
        
        20
        +

      
        
        21
        +wireless _first_ {

      
        
        22
        +    format_up = "%quality"

      
        
        23
        +    format_down = "W: down"

      
        
        24
        +}

      
        
        25
        +

      
        
        26
        +battery all {

      
        
        27
        +    format = "%status %percentage"

      
        
        28
        +    last_full_capacity = true

      
        
        29
        +    format_down = "No battery"

      
        
        30
        +    status_chr = ""

      
        
        31
        +    status_bat = ""

      
        
        32
        +    status_unk = "? UNK"

      
        
        33
        +    status_full = ""

      
        
        34
        +    path = "/sys/class/power_supply/BAT%d/uevent"

      
        
        35
        +    low_threshold = 10

      
        
        36
        +}

      
        
        37
        +

      
        
        38
        +tztime local {

      
        
        39
        +    format = " %d %b  %H:%M"

      
        
        40
        +}

      
M config/i3/i3status-rs.toml
···
        1
        1
         theme = "native"

      
        2
        
        -icons = "awesome5"

      
        
        2
        +#icons = "awesome5"

      
        3
        3
         

      
        4
        
        -### CPU load

      
        5
        4
         [[block]]

      
        6
        
        -block = "cpu"

      
        7
        
        -interval = 5

      
        8
        
        -

      
        9
        
        -### Blacklight

      
        10
        
        -[[block]]

      
        11
        
        -block = "backlight"

      
        12
        
        -device = "intel_backlight"

      
        
        5
        +block = "custom"

      
        
        6
        +command = "~/.script/kblayout"

      
        
        7
        +interval = 0

      
        13
        8
         

      
        14
        
        -### Volume

      
        15
        9
         [[block]]

      
        16
        10
         block = "sound"

      
        17
        
        -step_width = 2

      
        18
        11
         

      
        19
        
        -### WiFi signal

      
        20
        
        -#[[block]]

      
        21
        
        -#block = "custom"

      
        22
        
        -#command = "cat /proc/net/wireless | grep \"wlp3s0\" | awk '{print $4}' | grep -o '[0-9]*'"

      
        23
        
        -#interval = 10

      
        24
        
        -

      
        25
        
        -### Keyboard layout

      
        26
        12
         [[block]]

      
        27
        
        -block = "custom"

      
        28
        
        -interval = 0

      
        29
        
        -command = """

      
        30
        
        -case "$(xkblayout)" in

      
        31
        
        -  Eng) echo "us" ;;

      
        32
        
        -  Ukr) echo "ua" ;;

      
        33
        
        -esac"""

      
        
        13
        +block = "net"

      
        
        14
        +device = "wlp3s0"

      
        
        15
        +format = "{signal_strength}"

      
        
        16
        +interval = 4

      
        34
        17
         

      
        35
        
        -### Date && time

      
        36
        18
         [[block]]

      
        37
        19
         block = "time"

      
        38
        20
         interval = 60

      
        39
        
        -format = "%H:%M"
      
        
        21
        +format = "%R"

      
M config/nvim/init.vim
···
        3
        3
           Plug 'itchyny/lightline.vim'

      
        4
        4
           Plug 'jiangmiao/auto-pairs'

      
        5
        5
           Plug 'maxboisvert/vim-simple-complete'

      
        6
        
        -  Plug 'preservim/nerdcommenter'

      
        7
        6
           Plug 'sheerun/vim-polyglot'

      
        8
        7
         call plug#end()

      
        9
        8
         

      ···
        102
        101
         \             [ 'filename', 'filetype' ] ] }

      
        103
        102
         \ }

      
        104
        103
         

      
        105
        
        -let g:NERDCreateDefaultMappings = 1

      
        106
        
        -let g:NERDSpaceDelims = 1

      
        107
        
        -let g:NERDCompactSexyComs = 1

      
        108
        
        -

      
        109
        104
         "== Mapping

      
        110
        105
         let mapleader="'"

      
        111
        106
         

      
        112
        107
         " Alternative keys

      
        113
        108
         noremap <C-s> :w<CR>

      
        114
        109
         noremap <C-n> :tabnew<CR>

      
        
        110
        +noremap <C-t> :tabnew<CR>

      
        115
        111
         noremap <leader>ww :Wiki<CR>

      
        116
        112
         noremap <leader>e :Ve<CR>

      
        117
        113
         

      
D script/volume
···
        1
        
        -#!/usr/bin/env bash

      
        2
        
        -if [[ -z "$MIXER" ]] ; then

      
        3
        
        -    MIXER="default"

      
        4
        
        -    if command -v pulseaudio >/dev/null 2>&1 && pulseaudio --check ; then

      
        5
        
        -        if amixer -D pulse info >/dev/null 2>&1 ; then

      
        6
        
        -            MIXER="pulse"

      
        7
        
        -        fi

      
        8
        
        -    fi

      
        9
        
        -    [ -n "$(lsmod | grep jack)" ] && MIXER="jackplug"

      
        10
        
        -    MIXER="${2:-$MIXER}"

      
        11
        
        -fi

      
        12
        
        -

      
        13
        
        -if [[ -z "$SCONTROL" ]] ; then

      
        14
        
        -    SCONTROL="${BLOCK_INSTANCE:-$(amixer -D $MIXER scontrols |

      
        15
        
        -                      sed -n "s/Simple mixer control '\([^']*\)',0/\1/p" |

      
        16
        
        -                      head -n1

      
        17
        
        -                    )}"

      
        18
        
        -fi

      
        19
        
        -

      
        20
        
        -if [[ -z "$STEP" ]] ; then

      
        21
        
        -    STEP="${1:-5%}"

      
        22
        
        -fi

      
        23
        
        -

      
        24
        
        -NATURAL_MAPPING=${NATURAL_MAPPING:-0}

      
        25
        
        -if [[ "$NATURAL_MAPPING" != "0" ]] ; then

      
        26
        
        -    AMIXER_PARAMS="-M"

      
        27
        
        -fi

      
        28
        
        -

      
        29
        
        -capability() {

      
        30
        
        -  amixer $AMIXER_PARAMS -D $MIXER get $SCONTROL |

      
        31
        
        -    sed -n "s/  Capabilities:.*cvolume.*/Capture/p"

      
        32
        
        -}

      
        33
        
        -

      
        34
        
        -volume() {

      
        35
        
        -  amixer $AMIXER_PARAMS -D $MIXER get $SCONTROL $(capability)

      
        36
        
        -}

      
        37
        
        -

      
        38
        
        -format() {

      
        39
        
        -  perl_filter='if (/.*\[(\d+%)\] (\[(-?\d+.\d+dB)\] )?\[(on|off)\]/)'

      
        40
        
        -  perl_filter+='{CORE::say $4 eq "off" ? "M" : "'

      
        41
        
        -  perl_filter+=$([[ $STEP = *dB ]] && echo '$3' || echo '$1')

      
        42
        
        -  perl_filter+='"; exit}'

      
        43
        
        -  output=$(perl -ne "$perl_filter")

      
        44
        
        -  echo "$LABEL$output"

      
        45
        
        -}

      
        46
        
        -

      
        47
        
        -case $BLOCK_BUTTON in

      
        48
        
        -  3) amixer $AMIXER_PARAMS -q -D $MIXER sset $SCONTROL $(capability) toggle          ;;

      
        49
        
        -  4) amixer $AMIXER_PARAMS -q -D $MIXER sset $SCONTROL $(capability) ${STEP}+ unmute ;;

      
        50
        
        -  5) amixer $AMIXER_PARAMS -q -D $MIXER sset $SCONTROL $(capability) ${STEP}- unmute ;;

      
        51
        
        -esac

      
        52
        
        -

      
        53
        
        -volume | format

      
M vscode/settings.json
···
        116
        116
             "git.autofetch": true,

      
        117
        117
             "editor.formatOnPaste": true,

      
        118
        118
             "editor.minimap.enabled": false,

      
        
        119
        +    "tabnine.experimentalAutoImports": true,

      
        
        120
        +    "git.confirmSync": false,

      
        119
        121
             

      
        120
        122
         }

      
M zshrc
···
        24
        24
         ### Functions

      
        25
        25
         bgcolor() {

      
        26
        26
             convert -size 1x1 xc:"#$1" /tmp/bgc.png

      
        27
        
        -    feh --bg-tile /tmp/bgc.png}

      
        
        27
        +    feh --bg-tile /tmp/bgc.png

      
        
        28
        +}

      
        28
        29
         backup() {

      
        29
        
        -    cp $1 $1.bak}

      
        
        30
        +    cp $1 $1.bak

      
        
        31
        +}

      
        30
        32
         

      
        31
        33
         ### Aliases

      
        32
        34
         alias cls="clear"

      
        33
        35
         alias mkdir="mkdir -p"

      
        34
        36
         alias cp="cp -r"

      
        35
        37
         alias du="du -sh"

      
        36
        
        -alias df="df -h"

      
        37
        38
         alias vim="nvim"

      
        38
        39
         alias vi="vim"

      
        
        40
        +alias d="docker"

      
        39
        41
         alias wiki="vi +Wiki"

      
        40
        42
         alias tmux="tmux -2"

      
        41
        43
         alias :q="exit"