├── .Xresources
├── .config
├── bspwm
│ └── bspwmrc
├── dunst
│ └── dunstrc
├── i3
│ └── config
├── kitty
│ └── kitty.conf
├── neofetch
│ └── config.conf
├── nvim
│ ├── init.vim
│ ├── luafiles
│ │ ├── bufferline.lua
│ │ ├── colors.lua
│ │ ├── compe.lua
│ │ ├── completion.lua
│ │ ├── dashboard.lua
│ │ ├── galaxy.lua
│ │ ├── gitsign.lua
│ │ ├── neogit.lua
│ │ ├── nvimtree.lua
│ │ └── telescope.lua
│ ├── plugins.vim
│ └── vimscript
│ │ ├── bindings.vim
│ │ ├── colors.vim
│ │ ├── floatterm.vim
│ │ ├── lsp.vim
│ │ ├── other.vim
│ │ └── zen.vim
├── picom.conf
├── polybar
│ └── config
├── qutebrowser
│ ├── config.py
│ └── css
│ │ ├── apprentice-all-sites.css
│ │ ├── modus-all-sites.css
│ │ ├── solarized-dark-all-sites.css
│ │ └── solarized-light-all-sites.css
├── ranger
│ └── rc.conf
├── rofi
│ ├── materia.rasi
│ └── materia_wd.rasi
├── sxhkd
│ └── sxhkdrc
├── zathura
│ └── zathurarc
└── zsh
│ ├── .zprofile
│ ├── .zshrc
│ └── exports
├── .mozilla
└── firefox
│ └── bp35q76x.default-release
│ └── chrome
│ └── userChrome.css
├── .resources
├── main.png
├── qute_1.png
├── qute_2.png
├── vim_1.png
└── vim_2.png
├── .vim
├── after
│ └── syntax
│ │ └── python.vim
└── vimrc
├── .xinitrc
├── Pictures
└── arch_senko.png
├── README.org
└── scripts
└── bash
├── autostart.sh
├── compiler.sh
├── opout.sh
└── wallpaper_automation.sh
/.Xresources:
--------------------------------------------------------------------------------
1 | !Copy paste bindings
2 | URxvt.keysym.Shift-Control-V: eval:paste_clipboard
3 | URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
4 | URxvt.keysym.Control-Meta-C: builtin-string:
5 | URxvt.keysym.Control-Meta-V: builtin-string:
6 | URxvt.iso14755: false
7 |
8 | !General settings
9 | URxvt.scrollBar: false
10 | URxvt.internalBorder: 40
11 | URxvt*font: xft:Hack Nerd Font Mono:size=11, xft:Symbola:style=Regular:size=14,xft:M+ 1c
12 | URxvt.cursorBlink: True
13 | URxvt*iconFile: /usr/share/icons/custom/urxvt_ico.png
14 | !ROFI SETUP
15 | rofi.hide-scrollbar: true
16 | rofi.show-icons: True
17 | URxvt*depth: 32
18 | URxvt.background: [80]#1d1f21
19 | !COLORSCHMES
20 | ! special
21 | *.foreground: #ffffff
22 | *.background: #000000
23 |
24 | *.solid-background: #000000
25 | *.cursorColor: #ffffff
26 |
27 | !*.highlight: #fb3d66
28 | *.highlight: #00d8b4
29 |
30 | ! black
31 | *.color0: #000000
32 | *.color8: #282828
33 |
34 | !red
35 | *.color1: #a60000
36 | *.color9: #972500
37 |
38 | !green
39 | *.color2: #005e00
40 | *.color10: #315b00
41 |
42 | !yellow
43 | *.color3: #813e00
44 | *.color11: #70480f
45 |
46 | ! blue
47 | !*.color4: #003497
48 | *.color4: #00d8b4
49 | *.color12: #0f3d8c
50 |
51 | ! magenta
52 | *.color5: #721045
53 | *.color13: #8f0075
54 |
55 | ! cyan
56 | *.color6: #00538b
57 | *.color14: #30517f
58 |
59 | ! white
60 | *.color7: #ffffff
61 | *.color15: #f0f0f0
62 |
--------------------------------------------------------------------------------
/.config/bspwm/bspwmrc:
--------------------------------------------------------------------------------
1 | #! /bin/sh
2 | # autostart
3 | exec $HOME/scripts/bash/autostart.sh &
4 | exec $HOME/scripts/bash/wpp -c $HOME/Pictures/Wallpapers/saturn_4k.jpg &
5 | exec sudo powertop --auto-tune &
6 | exec emacs --daemon &> /dev/null &
7 | ffplay -nodisp -autoexit -volume 15 $HOME/.resources/boot_sound.mp3 >/dev/null 2>&1 &
8 |
9 | killall picom
10 | picom --experimental-backends &
11 |
12 | # setup workspaces
13 | bspc monitor eDP1 -d I II III IV V
14 |
15 | killall mpd
16 | mpd &
17 |
18 | # get xrdb colors
19 | highlight=$(xrdb -query | grep "*.highlight" | cut -f 2)
20 | background=$(xrdb -query | grep "*.background" | cut -f 2)
21 |
22 | # config bindings
23 | bspc config pointer_modifier mod4
24 | bspc config pointer_action1 move
25 | bspc config pointer_action2 resize_corner
26 | # config window properties
27 | bspc config border_width 0
28 | bspc config window_gap 0
29 | bspc config top_padding 35
30 | bspc config border_radius 0
31 | # more configs
32 | bspc config focus_follows_pointer true
33 | bspc config focused_border_color "$highlight"
34 | bspc config normal_border_color "$background"
35 | bspc config split_ratio 0.52
36 | bspc config borderless_monocle true
37 | bspc config gapless_monocle false
38 |
39 | # rules
40 | bspc rule -a "Emacs" state=fullscreen
41 | bspc rule -a "*:*:emacs-run-launcher" state=floating
42 | bspc rule -a "pinentry-qt" state=floating
43 |
--------------------------------------------------------------------------------
/.config/dunst/dunstrc:
--------------------------------------------------------------------------------
1 | n pixels. If the width is omitted but the height is given
2 | # ("-geometry x2"), the message window expands over the whole screen
3 | # (dmenu-like). If width is 0, the window expands to the longest
4 | # message displayed. A positive x is measured from the left, a
5 | # negative from the right side of the screen. Y is measured from
6 | # the top and down respectively.
7 | # The width can be negative. In this case the actual width is the
8 | # screen width minus the width defined in within the geometry option.
9 | geometry = "x5"
10 |
11 | # Show how many messages are currently hidden (because of geometry).
12 | indicate_hidden = yes
13 |
14 | # Shrink window if it's smaller than the width. Will be ignored if
15 | # width is 0.
16 | shrink = no
17 |
18 | # The transparency of the window. Range: [0; 100].
19 | # This option will only work if a compositing window manager is
20 | # present (e.g. xcompmgr, compiz, etc.).
21 | transparency = 0
22 |
23 | # The height of the entire notification. If the height is smaller
24 | # than the font height and padding combined, it will be raised
25 | # to the font height and padding.
26 | notification_height = 0
27 |
28 | # Draw a line of "separator_height" pixel height between two
29 | # notifications.
30 | # Set to 0 to disable.
31 | separator_height = 2
32 |
33 | # Padding between text and separator.
34 | padding = 8
35 |
36 | # Horizontal padding.
37 | horizontal_padding = 8
38 |
39 | # Defines width in pixels of frame around the notification window.
40 | # Set to 0 to disable.
41 | frame_width = 0
42 |
43 | # Defines color of the frame around the notification window.
44 | frame_color = "#fb3d66"
45 |
46 | # Define a color for the separator.
47 | # possible values are:
48 | # * auto: dunst tries to find a color fitting to the background;
49 | # * foreground: use the same color as the foreground;
50 | # * frame: use the same color as the frame;
51 | # * anything else will be interpreted as a X color.
52 | separator_color = frame
53 |
54 | # Sort messages by urgency.
55 | sort = yes
56 |
57 | # Don't remove messages, if the user is idle (no mouse or keyboard input)
58 | # for longer than idle_threshold seconds.
59 | # Set to 0 to disable.
60 | # A client can set the 'transient' hint to bypass this. See the rules
61 | # section for how to disable this if necessary
62 | idle_threshold = 120
63 |
64 | ### Text ###
65 |
66 | font = Monospace 10
67 |
68 | # The spacing between lines. If the height is smaller than the
69 | # font height, it will get raised to the font height.
70 | line_height = 0
71 |
72 | # Possible values are:
73 | # full: Allow a small subset of html markup in notifications:
74 | # bold
75 | # italic
76 | # strikethrough
77 | # underline
78 | #
79 | # For a complete reference see
80 | # .
81 | #
82 | # strip: This setting is provided for compatibility with some broken
83 | # clients that send markup even though it's not enabled on the
84 | # server. Dunst will try to strip the markup but the parsing is
85 | # simplistic so using this option outside of matching rules for
86 | # specific applications *IS GREATLY DISCOURAGED*.
87 | #
88 | # no: Disable markup parsing, incoming notifications will be treated as
89 | # plain text. Dunst will not advertise that it has the body-markup
90 | # capability if this is set as a global setting.
91 | #
92 | # It's important to note that markup inside the format option will be parsed
93 | # regardless of what this is set to.
94 | markup = full
95 |
96 | # The format of the message. Possible variables are:
97 | # %a appname
98 | # %s summary
99 | # %b body
100 | # %i iconname (including its path)
101 | # %I iconname (without its path)
102 | # %p progress value if set ([ 0%] to [100%]) or nothing
103 | # %n progress value if set without any extra characters
104 | # %% Literal %
105 | # Markup is allowed
106 | format = "%s\n%b"
107 |
108 | # Alignment of message text.
109 | # Possible values are "left", "center" and "right".
110 | alignment = center
111 |
112 | # Vertical alignment of message text and icon.
113 | # Possible values are "top", "center" and "bottom".
114 | vertical_alignment = center
115 |
116 | # Show age of message if message is older than show_age_threshold
117 | # seconds.
118 | # Set to -1 to disable.
119 | show_age_threshold = 60
120 |
121 | # Split notifications into multiple lines if they don't fit into
122 | # geometry.
123 | word_wrap = yes
124 |
125 | # When word_wrap is set to no, specify where to make an ellipsis in long lines.
126 | # Possible values are "start", "middle" and "end".
127 | ellipsize = middle
128 |
129 | # Ignore newlines '\n' in notifications.
130 | ignore_newline = no
131 |
132 | # Stack together notifications with the same content
133 | stack_duplicates = true
134 |
135 | # Hide the count of stacked notifications with the same content
136 | hide_duplicate_count = false
137 |
138 | # Display indicators for URLs (U) and actions (A).
139 | show_indicators = yes
140 |
141 | ### Icons ###
142 |
143 | # Align icons left/right/off
144 | icon_position = left
145 |
146 | # Scale small icons up to this size, set to 0 to disable. Helpful
147 | # for e.g. small files or high-dpi screens. In case of conflict,
148 | # max_icon_size takes precedence over this.
149 | min_icon_size = 0
150 |
151 | # Scale larger icons down to this size, set to 0 to disable
152 | max_icon_size = 32
153 |
154 | # Paths to default icons.
155 | icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
156 |
157 | ### History ###
158 |
159 | # Should a notification popped up from history be sticky or timeout
160 | # as if it would normally do.
161 | sticky_history = yes
162 |
163 | # Maximum amount of notifications kept in history
164 | history_length = 20
165 |
166 | ### Misc/Advanced ###
167 |
168 | # dmenu path.
169 | dmenu = /usr/bin/dmenu -p dunst:
170 |
171 | # Browser for opening urls in context menu.
172 | browser = /usr/bin/firefox -new-tab
173 |
174 | # Always run rule-defined scripts, even if the notification is suppressed
175 | always_run_script = true
176 |
177 | # Define the title of the windows spawned by dunst
178 | title = Dunst
179 |
180 | # Define the class of the windows spawned by dunst
181 | class = Dunst
182 |
183 | # Print a notification on startup.
184 | # This is mainly for error detection, since dbus (re-)starts dunst
185 | # automatically after a crash.
186 | startup_notification = false
187 |
188 | # Manage dunst's desire for talking
189 | # Can be one of the following values:
190 | # crit: Critical features. Dunst aborts
191 | # warn: Only non-fatal warnings
192 | # mesg: Important Messages
193 | # info: all unimportant stuff
194 | # debug: all less than unimportant stuff
195 | verbosity = mesg
196 |
197 | # Define the corner radius of the notification window
198 | # in pixel size. If the radius is 0, you have no rounded
199 | # corners.
200 | # The radius will be automatically lowered if it exceeds half of the
201 | # notification height to avoid clipping text and/or icons.
202 | corner_radius = 20
203 |
204 | # Ignore the dbus closeNotification message.
205 | # Useful to enforce the timeout set by dunst configuration. Without this
206 | # parameter, an application may close the notification sent before the
207 | # user defined timeout.
208 | ignore_dbusclose = false
209 |
210 | ### Legacy
211 |
212 | # Use the Xinerama extension instead of RandR for multi-monitor support.
213 | # This setting is provided for compatibility with older nVidia drivers that
214 | # do not support RandR and using it on systems that support RandR is highly
215 | # discouraged.
216 | #
217 | # By enabling this setting dunst will not be able to detect when a monitor
218 | # is connected or disconnected which might break follow mode if the screen
219 | # layout changes.
220 | force_xinerama = false
221 |
222 | ### mouse
223 |
224 | # Defines list of actions for each mouse event
225 | # Possible values are:
226 | # * none: Don't do anything.
227 | # * do_action: If the notification has exactly one action, or one is marked as default,
228 | # invoke it. If there are multiple and no default, open the context menu.
229 | # * close_current: Close current notification.
230 | # * close_all: Close all notifications.
231 | # These values can be strung together for each mouse event, and
232 | # will be executed in sequence.
233 | mouse_left_click = close_current
234 | mouse_middle_click = do_action, close_current
235 | mouse_right_click = close_all
236 |
237 | # Experimental features that may or may not work correctly. Do not expect them
238 | # to have a consistent behaviour across releases.
239 | [experimental]
240 | # Calculate the dpi to use on a per-monitor basis.
241 | # If this setting is enabled the Xft.dpi value will be ignored and instead
242 | # dunst will attempt to calculate an appropriate dpi value for each monitor
243 | # using the resolution and physical size. This might be useful in setups
244 | # where there are multiple screens with very different dpi values.
245 | per_monitor_dpi = false
246 |
247 | [shortcuts]
248 |
249 | # Shortcuts are specified as [modifier+][modifier+]...key
250 | # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
251 | # "mod3" and "mod4" (windows-key).
252 | # Xev might be helpful to find names for keys.
253 |
254 | # Close notification.
255 | close = ctrl+space
256 |
257 | # Close all notifications.
258 | close_all = ctrl+shift+space
259 |
260 | # Redisplay last message(s).
261 | # On the US keyboard layout "grave" is normally above TAB and left
262 | # of "1". Make sure this key actually exists on your keyboard layout,
263 | # e.g. check output of 'xmodmap -pke'
264 | history = ctrl+grave
265 |
266 | # Context menu.
267 | context = ctrl+shift+period
268 |
269 | [urgency_low]
270 | # IMPORTANT: colors have to be defined in quotation marks.
271 | # Otherwise the "#" and following would be interpreted as a comment.
272 | background = "#222222"
273 | foreground = "#888888"
274 | timeout = 10
275 | # Icon for notifications with low urgency, uncomment to enable
276 | #icon = /path/to/icon
277 |
278 | [urgency_normal]
279 | background = "#282828"
280 | foreground = "#ffffff"
281 | timeout = 10
282 | # Icon for notifications with normal urgency, uncomment to enable
283 | #icon = /path/to/icon
284 |
285 | [urgency_critical]
286 | background = "#900000"
287 | foreground = "#ffffff"
288 | frame_color = "#ff0000"
289 | timeout = 0
290 | # Icon for notifications with critical urgency, uncomment to enable
291 | #icon = /path/to/icon
292 |
293 | # Every section that isn't one of the above is interpreted as a rules to
294 | # override settings for certain messages.
295 | #
296 | # Messages can be matched by
297 | # appname (discouraged, see desktop_entry)
298 | # body
299 | # category
300 | # desktop_entry
301 | # icon
302 | # match_transient
303 | # msg_urgency
304 | # stack_tag
305 | # summary
306 | #
307 | # and you can override the
308 | # background
309 | # foreground
310 | # format
311 | # frame_color
312 | # fullscreen
313 | # new_icon
314 | # set_stack_tag
315 | # set_transient
316 | # timeout
317 | # urgency
318 | #
319 | # Shell-like globbing will get expanded.
320 | #
321 | # Instead of the appname filter, it's recommended to use the desktop_entry filter.
322 | # GLib based applications export their desktop-entry name. In comparison to the appname,
323 | # the desktop-entry won't get localized.
324 | #
325 | # SCRIPTING
326 | # You can specify a script that gets run when the rule matches by
327 | # setting the "script" option.
328 | # The script will be called as follows:
329 | # script appname summary body icon urgency
330 | # where urgency can be "LOW", "NORMAL" or "CRITICAL".
331 | #
332 | # NOTE: if you don't want a notification to be displayed, set the format
333 | # to "".
334 | # NOTE: It might be helpful to run dunst -print in a terminal in order
335 | # to find fitting options for rules.
336 |
337 | # Disable the transient hint so that idle_threshold cannot be bypassed from the
338 | # client
339 | #[transient_disable]
340 | # match_transient = yes
341 | # set_transient = no
342 | #
343 | # Make the handling of transient notifications more strict by making them not
344 | # be placed in history.
345 | #[transient_history_ignore]
346 | # match_transient = yes
347 | # history_ignore = yes
348 |
349 | # fullscreen values
350 | # show: show the notifications, regardless if there is a fullscreen window opened
351 | # delay: displays the new notification, if there is no fullscreen window active
352 | # If the notification is already drawn, it won't get undrawn.
353 | # pushback: same as delay, but when switching into fullscreen, the notification will get
354 | # withdrawn from screen again and will get delayed like a new notification
355 | #[fullscreen_delay_everything]
356 | # fullscreen = delay
357 | #[fullscreen_show_critical]
358 | # msg_urgency = critical
359 | # fullscreen = show
360 |
361 | #[espeak]
362 | # summary = "*"
363 | # script = dunst_espeak.sh
364 |
365 | #[script-test]
366 | # summary = "*script*"
367 | # script = dunst_test.sh
368 |
369 | #[ignore]
370 | # # This notification will not be displayed
371 | # summary = "foobar"
372 | # format = ""
373 |
374 | #[history-ignore]
375 | # # This notification will not be saved in history
376 | # summary = "foobar"
377 | # history_ignore = yes
378 |
379 | #[skip-display]
380 | # # This notification will not be displayed, but will be included in the history
381 | # summary = "foobar"
382 | # skip_display = yes
383 |
384 | #[signed_on]
385 | # appname = Pidgin
386 | # summary = "*signed on*"
387 | # urgency = low
388 | #
389 | #[signed_off]
390 | # appname = Pidgin
391 | # summary = *signed off*
392 | # urgency = low
393 | #
394 | #[says]
395 | # appname = Pidgin
396 | # summary = *says*
397 | # urgency = critical
398 | #
399 | #[twitter]
400 | # appname = Pidgin
401 | # summary = *twitter.com*
402 | # urgency = normal
403 | #
404 | #[stack-volumes]
405 | # appname = "some_volume_notifiers"
406 | # set_stack_tag = "volume"
407 | #
408 | # vim: ft=cfg
409 |
--------------------------------------------------------------------------------
/.config/i3/config:
--------------------------------------------------------------------------------
1 | # __ ___
2 | # __ /'__`\ /'___\ __
3 | #/\_\/\_\L\ \ ___ ___ ___ /\ \__//\_\ __
4 | #\/\ \/_/_\_<_ /'___\ / __`\ /' _ `\ \ ,__\/\ \ /'_ `\
5 | # \ \ \/\ \L\ \ /\ \__//\ \L\ \/\ \/\ \ \ \_/\ \ \/\ \L\ \
6 | # \ \_\ \____/ \ \____\ \____/\ \_\ \_\ \_\ \ \_\ \____ \
7 | # \/_/\/___/ \/____/\/___/ \/_/\/_/\/_/ \/_/\/___L\ \
8 | # /\____/
9 | # \_/__/
10 | #
11 | #Please see https://i3wm.org/docs/userguide.html for a complete reference!
12 |
13 | # MAIN PART (Important Bindings)
14 | set $mod Mod4
15 |
16 | # Font for window titles. Will also be used by the bar unless a different font
17 | # is used in the bar {} block below.
18 | font pango:monospace 8
19 |
20 | # The combination of xss-lock, nm-applet and pactl is a popular choice, so
21 | # they are included here as an example. Modify as you see fit.
22 |
23 | # xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
24 | # screen before suspend. Use loginctl lock-session to lock your screen.
25 | exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
26 |
27 | # Use pactl to adjust volume in PulseAudio.
28 | set $refresh_i3status killall -SIGUSR1 i3status
29 | bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
30 | bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
31 | bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
32 | bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
33 |
34 | # Laptop screen brightness control
35 | bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10
36 | bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10
37 |
38 | # Use Mouse+$mod to drag floating windows to their wanted position
39 | floating_modifier $mod
40 |
41 | # start a terminal
42 | bindsym $mod+Return exec i3-sensible-terminal
43 |
44 | # kill focused window
45 | bindsym $mod+Shift+q kill
46 |
47 | # start rofi(a program launcher)
48 | bindsym $mod+d exec rofi -show run -lines 3 -eh 2 -width 20 -theme /usr/share/rofi/themes/materia.rasi
49 |
50 | # change focus
51 | bindsym $mod+j focus left
52 | bindsym $mod+k focus down
53 | bindsym $mod+l focus up
54 | bindsym $mod+semicolon focus right
55 |
56 | # alternatively, you can use the cursor keys:
57 | bindsym $mod+Left focus left
58 | bindsym $mod+Down focus down
59 | bindsym $mod+Up focus up
60 | bindsym $mod+Right focus right
61 |
62 | # move focused window
63 | bindsym $mod+Shift+j move left
64 | bindsym $mod+Shift+k move down
65 | bindsym $mod+Shift+l move up
66 | bindsym $mod+Shift+semicolon move right
67 |
68 | # alternatively, you can use the cursor keys:
69 | bindsym $mod+Shift+Left move left
70 | bindsym $mod+Shift+Down move down
71 | bindsym $mod+Shift+Up move up
72 | bindsym $mod+Shift+Right move right
73 |
74 | # split in horizontal orientation
75 | bindsym $mod+h split h
76 |
77 | # split in vertical orientation
78 | bindsym $mod+v split v
79 |
80 | # enter fullscreen mode for the focused container
81 | bindsym $mod+f fullscreen toggle
82 |
83 | # change container layout (stacked, tabbed, toggle split)
84 | bindsym $mod+s layout stacking
85 | bindsym $mod+w layout tabbed
86 | bindsym $mod+e layout toggle split
87 |
88 | # toggle tiling / floating
89 | bindsym $mod+Shift+space floating toggle
90 |
91 | # change focus between tiling / floating windows
92 | bindsym $mod+space focus mode_toggle
93 |
94 | # focus the parent container
95 | bindsym $mod+a focus parent
96 |
97 | #WINDOW COSMETICS
98 | gaps inner 30
99 | gaps outer 30
100 | new_window pixel 0
101 | default_border pixel 3
102 | default_floating_border pixel 3
103 |
104 | #BORDER COLORS
105 | #class border bground text indicator child_border
106 | client.focused #966fbc #FF6C110 #FFFFFF #966fbc #966fbc
107 | client.unfocused #373B41 #373B41 #373B41 #373B41 #373B41
108 | client.urgent #7F130E #900000 #FFFFFF #900000 #900000
109 |
110 | # Define names for default workspaces for which we configure key bindings later on.
111 | # We use variables to avoid repeating the names in multiple places.
112 | set $ws1 "DEV"
113 | set $ws2 "WWW"
114 | set $ws3 "DOC"
115 | set $ws4 "ETC"
116 | set $ws5 "MEDIA"
117 | set $ws6 "6"
118 | set $ws7 "7"
119 | set $ws8 "8"
120 | set $ws9 "9"
121 | set $ws10 "10"
122 |
123 | # switch to workspace
124 | bindsym $mod+1 workspace $ws1
125 | bindsym $mod+2 workspace $ws2
126 | bindsym $mod+3 workspace $ws3
127 | bindsym $mod+4 workspace $ws4
128 | bindsym $mod+5 workspace $ws5
129 | bindsym $mod+6 workspace number $ws6
130 | bindsym $mod+7 workspace number $ws7
131 | bindsym $mod+8 workspace number $ws8
132 | bindsym $mod+9 workspace number $ws9
133 | bindsym $mod+0 workspace number $ws10
134 |
135 | # move focused container to workspace
136 | bindsym $mod+Shift+1 move container to workspace $ws1
137 | bindsym $mod+Shift+2 move container to workspace $ws2
138 | bindsym $mod+Shift+3 move container to workspace $ws3
139 | bindsym $mod+Shift+4 move container to workspace $ws4
140 | bindsym $mod+Shift+5 move container to workspace $ws5
141 | bindsym $mod+Shift+6 move container to workspace number $ws6
142 | bindsym $mod+Shift+7 move container to workspace number $ws7
143 | bindsym $mod+Shift+8 move container to workspace number $ws8
144 | bindsym $mod+Shift+9 move container to workspace number $ws9
145 | bindsym $mod+Shift+0 move container to workspace number $ws10
146 |
147 | # reload the configuration file
148 | bindsym $mod+Shift+c reload
149 | # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
150 | bindsym $mod+Shift+r restart
151 | # exit i3 (logs you out of your X session)
152 | bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
153 |
154 | #AUTOEXCECS
155 | exec_always compton
156 | exec_always $HOME/scripts/bash/wallpaper_automation.sh
157 | exec_always --no-startup-id /usr/bin/alternating_layouts.py
158 | exec_always --no-startup-id $HOME/scripts/bash/autostart.sh
159 | exec_always mpd
160 |
161 | # resize window (you can also use the mouse for that)
162 | mode "resize" {
163 | # These bindings trigger as soon as you enter the resize mode
164 |
165 | # Pressing left will shrink the window’s width.
166 | # Pressing right will grow the window’s width.
167 | # Pressing up will shrink the window’s height.
168 | # Pressing down will grow the window’s height.
169 | bindsym j resize shrink width 10 px or 10 ppt
170 | bindsym k resize grow height 10 px or 10 ppt
171 | bindsym l resize shrink height 10 px or 10 ppt
172 | bindsym semicolon resize grow width 10 px or 10 ppt
173 |
174 | # same bindings, but for the arrow keys
175 | bindsym Left resize shrink width 10 px or 10 ppt
176 | bindsym Down resize grow height 10 px or 10 ppt
177 | bindsym Up resize shrink height 10 px or 10 ppt
178 | bindsym Right resize grow width 10 px or 10 ppt
179 |
180 | # back to normal: Enter or Escape or $mod+r
181 | bindsym Return mode "default"
182 | bindsym Escape mode "default"
183 | bindsym $mod+r mode "default"
184 | }
185 |
186 | bindsym $mod+r mode "resize"
187 |
--------------------------------------------------------------------------------
/.config/neofetch/config.conf:
--------------------------------------------------------------------------------
1 | # ___ __ __
2 | # /'___\ /\ \__ /\ \
3 | # ___ __ ___ /\ \__/ __\ \ ,_\ ___\ \ \___
4 | #/' _ `\ /'__`\ / __`\ \ ,__\/'__`\ \ \/ /'___\ \ _ `\
5 | #/\ \/\ \/\ __//\ \L\ \ \ \_/\ __/\ \ \_/\ \__/\ \ \ \ \
6 | #\ \_\ \_\ \____\ \____/\ \_\\ \____\\ \__\ \____\\ \_\ \_\
7 | # \/_/\/_/\/____/\/___/ \/_/ \/____/ \/__/\/____/ \/_/\/_/
8 | #
9 | # See this wiki page for more info:
10 | # https://github.com/dylanaraps/neofetch/wiki/Customizing-Info
11 | print_info() {
12 | info title
13 | info underline
14 |
15 | prin "$(color 1)OS$(color 8): CH42_N!X"
16 | #info "OS" distro
17 | info "Kern" kernel
18 | info "Up" uptime
19 | info "Shell" shell
20 | info "WM" wm
21 | info "Term" term
22 | info "Font" term_font
23 | prin
24 | prin "$(color 9)$(fortune -s -n 40)"
25 | info cols
26 | }
27 |
28 |
29 | # Kernel
30 |
31 |
32 | # Shorten the output of the kernel function.
33 | #
34 | # Default: 'on'
35 | # Values: 'on', 'off'
36 | # Flag: --kernel_shorthand
37 | # Supports: Everything except *BSDs (except PacBSD and PC-BSD)
38 | #
39 | # Example:
40 | # on: '4.8.9-1-ARCH'
41 | # off: 'Linux 4.8.9-1-ARCH'
42 | kernel_shorthand="on"
43 |
44 |
45 | # Distro
46 |
47 |
48 | # Shorten the output of the distro function
49 | #
50 | # Default: 'off'
51 | # Values: 'on', 'tiny', 'off'
52 | # Flag: --distro_shorthand
53 | # Supports: Everything except Windows and Haiku
54 | distro_shorthand="tiny"
55 |
56 | # Show/Hide OS Architecture.
57 | # Show 'x86_64', 'x86' and etc in 'Distro:' output.
58 | #
59 | # Default: 'on'
60 | # Values: 'on', 'off'
61 | # Flag: --os_arch
62 | #
63 | # Example:
64 | # on: 'Arch Linux x86_64'
65 | # off: 'Arch Linux'
66 | os_arch="on"
67 |
68 |
69 | # Uptime
70 |
71 |
72 | # Shorten the output of the uptime function
73 | #
74 | # Default: 'on'
75 | # Values: 'on', 'tiny', 'off'
76 | # Flag: --uptime_shorthand
77 | #
78 | # Example:
79 | # on: '2 days, 10 hours, 3 mins'
80 | # tiny: '2d 10h 3m'
81 | # off: '2 days, 10 hours, 3 minutes'
82 | uptime_shorthand="on"
83 |
84 |
85 | # Memory
86 |
87 |
88 | # Show memory pecentage in output.
89 | #
90 | # Default: 'off'
91 | # Values: 'on', 'off'
92 | # Flag: --memory_percent
93 | #
94 | # Example:
95 | # on: '1801MiB / 7881MiB (22%)'
96 | # off: '1801MiB / 7881MiB'
97 | memory_percent="off"
98 |
99 |
100 | # Packages
101 |
102 |
103 | # Show/Hide Package Manager names.
104 | #
105 | # Default: 'tiny'
106 | # Values: 'on', 'tiny' 'off'
107 | # Flag: --package_managers
108 | #
109 | # Example:
110 | # on: '998 (pacman), 8 (flatpak), 4 (snap)'
111 | # tiny: '908 (pacman, flatpak, snap)'
112 | # off: '908'
113 | package_managers="on"
114 |
115 |
116 | # Shell
117 |
118 |
119 | # Show the path to $SHELL
120 | #
121 | # Default: 'off'
122 | # Values: 'on', 'off'
123 | # Flag: --shell_path
124 | #
125 | # Example:
126 | # on: '/bin/bash'
127 | # off: 'bash'
128 | shell_path="off"
129 |
130 | # Show $SHELL version
131 | #
132 | # Default: 'on'
133 | # Values: 'on', 'off'
134 | # Flag: --shell_version
135 | #
136 | # Example:
137 | # on: 'bash 4.4.5'
138 | # off: 'bash'
139 | shell_version="on"
140 |
141 |
142 | # CPU
143 |
144 |
145 | # CPU speed type
146 | #
147 | # Default: 'bios_limit'
148 | # Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'.
149 | # Flag: --speed_type
150 | # Supports: Linux with 'cpufreq'
151 | # NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value.
152 | speed_type="bios_limit"
153 |
154 | # CPU speed shorthand
155 | #
156 | # Default: 'off'
157 | # Values: 'on', 'off'.
158 | # Flag: --speed_shorthand
159 | # NOTE: This flag is not supported in systems with CPU speed less than 1 GHz
160 | #
161 | # Example:
162 | # on: 'i7-6500U (4) @ 3.1GHz'
163 | # off: 'i7-6500U (4) @ 3.100GHz'
164 | speed_shorthand="off"
165 |
166 | # Enable/Disable CPU brand in output.
167 | #
168 | # Default: 'on'
169 | # Values: 'on', 'off'
170 | # Flag: --cpu_brand
171 | #
172 | # Example:
173 | # on: 'Intel i7-6500U'
174 | # off: 'i7-6500U (4)'
175 | cpu_brand="on"
176 |
177 | # CPU Speed
178 | # Hide/Show CPU speed.
179 | #
180 | # Default: 'on'
181 | # Values: 'on', 'off'
182 | # Flag: --cpu_speed
183 | #
184 | # Example:
185 | # on: 'Intel i7-6500U (4) @ 3.1GHz'
186 | # off: 'Intel i7-6500U (4)'
187 | cpu_speed="on"
188 |
189 | # CPU Cores
190 | # Display CPU cores in output
191 | #
192 | # Default: 'logical'
193 | # Values: 'logical', 'physical', 'off'
194 | # Flag: --cpu_cores
195 | # Support: 'physical' doesn't work on BSD.
196 | #
197 | # Example:
198 | # logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores)
199 | # physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores)
200 | # off: 'Intel i7-6500U @ 3.1GHz'
201 | cpu_cores="logical"
202 |
203 | # CPU Temperature
204 | # Hide/Show CPU temperature.
205 | # Note the temperature is added to the regular CPU function.
206 | #
207 | # Default: 'off'
208 | # Values: 'C', 'F', 'off'
209 | # Flag: --cpu_temp
210 | # Supports: Linux, BSD
211 | # NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable
212 | # coretemp kernel module. This only supports newer Intel processors.
213 | #
214 | # Example:
215 | # C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]'
216 | # F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]'
217 | # off: 'Intel i7-6500U (4) @ 3.1GHz'
218 | cpu_temp="off"
219 |
220 |
221 | # GPU
222 |
223 |
224 | # Enable/Disable GPU Brand
225 | #
226 | # Default: 'on'
227 | # Values: 'on', 'off'
228 | # Flag: --gpu_brand
229 | #
230 | # Example:
231 | # on: 'AMD HD 7950'
232 | # off: 'HD 7950'
233 | gpu_brand="on"
234 |
235 | # Which GPU to display
236 | #
237 | # Default: 'all'
238 | # Values: 'all', 'dedicated', 'integrated'
239 | # Flag: --gpu_type
240 | # Supports: Linux
241 | #
242 | # Example:
243 | # all:
244 | # GPU1: AMD HD 7950
245 | # GPU2: Intel Integrated Graphics
246 | #
247 | # dedicated:
248 | # GPU1: AMD HD 7950
249 | #
250 | # integrated:
251 | # GPU1: Intel Integrated Graphics
252 | gpu_type="all"
253 |
254 |
255 | # Resolution
256 |
257 |
258 | # Display refresh rate next to each monitor
259 | # Default: 'off'
260 | # Values: 'on', 'off'
261 | # Flag: --refresh_rate
262 | # Supports: Doesn't work on Windows.
263 | #
264 | # Example:
265 | # on: '1920x1080 @ 60Hz'
266 | # off: '1920x1080'
267 | refresh_rate="off"
268 |
269 |
270 | # Gtk Theme / Icons / Font
271 |
272 |
273 | # Shorten output of GTK Theme / Icons / Font
274 | #
275 | # Default: 'off'
276 | # Values: 'on', 'off'
277 | # Flag: --gtk_shorthand
278 | #
279 | # Example:
280 | # on: 'Numix, Adwaita'
281 | # off: 'Numix [GTK2], Adwaita [GTK3]'
282 | gtk_shorthand="off"
283 |
284 |
285 | # Enable/Disable gtk2 Theme / Icons / Font
286 | #
287 | # Default: 'on'
288 | # Values: 'on', 'off'
289 | # Flag: --gtk2
290 | #
291 | # Example:
292 | # on: 'Numix [GTK2], Adwaita [GTK3]'
293 | # off: 'Adwaita [GTK3]'
294 | gtk2="on"
295 |
296 | # Enable/Disable gtk3 Theme / Icons / Font
297 | #
298 | # Default: 'on'
299 | # Values: 'on', 'off'
300 | # Flag: --gtk3
301 | #
302 | # Example:
303 | # on: 'Numix [GTK2], Adwaita [GTK3]'
304 | # off: 'Numix [GTK2]'
305 | gtk3="on"
306 |
307 |
308 | # IP Address
309 |
310 |
311 | # Website to ping for the public IP
312 | #
313 | # Default: 'http://ident.me'
314 | # Values: 'url'
315 | # Flag: --ip_host
316 | public_ip_host="http://ident.me"
317 |
318 | # Public IP timeout.
319 | #
320 | # Default: '2'
321 | # Values: 'int'
322 | # Flag: --ip_timeout
323 | public_ip_timeout=2
324 |
325 |
326 | # Disk
327 |
328 |
329 | # Which disks to display.
330 | # The values can be any /dev/sdXX, mount point or directory.
331 | # NOTE: By default we only show the disk info for '/'.
332 | #
333 | # Default: '/'
334 | # Values: '/', '/dev/sdXX', '/path/to/drive'.
335 | # Flag: --disk_show
336 | #
337 | # Example:
338 | # disk_show=('/' '/dev/sdb1'):
339 | # 'Disk (/): 74G / 118G (66%)'
340 | # 'Disk (/mnt/Videos): 823G / 893G (93%)'
341 | #
342 | # disk_show=('/'):
343 | # 'Disk (/): 74G / 118G (66%)'
344 | #
345 | disk_show=('/')
346 |
347 | # Disk subtitle.
348 | # What to append to the Disk subtitle.
349 | #
350 | # Default: 'mount'
351 | # Values: 'mount', 'name', 'dir'
352 | # Flag: --disk_subtitle
353 | #
354 | # Example:
355 | # name: 'Disk (/dev/sda1): 74G / 118G (66%)'
356 | # 'Disk (/dev/sdb2): 74G / 118G (66%)'
357 | #
358 | # mount: 'Disk (/): 74G / 118G (66%)'
359 | # 'Disk (/mnt/Local Disk): 74G / 118G (66%)'
360 | # 'Disk (/mnt/Videos): 74G / 118G (66%)'
361 | #
362 | # dir: 'Disk (/): 74G / 118G (66%)'
363 | # 'Disk (Local Disk): 74G / 118G (66%)'
364 | # 'Disk (Videos): 74G / 118G (66%)'
365 | disk_subtitle="mount"
366 |
367 |
368 | # Song
369 |
370 |
371 | # Manually specify a music player.
372 | #
373 | # Default: 'auto'
374 | # Values: 'auto', 'player-name'
375 | # Flag: --music_player
376 | #
377 | # Available values for 'player-name':
378 | #
379 | # amarok
380 | # audacious
381 | # banshee
382 | # bluemindo
383 | # clementine
384 | # cmus
385 | # deadbeef
386 | # deepin-music
387 | # dragon
388 | # elisa
389 | # exaile
390 | # gnome-music
391 | # gmusicbrowser
392 | # gogglesmm
393 | # guayadeque
394 | # iTunes
395 | # juk
396 | # lollypop
397 | # mocp
398 | # mopidy
399 | # mpd
400 | # netease-cloud-music
401 | # pogo
402 | # pragha
403 | # qmmp
404 | # quodlibet
405 | # rhythmbox
406 | # sayonara
407 | # smplayer
408 | # spotify
409 | # strawberry
410 | # tomahawk
411 | # vlc
412 | # xmms2d
413 | # xnoise
414 | # yarock
415 | music_player="auto"
416 |
417 | # Format to display song information.
418 | #
419 | # Default: '%artist% - %album% - %title%'
420 | # Values: '%artist%', '%album%', '%title%'
421 | # Flag: --song_format
422 | #
423 | # Example:
424 | # default: 'Song: Jet - Get Born - Sgt Major'
425 | song_format="%artist% - %album% - %title%"
426 |
427 | # Print the Artist, Album and Title on separate lines
428 | #
429 | # Default: 'off'
430 | # Values: 'on', 'off'
431 | # Flag: --song_shorthand
432 | #
433 | # Example:
434 | # on: 'Artist: The Fratellis'
435 | # 'Album: Costello Music'
436 | # 'Song: Chelsea Dagger'
437 | #
438 | # off: 'Song: The Fratellis - Costello Music - Chelsea Dagger'
439 | song_shorthand="off"
440 |
441 | # 'mpc' arguments (specify a host, password etc).
442 | #
443 | # Default: ''
444 | # Example: mpc_args=(-h HOST -P PASSWORD)
445 | mpc_args=()
446 |
447 |
448 | # Text Colors
449 |
450 |
451 | # Text Colors
452 | #
453 | # Default: 'distro'
454 | # Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
455 | # Flag: --colors
456 | #
457 | # Each number represents a different part of the text in
458 | # this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info'
459 | #
460 | # Example:
461 | # colors=(distro) - Text is colored based on Distro colors.
462 | # colors=(4 6 1 8 8 6) - Text is colored in the order above.
463 | colors=(9 6 8 1 6 6)
464 |
465 |
466 | # Text Options
467 |
468 |
469 | # Toggle bold text
470 | #
471 | # Default: 'on'
472 | # Values: 'on', 'off'
473 | # Flag: --bold
474 | bold="on"
475 |
476 | # Enable/Disable Underline
477 | #
478 | # Default: 'on'
479 | # Values: 'on', 'off'
480 | # Flag: --underline
481 | underline_enabled="on"
482 |
483 | # Underline character
484 | #
485 | # Default: '-'
486 | # Values: 'string'
487 | # Flag: --underline_char
488 | underline_char="-"
489 |
490 |
491 | # Info Separator
492 | # Replace the default separator with the specified string.
493 | #
494 | # Default: ':'
495 | # Flag: --separator
496 | #
497 | # Example:
498 | # separator="->": 'Shell-> bash'
499 | # separator=" =": 'WM = dwm'
500 | separator=":"
501 |
502 |
503 | # Color Blocks
504 |
505 |
506 | # Color block range
507 | # The range of colors to print.
508 | #
509 | # Default: '0', '15'
510 | # Values: 'num'
511 | # Flag: --block_range
512 | #
513 | # Example:
514 | #
515 | # Display colors 0-7 in the blocks. (8 colors)
516 | # neofetch --block_range 0 7
517 | #
518 | # Display colors 0-15 in the blocks. (16 colors)
519 | # neofetch --block_range 0 15
520 | block_range=(0 15)
521 |
522 | # Toggle color blocks
523 | #
524 | # Default: 'on'
525 | # Values: 'on', 'off'
526 | # Flag: --color_blocks
527 | color_blocks="on"
528 |
529 | # Color block width in spaces
530 | #
531 | # Default: '3'
532 | # Values: 'num'
533 | # Flag: --block_width
534 | block_width=3
535 |
536 | # Color block height in lines
537 | #
538 | # Default: '1'
539 | # Values: 'num'
540 | # Flag: --block_height
541 | block_height=1
542 |
543 |
544 | # Progress Bars
545 |
546 |
547 | # Bar characters
548 | #
549 | # Default: '-', '='
550 | # Values: 'string', 'string'
551 | # Flag: --bar_char
552 | #
553 | # Example:
554 | # neofetch --bar_char 'elapsed' 'total'
555 | # neofetch --bar_char '-' '='
556 | bar_char_elapsed="-"
557 | bar_char_total="="
558 |
559 | # Toggle Bar border
560 | #
561 | # Default: 'on'
562 | # Values: 'on', 'off'
563 | # Flag: --bar_border
564 | bar_border="on"
565 |
566 | # Progress bar length in spaces
567 | # Number of chars long to make the progress bars.
568 | #
569 | # Default: '15'
570 | # Values: 'num'
571 | # Flag: --bar_length
572 | bar_length=15
573 |
574 | # Progress bar colors
575 | # When set to distro, uses your distro's logo colors.
576 | #
577 | # Default: 'distro', 'distro'
578 | # Values: 'distro', 'num'
579 | # Flag: --bar_colors
580 | #
581 | # Example:
582 | # neofetch --bar_colors 3 4
583 | # neofetch --bar_colors distro 5
584 | bar_color_elapsed="distro"
585 | bar_color_total="distro"
586 |
587 |
588 | # Info display
589 | # Display a bar with the info.
590 | #
591 | # Default: 'off'
592 | # Values: 'bar', 'infobar', 'barinfo', 'off'
593 | # Flags: --cpu_display
594 | # --memory_display
595 | # --battery_display
596 | # --disk_display
597 | #
598 | # Example:
599 | # bar: '[---=======]'
600 | # infobar: 'info [---=======]'
601 | # barinfo: '[---=======] info'
602 | # off: 'info'
603 | cpu_display="off"
604 | memory_display="off"
605 | battery_display="off"
606 | disk_display="off"
607 |
608 |
609 | # Backend Settings
610 |
611 |
612 | # Image backend.
613 | #
614 | # Default: 'ascii'
615 | # Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off',
616 | # 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty'
617 | # Flag: --backend
618 | image_backend='kitty'
619 |
620 | # Image Source
621 | #
622 | # Which image or ascii file to display.
623 | #
624 | # Default: 'auto'
625 | # Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/'
626 | # 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")'
627 | # Flag: --source
628 | #
629 | # NOTE: 'auto' will pick the best image source for whatever image backend is used.
630 | # In ascii mode, distro ascii art will be used and in an image mode, your
631 | # wallpaper will be used.
632 | image_source="/home/lukas/Pictures/mlem.png"
633 |
634 |
635 | # Ascii Options
636 |
637 |
638 | # Ascii distro
639 | # Which distro's ascii art to display.
640 | #
641 | # Default: 'auto'
642 | # Values: 'auto', 'distro_name'
643 | # Flag: --ascii_distro
644 | #
645 | # NOTE: Arch and Ubuntu have 'old' logo variants.
646 | # Change this to 'arch_old' or 'ubuntu_old' to use the old logos.
647 | # NOTE: Ubuntu has flavor variants.
648 | # Change this to 'Lubuntu', 'Xubuntu', 'Ubuntu-GNOME' or 'Ubuntu-Budgie' to use the flavors.
649 | # NOTE: Arch, Crux and Gentoo have a smaller logo variant.
650 | # Change this to 'arch_small', 'crux_small' or 'gentoo_small' to use the small logos.
651 | ascii_distro="arch_small"
652 |
653 | # Ascii Colors
654 | #
655 | # Default: 'distro'
656 | # Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num'
657 | # Flag: --ascii_colors
658 | #
659 | # Example:
660 | # ascii_colors=(distro) - Ascii is colored based on Distro colors.
661 | # ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors.
662 | ascii_colors=(9)
663 |
664 | # Bold ascii logo
665 | # Whether or not to bold the ascii logo.
666 | #
667 | # Default: 'on'
668 | # Values: 'on', 'off'
669 | # Flag: --ascii_bold
670 | ascii_bold="on"
671 |
672 |
673 | # Image Options
674 |
675 |
676 | # Image loop
677 | # Setting this to on will make neofetch redraw the image constantly until
678 | # Ctrl+C is pressed. This fixes display issues in some terminal emulators.
679 | #
680 | # Default: 'off'
681 | # Values: 'on', 'off'
682 | # Flag: --loop
683 | image_loop="off"
684 |
685 | # Thumbnail directory
686 | #
687 | # Default: '~/.cache/thumbnails/neofetch'
688 | # Values: 'dir'
689 | thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch"
690 |
691 | # Crop mode
692 | #
693 | # Default: 'normal'
694 | # Values: 'normal', 'fit', 'fill'
695 | # Flag: --crop_mode
696 | #
697 | # See this wiki page to learn about the fit and fill options.
698 | # https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F
699 | crop_mode="normal"
700 |
701 | # Crop offset
702 | # Note: Only affects 'normal' crop mode.
703 | #
704 | # Default: 'center'
705 | # Values: 'northwest', 'north', 'northeast', 'west', 'center'
706 | # 'east', 'southwest', 'south', 'southeast'
707 | # Flag: --crop_offset
708 | crop_offset="center"
709 |
710 | # Image size
711 | # The image is half the terminal width by default.
712 | #
713 | # Default: 'auto'
714 | # Values: 'auto', '00px', '00%', 'none'
715 | # Flags: --image_size
716 | # --size
717 | image_size="auto"
718 |
719 | # Gap between image and text
720 | #
721 | # Default: '3'
722 | # Values: 'num', '-num'
723 | # Flag: --gap
724 | gap=3
725 |
726 | # Image offsets
727 | # Only works with the w3m backend.
728 | #
729 | # Default: '0'
730 | # Values: 'px'
731 | # Flags: --xoffset
732 | # --yoffset
733 | yoffset=0
734 | xoffset=0
735 |
736 | # Image background color
737 | # Only works with the w3m backend.
738 | #
739 | # Default: ''
740 | # Values: 'color', 'blue'
741 | # Flag: --bg_color
742 | background_color=
743 |
744 |
745 | # Misc Options
746 |
747 | # Stdout mode
748 | # Turn off all colors and disables image backend (ASCII/Image).
749 | # Useful for piping into another command.
750 | # Default: 'off'
751 | # Values: 'on', 'off'
752 | stdout="off"
753 |
--------------------------------------------------------------------------------
/.config/nvim/init.vim:
--------------------------------------------------------------------------------
1 | " TODO:
2 | " - centralize color config for all plugins
3 | " - vim-rooter not working when opening files from dashboard
4 | " - decide if cterm colors will be kept
5 | " - clean up configs some more (comments, formatting)
6 |
7 | let &packpath = &runtimepath
8 |
9 | " SOURCE CONFIGS
10 |
11 | " vim script files
12 | source ~/.config/nvim/plugins.vim
13 | source ~/.config/nvim/vimscript/bindings.vim
14 | source ~/.config/nvim/vimscript/lsp.vim
15 | source ~/.config/nvim/vimscript/floatterm.vim
16 | source ~/.config/nvim/vimscript/zen.vim
17 | source ~/.config/nvim/vimscript/other.vim
18 |
19 | " lua files
20 | luafile ~/.config/nvim/luafiles/colors.lua
21 | luafile ~/.config/nvim/luafiles/compe.lua
22 | luafile ~/.config/nvim/luafiles/dashboard.lua
23 | luafile ~/.config/nvim/luafiles/completion.lua
24 | luafile ~/.config/nvim/luafiles/nvimtree.lua
25 | luafile ~/.config/nvim/luafiles/galaxy.lua
26 | luafile ~/.config/nvim/luafiles/neogit.lua
27 | luafile ~/.config/nvim/luafiles/telescope.lua
28 | luafile ~/.config/nvim/luafiles/bufferline.lua
29 | luafile ~/.config/nvim/luafiles/gitsign.lua
30 |
31 | " add debugging
32 | packadd termdebug
33 |
34 | " general settings
35 | syntax enable
36 | set mouse=a
37 | set hidden
38 | set splitbelow
39 | set splitright
40 | set number relativenumber
41 | set encoding=utf-8
42 | set backspace=indent,eol,start
43 | set cursorline
44 | set complete+=kspell
45 | set termguicolors
46 | set nospell
47 | set clipboard+=unnamedplus
48 | " versplit char
49 | set fillchars+=vert:\▏
50 | set expandtab
51 | set shiftwidth=4
52 | set softtabstop=4
53 | set smartindent
54 | set autoindent
55 | set updatetime=300
56 | set conceallevel=0
57 | set shortmess+=c
58 | set tags=./tags,tags;$HOME
59 | set timeout
60 |
61 | " change this for which-key delay
62 | " also change g:which_key_timeout
63 | " in vimscript/bindings.vim
64 | set timeoutlen=250
65 |
66 | " AUTOCOMMANDS
67 | " make dahsboard look clean (toggle off tab- and statusbar as well as EOB
68 | " tilde '~'
69 | autocmd FileType dashboard set showtabline=0 | autocmd WinLeave set showtabline=2
70 | autocmd FileType dashboard set fillchars+=eob:\ | autocmd WinLeave set fillchars+=vert:\▏,eob:\~
71 | autocmd FileType dashboard set laststatus=0 ruler | autocmd WinLeave set laststatus=2 ruler
72 |
73 | " other autocommands
74 | autocmd BufNewFile,BufRead *.markdown,*.mdown,*.mkd,*.mkdn,*.mdwn,*.md set ft=markdown
75 | autocmd BufNewFile,BufRead *.ino set ft=c
76 | autocmd FileType c,cpp,html,css,ino setlocal expandtab shiftwidth=2 softtabstop=2 cindent nofoldenable
77 | autocmd FileType tex setlocal tw=100
78 | autocmd FileType python setlocal expandtab shiftwidth=4 softtabstop=4 autoindent
79 | autocmd VimLeave *.tex !bash $HOME/scripts/bash/texclear.sh %
80 | autocmd VimLeave *.md :!pkill grip &
81 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/bufferline.lua:
--------------------------------------------------------------------------------
1 | local colors = {
2 | bg= '#1d1f21',
3 | red= '#fb3d66',
4 | green= '#6d8c63',
5 | yellow= '#e4cd7',
6 | orange= '#bf946b',
7 | blue= '#8b9eb2',
8 | violet= '#cdafd9',
9 | magenta= '#796e7f',
10 | darkblue= '#55648',
11 | cyan= '#7b8e93',
12 | bg_light= "#323b3e",
13 | bg_alt= "#202325",
14 | bg_red = '#182332',
15 | fg= '#f7f8f8',
16 | clear= 'None',
17 | }
18 |
19 |
20 | -- colors for active , inactive uffer tabs
21 | require "bufferline".setup {
22 | options = {
23 | buffer_close_icon = "",
24 | modified_icon = "●",
25 | close_icon = "",
26 | left_trunc_marker = "",
27 | right_trunc_marker = "",
28 | max_name_length = 14,
29 | max_prefix_length = 13,
30 | tab_size = 18,
31 | enforce_regular_tabs = false,
32 | view = "multiwindow",
33 | show_buffer_close_icons = true,
34 | separator_style = "slant"
35 | },
36 | highlights = {
37 | background = {
38 | guifg = comment_fg,
39 | guibg = colors.bg_alt
40 | },
41 | fill = {
42 | guifg = comment_fg,
43 | guibg = colors.bg
44 | },
45 | tab = {
46 | guifg = colors.bg,
47 | guibg = 'None'
48 | },
49 | tab_selected = {
50 | guifg = colors.bg,
51 | guibg = 'None'
52 | },
53 |
54 | buffer_selected = {
55 | guifg = normal_fg,
56 | guibg = colors.bg_light,
57 | gui = "bold"
58 | },
59 | buffer_visible = {
60 | guifg = colors.color6,
61 | guibg = colors.bg_alt
62 | },
63 | separator_visible = {
64 | guifg = colors.bg,
65 | guibg = colors.bg_alt
66 | },
67 | separator_selected = {
68 | guifg = colors.bg,
69 | guibg = colors.bg_light
70 | },
71 | separator = {
72 | guifg = colors.bg,
73 | guibg = colors.bg
74 | },
75 | indicator_selected = {
76 | guifg = colors.bg,
77 | guibg = colors.bg
78 | },
79 | modified_selected = {
80 | guifg = string_fg,
81 | guibg = colors.bg_light
82 | }
83 | }
84 | }
85 |
86 | local opt = {silent = true}
87 |
88 | --command that adds new buffer and moves to it
89 | vim.api.nvim_command "com -nargs=? -complete=file_in_path New badd | blast"
90 | vim.api.nvim_set_keymap("n", "", ":New ", opt)
91 |
92 | --removing a buffer
93 | vim.api.nvim_set_keymap("n", "", [[bdelete]], opt)
94 |
95 | -- tabnew and tabprev
96 | vim.api.nvim_set_keymap("n", "", [[BufferLineCycleNext]], opt)
97 | vim.api.nvim_set_keymap("n", "", [[BufferLineCyclePrev]], opt)
98 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/colors.lua:
--------------------------------------------------------------------------------
1 | vim.cmd('set termguicolors')
2 | vim.cmd('set background=dark')
3 | vim.cmd('colorscheme tokyonight')
4 |
5 | -- colors
6 | local colors = {
7 | color0= '#1d1f22',
8 | color8= '#323b3e',
9 | color1= '#f8818e',
10 | color9= '#fb3d66',
11 | color2= '#7b9679',
12 | color10= '#6d8c63',
13 | color3= '#bf946b',
14 | color11= '#e4cd7b',
15 | color4= '#8b9eb2',
16 | color12= '#b0ecee',
17 | color5= '#796e7f',
18 | color13= '#cdafd9',
19 | color6= '#7b8e93',
20 | color14= '#556468',
21 | color7= '#b3bec1',
22 | color15= '#f7f8f8',
23 | }
24 |
25 | --[[
26 | local colors = {
27 | bg= '#141022',
28 | red= '#FF5555',
29 | green= '#50FA7B',
30 | yellow= '#F1FA8C',
31 | orange= '#F4F99D',
32 | blue= '#BD93F9',
33 | violet= '#CAA9FA',
34 | magenta= '#FF79C6',
35 | darkblue= '#7957B9',
36 | cyan= '#8BE9FD',
37 | fg= '#E6E6E6',
38 | }
39 | ]]--
40 |
41 | -- general
42 | vim.cmd('au ColorScheme * hi Normal ctermbg=None gui=None guibg=None')
43 | vim.cmd('au ColorScheme * hi SignColumn ctermbg=None gui=None guibg=None')
44 | vim.cmd('au ColorScheme * hi NonText ctermbg=None guibg=None')
45 | vim.cmd('au ColorScheme * hi VertSplit cterm=None guibg=None guifg='.. colors.color8)
46 | vim.cmd('au ColorScheme * hi CursorLineNr cterm=None guibg=None ctermfg=5 guifg='.. colors.color9)
47 | vim.cmd('au ColorScheme * hi CursorLine ctermbg=0 ctermfg=None guifg=None guibg=' .. colors.color0)
48 | vim.cmd('au ColorScheme * hi EndOfBuffer ctermfg=magenta guibg=None guifg='.. colors.color8)
49 | vim.cmd('au ColorScheme * hi StatusLine guifg=None guibg=None')
50 | vim.cmd('au ColorScheme * hi StatusLineNC gui=underline guibg=NONE guifg='.. colors.color8)
51 |
52 | --git signs
53 | vim.cmd('au ColorScheme * hi GitSignsAdd guibg=None guifg='.. colors.color2)
54 | vim.cmd('au ColorScheme * hi GitSignsChange guibg=None guifg='.. colors.color3)
55 | vim.cmd('au ColorScheme * hi GitSignsDelete guibg=None guifg='.. colors.color1)
56 |
57 | -- lsp virt text hl
58 | vim.cmd('au ColorScheme * hi! LspDiagnosticsDefaultError ctermfg=1 guifg='.. colors.color1)
59 | vim.cmd('au ColorScheme * hi! LspDiagnosticsVirtualTextWarning ctermfg=3 guifg='.. colors.color3)
60 | vim.cmd('au ColorScheme * hi! LspDiagnosticsDefaultWarning ctermfg=3 guifg='.. colors.color3)
61 |
62 | -- floaterm lh
63 | vim.cmd('au ColorScheme * hi FloatermBorder ctermfg=magenta ctermbg=None guibg=None guifg='.. colors.color9)
64 | vim.cmd('au ColorScheme * hi Floaterm ctermbg=None guibg=None')
65 |
66 | -- debug
67 | vim.cmd('au ColorScheme * hi debugBreakpoint ctermbg=None ctermfg=red guibg=None guifg='.. colors.color1)
68 | vim.cmd('au ColorScheme * hi debugPC ctermfg=black ctermbg=5 guifg='.. colors.color0 .. ' guibg='.. colors.color5)
69 |
70 | -- dashboard
71 | vim.cmd('au ColorScheme * hi DashboardHeader cterm=None guibg=None ctermfg=5 guifg='.. colors.color9)
72 | vim.cmd('au ColorScheme * hi DashboardCenter cterm=None guibg=None ctermfg=3 guifg='.. colors.color3)
73 | vim.cmd('au ColorScheme * hi DashboardShortcut cterm=None guibg=None ctermfg=3 guifg='.. colors.color3)
74 | vim.cmd('au ColorScheme * hi DashboardFooter cterm=None guibg=None ctermfg=2 guifg=' .. colors.color2)
75 |
76 | -- nvim tree
77 | vim.cmd('au ColorScheme * hi NvimTreeFolderIcon ctermbg=None guibg=None ctermfg=4 guifg='.. colors.color1)
78 | vim.cmd('au ColorScheme * hi NvimTreeIndentMarker ctermbg=None guibg=None ctermfg=4 guifg='.. colors.color8)
79 | vim.cmd('au ColorScheme * hi NvimTreeExecFile ctermbg=None guibg=None ctermfg=2 guifg='.. colors.color3)
80 | vim.cmd('au ColorScheme * hi NvimTreePythonIcon ctermbg=None guibg=None ctermfg=3 guifg='.. colors.color3)
81 | vim.cmd('au ColorScheme * hi NvimTreeLicenseIcon ctermbg=None guibg=None ctermfg=4')
82 | vim.cmd('au ColorScheme * hi NvimTreeFolderName ctermbg=None guibg=None ctermfg=4 guifg='.. colors.color1)
83 | vim.cmd('au ColorScheme * hi NvimTreeEmptyFolderName ctermbg=None guibg=None ctermfg=4 guifg='.. colors.color6)
84 | vim.cmd('au ColorScheme * hi NvimTreeRootFolder ctermbg=None guibg=None ctermfg=4 guifg='.. colors.color9)
85 |
86 | -- neogit
87 | vim.cmd('au ColorScheme * hi NeogitDiffAdd cterm=None guibg=None ctermfg=2 guifg='.. colors.color2)
88 | vim.cmd('au ColorScheme * hi NeogitDiffDelete cterm=None guibg=None ctermfg=1 guifg='.. colors.color1)
89 | vim.cmd('au ColorScheme * hi NeogitDiffContext cterm=None guibg=None ctermfg=1 guifg='.. colors.color1)
90 | vim.cmd('au ColorScheme * hi NeogitHunkHeader cterm=None guibg=None ctermfg=1 guifg='.. colors.color1)
91 | vim.cmd('au ColorScheme * hi NeogitHunkHeaderHighlight cterm=None guibg=None ctermfg=6 guifg='.. colors.color6)
92 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/compe.lua:
--------------------------------------------------------------------------------
1 | vim.o.completeopt = "menuone,noselect"
2 |
3 | require'compe'.setup {
4 | enabled = true,
5 | autocomplete = true,
6 | debug = false,
7 | min_length = 1,
8 | preselect = 'enable',
9 | throttle_time = 80,
10 | source_timeout = 200,
11 | incomplete_delay = 400,
12 | max_abbr_width = 100,
13 | max_kind_width = 100,
14 | max_menu_width = 100,
15 | documentation = true,
16 |
17 | source = {
18 | path = {kind = " "},
19 | buffer = {kind = " "},
20 | calc = {kind = " "},
21 | vsnip = {kind = " "},
22 | nvim_lsp = {kind = " "},
23 | -- nvim_lua = {kind = " "},
24 | nvim_lua = false,
25 | spell = {kind = " 暈 "},
26 | tags = false,
27 | vim_dadbod_completion = true,
28 | vsnip = true,
29 | -- snippets_nvim = {kind = " "},
30 | -- ultisnips = {kind = " "},
31 | treesitter = {kind = " "},
32 | }
33 | }
34 | local t = function(str)
35 | return vim.api.nvim_replace_termcodes(str, true, true, true)
36 | end
37 |
38 | local check_back_space = function()
39 | local col = vim.fn.col('.') - 1
40 | if col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') then
41 | return true
42 | else
43 | return false
44 | end
45 | end
46 |
47 | -- Use (s-)tab to:
48 | --- move to prev/next item in completion menuone
49 | --- jump to prev/next snippet's placeholder
50 | _G.tab_complete = function()
51 | if vim.fn.pumvisible() == 1 then
52 | return t ""
53 | elseif vim.fn.call("vsnip#available", {1}) == 1 then
54 | return t "(vsnip-expand-or-jump)"
55 | elseif check_back_space() then
56 | return t ""
57 | else
58 | return vim.fn['compe#complete']()
59 | end
60 | end
61 | _G.s_tab_complete = function()
62 | if vim.fn.pumvisible() == 1 then
63 | return t ""
64 | elseif vim.fn.call("vsnip#jumpable", {-1}) == 1 then
65 | return t "(vsnip-jump-prev)"
66 | else
67 | return t ""
68 | end
69 | end
70 |
71 | vim.api.nvim_set_keymap("i", "", "v:lua.tab_complete()", {expr = true})
72 | vim.api.nvim_set_keymap("s", "", "v:lua.tab_complete()", {expr = true})
73 | vim.api.nvim_set_keymap("i", "", "v:lua.s_tab_complete()", {expr = true})
74 | vim.api.nvim_set_keymap("s", "", "v:lua.s_tab_complete()", {expr = true})
75 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/completion.lua:
--------------------------------------------------------------------------------
1 | local capabilities = vim.lsp.protocol.make_client_capabilities()
2 | local util = require 'lspconfig/util'
3 | local lsp = require 'lspconfig'
4 | capabilities.textDocument.completion.completionItem.snippetSupport = true
5 |
6 | lsp.ccls.setup{
7 | capabilities = capabilities,
8 | init_options = { client = {snippetSupport = true}, completion = {placeholder = true} },
9 | filetypes = { "c", "cpp", "objc", "objcpp" },
10 | root_dir = util.root_pattern("compile_commands.json", "compile_flags.txt", "platformio.ini"),
11 | }
12 |
13 | lsp.clangd.setup {
14 | capabilities = capabilities,
15 | filetypes = { "c", "cpp", "objc", "objcpp" },
16 | }
17 |
18 | lsp.pyls.setup {
19 | capabilities = capabilities,
20 | }
21 |
22 | lsp.texlab.setup{
23 | capabilities = capabilities,
24 | lint = {
25 | onChange = true
26 | }
27 | }
28 |
29 |
30 | require'nvim-treesitter.configs'.setup {
31 | ensure_installed = {"c", "bash", "cpp", "css", "html", "python", "regex", "lua"},
32 | highlight = {
33 | enable = true
34 | },
35 | }
36 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/dashboard.lua:
--------------------------------------------------------------------------------
1 | -- custom header
2 | vim.g.dashboard_custom_header = vim.g.asc_head
3 | -- search plugin
4 | vim.g.dashboard_default_executive = 'fzf.vim'
5 | vim.g.dashboard_session_directory = '~/.local/share/nvim/session'
6 | -- dashboard sections
7 | vim.g.dashboard_custom_section = {
8 | a = {description = {' new file '}, command = 'DashboardNewFile'},
9 | b = {description = {' find file '}, command = 'Telescope find_files'},
10 | c = {description = {' recently used files'}, command = 'Telescope oldfiles'},
11 | d = {description = {' load last session '}, command = 'SessionLoad'},
12 | e = {description = {' find word '}, command = 'Telescope live_grep'},
13 | f = {description = {' settings '}, command = ':e ~/.config/nvim/init.vim'},
14 | g = {description = {' quit '}, command = 'qa!'},
15 | }
16 | -- footer
17 | vim.g.dashboard_custom_footer = {'made with by channel-42'}
18 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/galaxy.lua:
--------------------------------------------------------------------------------
1 | -- imports
2 | local gl = require('galaxyline')
3 | local condition = require('galaxyline.condition')
4 | local gls = gl.section
5 |
6 | -- short bar types
7 | --gl.short_line_list = {'NvimTree','vista','dbui','packer'}
8 | gl.short_line_list = {" "}
9 |
10 | -- custom colors
11 | local colors = {
12 | bg= '#1d1f21',
13 | red= '#fb3d66',
14 | green= '#6d8c63',
15 | yellow= '#e4cd7',
16 | orange= '#bf946b',
17 | blue= '#8b9eb2',
18 | violet= '#cdafd9',
19 | magenta= '#796e7f',
20 | darkblue= '#55648',
21 | cyan= '#7b8e93',
22 | bg_light= "#4a4b4d",
23 | bg_blue = '#182332',
24 | fg= '#f7f8f8',
25 | clear= 'None',
26 | }
27 |
28 | -- left bar
29 | gls.left[1] = {
30 | RoundLeftLight= {
31 | provider = function() return "" end,
32 | highlight = {colors.bg_light,colors.bg}
33 | },
34 | }
35 | gls.left[2] = {
36 | ViMode = {
37 | provider = function()
38 | -- auto change color according the vim mode
39 | local mode_color = {n = colors.red, i = colors.green,v=colors.blue,
40 | [''] = colors.blue,V=colors.blue,
41 | c = colors.magenta,no = colors.red,s = colors.orange,
42 | S=colors.orange,[''] = colors.orange,
43 | ic = colors.yellow,R = colors.violet,Rv = colors.violet,
44 | cv = colors.red,ce=colors.red, r = colors.cyan,
45 | rm = colors.cyan, ['r?'] = colors.cyan,
46 | ['!'] = colors.red,t = colors.red
47 | }
48 | vim.api.nvim_command('hi GalaxyViMode guifg='..mode_color[vim.fn.mode()])
49 | return ' '
50 | end,
51 | highlight = {colors.red,colors.bg_light,'bold'},
52 | },
53 | }
54 |
55 | gls.left[3] = {
56 | PaddingBlue = {
57 | provider = function() return " " end,
58 | highlight = {colors.bg_blue,colors.bg_blue}
59 | },
60 | }
61 |
62 | gls.left[4] = {
63 | FileSize = {
64 | provider = 'FileSize',
65 | condition = condition.buffer_not_empty,
66 | highlight = {colors.fg,colors.bg_blue}
67 | }
68 | }
69 |
70 |
71 | gls.left[5] ={
72 | FileIcon = {
73 | provider = 'FileIcon',
74 | condition = condition.buffer_not_empty,
75 | highlight = {require('galaxyline.provider_fileinfo').get_file_icon_color,colors.bg_blue},
76 | },
77 | }
78 |
79 | gls.left[6] = {
80 | FileName = {
81 | provider = 'FileName',
82 | condition = condition.buffer_not_empty,
83 | highlight = {colors.red,colors.bg_blue,'bold'}
84 | }
85 | }
86 |
87 |
88 | gls.left[7] = {
89 | PerCent = {
90 | provider = 'LinePercent',
91 | highlight = {colors.fg,colors.bg_blue,'bold'},
92 | }
93 | }
94 |
95 | -- LSP stuff
96 |
97 | gls.left[8] = {
98 | DiagnosticError = {
99 | provider = 'DiagnosticError',
100 | icon = ' ',
101 | highlight = {colors.red,colors.bg_blue}
102 | }
103 | }
104 | gls.left[9] = {
105 | DiagnosticWarn = {
106 | provider = 'DiagnosticWarn',
107 | icon = ' ',
108 | highlight = {colors.orange,colors.bg_blue},
109 | }
110 | }
111 |
112 | gls.left[10] = {
113 | DiagnosticHint = {
114 | provider = 'DiagnosticHint',
115 | icon = ' ',
116 | highlight = {colors.cyan,colors.bg_blue},
117 | }
118 | }
119 |
120 | gls.left[11] = {
121 | DiagnosticInfo = {
122 | provider = 'DiagnosticInfo',
123 | icon = ' ',
124 | highlight = {colors.blue,colors.bg_blue},
125 | }
126 | }
127 | gls.left[12] = {
128 | RoundRightBlue = {
129 | provider = function() return "" end,
130 | highlight = {colors.bg_blue,colors.bg}
131 | },
132 | }
133 |
134 | -- right bar
135 |
136 | gls.right[1] = {
137 | RoundLeftBlue = {
138 | provider = function() return "" end,
139 | highlight = {colors.bg_blue,colors.bg}
140 | },
141 | }
142 |
143 | gls.right[2] = {
144 | FileEncode = {
145 | provider = 'FileEncode',
146 | condition = condition.hide_in_width,
147 | highlight = {colors.red,colors.bg_blue,'bold'}
148 | }
149 | }
150 | gls.right[4] = {
151 | PaddingBlue = {provider = function() return " " end}
152 | }
153 |
154 | gls.right[5] = {
155 | FileFormat = {
156 | provider = 'FileFormat',
157 | condition = condition.hide_in_width,
158 | separator = ' ',
159 | separator_highlight = {'NONE',colors.bg_light},
160 | highlight = {colors.red,colors.bg_light,'bold'}
161 | }
162 | }
163 |
164 | -- git stuff
165 |
166 | gls.right[6] = {
167 | GitIcon = {
168 | provider = function() return ' ' end,
169 | condition = condition.check_git_workspace,
170 | separator = ' ',
171 | separator_highlight = {'NONE',colors.bg_light},
172 | highlight = {colors.violet,colors.bg_light,'bold'},
173 | }
174 | }
175 |
176 | gls.right[7] = {
177 | GitBranch = {
178 | provider = 'GitBranch',
179 | condition = condition.check_git_workspace,
180 | highlight = {colors.violet,colors.bg_light,'bold'},
181 | }
182 | }
183 |
184 | gls.right[8] = {
185 | DiffAdd = {
186 | provider = 'DiffAdd',
187 | condition = condition.hide_in_width,
188 | icon = ' ',
189 | highlight = {colors.green,colors.bg_light},
190 | }
191 | }
192 | gls.right[9] = {
193 | DiffModified = {
194 | provider = 'DiffModified',
195 | condition = condition.hide_in_width,
196 | icon = ' 柳',
197 | highlight = {colors.orange,colors.bg_light},
198 | }
199 | }
200 |
201 | gls.right[10] = {
202 | DiffRemove = {
203 | provider = 'DiffRemove',
204 | condition = condition.hide_in_width,
205 | icon = ' ',
206 | highlight = {colors.red,colors.bg_light},
207 | }
208 | }
209 |
210 | -- spell checking display
211 | gls.right[11] = {
212 | PaddingLight= {
213 | provider = function()
214 | local spell = vim.wo.spell
215 | if spell then
216 | return " "
217 | else
218 | return ""
219 | end
220 | end,
221 | condition = condition.hide_in_width,
222 | highlight = {colors.bg_light,colors.bg_light}
223 | },
224 | }
225 |
226 | gls.right[12] = {
227 | Spellcheck = {
228 | provider = function()
229 | local spell = vim.wo.spell
230 | local lang = vim.o.spelllang
231 | if spell then
232 | return "暈".. lang
233 | else
234 | return ""
235 | end
236 | end,
237 | condition = condition.hide_in_width,
238 | highlight = {colors.cyan,colors.bg_light},
239 | }
240 | }
241 |
242 | gls.right[13] = {
243 | RoundRightLight = {
244 | provider = function() return "" end,
245 | highlight = {colors.bg_light,colors.bg}
246 | },
247 | }
248 |
249 | --[[ bar short left
250 |
251 | gls.short_line_left[1] = {
252 | RoundLeftLight = {provider = function() return ' ' end},
253 | }
254 |
255 | gls.short_line_left[2] = {
256 | FileIconGrey = {
257 | provider = 'FileIcon',
258 | condition = condition.buffer_not_empty,
259 | highlight = {require('galaxyline.provider_fileinfo').get_file_icon_color,colors.bg_light},
260 | },
261 | }
262 |
263 | gls.short_line_left[3] = {
264 | SFileName = {
265 | provider = 'SFileName',
266 | condition = condition.buffer_not_empty,
267 | highlight = {colors.fg,colors.bg_light,'bold'}
268 | }
269 | }
270 |
271 | gls.short_line_left[4] = {
272 | RoundRightLight = {provider = function() return "" end},
273 | }
274 | --]]
275 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/gitsign.lua:
--------------------------------------------------------------------------------
1 | require('gitsigns').setup {
2 | signs = {
3 | add = {hl = 'GitSignsAdd' , text = '│', numhl='GitSignsAdd' , linehl='GitSignsAddLn'},
4 | change = {hl = 'GitSignsChange', text = '│', numhl='GitSignsChange', linehl='GitSignsChangeLn'},
5 | delete = {hl = 'GitSignsDelete', text = '_', numhl='GitSignsDelete', linehl='GitSignsDeleteLn'},
6 | topdelete = {hl = 'GitSignsDelete', text = '‾', numhl='GitSignsDelete', linehl='GitSignsDeleteLn'},
7 | changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChange', linehl='GitSignsChangeLn'},
8 | },
9 | numhl = true,
10 | linehl = false,
11 | watch_index = {
12 | interval = 1000
13 | },
14 | current_line_blame = flase,
15 | sign_priority = 6,
16 | update_debounce = 100,
17 | status_formatter = nil, -- Use default
18 | use_decoration_api = true,
19 | use_internal_diff = true, -- If luajit is present
20 | }
21 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/neogit.lua:
--------------------------------------------------------------------------------
1 | local neogit = require("neogit")
2 |
3 | neogit.setup {
4 | disable_signs = false,
5 | disable_context_highlighting = false,
6 | -- customize displayed signs
7 | signs = {
8 | -- { CLOSED, OPENED }
9 | section = { ">", "v" },
10 | item = { ">", "v" },
11 | hunk = { "", "" },
12 | },
13 | }
14 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/nvimtree.lua:
--------------------------------------------------------------------------------
1 | local tree_cb = require'nvim-tree.config'.nvim_tree_callback
2 | vim.g.nvim_tree_bindings = {
3 | -- default mappings
4 | [""] = tree_cb("edit"),
5 | ["o"] = tree_cb("edit"),
6 | ["<2-LeftMouse>"] = tree_cb("edit"),
7 | ["<2-RightMouse>"] = tree_cb("cd"),
8 | [""] = tree_cb("cd"),
9 | ["s"] = tree_cb("vsplit"),
10 | ["i"] = tree_cb("split"),
11 | ["t"] = tree_cb("tabnew"),
12 | [""] = tree_cb("close_node"),
13 | [""] = tree_cb("close_node"),
14 | [""] = tree_cb("preview"),
15 | ["I"] = tree_cb("toggle_ignored"),
16 | ["H"] = tree_cb("toggle_dotfiles"),
17 | ["R"] = tree_cb("refresh"),
18 | ["a"] = tree_cb("create"),
19 | ["d"] = tree_cb("remove"),
20 | ["r"] = tree_cb("rename"),
21 | [""] = tree_cb("full_rename"),
22 | ["x"] = tree_cb("cut"),
23 | ["c"] = tree_cb("copy"),
24 | ["p"] = tree_cb("paste"),
25 | ["[c"] = tree_cb("prev_git_item"),
26 | ["]c"] = tree_cb("next_git_item"),
27 | ["-"] = tree_cb("dir_up"),
28 | ["q"] = tree_cb("close"),
29 | }
30 |
--------------------------------------------------------------------------------
/.config/nvim/luafiles/telescope.lua:
--------------------------------------------------------------------------------
1 | local actions = require('telescope.actions')
2 | require('telescope').setup{
3 | defaults = {
4 | vimgrep_arguments = {
5 | 'rg',
6 | '--color=never',
7 | '--no-heading',
8 | '--with-filename',
9 | '--line-number',
10 | '--column',
11 | '--smart-case'
12 | },
13 | prompt_position = "bottom", prompt_prefix = "> ", selection_caret = "> ",
14 | entry_prefix = " ",
15 | initial_mode = "insert",
16 | selection_strategy = "reset",
17 | sorting_strategy = "descending",
18 | layout_strategy = "horizontal",
19 | layout_defaults = {
20 | horizontal = {
21 | mirror = false,
22 | },
23 | vertical = {
24 | mirror = false,
25 | },
26 | },
27 | file_sorter = require'telescope.sorters'.get_fuzzy_file,
28 | file_ignore_patterns = {},
29 | generic_sorter = require'telescope.sorters'.get_generic_fuzzy_sorter,
30 | shorten_path = true,
31 | winblend = 0,
32 | width = 1,
33 | preview_cutoff = 120,
34 | results_height = 1,
35 | results_width = 0.6,
36 | border = {},
37 | borderchars = { '─', '│', '─', '│', '╭', '╮', '╯', '╰' },
38 | color_devicons = true,
39 | use_less = true,
40 | set_env = { ['COLORTERM'] = 'truecolor' }, -- default = nil,
41 | file_previewer = require'telescope.previewers'.vim_buffer_cat.new,
42 | grep_previewer = require'telescope.previewers'.vim_buffer_vimgrep.new,
43 | qflist_previewer = require'telescope.previewers'.vim_buffer_qflist.new,
44 |
45 | -- Developer configurations: Not meant for general override
46 | buffer_previewer_maker = require'telescope.previewers'.buffer_previewer_maker,
47 | mappings = {
48 | i = {
49 | [""] = actions.move_selection_next,
50 | [""] = actions.move_selection_previous,
51 | [""] = actions.smart_send_to_qflist + actions.open_qflist,
52 | [""] = actions.close,
53 | [""] = actions.select_default + actions.center
54 | },
55 | n = {
56 | [""] = actions.move_selection_next,
57 | [""] = actions.move_selection_previous,
58 | [""] = actions.smart_send_to_qflist + actions.open_qflist,
59 | }
60 | }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/.config/nvim/plugins.vim:
--------------------------------------------------------------------------------
1 | call plug#begin(stdpath('data') . '/plugged')
2 |
3 | " coding helpers ----------
4 | "Plug 'Yggdroot/indentLine'
5 | Plug 'lukas-reineke/indent-blankline.nvim', {'branch': 'lua'}
6 | Plug 'Raimondi/delimitMate'
7 | Plug 'ap/vim-css-color'
8 | Plug 'lewis6991/gitsigns.nvim'
9 |
10 | " completion --------------
11 | Plug 'neovim/nvim-lspconfig'
12 | Plug 'hrsh7th/nvim-compe'
13 | Plug 'rafamadriz/friendly-snippets'
14 | Plug 'hrsh7th/vim-vsnip'
15 | Plug 'hrsh7th/vim-vsnip-integ'
16 | Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
17 |
18 | " Tools -------------------
19 | Plug 'ryanoasis/vim-devicons'
20 | Plug 'nvim-lua/popup.nvim'
21 | Plug 'nvim-lua/plenary.nvim'
22 | Plug 'nvim-telescope/telescope.nvim'
23 | Plug 'airblade/vim-rooter'
24 | Plug 'voldikss/vim-floaterm'
25 | Plug 'liuchengxu/vim-which-key'
26 | Plug 'TimUntersberger/neogit'
27 | Plug 'airblade/vim-rooter'
28 |
29 | " aesthetics ---------------
30 | Plug 'junegunn/limelight.vim'
31 | Plug 'junegunn/goyo.vim'
32 | Plug 'kyazdani42/nvim-web-devicons'
33 | Plug 'kyazdani42/nvim-tree.lua'
34 | Plug 'ghifarit53/tokyonight-vim'
35 | Plug 'glepnir/galaxyline.nvim' , {'branch': 'main'}
36 | Plug 'glepnir/dashboard-nvim'
37 | Plug 'akinsho/nvim-bufferline.lua'
38 |
39 | call plug#end()
40 | filetype plugin indent on "required
41 |
--------------------------------------------------------------------------------
/.config/nvim/vimscript/bindings.vim:
--------------------------------------------------------------------------------
1 | command! Format execute 'lua vim.lsp.buf.formatting()'
2 | "Bindings
3 |
4 | " space is leader
5 | map
6 | map sb :Telescope file_browser
7 |
8 | " register leader key
9 | call which_key#register('', "g:which_key_map")
10 | nnoremap :silent :silent WhichKey ''
11 | vnoremap :silent :silent WhichKeyVisual ''
12 |
13 | " some defaults
14 | let g:which_key_display_names = {'': '↵', '': '⇆', " ": 'SPC'}
15 | let g:which_key_map = {}
16 | let g:which_key_sep = '→'
17 |
18 | let g:which_key_use_floating_win = 0
19 | let g:which_key_max_size = 0
20 | let g:which_key_timeout = 250
21 |
22 | " Hide status line
23 | autocmd! FileType which_key
24 | autocmd FileType which_key set laststatus=0 noshowmode noruler
25 | \| autocmd BufLeave set laststatus=2 noshowmode ruler
26 |
27 | " first layer
28 | let g:which_key_map['z'] = [ ':call ToggleCoding()' , 'zen' ]
29 | let g:which_key_map['H'] = [ ':Dashboard', 'home screen' ]
30 | let g:which_key_map['e'] = [ ':NvimTreeToggle', 'explorer' ]
31 | let g:which_key_map['?'] = [ ':NvimTreeFindFile', 'find current file' ]
32 | let g:which_key_map['r'] = [ ':FloatermNew ranger', 'ranger' ]
33 | let g:which_key_map['M'] = [ ':call MaximizeToggle()', 'maximize buffer' ]
34 | let g:which_key_map['G'] = [ 'gf', 'goto file' ]
35 | let g:which_key_map['F'] = [ 'Format', 'format code' ]
36 | let g:which_key_map[' '] = [ 'za', 'toggle fold' ]
37 |
38 | " nested bindings
39 |
40 | " g is for git
41 | let g:which_key_map.g = {
42 | \ 'name' : '+git' ,
43 | \ 't' : [':FloatermNew lazygit', 'lazygit'],
44 | \ 'g' : [':Neogit', 'status'],
45 | \ 'l' : [':Neogit log', 'log'],
46 | \ 'c' : [':Neogit commit', 'commit'],
47 | \ 'r' : {
48 | \ 'name' : '+remote',
49 | \ 'p' : [':Neogit push', 'push'],
50 | \ 'P' : [':Neogit pull', 'pull'],
51 | \ },
52 | \ 's' : {
53 | \ 'name' : '+stage',
54 | \ 'h' : [':Gitsigns stage_bunk', 'stage hunk'],
55 | \ 'a' : [':Gitsigns stage_buffer', 'stage buffer'],
56 | \ 'u' : [':Gitsigns undo_stage_bunk', 'unstage hunk'],
57 | \ },
58 | \ 'b' : [':Gitsigns blame_line', 'blame'],
59 | \ 'p' : [':Gitsigns preview_hunk', 'preview hunk'],
60 | \ 'i' : [':Gitsigns toggle_current_line_blame', 'toggle blame'],
61 | \ 'd' : [':Gitsigns toggle_signs', 'toggle signs'],
62 | \ }
63 |
64 | " S is for Session
65 | let g:which_key_map.S = {
66 | \ 'name' : '+Session' ,
67 | \ 's' : [':SessionSave', 'save session'],
68 | \ 'l' : [':SessionLoad', 'load Session'],
69 | \ }
70 |
71 | " s is for search
72 | let g:which_key_map.s = {
73 | \ 'name': '+search',
74 | \ 'f': [':Telescope find_files', 'files'],
75 | \ 'l': [':Telescope live_grep', 'lines'],
76 | \ 'h': [':Telescope oldfiles', 'history'],
77 | \ 'b': [':Telescope file_browser', 'buffers'],
78 | \ }
79 |
80 | " t is for terminal
81 | let g:which_key_map.t = {
82 | \ 'name' : '+terminal' ,
83 | \ 't' : [':FloatermNew --wintype=normal --height=10', 'split'],
84 | \ 'f' : [':FloatermNew', 'floating'],
85 | \ 'g' : [':FloatermNew lazygit', 'lazygit'],
86 | \ }
87 |
88 | " b is for buffer
89 | let g:which_key_map.b = {
90 | \ 'name' : '+buffer' ,
91 | \ 'd' : [':BufferClose', 'delete-buffer'],
92 | \ 'n' : ['bnext', 'next-buffer'],
93 | \ 'p' : ['bprevious', 'previous-buffer'],
94 | \ 'm' : [ ':call MaximizeToggle()', 'maximize' ],
95 | \ '?' : ['Buffers', 'fzf-buffer'],
96 | \ }
97 | " l is for lsp
98 | let g:which_key_map.l = {
99 | \ 'name' : '+lsp' ,
100 | \ 'i' : [ 'LspInfo', 'show lsp info' ],
101 | \ 's' : {
102 | \ 'name' : '+stop',
103 | \ '1': [':call v:lua.StopLsp(1)', 'client 1'],
104 | \ '2': [':call v:lua.StopLsp(2)', 'client 2'],
105 | \ '3': [':call v:lua.StopLsp(3)', 'client 3'],
106 | \ '4': [':call v:lua.StopLsp(3)', 'client 4'],
107 | \ },
108 | \ 'S' : {
109 | \ 'name' : '+start',
110 | \ '1': [':call v:lua.StartLsp(1)', 'client 1'],
111 | \ '2': [':call v:lua.StartLsp(2)', 'client 2'],
112 | \ '3': [':call v:lua.StartLsp(3)', 'client 3'],
113 | \ },
114 | \ }
115 |
116 | " c is for compile, WIP
117 | let g:which_key_map.c = {
118 | \ 'name' : '+compile' ,
119 | \ 'c' : [':w! \|:silent !$HOME/scripts/bash/compiler.sh %', 'compiler script'],
120 | \ 'm' : [':w! \|:silent !$HOME/scripts/bash/make.sh %', 'make script'],
121 | \ 'v' : [':silent !$HOME/scripts/bash/opout.sh %', 'view output'],
122 | \ }
123 | " d is for debug
124 | let g:which_key_map.d = {
125 | \ 'name' : '+debug' ,
126 | \ 'b' : ['Break', 'add breakpoint'],
127 | \ }
128 |
129 | " OTHER BINDINGS (partially) NOT SHOWN IN WHICH_KEY
130 | " autosave/compile
131 | nnoremap :w! \|:silent !$HOME/scripts/bash/compiler.sh %
132 | nnoremap :w! \|:silent !$HOME/scripts/bash/make.sh %
133 |
134 | " completion navigation
135 | inoremap compe#complete()
136 | inoremap compe#confirm({ 'keys': "\delimitMateCR", 'mode': '' })
137 | inoremap compe#close('')
138 | inoremap compe#scroll({ 'delta': +4 })
139 | inoremap compe#scroll({ 'delta': -4 })
140 |
141 | "show lsp hover info
142 | nnoremap K lua vim.lsp.buf.hover()
143 |
144 | "spellcheck suggestions
145 | inoremap
146 |
147 | "Better tabbing
148 | vnoremap < >gv
150 |
151 | "Better window navigation
152 | nnoremap h
153 | nnoremap j
154 | nnoremap k
155 | nnoremap l
156 | nnoremap :call MaximizeToggle()
157 |
158 | " Use alt + hjkl to resize windows, r to swap buffers
159 | nnoremap :resize -5
160 | nnoremap :resize +5
161 | nnoremap :vertical resize -5
162 | nnoremap :vertical resize +5
163 | nnoremap :wincmd r
164 |
165 | " stop lsp server
166 | lua < Move to somewhere else !
175 | function! MaximizeToggle()
176 | if exists("s:maximize_session")
177 | exec "source " . s:maximize_session
178 | call delete(s:maximize_session)
179 | unlet s:maximize_session
180 | let &hidden=s:maximize_hidden_save
181 | unlet s:maximize_hidden_save
182 | else
183 | let s:maximize_hidden_save = &hidden
184 | let s:maximize_session = tempname()
185 | set hidden
186 | exec "mksession! " . s:maximize_session
187 | only
188 | endif
189 | endfunction
190 |
--------------------------------------------------------------------------------
/.config/nvim/vimscript/colors.vim:
--------------------------------------------------------------------------------
1 | "colorscheme
2 | set background=dark
3 | colorscheme tokyonight
4 |
5 | "general hl settings
6 | au ColorScheme * hi Normal ctermbg=None
7 | au ColorScheme * hi VertSplit ctermbg=None ctermfg=9
8 | au ColorScheme * hi SignColumn ctermbg=None
9 | au ColorScheme * hi CursorLineNr ctermbg=None ctermfg=9
10 | au ColorScheme * hi CursorLine ctermbg=0 ctermfg=None
11 | au ColorScheme * hi Directory ctermbg=None ctermfg=1
12 | au ColorScheme * hi EndOfBuffer ctermfg=9 ctermbg=None
13 |
14 | "lsp virt text hl
15 | au ColorScheme * hi! LspDiagnosticsDefaultError ctermfg=1
16 | au ColorScheme * hi! LspDiagnosticsVirtualTextWarning ctermfg=3
17 | au ColorScheme * hi! LspDiagnosticsDefaultWarning ctermfg=3
18 |
19 | " floaterm lh
20 | au ColorScheme * hi FloatermBorder ctermfg=9 ctermbg=None
21 | au ColorScheme * hi Floaterm ctermbg=None
22 |
23 | "debug
24 | au ColorScheme * hi debugBreakpoint ctermbg=None ctermfg=red
25 | au ColorScheme * hi debugPC ctermbg=None ctermfg=black ctermbg=5
26 |
27 | " dashboard
28 | au ColorScheme * hi DashboardHeader ctermbg=None ctermfg=9
29 | au ColorScheme * hi DashboardCenter ctermbg=None ctermfg=3
30 | au ColorScheme * hi DashboardShortcut ctermbg=None ctermfg=3
31 | au ColorScheme * hi DashboardFooter ctermbg=None ctermfg=4
32 |
33 | " nvim tree
34 | au ColorScheme * hi NvimTreeFolderIcon ctermbg=None ctermfg=1
35 | au ColorScheme * hi NvimTreeIndentMarker ctermbg=None ctermfg=1
36 | au ColorScheme * hi NvimTreeExecFile ctermbg=None ctermfg=2
37 | au ColorScheme * hi NvimTreePythonIcon ctermbg=None ctermfg=3
38 | au ColorScheme * hi NvimTreeLicenseIcon ctermbg=None ctermfg=4
39 |
--------------------------------------------------------------------------------
/.config/nvim/vimscript/floatterm.vim:
--------------------------------------------------------------------------------
1 | " Floaterm
2 | let g:floaterm_keymap_toggle = ''
3 | let g:floaterm_keymap_next = ''
4 | let g:floaterm_keymap_prev = ''
5 | let g:floaterm_keymap_new = ''
6 | let g:floaterm_gitcommit='floaterm'
7 | let g:floaterm_autoinsert=1
8 | let g:floaterm_width=0.8
9 | let g:floaterm_height=0.8
10 | let g:floaterm_wintitle=0
11 | let g:floaterm_autoclose=1
12 |
--------------------------------------------------------------------------------
/.config/nvim/vimscript/lsp.vim:
--------------------------------------------------------------------------------
1 | " custom signs (nerdfonts needed)
2 | sign define LspDiagnosticsSignError text= texthl=LspDiagnosticsSignError
3 | sign define LspDiagnosticsSignWarning text= texthl=LspDiagnosticsSignWarning
4 | sign define LspDiagnosticsSignInformation text= texthl=LspDiagnosticsSignInformation
5 | sign define LspDiagnosticsSignHint text= texthl=LspDiagnosticsSignHint
6 |
7 | " text prefix
8 | lua <goyo_enter()
36 | autocmd! User GoyoLeave nested call goyo_leave()
37 |
--------------------------------------------------------------------------------
/.config/picom.conf:
--------------------------------------------------------------------------------
1 | # __
2 | # /\ \__
3 | # ___ ___ ___ ___ _____\ \ ,_\ ___ ___
4 | # /'___\ / __`\ /' __` __`\/\ '__`\ \ \/ / __`\ /' _ `\
5 | #/\ \__//\ \L\ \/\ \/\ \/\ \ \ \L\ \ \ \_/\ \L\ \/\ \/\ \
6 | #\ \____\ \____/\ \_\ \_\ \_\ \ ,__/\ \__\ \____/\ \_\ \_\
7 | # \/____/\/___/ \/_/\/_/\/_/\ \ \/ \/__/\/___/ \/_/\/_/
8 | # \ \_\
9 | # \/_/
10 |
11 | # Basic compton config with fade transition and shadows
12 | # Full list of options at: https://github.com/chjj/compton/blob/master/man/compton.1.asciidoc
13 | backend = "glx";
14 | # Performance tweak options, more info at https://github.com/chjj/compton/wiki
15 | paint-on-overlay = true; # Paint on X Composite overlay window instead of on root window
16 | glx-no-stencil = true;
17 | glx-no-rebind-pixmap = true;
18 | #SHADOWS
19 | shadow=true;
20 | no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows
21 | no-dnd-shadow = false; # Don't draw shadows on drag-and-drop windows
22 | clear-shadow = false;
23 | shadow-radius = 15; # The blur radius for shadows (default 12)
24 | shadow-offset-x = 5; # The left offset for shadows (default -15)
25 | shadow-offset-y = 5;
26 | shadow-opacity = 0.5;
27 | #enable blur
28 | blur-background = true;
29 | blur-method = "kawase";
30 | blur-strength = 5;
31 | detect-rounded-corners = true;
32 | #TRANSITIONS
33 | # Fading transitions
34 | fading = true; # Fade windows during opacity changes
35 | fade-delta = 4; # The time between steps in a fade in milliseconds (default 10)
36 | fade-in-step = 0.028; # Opacity change between steps while fading in (default 0.028)
37 | fade-out-step = 0.028; # Opacity change between steps while fading out (default 0.03)
38 | no-fading-openclose = true; # Fade windows in/out when opening/closing
39 | transition-length = 300
40 | transition-pow-x = 0.1
41 | transition-pow-y = 0.1
42 | transition-pow-w = 0.1
43 | transition-pow-h = 0.1
44 | size-transition = true
45 | #make tranparent
46 | opacity-rule = [
47 | "100:class_g = 'Rofi'",
48 | ];
49 | shadow-exclude = [
50 | "class_g = 'Rofi'",
51 | "class_g = 'Peek'",
52 | "class_g = 'Polybar'"
53 | ];
54 | #excluding from kawase blur
55 | blur-background-exclude = [
56 | "class_g = 'Peek'",
57 | ];
58 |
59 | wintypes:
60 | {
61 | tooltip = { fade = true; shadow = false; };
62 | dock = { opacity = 1.0; shadow = false; };
63 | };
64 |
--------------------------------------------------------------------------------
/.config/polybar/config:
--------------------------------------------------------------------------------
1 | [colors]
2 | ;background = ${xrdb:color0:#222}
3 | background = ${xrdb:background}
4 | background-alt = ${xrdb:highlight}
5 | ;foreground = ${xrdb:color7:#222}
6 | foreground = #dfdfdf
7 | foreground-alt = #555
8 | primary = #ffb52a
9 | secondary = #00538b
10 | alert = #bd2c40
11 |
12 | [bar/wm]
13 | monitor = ${env:MONITOR:eDP1}
14 | width = 100%:-20
15 | height = 35
16 | fixed-center = true
17 | override-redirect = true
18 | wm-restack = bspwm
19 | background = ${colors.background}
20 | foreground = ${colors.foreground}
21 |
22 | radius = 0
23 |
24 | line-size = 0
25 | line-color = #f00
26 |
27 | border-color = #00000000
28 |
29 | offset-x = 0%:10
30 | offset-y = 5
31 |
32 | padding-left = 5
33 | padding-right = 5
34 |
35 | module-margin-left = 2
36 | module-margin-right = 3
37 |
38 | font-0 = Noto Sans:pixelsize=14;2
39 | font-1 = unifont:fontformat=truetype:size=8:antialias=false;1
40 | font-2 = FiraCode Nerd Font:pixelsize=14;1
41 | font-3 = FontAwesome5Free:style=Solid:pixelsize=15:antialias=true;3
42 | font-4 = FontAwesome:pixelsize=10
43 |
44 | modules-left = battery separator wlan separator backlight separator xwindow
45 | modules-center= bspwm
46 | modules-right= pulseaudio separator cpu separator date
47 |
48 | cursor-click = pointer
49 | cursor-scroll = ns-resize
50 |
51 | [module/xwindow]
52 | type = internal/xwindow
53 | ; Available tags:
54 | ;