all repos

dotfiles @ 3ebe33285422950872f8b5821ce6c1572f1673a1

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"