all repos

dotfiles @ 3ebe332

i use rach linux btw
13 files changed, 303 insertions(+), 178 deletions(-)
Clean nivm cfg && update qtile, git, zsh, bspwm
Author: Smirnov Olexandr ss2316544@gmail.com
Committed at: 2021-02-11 16:45:55 +0200
Parent: 6400748
M config/alacritty.yml
···
        1
        1
         window:

      
        2
        
        -  title: Terminal

      
        
        2
        +  title: Alacritty

      
        3
        3
           class:

      
        4
        4
             instance: Alacritty

      
        5
        5
             general: Alacritty

      ···
        10
        10
         font:

      
        11
        11
           antialias: lcd

      
        12
        12
           hinting: true

      
        13
        
        -  size: 12.0

      
        
        13
        +  size: 10.0

      
        14
        14
           normal:

      
        15
        15
             family: JetBrains Mono

      
        16
        16
             style: Regular

      ···
        32
        32
           Underline:

      
        33
        33
             height: 0.5 - 2

      
        34
        34
         

      
        35
        
        -

      
        36
        
        -

      
        37
        35
         scrolling.history: 1000

      
        38
        36
         debug.render_timer: false

      
        39
        37
         #draw_bold_text_with_bright_colors: false

      ···
        43
        41
         

      
        44
        42
         colors:

      
        45
        43
           primary:

      
        46
        
        -    background: '0x262A2B'

      
        47
        
        -    foreground: '0xFFFFFF'

      
        
        44
        +    background: "0x262A2B"

      
        
        45
        +    foreground: "0xFFFFFF"

      
        48
        46
           cursor:

      
        49
        
        -    text: '0x7D7D7D'

      
        50
        
        -    cursor: '0xDFDFDF'

      
        
        47
        +    text: "0x7D7D7D"

      
        
        48
        +    cursor: "0xDFDFDF"

      
        51
        49
           selection:

      
        52
        
        -    text: '0xEDEBD7'

      
        53
        
        -    background: '0x262A3B'

      
        
        50
        +    text: "0xEDEBD7"

      
        
        51
        +    background: "0x262A3B"

      
        54
        52
           normal:

      
        55
        
        -    black:   '0x181818'

      
        56
        
        -    red:     '0xab4642'

      
        57
        
        -    green:   '0xa1b56c'

      
        58
        
        -    yellow:  '0xf7ca88'

      
        59
        
        -    blue:    '0x7cafc2'

      
        60
        
        -    magenta: '0xba8baf'

      
        61
        
        -    cyan:    '0x86c1b9'

      
        62
        
        -    white:   '0xd8d8d8'

      
        
        53
        +    black: "0x181818"

      
        
        54
        +    red: "0xab4642"

      
        
        55
        +    green: "0xa1b56c"

      
        
        56
        +    yellow: "0xf7ca88"

      
        
        57
        +    blue: "0x7cafc2"

      
        
        58
        +    magenta: "0xba8baf"

      
        
        59
        +    cyan: "0x86c1b9"

      
        
        60
        +    white: "0xd8d8d8"

      
        63
        61
           bright:

      
        64
        
        -    black:   '0x585858'

      
        65
        
        -    red:     '0xab4642'

      
        66
        
        -    green:   '0xa1b56c'

      
        67
        
        -    yellow:  '0xf7ca88'

      
        68
        
        -    blue:    '0x7cafc2'

      
        69
        
        -    magenta: '0xba8baf'

      
        70
        
        -    cyan:    '0x86c1b9'

      
        71
        
        -    white:   '0xf8f8f8'

      
        
        62
        +    black: "0x585858"

      
        
        63
        +    red: "0xab4642"

      
        
        64
        +    green: "0xa1b56c"

      
        
        65
        +    yellow: "0xf7ca88"

      
        
        66
        +    blue: "0x7cafc2"

      
        
        67
        +    magenta: "0xba8baf"

      
        
        68
        +    cyan: "0x86c1b9"

      
        
        69
        +    white: "0xf8f8f8"

      
        72
        70
         

      
        73
        71
         key_bindings:

      
        74
        72
           - { key: V, mods: Control|Shift, action: Paste }

      
        75
        
        -  - { key: C, mods: Control|Shift, action: Copy  }

      
        
        73
        +  - { key: C, mods: Control|Shift, action: Copy }

      
M config/bspwm/bspwmrc
···
        18
        18
         Run picom -b &

      
        19
        19
         

      
        20
        20
         ## == BSPWM

      
        21
        
        -

      
        22
        21
         # Workspaces

      
        23
        22
         bspc monitor -d 1 2 3 4 5 6 7 8 9

      
        24
        23
         

      ···
        42
        41
         bspc rule -a Alacritty        desktop='^1' focus=on   follow=on

      
        43
        42
         bspc rule -a kitty            desktop='^1' focus=on   follow=on

      
        44
        43
         bspc rule -a firefox          desktop='^2' focus=on   follow=off

      
        45
        
        -bspc rule -a VSCodium         desktop='^3' focus=on   follow=off

      
        
        44
        +bspc rule -a Code             desktop='^3' focus=on   follow=off

      
        46
        45
         bspc rule -a Sublime_text     desktop='^3' focus=on   follow=on

      
        47
        46
         bspc rule -a '*:nvim'         desktop='^3' focus=on   follow=on

      
        48
        47
         bspc rule -a '*:ranger'       desktop='^4' focus=on   follow=off

      
M config/bspwm/sxhkd
···
        1
        1
         # Smirnov-O <ss2316544@gmail.com>

      
        2
        2
         # BSPWM/SXKBD config file

      
        3
        3
         

      
        4
        
        -## == USER Applications

      
        
        4
        +## == USER keys 

      
        5
        5
         super + {_,shift} Return

      
        6
        6
             {alacritty,      \

      
        7
        7
              rofi -show drun }

      ···
        10
        10
             {firefox,                            \

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

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

      
        13
        
        -     subl,                               \

      
        
        13
        +     code,                               \

      
        14
        14
         	 xkill                               }

      
        15
        15
         

      
        16
        16
         super + shift + z

      
        17
        17
             betterlockscreen --off 180 -t "Computer is lokerd" -l

      
        18
        18
         

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

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

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

      
        21
        21
         

      
        22
        22
         super + {Escape, ctrl + u, ctrl  + i}

      
M config/i3/config
···
        18
        18
         ############ Variables ###########

      
        19
        19
         set $terminal alacritty

      
        20
        20
         set $browser firefox 

      
        21
        
        -set $filemanager alacritty -e ranger

      
        22
        
        -set $codeeditor alacritty -e nvim

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

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

      
        23
        23
         set $guicode vscodium

      
        24
        24
         

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

      ···
        89
        89
         bindsym $mod+Shift+minus exec "amixer sset Master toggle"

      
        90
        90
         

      
        91
        91
         ######### Window preferens ########

      
        
        92
        +assign [class="Alacritty"] $ws1

      
        
        93
        +assign [class="(?i)firefox"] $ws2

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

      
        
        95
        +assign [title="nvim"] $ws3

      
        
        96
        +assign [class="(?!)thunar"] $ws4

      
        
        97
        +assign [title="ranger"] $ws4

      
        
        98
        +assign [title="Joplin"] $ws5

      
        92
        99
         assign [class="(?i)telegram|discord"] $ws6

      
        
        100
        +assign [class="Spotify"] $ws9

      
        93
        101
         for_window [title="Google Tasks"] floating enable

      
        94
        102
         for_window [class="(?i)telegram|discord"] layout tabbed

      
        95
        103
         focus_on_window_activation focus

      
M config/nvim/coc-settings.json
···
        1
        1
         {

      
        2
        
        -    // Snippets

      
        3
        
        -    "snippets.ultisnips.directories": [

      
        4
        
        -        "snips"

      
        5
        
        -    ],

      
        6
        
        -    "snippets.userSnippetsDirectory": "~/.config/nvim",

      
        7
        
        -    // Emmet

      
        8
        
        -    "emmet.includeLanguages": {

      
        9
        
        -        "javascript": "javascriptreact"

      
        10
        
        -    },

      
        11
        
        -    // Autoload

      
        12
        
        -    "coc.preferences.hoverTarget": "float",

      
        13
        
        -    "coc.preferences.formatOnSaveFiletypes": [

      
        14
        
        -        "css",

      
        15
        
        -        "html",

      
        16
        
        -        "markdown",

      
        17
        
        -        "yaml",

      
        18
        
        -        "json",

      
        19
        
        -        "javascript",

      
        20
        
        -        "pytnon"

      
        21
        
        -    ]

      
        
        2
        +  //Snippets

      
        
        3
        +  "snippets.ultisnips.directories": ["snips"],

      
        
        4
        +  "snippets.userSnippetsDirectory": "~/.config/nvim/snips",

      
        
        5
        +

      
        
        6
        +  //Emmet

      
        
        7
        +  "emmet.includeLanguages": {

      
        
        8
        +    "javascript": ["javascript.jsx", "javascriptreact"]

      
        
        9
        +  },

      
        
        10
        +

      
        
        11
        +  // Prettier

      
        
        12
        +  "prettier.disableSuccessMessage": true,

      
        
        13
        +

      
        
        14
        +  // JS/x

      
        
        15
        +  "tsserver.formatOnType": true,

      
        
        16
        +

      
        
        17
        +  // List

      
        
        18
        +  "list.indicator": ">",

      
        
        19
        +  "list.selectedSignText": " ",

      
        
        20
        +

      
        
        21
        +  // Auto format

      
        
        22
        +  "coc.preferences.hoverTarget": "float",

      
        
        23
        +  "coc.preferences.formatOnSaveFiletypes": [

      
        
        24
        +    "javascript",

      
        
        25
        +    "javascript.jsx",

      
        
        26
        +    "javascriptreact",

      
        
        27
        +    "css",

      
        
        28
        +    "html",

      
        
        29
        +    "yaml",

      
        
        30
        +    "json",

      
        
        31
        +    "pytnon"

      
        
        32
        +  ]

      
        22
        33
         }

      
M config/nvim/init.vim
···
        1
        1
         call plug#begin('~/.vim/plugged')

      
        2
        2
           Plug 'Smirnov-O/nten16.vim'   " Color scheme

      
        3
        
        -  Plug 'itchyny/lightline.vim'  " Status line

      
        4
        
        -  Plug 'maximbaz/lightline-ale' " ALE in status line

      
        5
        
        -  Plug 'airblade/vim-gitgutter' " Git indicator

      
        6
        
        -  Plug 'mbbill/undotree'        " Git like history

      
        7
        
        -  Plug 'ap/vim-css-color'       " CSS color preview

      
        8
        
        -  Plug 'mhinz/vim-startify'     " Start page

      
        
        3
        +  Plug 'itchyny/lightline.vim'  " Status bar

      
        
        4
        +  Plug 'maximbaz/lightline-ale' " Linter info in bar

      
        9
        5
           Plug 'dense-analysis/ale'     " Linter

      
        10
        
        -  Plug 'editorconfig/editorconfig-vim'  " EditorConfig support

      
        11
        
        -  Plug 'christoomey/vim-tmux-navigator' " Jump from vim to tmux and back

      
        12
        
        -

      
        13
        
        -  " NERDTree

      
        14
        
        -  Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}

      
        15
        
        -  Plug 'Xuyuanp/nerdtree-git-plugin', {'on': 'NERDTreeToggle'}

      
        
        6
        +  Plug 'airblade/vim-gitgutter' " Git indicator

      
        
        7
        +  Plug 'ap/vim-css-color'       " Preview CSS colors

      
        
        8
        +  Plug 'SirVer/ultisnips'       " Snippets

      
        
        9
        +  Plug 'jiangmiao/auto-pairs'   " Auto close brackets

      
        
        10
        +  Plug 'editorconfig/editorconfig-vim'  " Editor Config support

      
        
        11
        +  Plug 'christoomey/vim-tmux-navigator' " Jump from vim in tmux

      
        
        12
        +  Plug 'maxboisvert/vim-simple-complete' " Sublime like completion

      
        16
        13
         

      
        17
        
        -  " Completion & snippets

      
        18
        
        -  Plug 'neoclide/coc.nvim'

      
        19
        
        -  Plug 'jiangmiao/auto-pairs'

      
        
        14
        +  " History && file explorer

      
        
        15
        +  Plug 'mbbill/undotree', {'on': 'UndotreeToggle'}     " Git like history

      
        
        16
        +  Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'} " File explorer

      
        
        17
        +  Plug 'mattn/emmet-vim', {'for': ['javascript.jsx', 'html']}

      
        20
        18
         

      
        21
        
        -  " Language support 

      
        22
        
        -  Plug 'metakirby5/codi.vim', {'on': 'Codi'} " Live REPL

      
        23
        
        -  Plug 'othree/yajs.vim',          {'for': 'javascript'}

      
        24
        
        -  Plug 'maxmellon/vim-jsx-pretty', {'for': 'javascript'}

      
        25
        
        -  Plug 'vim-python/python-syntax', {'for': 'python'}

      
        26
        
        -  Plug 'cakebaker/scss-syntax.vim', {'for': ['scss', 'sass']}

      
        
        19
        +  " Language support

      
        
        20
        +  Plug 'pangloss/vim-javascript', {'for': 'javascript'}

      
        
        21
        +  Plug 'mxw/vim-jsx', {'for': ['javascript.jsx', 'javascript']}

      
        27
        22
           Plug 'plasticboy/vim-markdown', {'for': 'markdown'}

      
        28
        23
           Plug 'PotatoesMaster/i3-vim-syntax', {'for': 'i3'}

      
        29
        
        -  Plug 'kovetskiy/sxhkd-vim',          {'for': 'sxhkd'}

      
        30
        24
         call plug#end()

      
        31
        
        -

      
        
        25
        +syntax on

      
        32
        26
         

      
        33
        27
         " Theme

      
        34
        28
         set termguicolors

      
        35
        29
         colorscheme nten16

      
        36
        30
         set t_Co=256

      
        37
        31
         

      
        38
        
        -" Syntax & number line

      
        39
        
        -syntax on

      
        
        32
        +" number line

      
        40
        33
         set nu rnu

      
        41
        34
         

      
        42
        35
         " Status line

      
        43
        
        -set noshowmode

      
        
        36
        +set noshowmode showcmd

      
        44
        37
         set ruler

      
        45
        
        -set showcmd

      
        46
        38
         

      
        47
        39
         " Mouse

      
        48
        40
         set mouse=a mousehide

      
        49
        41
         set cursorline

      
        50
        42
         

      
        51
        43
         " Encoding

      
        52
        
        -set encoding=utf-8

      
        53
        
        -set fileencodings=utf-8

      
        
        44
        +set encoding=utf-8 fileencodings=utf-8

      
        54
        45
         

      
        55
        46
         " Line wrap

      
        56
        47
         set nowrap nolinebreak

      ···
        59
        50
         set nobackup noswapfile

      
        60
        51
         set history=100

      
        61
        52
         

      
        62
        
        -" Reload file

      
        
        53
        +" Auto reload file

      
        63
        54
         set autoread

      
        64
        55
         

      
        65
        56
         " Tabs

      
        66
        
        -set tabstop=4

      
        
        57
        +set ts=4 sts=4

      
        
        58
        +set expandtab autoindent

      
        67
        59
         set shiftwidth=4

      
        68
        
        -set softtabstop=4

      
        69
        
        -set expandtab

      
        70
        
        -set autoindent

      
        71
        60
         

      
        72
        61
         " Search

      
        73
        
        -set incsearch

      
        74
        
        -set ignorecase

      
        75
        
        -set smartcase

      
        
        62
        +set incsearch ignorecase smartcase

      
        76
        63
         

      
        77
        64
         " Buffer(s)

      
        78
        
        -set hidden

      
        79
        
        -set smartindent

      
        
        65
        +set hidden smartindent

      
        80
        66
         

      
        81
        67
         " Spell

      
        82
        
        -"set spell spelllang=en_us

      
        
        68
        +set spell spelllang=en_us

      
        
        69
        +

      
        
        70
        +" Space/tab indicator

      
        
        71
        +set list listchars=tab:>·,trail:~,extends:>,precedes:<,space:·

      
        83
        72
         

      
        84
        73
         " Disable sound

      
        85
        74
         set visualbell t_vb=

      
        86
        75
         

      
        87
        
        -

      
        88
        
        -" == Language configuration

      
        89
        
        -

      
        90
        
        -" Python

      
        91
        
        -autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``

      
        92
        
        -let g:python_higlight_all = 1

      
        93
        
        -let g:python_highlight_string_formatting = 1

      
        94
        
        -let g:python_highlight_string_format = 1

      
        95
        
        -let g:python_highlight_doctests = 1

      
        96
        
        -let g:python_highlight_func_calls = 1

      
        97
        
        -let g:python_highlight_class_vars = 1

      
        
        76
        +"== Language configuration

      
        
        77
        +let g:jsx_ext_required = 0

      
        98
        78
         

      
        99
        79
         " Markdown

      
        100
        80
         let g:vim_markdown_folding_disabled = 1

      
        101
        
        -let g:vim_markdown_frontmatter = 1

      
        102
        
        -let g:markdown_fenced_languages = ['javascript', 'js=javascript', 'python', 'py=python', 'bash', 'sh=bash']

      
        103
        
        -

      
        
        81
        +let g:markdown_fenced_languages = ['javascript', 'js=javascript', 'jsx=javascript.jsx', 'python', 'bash', 'sh=bash']

      
        104
        82
         

      
        105
        
        -" == Plugins configuration

      
        
        83
        +"== Plug in configuration

      
        106
        84
         let g:lightline = {

      
        107
        85
         \ 'colorscheme': 'nten16',

      
        108
        86
         \ 'active': {

      ···
        111
        89
         \               [ 'linter_errors', 'linter_warnings', 'linter_infos' ] ],

      
        112
        90
         \    'right': [ [ 'lineinfo' ],

      
        113
        91
         \               [ 'percent' ],

      
        114
        
        -\               [ 'filename', 'filetype' ] ]

      
        115
        
        -\ },

      
        
        92
        +\               [ 'filename', 'filetype' ] ]},

      
        116
        93
         \ 'component_expand': {

      
        117
        
        -\   'linter_checking': 'lightline#ale#checking',

      
        118
        
        -\   'linter_infos': 'lightline#ale#infos',

      
        119
        
        -\   'linter_warnings': 'lightline#ale#warnings',

      
        120
        94
         \   'linter_errors': 'lightline#ale#errors',

      
        121
        
        -\   'linter_ok': 'lightline#ale#ok'

      
        122
        
        -\ },}

      
        
        95
        +\   'linter_infos': 'lightline#ale#infos',

      
        
        96
        +\   'linter_warnings': 'lightline#ale#warnings'

      
        
        97
        +\ }, }

      
        123
        98
         

      
        124
        99
         " NERDTree

      
        125
        100
         nnoremap <C-b> :NERDTreeToggle<CR>

      
        126
        101
         let g:NERDTreeWinPos="right"

      
        127
        
        -let NERDTreeIgnore = ['__pycache__', '\**\*.sw[po]','.DS_Store']

      
        128
        
        -let NERDTreeMinimalUI=1

      
        
        102
        +let NERDTreeIgnore = ['__pycache__', 'node_modules']

      
        129
        103
         let NERDTreeShowHidden=0

      
        130
        104
         let g:NERDTreeWinSize = 28

      
        131
        105
         

      
        132
        
        -" Coc

      
        133
        
        -inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"

      
        134
        
        -inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"

      
        135
        
        -let g:coc_global_config="$HOME/.config/nvim/coc-settings.json"

      
        136
        
        -imap <C-l> <Plug>(coc-snippets-expand)

      
        137
        
        -vmap <C-j> <Plug>(coc-snippets-select)

      
        138
        
        -let g:coc_global_extensions = [ 'coc-snippets',

      
        139
        
        -\ 'coc-emmet',

      
        140
        
        -\ 'coc-html',

      
        141
        
        -\ 'coc-css',

      
        142
        
        -\ 'coc-yaml',

      
        143
        
        -\ 'coc-json',

      
        144
        
        -\ 'coc-tsserver',

      
        145
        
        -\ 'coc-eslint',

      
        146
        
        -\ 'coc-prettier',

      
        147
        
        -\ ]

      
        
        106
        +" UltiSnips

      
        
        107
        +let g:UltiSnipsExpandTrigger = "<tab>"

      
        
        108
        +let g:UltiSnipsJumpForwardTrigger = "<tab>"

      
        
        109
        +let g:UltiSnipsJumpBackwardTrigger = "<S-tab>"

      
        
        110
        +let g:UltiSnipsSnippetDirectories = ["snips"]

      
        
        111
        +let g:UltiSnipsEditSplit = "vertical"

      
        148
        112
         

      
        149
        
        -" Startify

      
        150
        
        -let g:startify_custom_header = [

      
        151
        
        -\ " _____         _____ _         ",

      
        152
        
        -\ " |   | |___ ___|  |  |_|_____  ",

      
        153
        
        -\ " | | | | -_| . |  |  | |     | ",

      
        154
        
        -\ " |_|___|___|___|\___/|_|_|_|_| ",

      
        155
        
        -\ ]

      
        156
        
        -let g:startify_lists = [

      
        157
        
        -\ { 'type': 'bookmarks', 'header': ["  Bookmarks"] },

      
        158
        
        -\ { 'type': 'files',     'header': ["  Files"] },

      
        159
        
        -\ ]

      
        
        113
        +" Emmet

      
        
        114
        +let g:user_emmet_expandabbr_key='<C-a>'

      
        
        115
        +let g:user_emmet_mode='a'

      
        
        116
        +

      
        
        117
        +" Neoterm

      
        
        118
        +let g:neoterm_default_mod = 'vertical'

      
        
        119
        +let g:neoterm_size = 30

      
        
        120
        +let g:neoterm_autoinsert = 1

      
        
        121
        +

      
        
        122
        +" Ale

      
        
        123
        +let g:ale_disable_lsp = 1

      
        
        124
        +let g:ale_sign_error = '> '

      
        
        125
        +let g:ale_sign_warning = '- '

      
        
        126
        +let g:ale_echo_msg_format = '%severity%: %s'

      
        
        127
        +let g:ale_fixers = {

      
        
        128
        +\ 'javascript': ['prettier', 'eslint' ],

      
        
        129
        +\ 'python':     ['flake8',   'pylint8']}

      
        160
        130
         

      
        161
        131
         " == Mapping

      
        162
        132
         let mapleader=","

      
        163
        
        -

      
        164
        
        -" exit from insert mode

      
        165
        
        -im jj <esc>

      
        
        133
        +imap jj <esc>

      
        166
        134
         

      
        167
        
        -" window(s)

      
        
        135
        +" Window(s)

      
        168
        136
         nmap <C-h> :wincmd h<CR>

      
        169
        137
         nmap <C-j> :wincmd j<CR>

      
        170
        138
         nmap <C-k> :wincmd k<CR>

      ···
        173
        141
         nmap <A-x> :wincmd L<CR>

      
        174
        142
         nmap <A-c> :wincmd n<CR>

      
        175
        143
         

      
        176
        
        -" C-j/k as up/dwon in menu

      
        
        144
        +" C-j/k as up/down in menu

      
        177
        145
         inoremap <expr> <C-j> ("\<C-n>")

      
        178
        146
         inoremap <expr> <C-k> ("\<C-p>")

      
        179
        147
         

      
M config/nvim/snips/sh.snippets
···
        12
        12
         if [ ${1} ]; then

      
        13
        13
         	${2}

      
        14
        14
         fi

      
        
        15
        +${3}

      
        15
        16
         endsnippet

      
        16
        17
         

      
        17
        18
         snippet for "For loop"

      
        18
        19
         for (( i=0; i < ${1:10}; i++ )); do

      
        19
        20
         	${2}

      
        20
        21
         done

      
        
        22
        +${3}

      
        21
        23
         endsnippet

      
        22
        24
         

      
        23
        25
         snippet while "While loop"

      
        24
        26
         while ${1:true}; do

      
        25
        27
         	${2}

      
        26
        28
         done

      
        
        29
        +${3}

      
        27
        30
         endsnippet

      
        28
        31
         

      
        29
        32
         snippet case "Case"

      
        30
        33
         case "${1}" in

      
        31
        
        -	${2}

      
        
        34
        +	${2}) ${3} ;;

      
        32
        35
         esac

      
        
        36
        +${4}

      
        33
        37
         endsnippet

      
        34
        38
         

      
        35
        39
         snippet fn "Function declaration"

      
        36
        40
         function ${1:name}(${2}) {

      
        37
        41
         	${3}

      
        38
        42
         }

      
        
        43
        +${4}

      
        39
        44
         endsnippet

      
M config/qtile/config.py
···
        1
        1
         from libqtile import bar, layout, widget, hook

      
        2
        2
         from libqtile.config import Click, Drag, Group, Key, Screen

      
        3
        3
         from libqtile.lazy import lazy

      
        
        4
        +from os import system as cmd

      
        4
        5
         import kblayout

      
        5
        
        -import os

      
        6
        6
         

      
        7
        7
         

      
        
        8
        +# Set mod key

      
        8
        9
         mod = "mod4"

      
        9
        10
         alt = "mod1"

      
        10
        11
         

      
        
        12
        +# Set program

      
        11
        13
         terminal = "alacritty"

      
        12
        14
         browser = "firefox"

      
        13
        
        -filemanager = f"{terminal} -e ranger"

      
        14
        
        -editor = "alacritty -e nvim"

      
        
        15
        +filemanager = f"{terminal} --title=ranger -e ranger"

      
        
        16
        +editor = f"{terminal} --title=NVim -e nvim"

      
        
        17
        +guicodeeitor = "code"

      
        15
        18
         

      
        
        19
        +# Set qtile colors

      
        16
        20
         color = [

      
        17
        21
             "#FFFFFF",  # 0. Text color

      
        18
        22
             "#CED4DA",  # 1. Unfocus color

      ···
        26
        30
         ]

      
        27
        31
         

      
        28
        32
         

      
        
        33
        +# Auto start

      
        29
        34
         @hook.subscribe.startup_once

      
        30
        35
         def autostart():

      
        31
        
        -    os.system("~/.config/qtile/autostart.sh")

      
        
        36
        +    cmd("~/.config/qtile/autostart.sh")

      
        32
        37
         

      
        33
        38
         

      
        34
        39
         keys = [

      ···
        45
        50
             Key([mod, "shift"], "e",

      
        46
        51
                 lazy.spawn(editor),

      
        47
        52
                 desc="Launch code editor"),

      
        
        53
        +    Key([mod, "shift"], "c",

      
        
        54
        +        lazy.spawn(guicodeeitor),

      
        
        55
        +        desc="Run GUI code editor"),

      
        48
        56
         

      
        49
        57
             # Window control

      
        50
        58
             Key([mod], "q",

      ···
        149
        157
                 desc="Lock screen")

      
        150
        158
         ]

      
        151
        159
         

      
        
        160
        +

      
        
        161
        +# Auto send window on specific WP

      
        
        162
        +@hook.subscribe.client_new

      
        
        163
        +def client_new(client):

      
        
        164
        +    if client.name == "Alacritty" or client.name == "Kitty":

      
        
        165
        +        client.togroup("term")

      
        
        166
        +    elif client.name == "Mozilla Firefox" or \

      
        
        167
        +            client.name == "Firefox Developer Edition":

      
        
        168
        +        client.togroup("www")

      
        
        169
        +    elif client.name == "NVim" or client.name == \

      
        
        170
        +                        "Visual Studio Code":

      
        
        171
        +        client.togroup("dev")

      
        
        172
        +    elif client.name == "Thunar" or client.name == "ranger":

      
        
        173
        +        client.togroup("sys")

      
        
        174
        +    elif client.name == "Joplin":

      
        
        175
        +        client.togroup("doc")

      
        
        176
        +    elif client.name == "Telegram" or client.name == "Discord":

      
        
        177
        +        client.togroup("chat")

      
        
        178
        +    elif client.name == "KeePassXC":

      
        
        179
        +        client.togroup("pass")

      
        
        180
        +    elif client.name == "Spotify":

      
        
        181
        +        client.togroup("mus")

      
        
        182
        +

      
        
        183
        +

      
        152
        184
         # Workspaces name, keys

      
        153
        185
         group_names = [("term", {"layout": "columns"}),

      
        154
        186
                        ("www",  {"layout": "max"}),

      ···
        208
        240
                 highlight_color=color[2],

      
        209
        241
                 highlight_method="block",

      
        210
        242
                 this_current_screen_border=color[2],

      
        211
        
        -        this_screen_border=color[3],

      
        
        243
        +        this_screen_border=color[3]

      
        212
        244
             ),

      
        213
        245
             widget.Prompt(),

      
        214
        246
             widget.WindowName(),

      ···
        222
        254
             ),

      
        223
        255
             widget.Volume(

      
        224
        256
                 foreground=color[6],

      
        225
        
        -        fmt=" {}",

      
        
        257
        +        fmt=" {}"

      
        226
        258
             ),

      
        227
        259
             widget.Net(

      
        228
        260
                 interface="wlp3s0",

      
        229
        
        -        format="{down}↓↑{up}",

      
        230
        
        -        foreground=color[7],

      
        
        261
        +        format="{down} ↓↑{up}",

      
        
        262
        +        foreground=color[7]

      
        231
        263
             ),

      
        232
        264
             widget.Systray(),

      
        233
        265
             widget.Clock(

      
M config/qtile/kblayout.py
···
        3
        3
         $ yay -S xkblayout

      
        4
        4
         """

      
        5
        5
         from libqtile.widget import base

      
        6
        
        -import os

      
        
        6
        +from os import popen

      
        7
        7
         

      
        8
        8
         

      
        9
        9
         KBCMD = """

      ···
        18
        18
         class KBLayout(base.InLoopPollText):

      
        19
        19
             """Widget for displaying the current keyboard layout"""

      
        20
        20
             orientations = base.ORIENTATION_HORIZONTAL

      
        
        21
        +

      
        21
        22
             def __init__(self, **config):

      
        22
        23
                 base.InLoopPollText.__init__(self, **config)

      
        23
        24
         

      
        24
        25
             def poll(self):

      
        25
        
        -        kb = os.popen(KBCMD).read().rstrip('\n')\

      
        26
        
        -            .encode('utf-8').decode('utf-8')

      
        27
        
        -

      
        
        26
        +        kb = popen(KBCMD).read().rstrip('\n') \

      
        
        27
        +                         .encode('utf-8').decode('utf-8')

      
        28
        28
                 return kb

      
M config/ranger/rc.conf
···
        101
        101
         map sd shell 7z a file.7z %s

      
        102
        102
         map se shell extract %s

      
        103
        103
         

      
        
        104
        +# "e" key

      
        
        105
        +map ee encrypt

      
        
        106
        +map ed decrypt

      
        
        107
        +

      
        104
        108
         # "q"/quit keys/alias

      
        105
        109
         map     Q quitall

      
        106
        110
         alias  qa quitall

      
M gitconfig
···
        15
        15
         

      
        16
        16
         [alias]

      
        17
        17
             ada = add -A

      
        18
        
        -    cm = commit

      
        
        18
        +    com = commit -am

      
        19
        19
             cmm = commit -m

      
        20
        20
             ch = checkout

      
        21
        
        -    cl = clone

      
        22
        21
             st = status

      
        23
        22
             br = branch

      
        24
        
        -    l = log

      
        25
        
        -    i = init

      
        26
        23
         

      
        27
        24
         [color]

      
        28
        25
             ui = true

      
A vscode/settings.json
···
        
        1
        +{

      
        
        2
        +    // Apperence

      
        
        3
        +    "workbench.colorTheme": "One Dark Pro",

      
        
        4
        +    "workbench.iconTheme": "vscode-icons",

      
        
        5
        +    "editor.fontFamily": "'Jetbrain Mono', 'FontAwesome5Free', 'Droid Sans Mono', 'monospace', 'Droid Sans Fallback'",

      
        
        6
        +    "editor.wordWrap": "off",

      
        
        7
        +    "editor.fontSize": 14,

      
        
        8
        +

      
        
        9
        +    // Editor

      
        
        10
        +    "editor.tabCompletion": "on",

      
        
        11
        +    "editor.tabSize": 4,

      
        
        12
        +    "editor.formatOnSave": false,

      
        
        13
        +

      
        
        14
        +    // Vim

      
        
        15
        +    "vim.easymotion": true,

      
        
        16
        +    "vim.useSystemClipboard": true,

      
        
        17
        +    "vim.insertModeKeyBindings": [

      
        
        18
        +        {"before": ["j", "j"],

      
        
        19
        +         "after" : ["<Esc>"]}],

      
        
        20
        +    "vim.normalModeKeyBindings": [

      
        
        21
        +        {"before": ["f"],

      
        
        22
        +         "after" : ["leader","leader","s"]}

      
        
        23
        +    ],

      
        
        24
        +    "Vsnips.VarFiles": ["/home/sasha/.config/nvim/init.vim"],

      
        
        25
        +    "Vsnips.SnipsDir": ["/home/sasha/.config/nvim/snips"],

      
        
        26
        +    

      
        
        27
        +    // Terminal

      
        
        28
        +    "workbench.panel.defaultLocation": "right",

      
        
        29
        +    "terminal.integrated.shell.linux": "zsh",

      
        
        30
        +

      
        
        31
        +    // No show files

      
        
        32
        +    "files.exclude": {

      
        
        33
        +        "**/__pycache__": true,

      
        
        34
        +        "**/venv": true,

      
        
        35
        +        "**/env": true,

      
        
        36
        +        "**/.git": true,

      
        
        37
        +        "**/.svn": true,

      
        
        38
        +        "**/.hg": true,

      
        
        39
        +        "**/CVS": true,

      
        
        40
        +        "**/.DS_Store": true,

      
        
        41
        +        "**/node_modules": true

      
        
        42
        +    },

      
        
        43
        +

      
        
        44
        +    // Minimap

      
        
        45
        +    "editor.minimap.side": "left",

      
        
        46
        +    "editor.minimap.size": "fit",

      
        
        47
        +

      
        
        48
        +    // Sidebar 

      
        
        49
        +    "workbench.sideBar.location": "right",

      
        
        50
        +    "workbench.activityBar.visible": true,

      
        
        51
        +    // File menu

      
        
        52
        +    "window.menuBarVisibility": "hidden",

      
        
        53
        +

      
        
        54
        +    // Python

      
        
        55
        +    "python.linting.pylintEnabled": false,

      
        
        56
        +    "python.linting.flake8Enabled": true,

      
        
        57
        +    "python.linting.enabled": true,

      
        
        58
        +    "python.formatting.provider": "autopep8",

      
        
        59
        +

      
        
        60
        +    // Emmet

      
        
        61
        +    "emmet.includeLanguages": {

      
        
        62
        +        "javascript": "javascriptreact"

      
        
        63
        +    },

      
        
        64
        +    // Plugins

      
        
        65
        +    "todo-tree.tree.showScanModeButton": false,

      
        
        66
        +

      
        
        67
        +    // Explorer menu

      
        
        68
        +    "explorer.confirmDelete": false,

      
        
        69
        +    "explorer.confirmDragAndDrop": false,

      
        
        70
        +

      
        
        71
        +    // Config for specific languages

      
        
        72
        +    "[python]": {

      
        
        73
        +        "editor.tabSize": 4,

      
        
        74
        +        "editor.formatOnSave": true,

      
        
        75
        +        "editor.formatOnPaste": true

      
        
        76
        +    },

      
        
        77
        +    "[javascript]": {

      
        
        78
        +        "editor.tabSize": 2,

      
        
        79
        +        "editor.defaultFormatter": "esbenp.prettier-vscode",

      
        
        80
        +        "editor.formatOnSave": true,

      
        
        81
        +        "editor.formatOnPaste": true

      
        
        82
        +    },

      
        
        83
        +    "[markdown]": {

      
        
        84
        +        "editor.wordWrap": "on",

      
        
        85
        +        "editor.quickSuggestions": false

      
        
        86
        +    },

      
        
        87
        +    "[html]": {

      
        
        88
        +        "editor.tabSize": 3,

      
        
        89
        +        "editor.suggest.insertMode": "replace"

      
        
        90
        +    },

      
        
        91
        +    "[css]": {

      
        
        92
        +        "editor.tabSize": 2,

      
        
        93
        +        "editor.suggest.insertMode": "replace"

      
        
        94
        +    },

      
        
        95
        +    "[scss]": {

      
        
        96
        +        "editor.tabSize": 2,

      
        
        97
        +        "editor.suggest.insertMode": "replace"

      
        
        98
        +    },

      
        
        99
        +    "[javascriptreact]": {

      
        
        100
        +        "editor.defaultFormatter": "esbenp.prettier-vscode"

      
        
        101
        +    },

      
        
        102
        +}
      
M zshrc
···
        3
        3
         source ~/.profile

      
        4
        4
         

      
        5
        5
         ### Oh my zsh ###

      
        6
        
        -ZSH_THEME="cyan-simple"         # Set theme

      
        
        6
        +ZSH_THEME="nten"                # Set theme

      
        7
        7
         #CASE_SENSITIVE="true"          # Use case-sensitive completion.

      
        8
        8
         #HYPHEN_INSENSITIVE="true"      # Case-sensitive completion must be off.

      
        9
        9
         #DISABLE_AUTO_UPDATE="true"     # Disable bi-weekly auto-update checks.

      ···
        16
        16
         export UPDATE_ZSH_DAYS=7        # Change how often to auto-update.

      
        17
        17
         export LANG=en_US.UTF-8         # Set locale

      
        18
        18
         

      
        19
        
        -plugins=(pip python golang pass sudo git encode64)

      
        
        19
        +plugins=(python pip node npm yarn pass sudo git encode64)

      
        20
        20
         source $ZSH/oh-my-zsh.sh

      
        21
        21
         

      
        22
        22
         

      
        23
        23
         ### Variables ###

      
        24
        24
         export EDITOR="nvim"

      
        25
        25
         export VISUAL="nvim"

      
        26
        
        -export GOPATH="$HOME/go"

      
        27
        26
         

      
        28
        27
         

      
        29
        28
         ### Function ###

      
        30
        
        -function bgcolor {

      
        31
        
        -    convert -size 1x1 xc:$1 /tmp/bgc.png

      
        32
        
        -    feh --bg-tile /tmp/bgc.png

      
        33
        
        -}

      
        
        29
        +#function bgcolor {

      
        
        30
        +#    convert -size 1x1 xc:$1 /tmp/bgc.png

      
        
        31
        +#    feh --bg-tile /tmp/bgc.png

      
        
        32
        +#}

      
        34
        33
         function codi() {

      
        35
        
        -  local syntax="${1:-python}"

      
        36
        
        -  nvim -c "let g:startify_disable_at_vimenter = 1 |\

      
        37
        
        -      set bt=nofile ls=0 noru nonu nornu |\

      
        38
        
        -      Codi $syntax" "$@"

      
        
        34
        +    local syntax="${1:-javascript}"

      
        
        35
        +    nvim -c "let g:startify_disable_at_vimenter = 1 |\

      
        
        36
        +        set bt=nofile ls=0 noru nonu nornu |\

      
        
        37
        +        Codi $syntax" "$@"

      
        39
        38
         }

      
        40
        39
         

      
        41
        40
         

      ···
        56
        55
         alias tmux="tmux -2"

      
        57
        56
         alias ipython="ipython --no-banner"

      
        58
        57
         alias ran="ranger"

      
        
        58
        +alias f="fuck"

      
        
        59
        +alias firefox-dev="firefox-developer-edition"

      
        59
        60
         

      
        60
        61
         # Exit

      
        61
        62
         alias :q="exit"