all repos

dotfiles @ f7c0cef

i use rach linux btw
13 files changed, 405 insertions(+), 129 deletions(-)
Add DWM config
Author: Smirnov Olexandr ss2316544@gmail.com
Committed at: 2021-01-06 17:54:15 +0200
Parent: 13c6216
A config/dwm/README.md
···
        
        1
        +# DWM

      
        
        2
        +

      
        
        3
        +![Screenhot](screen.png)

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

      
        
        5
        +

      
        
        6
        +

      
        
        7
        +### Install

      
        
        8
        +~~~bash

      
        
        9
        +git clone https://git.suckless.org/dwm ~/.config/dwm

      
        
        10
        +sudo cp ~/.config/dwm/dwm.desktop /usr/share/xsessions

      
        
        11
        +cd ~/.config/dwm

      
        
        12
        +sudo make clean install

      
        
        13
        +~~~~

      
A config/dwm/autostart.sh
···
        
        1
        +#!/bin/sh

      
        
        2
        +xautolock -time 5 -locker "betterlockscreen --off 300 -t \"Computer is lockerd\" -l" &

      
        
        3
        +setxkbmap "us,ua" ",winkeys" "grp:alt_shift_toggle" -option "ctrl:nocaps" &

      
        
        4
        +nitrogen --restore &

      
        
        5
        +lxsession &

      
        
        6
        +picom -b &

      
A config/dwm/config.def.h
···
        
        1
        +static const unsigned int borderpx  = 1;        // border pixel of windows

      
        
        2
        +static const unsigned int snap      = 32;       // snap pixel

      
        
        3
        +static const int showbar            = 1;        // 0 means no bar

      
        
        4
        +static const int topbar             = 1;        // 0 means bottom bar

      
        
        5
        +static const char *fonts[]          = { "monospace:size=10" };

      
        
        6
        +static const char col_gray1[]       = "#262A2B";

      
        
        7
        +static const char col_gray2[]       = "#262A2B";

      
        
        8
        +static const char col_gray3[]       = "#CED4DA";

      
        
        9
        +static const char col_gray4[]       = "#FFFFFF";

      
        
        10
        +static const char col_cyan[]        = "#008DCD";

      
        
        11
        +static const char *colors[][3]      = {

      
        
        12
        +	/*               fg         bg         border   */

      
        
        13
        +	[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },

      
        
        14
        +	[SchemeSel]  = { col_gray4, col_cyan,  col_cyan  },

      
        
        15
        +};

      
        
        16
        +

      
        
        17
        +// Workspaces names

      
        
        18
        +static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };

      
        
        19
        +

      
        
        20
        +// Rules

      
        
        21
        +static const Rule rules[] = {

      
        
        22
        +	/* class      instance    title       tags mask     isfloating   monitor */

      
        
        23
        +    { "trayer",   NULL,       NULL,      ~0,            True,        -1 },

      
        
        24
        +	{ "Gimp",     NULL,       NULL,       0,            1,           -1 },

      
        
        25
        +	{ "Firefox",  NULL,       NULL,       1 << 8,       0,           -1 },

      
        
        26
        +};

      
        
        27
        +

      
        
        28
        +// Autostart

      
        
        29
        +static const char *const autostart[] = {

      
        
        30
        +	"./.config/dwm/autostart.sh", NULL,

      
        
        31
        +	"./.script/dwmbar.sh", NULL,

      
        
        32
        +	NULL

      
        
        33
        +};

      
        
        34
        +

      
        
        35
        +// Layout

      
        
        36
        +static const float mfact     = 0.55; /* factor of master area size [0.05..0.95] */

      
        
        37
        +static const int nmaster     = 1;    /* number of clients in master area */

      
        
        38
        +static const int resizehints = 1;    /* 1 means respect size hints in tiled resizals */

      
        
        39
        +

      
        
        40
        +static const Layout layouts[] = {

      
        
        41
        +	{ "[]=",      tile },

      
        
        42
        +	{ "><>",      NULL },

      
        
        43
        +	{ "[M]",      monocle },

      
        
        44
        +};

      
        
        45
        +

      
        
        46
        +// Key definitions

      
        
        47
        +#define MODKEY Mod4Mask

      
        
        48
        +#define TAGKEYS(KEY,TAG) \

      
        
        49
        +	{ MODKEY,                       KEY,      view,           {.ui = 1 << TAG} }, \

      
        
        50
        +	{ MODKEY|ControlMask,           KEY,      toggleview,     {.ui = 1 << TAG} }, \

      
        
        51
        +	{ MODKEY|ShiftMask,             KEY,      tag,            {.ui = 1 << TAG} }, \

      
        
        52
        +	{ MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      {.ui = 1 << TAG} },

      
        
        53
        +#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }

      
        
        54
        +

      
        
        55
        +// Commands

      
        
        56
        +static char dmenumon[2] = "0";

      
        
        57
        +static const char *dmenucmd[] = { "dmenu_run", NULL };

      
        
        58
        +static const char *launchercmd[] = { "rofi", "-location", "2", "-show", "drun", NULL };

      
        
        59
        +static const char *passmenucmd[] = { "passmenu", "-h", "24", "-p", "Passwords", NULL };

      
        
        60
        +static const char *termcmd[]  = { "alacritty", NULL };

      
        
        61
        +

      
        
        62
        +// Keyboards binds

      
        
        63
        +static Key keys[] = {

      
        
        64
        +    /* modifier                     key        function        argument */

      
        
        65
        +    { MODKEY|ShiftMask,             XK_Return, spawn,          {.v = launchercmd } }, // Program menu

      
        
        66
        +    { MODKEY,                       XK_Return, spawn,          {.v = termcmd } },     // Terminal

      
        
        67
        +    { MODKEY,                       XK_q,      killclient,     {0} },                 // Kill window

      
        
        68
        +    { MODKEY,                       XK_b,      togglebar,      {0} },                 // Toggle status bar

      
        
        69
        +    { MODKEY,                       XK_j,      focusstack,     {.i = +1 } },

      
        
        70
        +    { MODKEY,                       XK_k,      focusstack,     {.i = -1 } },

      
        
        71
        +    { MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },

      
        
        72
        +    { MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },

      
        
        73
        +    { MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },

      
        
        74
        +    { MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },

      
        
        75
        +    { MODKEY,                       XK_Return, zoom,           {0} },

      
        
        76
        +//    { MODKEY,                       XK_Tab,    view,           {0} },

      
        
        77
        +    { MODKEY,                       XK_Tab,    setlayout,      {0} },

      
        
        78
        +    { MODKEY|ShiftMask,             XK_Tab,    togglefloating, {0} },

      
        
        79
        +    { MODKEY,                       XK_comma,  focusmon,       {.i = -1 } },

      
        
        80
        +    { MODKEY,                       XK_period, focusmon,       {.i = +1 } },

      
        
        81
        +    { MODKEY|ShiftMask,             XK_comma,  tagmon,         {.i = -1 } },

      
        
        82
        +    { MODKEY|ShiftMask,             XK_period, tagmon,         {.i = +1 } },

      
        
        83
        +

      
        
        84
        +    // Menus

      
        
        85
        +    { MODKEY|ControlMask, XK_i,      spawn, {.v = passmenucmd} },

      
        
        86
        +    { MODKEY|ControlMask, XK_u,      spawn, SHCMD("~/.script/dmenu/dmenu-config-edit.sh") },

      
        
        87
        +    { MODKEY,             XK_Escape, spawn, SHCMD("~/.script/dmenu/dmenu-power.sh") },

      
        
        88
        +

      
        
        89
        +    // Volume

      
        
        90
        +    { MODKEY,           XK_minus, spawn, SHCMD("amixer sset 'Master' 2%-") },

      
        
        91
        +    { MODKEY,           XK_equal, spawn, SHCMD("amixer sset 'Master' 2%+") },

      
        
        92
        +    { MODKEY|ShiftMask, XK_minus, spawn, SHCMD("amixer sset 'Master' toggle") },

      
        
        93
        +

      
        
        94
        +    // Workspaces

      
        
        95
        +    TAGKEYS(            XK_1,                      0)

      
        
        96
        +    TAGKEYS(            XK_2,                      1)

      
        
        97
        +    TAGKEYS(            XK_3,                      2)

      
        
        98
        +    TAGKEYS(            XK_4,                      3)

      
        
        99
        +    TAGKEYS(            XK_5,                      4)

      
        
        100
        +    TAGKEYS(            XK_6,                      5)

      
        
        101
        +    TAGKEYS(            XK_7,                      6)

      
        
        102
        +    TAGKEYS(            XK_8,                      7)

      
        
        103
        +    TAGKEYS(            XK_9,                      8)

      
        
        104
        +    { MODKEY,           XK_0,      view,           {.ui = ~0 } },

      
        
        105
        +    { MODKEY|ShiftMask, XK_0,      tag,            {.ui = ~0 } },

      
        
        106
        +};

      
        
        107
        +

      
        
        108
        +// Mouse binds

      
        
        109
        +static Button buttons[] = {

      
        
        110
        +    // click                event mask      button          function        argument

      
        
        111
        +    { ClkLtSymbol,          0,              Button1,        setlayout,      {0} },

      
        
        112
        +    { ClkLtSymbol,          0,              Button3,        setlayout,      {.v = &layouts[2]} },

      
        
        113
        +    { ClkWinTitle,          0,              Button2,        zoom,           {0} },

      
        
        114
        +    { ClkStatusText,        0,              Button2,        spawn,          {.v = termcmd } },

      
        
        115
        +    { ClkClientWin,         MODKEY,         Button1,        movemouse,      {0} },

      
        
        116
        +    { ClkClientWin,         MODKEY,         Button2,        togglefloating, {0} },

      
        
        117
        +    { ClkClientWin,         MODKEY,         Button3,        resizemouse,    {0} },

      
        
        118
        +    { ClkTagBar,            0,              Button1,        view,           {0} },

      
        
        119
        +    { ClkTagBar,            0,              Button3,        toggleview,     {0} },

      
        
        120
        +    { ClkTagBar,            MODKEY,         Button1,        tag,            {0} },

      
        
        121
        +    { ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} },

      
        
        122
        +};

      
A config/dwm/cool-autostart.diff
···
        
        1
        +diff --git a/config.def.h b/config.def.h

      
        
        2
        +index 1c0b587..ed056a4 100644

      
        
        3
        +--- a/config.def.h

      
        
        4
        ++++ b/config.def.h

      
        
        5
        +@@ -18,6 +18,11 @@ static const char *colors[][3]      = {

      
        
        6
        + 	[SchemeSel]  = { col_gray4, col_cyan,  col_cyan  },

      
        
        7
        + };

      
        
        8
        + 

      
        
        9
        ++static const char *const autostart[] = {

      
        
        10
        ++	"st", NULL,

      
        
        11
        ++	NULL /* terminate */

      
        
        12
        ++};

      
        
        13
        ++

      
        
        14
        + /* tagging */

      
        
        15
        + static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };

      
        
        16
        + 

      
        
        17
        +diff --git a/dwm.c b/dwm.c

      
        
        18
        +index 9fd0286..1facd56 100644

      
        
        19
        +--- a/dwm.c

      
        
        20
        ++++ b/dwm.c

      
        
        21
        +@@ -234,6 +234,7 @@ static int xerror(Display *dpy, XErrorEvent *ee);

      
        
        22
        + static int xerrordummy(Display *dpy, XErrorEvent *ee);

      
        
        23
        + static int xerrorstart(Display *dpy, XErrorEvent *ee);

      
        
        24
        + static void zoom(const Arg *arg);

      
        
        25
        ++static void autostart_exec(void);

      
        
        26
        + 

      
        
        27
        + /* variables */

      
        
        28
        + static const char broken[] = "broken";

      
        
        29
        +@@ -275,6 +276,34 @@ static Window root, wmcheckwin;

      
        
        30
        + /* compile-time check if all tags fit into an unsigned int bit array. */

      
        
        31
        + struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; };

      
        
        32
        + 

      
        
        33
        ++/* dwm will keep pid's of processes from autostart array and kill them at quit */

      
        
        34
        ++static pid_t *autostart_pids;

      
        
        35
        ++static size_t autostart_len;

      
        
        36
        ++

      
        
        37
        ++/* execute command from autostart array */

      
        
        38
        ++static void

      
        
        39
        ++autostart_exec() {

      
        
        40
        ++	const char *const *p;

      
        
        41
        ++	size_t i = 0;

      
        
        42
        ++

      
        
        43
        ++	/* count entries */

      
        
        44
        ++	for (p = autostart; *p; autostart_len++, p++)

      
        
        45
        ++		while (*++p);

      
        
        46
        ++

      
        
        47
        ++	autostart_pids = malloc(autostart_len * sizeof(pid_t));

      
        
        48
        ++	for (p = autostart; *p; i++, p++) {

      
        
        49
        ++		if ((autostart_pids[i] = fork()) == 0) {

      
        
        50
        ++			setsid();

      
        
        51
        ++			execvp(*p, (char *const *)p);

      
        
        52
        ++			fprintf(stderr, "dwm: execvp %s\n", *p);

      
        
        53
        ++			perror(" failed");

      
        
        54
        ++			_exit(EXIT_FAILURE);

      
        
        55
        ++		}

      
        
        56
        ++		/* skip arguments */

      
        
        57
        ++		while (*++p);

      
        
        58
        ++	}

      
        
        59
        ++}

      
        
        60
        ++

      
        
        61
        + /* function implementations */

      
        
        62
        + void

      
        
        63
        + applyrules(Client *c)

      
        
        64
        +@@ -1249,6 +1278,16 @@ propertynotify(XEvent *e)

      
        
        65
        + void

      
        
        66
        + quit(const Arg *arg)

      
        
        67
        + {

      
        
        68
        ++	size_t i;

      
        
        69
        ++

      
        
        70
        ++	/* kill child processes */

      
        
        71
        ++	for (i = 0; i < autostart_len; i++) {

      
        
        72
        ++		if (0 < autostart_pids[i]) {

      
        
        73
        ++			kill(autostart_pids[i], SIGTERM);

      
        
        74
        ++			waitpid(autostart_pids[i], NULL, 0);

      
        
        75
        ++		}

      
        
        76
        ++	}

      
        
        77
        ++

      
        
        78
        + 	running = 0;

      
        
        79
        + }

      
        
        80
        + 

      
        
        81
        +@@ -1632,9 +1671,25 @@ showhide(Client *c)

      
        
        82
        + void

      
        
        83
        + sigchld(int unused)

      
        
        84
        + {

      
        
        85
        ++	pid_t pid;

      
        
        86
        ++

      
        
        87
        + 	if (signal(SIGCHLD, sigchld) == SIG_ERR)

      
        
        88
        + 		die("can't install SIGCHLD handler:");

      
        
        89
        +-	while (0 < waitpid(-1, NULL, WNOHANG));

      
        
        90
        ++	while (0 < (pid = waitpid(-1, NULL, WNOHANG))) {

      
        
        91
        ++		pid_t *p, *lim;

      
        
        92
        ++

      
        
        93
        ++		if (!(p = autostart_pids))

      
        
        94
        ++			continue;

      
        
        95
        ++		lim = &p[autostart_len];

      
        
        96
        ++

      
        
        97
        ++		for (; p < lim; p++) {

      
        
        98
        ++			if (*p == pid) {

      
        
        99
        ++				*p = -1;

      
        
        100
        ++				break;

      
        
        101
        ++			}

      
        
        102
        ++		}

      
        
        103
        ++

      
        
        104
        ++	}

      
        
        105
        + }

      
        
        106
        + 

      
        
        107
        + void

      
        
        108
        +@@ -2139,6 +2194,7 @@ main(int argc, char *argv[])

      
        
        109
        + 	if (!(dpy = XOpenDisplay(NULL)))

      
        
        110
        + 		die("dwm: cannot open display");

      
        
        111
        + 	checkotherwm();

      
        
        112
        ++	autostart_exec();

      
        
        113
        + 	setup();

      
        
        114
        + #ifdef __OpenBSD__

      
        
        115
        + 	if (pledge("stdio rpath proc exec", NULL) == -1)

      
        
        116
        +

      
A config/dwm/dwm.desktop
···
        
        1
        +[Desktop Entry]

      
        
        2
        +Encoding=UTF-8

      
        
        3
        +Name=Dwm

      
        
        4
        +Comment=Dynamic window manager

      
        
        5
        +Exec=dwm

      
        
        6
        +Icon=dwm

      
        
        7
        +Type=XSession

      
A config/dwm/screen.png

Not showing binary file.

M config/i3/config
···
        19
        19
         set $terminal alacritty

      
        20
        20
         set $browser firefox 

      
        21
        21
         set $filemanager thunar

      
        
        22
        +set $guieditor emacs

      
        22
        23
         

      
        23
        24
         ############ Autostart ############

      
        24
        25
         exec --no-startup-id exec picom --experimental-backends -b

      ···
        41
        42
         # Restart i3wm

      
        42
        43
         bindsym $mod+Control+r restart

      
        43
        44
         

      
        
        45
        +# Reload i3wm

      
        
        46
        +bindsym $mod+Shift+r reload

      
        
        47
        +

      
        44
        48
         # Floating layout

      
        45
        49
         bindsym $mod+Tab floating toggle

      
        46
        50
         

      
        47
        51
         # Tab layout

      
        48
        
        -bindsym $mod+w layout tabbed

      
        
        52
        +bindsym $mod+Shift+w layout tabbed

      
        49
        53
         

      
        50
        54
         # Split layout

      
        51
        
        -bindsym $mod+e layout toggle split

      
        
        55
        +bindsym $mod+Shift+e layout toggle split

      
        52
        56
         

      
        53
        57
         # Splits

      
        54
        58
         bindsym $mod+b split h

      ···
        71
        75
         bindsym $mod+Return exec $terminal

      
        72
        76
         bindsym $mod+F2 exec $browser 

      
        73
        77
         bindsym $mod+f exec $filemanager

      
        
        78
        +bindsym $mod+d exec $guieditor

      
        74
        79
         

      
        75
        80
         # Sceenshot

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

      
M config/nvim/init.vim
···
        1
        
        -filetype plugin on

      
        2
        1
         call plug#begin('~/.vim/plugged')

      
        3
        
        -    Plug 'nathanaelkane/vim-indent-guides'         " Displaying indent levels

      
        4
        
        -    Plug 'voldikss/vim-floaterm'                   " Terminal window

      
        5
        
        -    Plug 'frazrepo/vim-rainbow'                    " Rainbow brackets

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

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

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

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

      
        10
        
        -    Plug 'vimwiki/vimwiki', {'on': 'VimwikiIndex'} " Notes manager in (n)vim

      
        11
        
        -    

      
        12
        
        -    " Color scheme

      
        13
        
        -    Plug 'Smirnov-O/nten16.vim'

      
        
        2
        +    Plug 'nathanaelkane/vim-indent-guides' " Displaying indent levels

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

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

      
        
        5
        +    Plug 'frazrepo/vim-rainbow'            " Rainbow brackets

      
        
        6
        +    Plug 'mhinz/vim-startify'              " Start page

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

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

      
        
        9
        +    Plug 'preservim/nerdcommenter'         " Code commenter

      
        14
        10
         

      
        15
        11
             " Project/file navigation

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

      
        17
        
        -    Plug 'ryanoasis/vim-devicons', {'on': 'NERDTreeToggle'}

      
        18
        
        -    Plug 'preservim/tagbar',       {'on': 'TagbarToggle'} 

      
        19
        
        -    Plug 'kien/ctrlp.vim',         {'on': 'CtrlP'}

      
        20
        
        -    Plug 'easymotion/vim-easymotion'

      
        
        12
        +    Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'}

      
        
        13
        +    Plug 'preservim/tagbar',    {'on': 'TagbarToggle'} 

      
        
        14
        +    Plug 'kien/ctrlp.vim',      {'on': 'CtrlP'}

      
        21
        15
         

      
        22
        
        -    " Completion

      
        
        16
        +    " Completion & snippets

      
        
        17
        +    Plug 'ycm-core/YouCompleteMe'

      
        23
        18
             Plug 'jiangmiao/auto-pairs'

      
        24
        
        -    Plug 'neoclide/coc.nvim', {'branch': 'release'}

      
        
        19
        +    Plug 'SirVer/ultisnips'

      
        25
        20
         

      
        26
        
        -    " Language support

      
        27
        
        -    Plug 'iamcco/markdown-preview.nvim', {'for': 'markdown'}

      
        28
        
        -    Plug 'dhruvasagar/vim-table-mode',   {'for': 'markdown'}

      
        
        21
        +    " Language syntax

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

      
        
        23
        +    Plug 'dhruvasagar/vim-table-mode',   {'for': 'markdown'}

      
        
        24
        +    Plug 'xinhangliu/ficus.vim',         {'for': 'markdown'}

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

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

      
        32
        
        -    Plug 'mattn/emmet-vim',              {'on':  'Emmet'}

      
        33
        
        -    Plug 'cakebaker/scss-syntax.vim',    {'for': 'scss'}

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

      
        
        26
        +    Plug 'alaviss/nim.nvim',             {'for': 'nim'}

      
        35
        27
             Plug 'fatih/vim-go',                 {'for': 'go'}

      
        
        28
        +    "Plug 'nsf/gocode',                  {'for': 'go'}

      
        
        29
        +    Plug 'PotatoesMaster/i3-vim-syntax', {'for': 'i3'}

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

      
        36
        31
         call plug#end()

      
        37
        32
         

      
        38
        
        -" Colors

      
        
        33
        +" Theme

      
        39
        34
         set termguicolors

      
        40
        
        -set background=dark

      
        41
        
        -colo nten16

      
        
        35
        +colorscheme nten16

      
        42
        36
         set t_Co=256

      
        43
        37
         

      
        44
        
        -" Syntax & line numbers

      
        
        38
        +" Syntax & number line

      
        45
        39
         syntax on

      
        46
        
        -set number

      
        47
        
        -set relativenumber

      
        
        40
        +set nu rnu

      
        48
        41
         

      
        49
        
        -" Vim status line

      
        
        42
        +" Status line

      
        50
        43
         set noshowmode

      
        51
        44
         set ruler

      
        52
        
        -set showmode

      
        53
        45
         set showcmd

      
        54
        46
         

      
        55
        47
         " Mouse

      ···
        57
        49
         set mousehide

      
        58
        50
         set cursorline

      
        59
        51
         

      
        60
        
        -" File encoding

      
        
        52
        +" Encoding

      
        61
        53
         set encoding=utf-8

      
        62
        
        -set fileencodings=utf8

      
        
        54
        +set fileencodings=utf-8

      
        63
        55
         

      
        64
        56
         " Line wrap

      
        65
        57
         set nowrap

      
        66
        58
         set nolinebreak

      
        67
        59
         

      
        68
        
        -" Backup files & history

      
        
        60
        +" Backup file & history

      
        69
        61
         set nobackup

      
        70
        62
         set noswapfile

      
        71
        63
         set history=100

      
        72
        64
         

      
        73
        
        -" Auto reload file

      
        
        65
        +" Reload file

      
        74
        66
         set autoread

      
        75
        67
         

      
        76
        68
         " Tabs

      ···
        85
        77
         set ignorecase

      
        86
        78
         set smartcase

      
        87
        79
         

      
        88
        
        -" Buffer

      
        
        80
        +" Buffer(s)

      
        89
        81
         set hidden

      
        90
        82
         set smartindent

      
        91
        83
         

      ···
        96
        88
         " Disable sound

      
        97
        89
         set visualbell t_vb=

      
        98
        90
         

      
        99
        
        -" == Plugins configure

      
        100
        
        -

      
        101
        
        -" Lightline

      
        
        91
        +" == Plugins configuration

      
        102
        92
         let g:lightline = {

      
        103
        93
         \ 'colorscheme': 'nten16',

      
        104
        94
         \ 'active': {

      
        105
        
        -\   'left':  [ [ 'mode', 'paste' ],

      
        106
        
        -\              [ 'readonly', 'modified' ] ],

      
        107
        
        -\   'right': [ [ 'lineinfo' ],

      
        108
        
        -\              [ 'percent' ],

      
        109
        
        -\              [ 'filename', 'fileencoding', 'filetype' ] ]

      
        
        95
        +\    'left':  [ [ 'mode', 'paste' ],

      
        
        96
        +\               [ 'readonly', 'modified' ] ],

      
        
        97
        +\    'right': [ [ 'lineinfo' ],

      
        
        98
        +\               [ 'percent' ],

      
        
        99
        +\               [ 'filename', 'filetype' ] ]

      
        110
        100
         \ }, }

      
        111
        101
         

      
        112
        
        -" Nerdtree

      
        113
        
        -let NERDTreeIgnore = ['__pycache__', '.DS_Store', '.git']

      
        114
        
        -let g:NERDTreeWinPos        = "right"

      
        115
        
        -let g:NERDTreeWinSize       = 28

      
        116
        
        -let NERDTreeMinimalUI       = 1

      
        117
        
        -let NERDTreeShowLineNumbers = 1

      
        118
        
        -let NERDTreeShowHidden      = 0

      
        119
        
        -map <C-b> :NERDTreeToggle<CR>

      
        
        102
        +" Markdown

      
        
        103
        +let g:vim_markdown_folding_disabled = 1

      
        
        104
        +let g:markdown_fenced_languages = ['go', 'python', 'bash', 'sh=bash']

      
        
        105
        +let g:ficus_dir = "~/Documents/Notes"

      
        
        106
        +

      
        
        107
        +" Rainbow

      
        
        108
        +let g:rainbow_active = 1

      
        
        109
        +

      
        
        110
        +" Python

      
        
        111
        +let g:python_higlight_all = 1

      
        120
        112
         

      
        121
        
        -" VimWiki

      
        122
        
        -let g:vimwiki_markdown_link_ext = 0

      
        123
        
        -let g:vimwiki_list = [{

      
        124
        
        -\ 'path': '~/Documents/Notes',

      
        125
        
        -\ 'syntax': 'markdown',

      
        126
        
        -\ 'ext': '.md',

      
        127
        
        -\ }]

      
        
        113
        +" YouCompleteMe

      
        
        114
        +let g:ycm_key_list_previous_completion=['<Up>']

      
        128
        115
         

      
        129
        
        -" Coc

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

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

      
        
        116
        +" UltiSnipts

      
        
        117
        +let g:UltiSnipsExpandTrigger="<c-tab>"

      
        
        118
        +let g:UltiSnipsListSnippets="<c-s-tab>"

      
        
        119
        +"let g:UltiSnipsJumpForwardTrigger="<c-j>"

      
        
        120
        +"let g:UltiSnipsJumpBackwardTrigger="<c-k>"

      
        132
        121
         

      
        133
        
        -" Markdown

      
        134
        
        -let g:vim_markdown_folding_disabled = 1

      
        135
        122
         

      
        136
        
        -" Easymotion

      
        137
        
        -let g:EasyMotion_do_mapping = 0

      
        138
        
        -let g:EasyMotion_smartcase = 1

      
        139
        
        -nmap f <Plug>(easymotion-s)

      
        140
        
        -nmap FF <Plug>(easymotion-overwin-line)

      
        141
        
        -nmap FD <Plug>(easymotion-overwin-f2)

      
        142
        
        -nmap FS <Plug>(easymotion-bd-w)

      
        
        123
        +" Go

      
        
        124
        +let g:go_template_autocreate = 0

      
        
        125
        +let g:go_highlight_structs = 1 

      
        
        126
        +let g:go_highlight_methods = 1

      
        
        127
        +let g:go_highlight_functions = 1

      
        
        128
        +let g:go_highlight_operators = 1

      
        
        129
        +let g:go_highlight_build_constraints = 1

      
        
        130
        +let g:go_snippet_engine = ""

      
        143
        131
         

      
        144
        
        -" CtrlP

      
        145
        
        -let g:ctrlp_custom_ignore = '\v[\/]\.git$'

      
        146
        
        -imap <C-p> :CtrlP<CR>

      
        147
        
        -nmap <C-p> :CtrlP<CR>

      
        
        132
        +" TagBar

      
        
        133
        +let g:tagbar_autoclose = 1

      
        
        134
        +let g:tagbar_width     = 18

      
        
        135
        +let g:tagbar_left      = 1

      
        148
        136
         

      
        149
        
        -" Indent guides

      
        150
        
        -let g:indent_guides_enable_on_vim_startup = 1

      
        
        137
        +" Nerdtree

      
        
        138
        +let NERDTreeIgnore = ['__pycache__', '.DS_Store', '.git']

      
        
        139
        +let g:NERDTreeWinPos  = "right"

      
        
        140
        +let g:NERDTreeWinSize = 28

      
        
        141
        +let NERDTreeMinimalUI = 1

      
        151
        142
         

      
        152
        
        -" Python

      
        153
        
        -let g:python_highlight_all = 1

      
        
        143
        +" CtrlP

      
        
        144
        +let g:ctrlp_custom_ignore = '\v[\/]\.(git|hg|svn)$'

      
        154
        145
         

      
        155
        146
         " Startify

      
        156
        147
         let g:startify_custom_header = [

      ···
        164
        155
         \ { 'type': 'files',     'header': ["  Files"] },

      
        165
        156
         \ ]

      
        166
        157
         

      
        167
        
        -" Rainbow

      
        168
        
        -let g:rainbow_active = 1 

      
        169
        
        -

      
        170
        
        -" TagBar

      
        171
        
        -imap <F9> :TagbarToggle<CR>

      
        172
        
        -nmap <F9> :TagbarToggle<CR>

      
        173
        
        -let g:tagbar_autoclose = 1

      
        174
        
        -let g:tagbar_width     = 18

      
        175
        
        -let g:tagbar_left      = 1

      
        176
        
        -

      
        177
        
        -" Floaterm

      
        178
        
        -let g:floaterm_title     = "VimTermianl"

      
        179
        
        -let g:floaterm_wintype   = "floating"

      
        180
        
        -let g:floaterm_position  = "center"

      
        181
        
        -let g:floaterm_height    = 0.7

      
        182
        
        -let g:floaterm_width     = 0.6

      
        183
        
        -let g:floaterm_autoclose = 2

      
        184
        
        -nmap <A-t> :FloatermNew<CR>

      
        185
        
        -

      
        186
        
        -" Go

      
        187
        
        -let g:go_template_autocreate = 0

      
        188
        
        -

      
        189
        
        -" == Maping

      
        
        158
        +" == Mapping

      
        190
        159
         let mapleader=","

      
        191
        160
         

      
        192
        
        -" Window(s)

      
        
        161
        +" window(s)

      
        193
        162
         nmap <C-h> :wincmd h<CR>

      
        194
        163
         nmap <C-j> :wincmd j<CR>

      
        195
        164
         nmap <C-k> :wincmd k<CR>

      
        196
        165
         nmap <C-l> :wincmd l<CR>

      
        197
        
        -nmap <A-q> :wincmd q<CR>

      
        198
        
        -nmap <A-c> :wincmd n<CR>

      
        199
        166
         nmap <A-z> :wincmd K<CR>

      
        200
        167
         nmap <A-x> :wincmd L<CR>

      
        201
        
        -nmap <A-h> :wincmd <<CR>

      
        202
        
        -nmap <A-l> :wincmd ><CR>

      
        
        168
        +nmap <A-c> :wincmd n<CR>

      
        203
        169
         

      
        204
        170
         " Tab(s)

      
        205
        171
         noremap <C-Tab> :tabnext<CR>

      
        206
        172
         noremap <C-S-Tab> :tabprev<CR>

      
        207
        
        -noremap <C-n> :tabnew<CR>

      
        208
        173
         noremap <C-t> :tabnew<CR>

      
        209
        174
         noremap <C-w> :tabclose<CR>

      
        210
        175
         noremap <A-1> :tabn 1<CR>

      ···
        220
        185
         " Buffer(s)

      
        221
        186
         noremap <leader>p :bnext<CR>

      
        222
        187
         noremap <leader>o :bprev<CR>

      
        
        188
        +

      
        
        189
        +" Plugins

      
        
        190
        +map <F9> :TagbarToggle<CR>

      
        
        191
        +map <C-b> :NERDTreeToggle<CR>

      
M config/polybar/config
···
        22
        22
         font-1 = FontAwesome5Free:style=Solid:size=7.5;2.5

      
        23
        23
         font-2 = Weather Icons:size=7;2

      
        24
        24
         modules-left =  i3 menu pacman-up window-name

      
        25
        
        -modules-right = keyboard pulseaudio backlight wifi-signal time date

      
        
        25
        +modules-right = pulseaudio backlight wifi-signal keyboard time date

      
        26
        26
         tray-position = right

      
        27
        27
         

      
        28
        28
         [module/i3]

      ···
        103
        103
         [module/pacman-up]

      
        104
        104
         type = custom/script

      
        105
        105
         exec = ~/.config/polybar/scripts/updates-pacman-aur.sh

      
        106
        
        -interval = 60

      
        
        106
        +interval = 15

      
        107
        107
         

      
        108
        108
         [module/window-name]

      
        109
        109
         type = internal/xwindow

      
M doom.d/custom.el
···
        1
        1
         (custom-set-variables

      
        2
        
        - ;; custom-set-variables was added by Custom.

      
        3
        
        - ;; If you edit it by hand, you could mess it up, so be careful.

      
        4
        
        - ;; Your init file should contain only one such instance.

      
        5
        
        - ;; If there is more than one, they won't work right.

      
        6
        
        - '(package-selected-packages '(markdown-mode zoutline)))

      
        7
        
        -(custom-set-faces

      
        8
        
        - ;; custom-set-faces was added by Custom.

      
        9
        
        - ;; If you edit it by hand, you could mess it up, so be careful.

      
        10
        
        - ;; Your init file should contain only one such instance.

      
        11
        
        - ;; If there is more than one, they won't work right.

      
        12
        
        - )

      
        
        2
        + '(package-selected-packages '(racket-mode markdown-mode zoutline)))

      
        
        3
        +(custom-set-faces)

      
        
        4
        +

      
        
        5
        +(use-package markdown-mode

      
        
        6
        +  :commands (markdown-mode gfm-mode)

      
        
        7
        +

      
        
        8
        +  :mode

      
        
        9
        +  ("README.*\\.md\\'" . gfm-mode)

      
        
        10
        +  ("\\.md\\'" . markdown-mode)

      
        
        11
        +  ("\\.markdown\\'" . markdown-mode)

      
        
        12
        +

      
        
        13
        +  :hook

      
        
        14
        +  (markdown-mode . variable-pitch-mode)

      
        
        15
        +  (markdown-mode . yas-minor-mode)

      
        
        16
        +  (markdown-mode . smartparens-mode)

      
        
        17
        +

      
        
        18
        +  :custom

      
        
        19
        +  (markdown-command "pandoc")

      
        
        20
        +  (markdown-header-scaling t)

      
        
        21
        +

      
        
        22
        +  :config

      
        
        23
        +  (unbind-key "DEL" gfm-mode-map))

      
M doom.d/packages.el
···
        3
        3
         (package! go-autocomplete)

      
        4
        4
         (package! markdown-mode)

      
        5
        5
         (package! hy-mode)

      
        
        6
        +(package! nim-mode)

      
A script/dwmbar.sh
···
        
        1
        +#!/bin/sh

      
        
        2
        +getDate() {

      
        
        3
        +    local date="$(date +%d.%m.%Y)"

      
        
        4
        +    echo " ${date}"

      
        
        5
        +}

      
        
        6
        +getTime() {

      
        
        7
        +    local time="$(date +%H:%M)"

      
        
        8
        +    echo " ${time}"

      
        
        9
        +}

      
        
        10
        +getVolume() {

      
        
        11
        +    local volume="$(amixer get Master | tail -n1 | sed -r 's/.*\[(.*)%\].*/\1/')"

      
        
        12
        +    echo " ${volume}"

      
        
        13
        +}

      
        
        14
        +getKeyLayout() {

      
        
        15
        +    case "$(xkblayout)" in

      
        
        16
        +        "Eng") echo " us" ;;

      
        
        17
        +        "Rus") echo " ru" ;;

      
        
        18
        +        "Ukr") echo " ua" ;;

      
        
        19
        +    esac

      
        
        20
        +}

      
        
        21
        +

      
        
        22
        +while true; do

      
        
        23
        +    xsetroot -name " $(getVolume) | $(getKeyLayout) | $(getTime) | $(getDate)"

      
        
        24
        +    sleep 0

      
        
        25
        +done

      
M zshrc
···
        9
        9
         #HYPHEN_INSENSITIVE="true"      # Case-sensitive completion must be off.

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

      
        11
        11
         #DISABLE_UPDATE_PROMPT="true"   # Automatically update without prompting.

      
        12
        
        -#DISABLE_MAGIC_FUNCTIONS="true" # If pasting URLs and other text is messed up.

      
        
        12
        +#DISABLE_MAGIC_FUNCTIONS="true" # If pasting URL and other text is messed up.

      
        13
        13
         #DISABLE_LS_COLORS="true"       # Disable colors in ls.

      
        14
        
        -#DISABLE_AUTO_TITLE="true"      # Disable auto-setting terminal title.

      
        
        14
        +DISABLE_AUTO_TITLE="true"       # Disable auto-setting terminal title.

      
        15
        15
         #ENABLE_CORRECTION="true"       # Enable command auto-correction.

      
        16
        16
         #COMPLETION_WAITING_DOTS="true" # Display red dots whilst waiting for completion.

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

      ···
        49
        49
         alias tmux="tmux -2"

      
        50
        50
         alias ipython="ipython --no-banner"

      
        51
        51
         alias icat="kitty +kitten icat"

      
        
        52
        +alias ccat="sh -c cat"

      
        
        53
        +alias cat="bat"

      
        52
        54
         eval $(thefuck --alias)

      
        53
        55
         

      
        54
        56
         # Exit

      ···
        71
        73
         alias doomdoctor="$HOME/.emacs.d/bin/doom doctor"

      
        72
        74
         alias doom="$HOME/.emacs.d/bin/doom"

      
        73
        75
         

      
        74
        
        -eval $(thefuck --alias)