├── LICENSE
├── README.md
├── etc
├── X11
│ └── xorg.conf.d
│ │ └── 30-touchpad.conf
├── ly
│ └── config.ini
└── systemd
│ └── logind.conf
├── home
├── .Xresources
├── .bin
│ ├── b
│ ├── c
│ ├── d
│ ├── l
│ ├── p
│ ├── s
│ ├── t
│ ├── v
│ └── z
├── .config
│ ├── alacritty
│ │ └── alacritty.yml
│ ├── bspwm
│ │ └── bspwmrc
│ ├── dunst
│ │ └── dunstrc
│ ├── nvim
│ │ ├── coc-settings.json
│ │ ├── colors
│ │ │ └── siori.vim
│ │ └── init.vim
│ ├── picom
│ │ └── picom.conf
│ ├── rofi
│ │ └── config.rasi
│ └── sxhkd
│ │ └── sxhkdrc
├── .editorconfig
├── .gitconfig
├── .prettierrc
├── .wp
│ └── floral.jpg
└── .zshrc
└── ss.png
/LICENSE:
--------------------------------------------------------------------------------
1 | This is free and unencumbered software released into the public domain.
2 |
3 | Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
4 |
5 | In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8 |
9 | For more information, please refer to https://unlicense.org
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | ~ dots ~
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/etc/X11/xorg.conf.d/30-touchpad.conf:
--------------------------------------------------------------------------------
1 | Section "InputClass"
2 | Identifier "touchpad"
3 | MatchProduct "ELAN1200:00 04F3:306F Touchpad"
4 | Driver "libinput"
5 | Option "Tapping" "on"
6 | Option "ClickMethod" "clickfinger"
7 | Option "NaturalScrolling" "true"
8 | EndSection
9 |
--------------------------------------------------------------------------------
/etc/ly/config.ini:
--------------------------------------------------------------------------------
1 | # animation enabled
2 | #animate = false
3 | #animate = true
4 |
5 | # the active animation (only animation '0' available for now)
6 | #animation = 0
7 |
8 | # the char used to mask the password
9 | #asterisk = *
10 | #asterisk = o
11 |
12 | # background color id
13 | #bg = 0
14 |
15 | # blank main box
16 | #blank_box = true
17 |
18 | # erase password input on failure
19 | #blank_password = false
20 | blank_password = true
21 |
22 | # console path
23 | #console_dev = /dev/console
24 |
25 | # input active by default on startup
26 | #default_input = 2
27 |
28 | # foreground color id
29 | #fg = 9
30 |
31 | # remove main box borders
32 | #hide_borders = false
33 | #hide_borders = true
34 |
35 | # number of visible chars on an input
36 | #input_len = 34
37 |
38 | # active language
39 | #lang = en
40 | #lang = fr
41 |
42 | # load the saved desktop and login
43 | #load = true
44 |
45 | # main box margins
46 | margin_box_h = 3
47 | margin_box_v = 2
48 |
49 | # total input sizes
50 | #max_desktop_len = 100
51 | #max_login_len = 255
52 | #max_password_len = 255
53 |
54 | # cookie generator
55 | #mcookie_cmd = /usr/bin/mcookie
56 |
57 | # event timeout in milliseconds
58 | #min_refresh_delta = 5
59 |
60 | # default path
61 | #path = /sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin
62 |
63 | # command executed when pressing F2
64 | #restart_cmd = /sbin/shutdown -r now
65 |
66 | # save the current desktop and login as defaults
67 | #save = true
68 |
69 | # file in which to save and load the default desktop and login
70 | #save_file = /etc/ly/save
71 |
72 | # service name (set to ly to use the provided pam config file)
73 | #service_name = ly
74 |
75 | # command executed when pressing F1
76 | #shutdown_cmd = /sbin/shutdown -a now
77 |
78 | # terminal reset command (tput is faster)
79 | #term_reset_cmd = /usr/bin/tput reset
80 |
81 | # tty in use
82 | #tty = 2
83 |
84 | # wayland setup command
85 | #wayland_cmd = /etc/ly/wsetup.sh
86 |
87 | # add wayland specifier to session names
88 | #wayland_specifier = false
89 | #wayland_specifier = true
90 |
91 | # wayland desktop environments
92 | #waylandsessions = /usr/share/wayland-sessions
93 |
94 | # xorg server command
95 | #x_cmd = /usr/bin/X
96 |
97 | # xorg setup command
98 | #x_cmd_setup = /etc/ly/xsetup.sh
99 |
100 | # xorg xauthority edition tool
101 | #xauth_cmd = /usr/bin/xauth
102 |
103 | # xorg desktop environments
104 | #xsessions = /usr/share/xsessions
105 |
--------------------------------------------------------------------------------
/etc/systemd/logind.conf:
--------------------------------------------------------------------------------
1 | # This file is part of systemd.
2 | #
3 | # systemd is free software; you can redistribute it and/or modify it
4 | # under the terms of the GNU Lesser General Public License as published by
5 | # the Free Software Foundation; either version 2.1 of the License, or
6 | # (at your option) any later version.
7 | #
8 | # Entries in this file show the compile time defaults.
9 | # You can change settings by editing this file.
10 | # Defaults can be restored by simply deleting this file.
11 | #
12 | # See logind.conf(5) for details.
13 |
14 | [Login]
15 | #NAutoVTs=6
16 | #ReserveVT=6
17 | #KillUserProcesses=no
18 | #KillOnlyUsers=
19 | #KillExcludeUsers=root
20 | #InhibitDelayMaxSec=5
21 | #UserStopDelaySec=10
22 | #HandlePowerKey=poweroff
23 | #HandleSuspendKey=suspend
24 | #HandleHibernateKey=hibernate
25 | #HandleLidSwitch=suspend
26 | HandleLidSwitchExternalPower=ignore
27 | #HandleLidSwitchDocked=ignore
28 | #HandleRebootKey=reboot
29 | #PowerKeyIgnoreInhibited=no
30 | #SuspendKeyIgnoreInhibited=no
31 | #HibernateKeyIgnoreInhibited=no
32 | #LidSwitchIgnoreInhibited=yes
33 | #RebootKeyIgnoreInhibited=no
34 | #HoldoffTimeoutSec=30s
35 | #IdleAction=ignore
36 | #IdleActionSec=30min
37 | #RuntimeDirectorySize=10%
38 | #RuntimeDirectoryInodes=400k
39 | #RemoveIPC=yes
40 | #InhibitorsMax=8192
41 | #SessionsMax=8192
42 |
--------------------------------------------------------------------------------
/home/.Xresources:
--------------------------------------------------------------------------------
1 | ! special
2 | *.foreground: #b9b5b7
3 | *.background: #151113
4 | *.cursorColor: #b9b5b7
5 |
6 | ! black
7 | *.color0: #151113
8 | *.color8: #2e2527
9 |
10 | ! red
11 | *.color1: #9e7878
12 | *.color9: #9e8e8e
13 |
14 | ! green
15 | *.color2: #9a907a
16 | *.color10: #99948a
17 |
18 | ! yellow
19 | *.color3: #899a78
20 | *.color11: #91998a
21 |
22 | ! blue
23 | *.color4: #769c8b
24 | *.color12: #8c9c95
25 |
26 | ! magenta
27 | *.color5: #76969e
28 | *.color13: #8e9b9e
29 |
30 | ! cyan
31 | *.color6: #7a889c
32 | *.color14: #8c929c
33 |
34 | ! white
35 | *.color7: #b9b5b7
36 | *.color15: #cfcbcc
37 |
--------------------------------------------------------------------------------
/home/.bin/b:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | dir=/tmp/splash
4 | if [[ -d $dir ]]; then
5 | rm -rf $dir
6 | fi
7 |
8 | mkdir $dir
9 | c=1
10 |
11 | while true; do
12 | wget -q -O $dir/$c.jpeg https://unsplash.it/3840/2160/?random
13 | feh --bg-fill $dir/$c.jpeg
14 | echo "Picture $c.jpeg has been downloaded!"
15 | c=$((c + 1))
16 | done
17 |
--------------------------------------------------------------------------------
/home/.bin/c:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | clear
3 |
4 | i=" "
5 |
6 | r='\033[0;31m'
7 | g='\033[0;32m'
8 | y='\033[0;33m'
9 | b='\033[0;34m'
10 | c='\033[0;35m'
11 | s='\033[0m'
12 |
13 | #intro
14 | printf "~ @iota ~\n"
15 |
16 | #colors
17 | printf "$r$i"
18 | printf "$g$i"
19 | printf "$y$i"
20 | printf "$b$i"
21 | printf "$c$i"
22 |
23 | #cleanup
24 | printf "$s\n\n"
25 |
--------------------------------------------------------------------------------
/home/.bin/d:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | dots="$HOME/dots/"
4 |
5 | #raw
6 | _r() {
7 | d=$(dirname "${dots}${1}")
8 | mkdir -p "$d"
9 | cp -Rf "$1" "$d"
10 | }
11 |
12 | _rd() {
13 | rm -rf "${dots}${1}"
14 | }
15 |
16 | #home
17 | _() {
18 | d=$(dirname "${dots}home${1}")
19 | mkdir -p "$d"
20 | cp -Rf "${HOME}${1}" "$d"
21 | }
22 |
23 | _d() {
24 | rm -rf "${dots}home${1}"
25 | }
26 |
27 | #cleanup
28 | _rd "/*"
29 | _d "/*"
30 |
31 | #home
32 | _ "/.zshrc"
33 | _ "/.Xresources"
34 | _ "/.gitconfig"
35 | _ "/.editorconfig"
36 | _ "/.prettierrc"
37 | _ "/.bin"
38 | _ "/.wp"
39 | _ "/.config/bspwm"
40 | _ "/.config/sxhkd"
41 | _ "/.config/alacritty"
42 | _ "/.config/picom"
43 | _ "/.config/rofi"
44 | _ "/.config/nvim"
45 | _ "/.config/dunst"
46 |
47 | #sys
48 | _r "/etc/X11/xorg.conf.d/30-touchpad.conf"
49 | _r "/etc/systemd/logind.conf"
50 | _r "/etc/ly/config.ini"
51 |
52 | #rms
53 | _d "/.config/nvim/plugged"
54 |
55 | #push
56 | cd "$HOME/dots" && p
57 |
--------------------------------------------------------------------------------
/home/.bin/l:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | help='l v0.1
4 |
5 | USAGE:
6 | l [-u/-d/-h]
7 |
8 | FLAGS:
9 | u, -u, --up - increase the brightness by 5%
10 | d, -d, --down - decrease the brightness by 5%
11 | h, -h, --help - display this help message
12 | '
13 | current=$(xrandr --current --verbose | grep -w "Brightness" | head -n 1 | cut -d" " -f2)
14 |
15 | [ -z "$1" ] && {
16 | printf '%s' "$help"
17 | exit 1
18 | }
19 |
20 | run() {
21 | [ "$(echo "$1 > 1" | bc)" = "1" ] && exit 1
22 | xrandr --output eDP-1 --brightness $1
23 | notify-send "brightness: $(echo "$1 * 100" | bc | cut -d. -f1)%" \
24 | -h string:x-canonical-private-synchronous:brightness
25 | }
26 |
27 | case $1 in
28 | u | -u | --up)
29 | new="$(echo "$current + 0.05" | bc)"
30 | run "$new"
31 | ;;
32 | d | -d | --down)
33 | new="$(echo "$current - 0.05" | bc)"
34 | run "$new"
35 | ;;
36 | h | -h | --help)
37 | printf '%s' "$help"
38 | exit 0
39 | ;;
40 | esac
41 |
--------------------------------------------------------------------------------
/home/.bin/p:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | [ -d ".git" ] || {
4 | echo "not a git repository!"
5 | exit 1
6 | }
7 |
8 | [ -z "$1" ] && {
9 | printf "[COMMIT MESSAGE]: "
10 | read -r cmt
11 | } || cmt="${1:-"n/a"}"
12 |
13 | cat </dev/null 2>&1
21 | sudo rm -rf /var/cache/pacman/pkg/*
22 |
23 | b="$(pacman -Qtdq)"
24 | [ -n "$b" ] && {
25 | sudo pacman --noconfirm -Rns "$b" >/dev/null 2>&1
26 | }
27 |
28 | printf "new"
29 | _s
30 |
--------------------------------------------------------------------------------
/home/.bin/z:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | files="$#"
4 | out=""
5 |
6 | while [ "$#" -gt 0 ]; do
7 | link="$(curl -s -F"file=@$1" http://0x0.st)"
8 | ident="[$((files - $#))] $link ($1)"
9 |
10 | out="${out}${ident}
11 | "
12 | echo "$ident"
13 | shift
14 | done
15 |
16 | printf "copy? "
17 | read -r _c
18 |
19 | printf "%s" "$out" | grep -w "[$_c]" | cut -d " " -f2 | xclip -sel c
20 |
--------------------------------------------------------------------------------
/home/.config/alacritty/alacritty.yml:
--------------------------------------------------------------------------------
1 | custom_cursor_colors: true
2 |
3 | window:
4 | padding:
5 | x: 30
6 | y: 30
7 |
8 | font:
9 | size: 9
10 | normal:
11 | family: SF Mono
12 |
13 | colors:
14 | cursor:
15 | cursor: '0x9e7878'
16 |
17 | # Default colors
18 | primary:
19 | background: '0x151113'
20 | foreground: '0xb9b5b7'
21 |
22 | # Normal colors
23 | normal:
24 | black: '0x151113'
25 | red: '0x9e7878'
26 | green: '0x9a907a'
27 | yellow: '0x899a78'
28 | blue: '0x769c8b'
29 | magenta: '0x76969e'
30 | cyan: '0x7a889c'
31 | white: '0xb9b5b7'
32 |
33 | # Bright colors
34 | bright:
35 | black: '0x2e2527'
36 | red: '0x9e8e8e'
37 | green: '0x99948a'
38 | yellow: '0x91998a'
39 | blue: '0x8c9c95'
40 | magenta: '0x8e9b9e'
41 | cyan: '0x8c929c'
42 | white: '0xcfcbcc'
43 |
--------------------------------------------------------------------------------
/home/.config/bspwm/bspwmrc:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | #inspired by gk
4 | _c() { bspc config "$@"; }
5 | _m() { bspc monitor "$@"; }
6 | _s() {
7 | pkill -x "$1"
8 | {
9 | sleep 0.1
10 | "$@" &
11 | }
12 | }
13 |
14 | #monitors
15 | _m -d I II III IV V
16 |
17 | #borders
18 | _c border_width 10
19 | _c normal_border_color "#261c1f"
20 | _c focused_border_color "#3d292e"
21 | _c borderless_monocle false
22 | _c gapless_monocle false
23 |
24 | #misc
25 | _c window_gap 20
26 | _c focus_follows_pointer true
27 |
28 | #startup
29 | _s sxhkd
30 | _s picom -b
31 | _s xsetroot -cursor_name left_ptr
32 | _s ~/.fehbg
33 | _s xrdb -load ~/.Xresources
34 | _s pulseaudio -D
35 |
--------------------------------------------------------------------------------
/home/.config/dunst/dunstrc:
--------------------------------------------------------------------------------
1 | [global]
2 | geometry = "350x50-40-40"
3 | indicate_hidden = no
4 | shrink = no
5 | transparency = 0
6 | separator_height = 1
7 | padding = 20
8 | horizontal_padding = 20
9 | frame_width = 10
10 | frame_color = "#3d292e"
11 | separator_color = frame
12 | sort = yes
13 | font = SF Mono 12
14 | line_height = 0
15 | markup = full
16 | format = "%s\n%b"
17 | alignment = center
18 | vertical_alignment = center
19 | show_age_threshold = 60
20 | word_wrap = yes
21 | ellipsize = middle
22 | ignore_newline = no
23 | stack_duplicates = true
24 | hide_duplicate_count = false
25 | show_indicators = no
26 | browser = firefox
27 | always_run_script = true
28 | title = Dunst
29 | class = Dunst
30 | startup_notification = false
31 | verbosity = mesg
32 | corner_radius = 0
33 | mouse_left_click = close_current
34 | mouse_middle_click = do_action, close_current
35 | mouse_right_click = close_all
36 |
37 | [urgency_low]
38 | background = "#151113"
39 | foreground = "#b9b5b7"
40 | timeout = 10
41 |
42 | [urgency_normal]
43 | background = "#151113"
44 | foreground = "#b9b5b7"
45 | timeout = 15
46 |
47 | [urgency_critical]
48 | background = "#151113"
49 | foreground = "#3d292e"
50 | timeout = 10
51 |
52 | # vim: ft=cfg
53 |
--------------------------------------------------------------------------------
/home/.config/nvim/coc-settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "languageserver": {
3 | "erlang": { "command": "erlang_ls", "filetypes": ["erlang"] }
4 | },
5 | "diagnostic-languageserver.filetypes": {
6 | "sh": "shellcheck"
7 | },
8 | "diagnostic-languageserver.formatFiletypes": {
9 | "sh": "shfmt"
10 | },
11 | "diagnostic-languageserver.formatters": {
12 | "shfmt": {
13 | "command": "shfmt"
14 | }
15 | },
16 | "coc.preferences.formatOnSaveFiletypes": ["css", "markdown", "json"]
17 | }
18 |
--------------------------------------------------------------------------------
/home/.config/nvim/colors/siori.vim:
--------------------------------------------------------------------------------
1 | """"""""""""
2 | " ORIGINAL "
3 | """"""""""""
4 | " Name: siori.vim
5 | " Version: 1.0
6 | " Maintainer: github.com/co1ncidence
7 | " License: The BSD 3 Clause License
8 | "
9 | " Based on
10 | "
11 | " https://github.com/pbrisbin/vim-colors-off (MIT License)
12 | "
13 | " which in turn based on
14 | "
15 | " https://github.com/reedes/vim-colors-pencil (MIT License)
16 | "
17 | """
18 | " Modified by: Safin Singh
19 |
20 | hi clear
21 |
22 | if exists('syntax on')
23 | syntax reset
24 | endif
25 |
26 | let g:colors_name='siori'
27 |
28 | let s:black = { "gui": "#2e2527", "cterm": "0" }
29 | let s:medium_gray = { "gui": "#b9b5b7", "cterm": "243" }
30 | let s:white = { "gui": "#b9b5b7", "cterm": "15" }
31 | let s:light_black = { "gui": "#2e2527", "cterm": "8" }
32 | let s:lighter_black = { "gui": "#534347", "cterm": "240" }
33 | let s:subtle_black = { "gui": "#4f4648", "cterm": "236" }
34 | let s:light_gray = { "gui": "#625558", "cterm": "249" }
35 | let s:lighter_gray = { "gui": "#b9b5b7", "cterm": "251" }
36 | let s:lightest_gray = { "gui": "#cfcbcc", "cterm": "251" }
37 | let s:dark_red = { "gui": "#9e7878", "cterm": "1" }
38 | let s:light_red = { "gui": "#9e8e8e", "cterm": "1" }
39 | let s:dark_blue = { "gui": "#76969e", "cterm": "4" }
40 | let s:light_blue = { "gui": "#946C66", "cterm": "153" }
41 | let s:dark_cyan = { "gui": "#9e7878", "cterm": "6" }
42 | let s:light_cyan = { "gui": "#76969e", "cterm": "14" }
43 | let s:dark_green = { "gui": "#769c8b", "cterm": "2" }
44 | let s:light_green = { "gui": "#899a78", "cterm": "10" }
45 | let s:dark_purple = { "gui": "#7a889c", "cterm": "5" }
46 | let s:light_purple = { "gui": "#8c929c", "cterm": "13" }
47 | let s:light_yellow = { "gui": "#9a907a", "cterm": "11" }
48 | let s:dark_yellow = { "gui": "#99948a", "cterm": "3" }
49 |
50 | if &background == "dark"
51 | let s:bg = s:black
52 | let s:bg_subtle = s:light_black
53 | let s:bg_very_subtle = s:subtle_black
54 | let s:norm = s:lighter_gray
55 | let s:norm_subtle = s:medium_gray
56 | let s:norm_very_subtle = s:medium_gray
57 | let s:purple = s:light_purple
58 | let s:cyan = s:light_cyan
59 | let s:green = s:light_green
60 | let s:red = s:light_red
61 | let s:yellow = s:light_yellow
62 | let s:visual = s:lighter_black
63 | let s:cursor_line = s:subtle_black
64 | let s:constant = s:light_blue
65 | let s:comment = s:light_gray
66 | let s:selection = s:dark_yellow
67 | let s:selection_fg = s:black
68 | let s:ok = s:light_green
69 | let s:warning = s:yellow
70 | let s:error = s:light_red
71 | else
72 | let s:bg = s:white
73 | let s:bg_subtle = s:lighter_gray
74 | let s:bg_very_subtle = s:light_gray
75 | let s:norm = s:light_black
76 | let s:norm_subtle = s:lighter_black
77 | let s:norm_very_subtle = s:medium_gray
78 | let s:purple = s:dark_purple
79 | let s:cyan = s:dark_cyan
80 | let s:green = s:dark_green
81 | let s:red = s:dark_red
82 | let s:yellow = s:dark_yellow
83 | let s:visual = s:light_blue
84 | let s:cursor_line = s:lightest_gray
85 | let s:constant = s:dark_blue
86 | let s:comment = s:light_gray
87 | let s:selection = s:light_yellow
88 | let s:selection_fg = s:light_black
89 | let s:ok = s:light_green
90 | let s:warning = s:yellow
91 | let s:error = s:dark_red
92 | endif
93 |
94 | unlet s:black
95 | unlet s:medium_gray
96 | unlet s:white
97 | unlet s:light_black
98 | unlet s:lighter_black
99 | unlet s:subtle_black
100 | unlet s:light_gray
101 | unlet s:lighter_gray
102 | unlet s:lightest_gray
103 | unlet s:dark_red
104 | unlet s:light_red
105 | unlet s:dark_blue
106 | unlet s:light_blue
107 | unlet s:dark_cyan
108 | unlet s:light_cyan
109 | unlet s:dark_green
110 | unlet s:light_green
111 | unlet s:dark_purple
112 | unlet s:light_purple
113 | unlet s:light_yellow
114 | unlet s:dark_yellow
115 |
116 | " https://github.com/noahfrederick/vim-hemisu/
117 | function! s:h(group, style)
118 | execute "highlight" a:group
119 | \ "guifg=" (has_key(a:style, "fg") ? a:style.fg.gui : "NONE")
120 | \ "guibg=" (has_key(a:style, "bg") ? a:style.bg.gui : "NONE")
121 | \ "guisp=" (has_key(a:style, "sp") ? a:style.sp.gui : "NONE")
122 | \ "gui=" (has_key(a:style, "gui") ? a:style.gui : "NONE")
123 | \ "ctermfg=" (has_key(a:style, "fg") ? a:style.fg.cterm : "NONE")
124 | \ "ctermbg=" (has_key(a:style, "bg") ? a:style.bg.cterm : "NONE")
125 | \ "cterm=" (has_key(a:style, "cterm") ? a:style.cterm : "NONE")
126 | endfunction
127 |
128 | " __Normal__
129 | if has("gui")
130 | call s:h("Normal", {"fg": s:norm, "bg": s:bg})
131 | call s:h("Cursor", {"fg": s:bg, "bg": s:norm})
132 | else
133 | call s:h("Normal", {"fg": s:norm})
134 | hi! link Cursor Identifier
135 | endif
136 | hi! link Identifier Normal
137 | hi! link Function Identifier
138 | hi! link Type Normal
139 | hi! link StorageClass Type
140 | hi! link Structure Type
141 | hi! link Typedef Type
142 | hi! link Special Normal
143 | hi! link SpecialChar Special
144 | hi! link Tag Special
145 | hi! link Delimiter Special
146 | hi! link SpecialComment Special
147 | hi! link Debug Special
148 | hi! link VertSplit Normal
149 | hi! link PreProc Normal
150 | hi! link Define PreProc
151 | hi! link Macro PreProc
152 | hi! link PreCondit PreProc
153 |
154 | " __Operator__
155 | call s:h("Noise", {"fg": s:norm_subtle, "gui": "NONE"})
156 | hi! link Operator Noise
157 | hi! link FoldColumn LineNr
158 | hi! link SignColumn LineNr
159 |
160 | " __Comment__
161 | call s:h("Comment", {"fg": s:comment, "gui": "NONE"})
162 | hi! link shShebang Comment
163 |
164 | " __Constant__
165 | call s:h("Constant", {"fg": s:constant})
166 | hi! link Character Constant
167 | hi! link Number Constant
168 | hi! link Boolean Constant
169 | hi! link Float Constant
170 | hi! link String Constant
171 | hi! link Directory Constant
172 | hi! link Title Constant
173 |
174 | " __Statement__
175 | call s:h("Statement", {"fg": s:norm, "gui": "bold"})
176 | hi! link Include Statement
177 | hi! link Conditonal Statement
178 | hi! link Repeat Statement
179 | hi! link Label Statement
180 | hi! link Keyword Statement
181 | hi! link Exception Statement
182 |
183 | " __ErrorMsg__
184 | call s:h("ErrorMsg", {"fg": s:error})
185 | hi! link Error ErrorMsg
186 | hi! link Question ErrorMsg
187 | " __WarningMsg__
188 | call s:h("WarningMsg", {"fg": s:warning})
189 | " __MoreMsg__
190 | call s:h("MoreMsg", {"fg": s:norm_subtle, "cterm": "bold", "gui": "bold"})
191 | hi! link ModeMsg MoreMsg
192 |
193 | " __NonText__
194 | call s:h("NonText", {"fg": s:bg})
195 | hi! link qfLineNr NonText
196 | hi! link NonText NonText
197 |
198 | " __Folded
199 | call s:h("Folded", {"bg": s:norm_very_subtle, "fg": s:bg})
200 | hi! link Folded Folded
201 |
202 | " __Search__
203 | call s:h("Search", {"bg": s:selection, "fg": s:selection_fg})
204 | call s:h("IncSearch", {"bg": s:selection, "fg": s:selection_fg, "gui": "bold"})
205 |
206 | " __Visual__
207 | call s:h("Visual", {"bg": s:visual})
208 | " __VisualNOS__
209 | call s:h("VisualNOS", {"bg": s:bg_subtle})
210 |
211 | call s:h("Ignore", {"fg": s:bg})
212 |
213 | " __DiffAdd__
214 | call s:h("DiffAdd", {"fg": s:green})
215 | " __DiffDelete__
216 | call s:h("DiffDelete", {"fg": s:red})
217 | " __DiffChange__
218 | call s:h("DiffChange", {"fg": s:yellow})
219 | " __DiffText__
220 | call s:h("DiffText", {"fg": s:constant})
221 |
222 | if has("gui_running")
223 | call s:h("SpellBad", {"gui": "underline", "sp": s:red})
224 | call s:h("SpellCap", {"gui": "underline", "sp": s:ok})
225 | call s:h("SpellRare", {"gui": "underline", "sp": s:error})
226 | call s:h("SpellLocal", {"gui": "underline", "sp": s:ok})
227 | else
228 | call s:h("SpellBad", {"cterm": "underline", "fg": s:red})
229 | call s:h("SpellCap", {"cterm": "underline", "fg": s:ok})
230 | call s:h("SpellRare", {"cterm": "underline", "fg": s:error})
231 | call s:h("SpellLocal", {"cterm": "underline", "fg": s:ok})
232 | endif
233 |
234 | hi! link helpHyperTextEntry Title
235 | hi! link helpHyperTextJump String
236 |
237 | " __StatusLine__
238 | call s:h("StatusLine", {"gui": "underline", "bg": s:bg, "fg": s:norm_very_subtle})
239 | " __StatusLineNC__
240 | call s:h("StatusLineNC", {"gui": "underline", "bg": s:bg, "fg": s:bg_subtle})
241 | " __WildMenu__
242 | call s:h("WildMenu", {"gui": "underline,bold", "bg": s:bg, "fg": s:norm})
243 |
244 | call s:h("StatusLineOk", {"gui": "underline", "bg": s:bg, "fg": s:ok})
245 | call s:h("StatusLineError", {"gui": "underline", "bg": s:bg, "fg": s:error})
246 | call s:h("StatusLineWarning", {"gui": "underline", "bg": s:bg, "fg": s:warning})
247 |
248 | " __Pmenu__
249 | call s:h("Pmenu", {"fg": s:norm, "bg": s:cursor_line})
250 | hi! link PmenuSbar Pmenu
251 | hi! link PmenuThumb Pmenu
252 | " __PmenuSel__
253 | call s:h("PmenuSel", {"fg": s:norm, "bg": s:cursor_line, "gui": "bold"})
254 |
255 | hi! link TabLine Normal
256 | hi! link TabLineSel Keyword
257 | hi! link TabLineFill Normal
258 |
259 | " __CursorLine__
260 | call s:h("CursorLine", {"bg": s:cursor_line})
261 | call s:h("CursorLineNr", {"bg": s:bg})
262 |
263 | " __LineNr__
264 | call s:h("LineNr", {"bg": s:bg, "fg": s:bg_subtle})
265 |
266 | " __MatchParen__
267 | call s:h("MatchParen", {"bg": s:bg_subtle, "fg": s:norm})
268 |
269 | hi! link htmlH1 Normal
270 | hi! link htmlH2 Normal
271 | hi! link htmlH3 Normal
272 | hi! link htmlH4 Normal
273 | hi! link htmlH5 Normal
274 | hi! link htmlH6 Normal
275 |
276 | hi link diffRemoved DiffDelete
277 | hi link diffAdded DiffAdd
278 |
279 | " Signify, git-gutter
280 | hi link SignifySignAdd LineNr
281 | hi link SignifySignDelete LineNr
282 | hi link SignifySignChange LineNr
283 | hi link GitGutterAdd LineNr
284 | hi link GitGutterDelete LineNr
285 | hi link GitGutterChange LineNr
286 | hi link GitGutterChangeDelete LineNr
287 |
288 | hi link jsFlowTypeKeyword Statement
289 | hi link jsFlowImportType Statement
290 | hi link jsFunction Statement
291 | hi link jsGlobalObjects Normal
292 | hi link jsGlobalNodeObjects Normal
293 | hi link jsArrowFunction Noise
294 | hi link StorageClass Statement
295 |
296 | hi link xmlTag Constant
297 | hi link xmlTagName xmlTag
298 | hi link xmlEndTag xmlTag
299 | hi link xmlAttrib xmlTag
300 |
301 | hi link markdownH1 Statement
302 | hi link markdownH2 Statement
303 | hi link markdownH3 Statement
304 | hi link markdownH4 Statement
305 | hi link markdownH5 Statement
306 | hi link markdownH6 Statement
307 | hi link markdownListMarker Constant
308 | hi link markdownCode Constant
309 | hi link markdownCodeBlock Constant
310 | hi link markdownCodeDelimiter Constant
311 | hi link markdownHeadingDelimiter Constant
312 |
313 | hi link yamlBlockMappingKey Statement
314 | hi link pythonOperator Statement
315 |
316 | hi link ALEWarning WarningMsg
317 | hi link ALEWarningSign WarningMsg
318 | hi link ALEError ErrorMsg
319 | hi link ALEErrorSign ErrorMsg
320 | hi link ALEInfo InfoMsg
321 | hi link ALEInfoSign InfoMsg
322 |
323 | hi link sqlStatement Statement
324 | hi link sqlKeyword Keyword
325 |
--------------------------------------------------------------------------------
/home/.config/nvim/init.vim:
--------------------------------------------------------------------------------
1 | " theme settings
2 | let &t_8f = "\[41;2;%lu;%lu;%lum"
3 | let &t_8b = "\[48;2;%lu;%lu;%lum"
4 |
5 | set termguicolors
6 | set background=dark
7 | set t_Co=254
8 |
9 | syntax on
10 | colorscheme siori
11 | syntax on
12 |
13 | set ruler
14 | set laststatus=2
15 | set noshowmode
16 | set linebreak
17 | set hidden
18 |
19 | " compatibility
20 | set nocompatible
21 | filetype on
22 |
23 | " plugins
24 | call plug#begin('~/.config/nvim/plugged')
25 | Plug 'neoclide/coc.nvim', { 'branch': 'release' }
26 | Plug 'sheerun/vim-polyglot'
27 | Plug 'z0mbix/vim-shfmt', { 'for': 'sh' }
28 | Plug 'junegunn/goyo.vim'
29 | Plug 'preservim/nerdtree'
30 | Plug 'ap/vim-css-color'
31 | Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
32 | Plug 'junegunn/fzf.vim'
33 | Plug 'voldikss/vim-floaterm'
34 | Plug 'ryanoasis/vim-devicons'
35 | Plug 'editorconfig/editorconfig-vim'
36 | Plug 'jiangmiao/auto-pairs'
37 | call plug#end()
38 |
39 | " text wrap
40 | set wrap
41 |
42 | " tabs
43 | set autoindent
44 | set noexpandtab
45 | set tabstop=4
46 |
47 | " searching
48 | set ignorecase
49 |
50 | " backups
51 | set nobackup
52 | set noswapfile
53 |
54 | " statusbar
55 | set laststatus=2
56 | set noshowmode
57 |
58 | " extension-specific settings
59 | "" fzf
60 | let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.8 } }
61 |
62 | "" shfmt
63 | let g:shfmt_fmt_on_save = 1
64 |
65 | "" comments
66 | let g:NERDSpaceDelims = 1
67 |
68 | " keybinds
69 | map :NERDTreeToggle
70 | map :BLines
71 | map :GFiles
72 | map :set nonumber! norelativenumber!
73 | map :FloatermNew --height=0.8 --width=0.8
74 |
75 | " file association
76 | autocmd BufNewFile,BufRead *.prettierrc set ft=json
77 | autocmd BufNewFile,BufRead *.eslintrc set ft=json
78 |
79 | " nuaNce's statusline
80 | hi Sl1 ctermfg=none cterm=none ctermbg=NONE
81 | hi Sl2 ctermfg=none cterm=none ctermbg=NONE
82 | hi Sl3 ctermfg=none cterm=none ctermbg=NONE
83 | hi Slrese ctermfg=none cterm=none ctermbg=none
84 |
85 | function! RedrawMode(mode)
86 | if a:mode == 'n'
87 | return 'normal mode'
88 | elseif a:mode == 'i'
89 | return 'insert mode'
90 | elseif a:mode == 'R'
91 | return 'replace mode'
92 | elseif a:mode == 'v' || a:mode == 'V' || a:mode == '^V'
93 | return 'visual mode'
94 | elseif a:mode == 'c'
95 | return 'command mode'
96 | elseif a:mode == 't'
97 | return 'trace mode'
98 | endif
99 | return ''
100 | endfunction
101 |
102 | function! SetModifiedSymbol(modified)
103 | if a:modified == 1
104 | return '// unsaved'
105 | else
106 | return ''
107 | endif
108 | endfunction
109 |
110 | function! SetFiletype(filetype)
111 | if a:filetype == ''
112 | return 'txt'
113 | else
114 | return a:filetype
115 | endif
116 | endfunction
117 |
118 | set statusline=%#Slrese#\ %{RedrawMode(mode())}\ %#Sl1#
119 | set statusline+=%#Sl3#%{SetModifiedSymbol(&modified)}
120 | set statusline+=%#SlRese#
121 | set statusline+=%=
122 | set statusline+=%#Sl2#\ %.20t\ //
123 | set statusline+=\%#Sl2#\ %l,%c
124 |
125 | set shiftwidth=4
126 |
--------------------------------------------------------------------------------
/home/.config/picom/picom.conf:
--------------------------------------------------------------------------------
1 | # corner-radius = 6.0;
2 |
3 | shadow = true;
4 | shadow-radius = 30;
5 | shadow-offset-x = -30;
6 | shadow-offset-y = -20;
7 | shadow-opacity = 0.4;
8 |
9 | fading = true;
10 | fade-in-step = 0.1;
11 | fade-out-step = 0.1;
12 |
--------------------------------------------------------------------------------
/home/.config/rofi/config.rasi:
--------------------------------------------------------------------------------
1 | configuration {
2 | modi: "run";
3 | width: 20;
4 | font: "SF Mono 12";
5 | terminal: "alacritty";
6 | disable-history: false;
7 | sidebar-mode: true;
8 | tokenize: true;
9 | m: "-5";
10 | line-margin: 2;
11 | line-padding: 1;
12 | separator-style: "none";
13 | hide-scrollbar: true;
14 | window-format: "{w} {c}";
15 | }
16 |
17 | * {
18 | bg: #151113;
19 | fg: #b9b5b7;
20 | accent: #3d292e;
21 |
22 | background-color: @bg;
23 | text-color: @fg;
24 | }
25 |
26 | window {
27 | padding: 50px;
28 | border: 10px;
29 | border-color: @accent;
30 | }
31 |
32 | prompt, entry {
33 | enabled: false;
34 | }
35 |
36 | element {
37 | padding: 10px;
38 | text-align: center;
39 | }
40 |
41 | element selected {
42 | background-color: @accent;
43 | text-color: @fg;
44 | }
45 |
46 | button {
47 | enabled: false;
48 | }
49 |
--------------------------------------------------------------------------------
/home/.config/sxhkd/sxhkdrc:
--------------------------------------------------------------------------------
1 | #
2 | # wm independent hotkeys
3 | #
4 |
5 | # terminal emulator
6 | super + Return
7 | alacritty
8 |
9 | # take a full-screen screenshot
10 | super + Print
11 | maim ~/rice.png && \
12 | notify-send "screenshot taken!"
13 |
14 | # take a selection screenshot
15 | Print
16 | scr -S && \
17 | notify-send "screenshot taken!"
18 |
19 | # volume
20 | XF86Audio{Raise,Lower}Volume
21 | ~/.bin/s {u,d}
22 |
23 | # mute sink
24 | XF86AudioMute
25 | pactl set-sink-mute 0 toggle && \
26 | notify-send "婢 muted"
27 |
28 | # program launcher
29 | super + d
30 | rofi -show run
31 |
32 | #info
33 | super + shift + t
34 | notify-send "$(~/.bin/t)"
35 |
36 | #primary display brightness
37 | XF86MonBrightnessUp
38 | ~/.bin/l u
39 |
40 | XF86MonBrightnessDown
41 | ~/.bin/l d
42 |
43 | # make sxhkd reload its config
44 | super + Escape
45 | pkill -USR1 -x sxhkd
46 |
47 | #
48 | # bspwm hotkeys
49 | #
50 |
51 | # quit/restart bspwm
52 | super + alt + {q,r}
53 | bspc {quit,wm -r}
54 |
55 | # close and kill
56 | super + {_,shift + }w
57 | bspc node -{c,k}
58 |
59 | # send the newest marked node to the newest preselected node
60 | super + y
61 | bspc node newest.marked.local -n newest.!automatic.local
62 |
63 | # swap the current node and the biggest window
64 | super + g
65 | bspc node -s biggest.window
66 |
67 | #
68 | # state/flags
69 | #
70 |
71 | # set the window state
72 | super + {t,s,f}
73 | bspc node -t {tiled,floating,fullscreen}
74 |
75 | # set the node flags
76 | super + ctrl + {m,x,y,z}
77 | bspc node -g {marked,locked,sticky,private}
78 |
79 | #
80 | # focus/swap
81 | #
82 |
83 | # focus the node in the given direction
84 | super + {_,shift + }{h,j,k,l}
85 | bspc node -{f,s} {west,south,north,east}
86 |
87 | # focus the next/previous window in the current desktop
88 | super + {_,shift + }c
89 | bspc node -f {next,prev}.local.!hidden.window
90 |
91 | # focus the next/previous desktop in the current monitor
92 | super + bracket{left,right}
93 | bspc desktop -f {prev,next}.local
94 |
95 | # focus the last node/desktop
96 | super + {grave,Tab}
97 | bspc {node,desktop} -f last
98 |
99 | # focus the older or newer node in the focus history
100 | super + {o,i}
101 | bspc wm -h off; \
102 | bspc node {older,newer} -f; \
103 | bspc wm -h on
104 |
105 | # focus or send to the given desktop
106 | super + {_,shift + }{1-9,0}
107 | bspc {desktop -f,node -d} '^{1-9,10}'
108 |
109 | #
110 | # preselect
111 | #
112 |
113 | # preselect the direction
114 | super + ctrl + {h,j,k,l}
115 | bspc node -p {west,south,north,east}
116 |
117 | # preselect the ratio
118 | super + ctrl + {1-9}
119 | bspc node -o 0.{1-9}
120 |
121 | # cancel the preselection for the focused node
122 | super + ctrl + space
123 | bspc node -p cancel
124 |
125 | # cancel the preselection for the focused desktop
126 | super + ctrl + shift + space
127 | bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
128 |
129 | #
130 | # move/resize
131 | #
132 |
133 | # expand a window by moving one of its side outward
134 | super + alt + {h,j,k,l}
135 | bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
136 |
137 | # contract a window by moving one of its side inward
138 | super + alt + shift + {h,j,k,l}
139 | bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
140 |
141 | # move a floating window
142 | super + {Left,Down,Up,Right}
143 | bspc node -v {-20 0,0 20,0 -20,20 0}
144 |
--------------------------------------------------------------------------------
/home/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | charset = utf-8
6 |
7 | indent_style = tab
8 | indent_size = 4
9 |
10 | insert_final_newline = true
11 | trim_trailing_whitespace = true
12 |
13 | [*.{yml,md}]
14 | indent_style = space
15 | indent_size = 2
16 |
--------------------------------------------------------------------------------
/home/.gitconfig:
--------------------------------------------------------------------------------
1 | [credential]
2 | helper = store
3 | [user]
4 | name = Safin Singh
5 | email = safin.singh@gmail.com
6 |
--------------------------------------------------------------------------------
/home/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "none",
4 | "printWidth": 80,
5 | "semi": false,
6 | "useTabs": true
7 | }
8 |
--------------------------------------------------------------------------------
/home/.wp/floral.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/safinsingh/dots/93ee1cfa8a8512207edd796abb1a7e58e97d4e8d/home/.wp/floral.jpg
--------------------------------------------------------------------------------
/home/.zshrc:
--------------------------------------------------------------------------------
1 | #shell options
2 | set -k
3 | setopt auto_cd
4 | setopt extendedglob
5 | setopt notify
6 |
7 | unsetopt PROMPT_SP
8 | unsetopt beep
9 | bindkey -e
10 |
11 | #vars
12 | export LESS_TERMCAP_mb=$'\e[1;32m'
13 | export LESS_TERMCAP_md=$'\e[1;32m'
14 | export LESS_TERMCAP_me=$'\e[0m'
15 | export LESS_TERMCAP_se=$'\e[0m'
16 | export LESS_TERMCAP_so=$'\e[01;33m'
17 | export LESS_TERMCAP_ue=$'\e[0m'
18 | export LESS_TERMCAP_us=$'\e[1;4;31m'
19 |
20 | export TERMINAL="alacritty"
21 | export EDITOR="nvim"
22 | export VISUAL="$EDITOR"
23 | export BROWSER="firefox"
24 | export TERM="xterm-256color"
25 |
26 | export PATH="/home/pdx/.bin:$PATH"
27 | export PATH="/home/pdx/.deno/bin:$PATH"
28 | export PATH="/home/pdx/.cargo/bin:$PATH"
29 | export PROMPT='%F{red}%B*%b%f '
30 |
31 | #aliases
32 | alias ls="exa --icons --group-directories-first"
33 | alias la="exa -a --icons --group-directories-first"
34 | alias ll="exa -l -a --icons --group-directories-first"
35 | alias tree="exa -a --icons --tree --group-directories-first"
36 |
37 | #file manipulation
38 | alias grep="grep --color=auto"
39 | alias vim="nvim"
40 |
41 | #disk
42 | alias space="sudo du -sh / 2>/dev/null"
43 |
44 | #screen
45 | alias record="scr -c -e -r60 2>/dev/null"
46 | alias mirror="xrandr --output DP-1 --auto --same-as eDP-1"
47 | alias xwin="Xephyr -br -ac -noreset -screen 1600x900 :2"
48 | alias bigxwin="Xephyr -br -ac -noreset -screen 1920x1080 :2"
49 | alias xdisp="DISPLAY=:2"
50 |
--------------------------------------------------------------------------------
/ss.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/safinsingh/dots/93ee1cfa8a8512207edd796abb1a7e58e97d4e8d/ss.png
--------------------------------------------------------------------------------