all repos

dotfiles @ 230a3918467e19bdee16d6c7a05d4cc3dab063ad

i use rach linux btw
27 files changed, 32 insertions(+), 897 deletions(-)
remove stuff i dont use
Author: Oleksandr Smirnov olexsmir@gmail.com
Committed at: 2026-07-27 22:32:13 +0300
Authored at: 2026-07-27 22:24:35 +0300
Parent: 328de0d
D bin/bat-install-theme.sh
···
        1
        
        -#!/usr/bin/env bash

      
        2
        
        -

      
        3
        
        -tmDir="$(bat --config-dir)/themes"

      
        4
        
        -

      
        5
        
        -mkdir -p "$tmDir"

      
        6
        
        -curl -O https://raw.githubusercontent.com/folke/tokyonight.nvim/main/extras/sublime/tokyonight_night.tmTheme -o "$tmDir"/tokyonight_night.tmTheme

      
        7
        
        -bat cache --build

      
        8
        
        -

      
        9
        
        -read -p $'\e[32mDo you want to set the theme to tokyonight_night?\e[0m [y/N]:' -n 1 -r

      
        10
        
        -if [[ $REPLY =~ ^[Yy]$ ]]; then

      
        11
        
        -  echo '--theme="tokyonight_night"' >>"$(bat --config-dir)/config"

      
        12
        
        -fi

      
D bin/goclean
···
        1
        
        -#!/usr/bin/env bash

      
        2
        
        -exec go clean -cache -testcache

      
D bin/ipinfo
···
        1
        
        -#!/usr/bin/env bash

      
        2
        
        -curl -s ipinfo.io | jq "del(.readme) | del(.loc) | ."

      
D bin/wofi-power-menu
···
        1
        
        -#!/bin/env bash

      
        2
        
        -

      
        3
        
        -entries="⏻ poweroff\n⇠ logout\n⏾ suspend\n⭮ reboot"

      
        4
        
        -selected=$(echo -e "$entries" |

      
        5
        
        -  wofi --dmenu --cache-file /dev/null |

      
        6
        
        -  awk '{print tolower($2)}')

      
        7
        
        -

      
        8
        
        -shall_continue() {

      
        9
        
        -  entries="Yes\nNo"

      
        10
        
        -  selected=$(echo -e "$entries" |

      
        11
        
        -    wofi --dmenu --cache-file /dev/null |

      
        12
        
        -    awk '{print tolower($1)}')

      
        13
        
        -

      
        14
        
        -  case $selected in

      
        15
        
        -  yes) exec "$@" ;;

      
        16
        
        -  no) exit 0 ;;

      
        17
        
        -  esac

      
        18
        
        -}

      
        19
        
        -

      
        20
        
        -case $selected in

      
        21
        
        -logout)

      
        22
        
        -  case $1 in

      
        23
        
        -    "niri") shall_continue niri msg action quit -s ;;

      
        24
        
        -    "hypr") shall_continue hyprctl dispatch exit ;;

      
        25
        
        -  esac

      
        26
        
        -  ;;

      
        27
        
        -suspend) shall_continue systemctl suspend ;;

      
        28
        
        -reboot) shall_continue systemctl reboot ;;

      
        29
        
        -poweroff) shall_continue systemctl poweroff ;;

      
        30
        
        -esac

      
D config/dunst/dunstrc
···
        1
        
        -# vim: ft=ini

      
        2
        
        -# https://dunst-project.org/documentation

      
        3
        
        -

      
        4
        
        -[global]

      
        5
        
        -font = JetBrains Mono Nerd Font 14

      
        6
        
        -enable_recursive_icon_lookup = true

      
        7
        
        -show_age_threshold = 60

      
        8
        
        -markup = full

      
        9
        
        -word_wrap = yes

      
        10
        
        -ignore_newline = no

      
        11
        
        -stack_duplicates = false

      
        12
        
        -hide_duplicate_count = false

      
        13
        
        -shrink = no

      
        14
        
        -idle_threshold = 120

      
        15
        
        -follow = keyboard

      
        16
        
        -

      
        17
        
        -mouse_left_click = close_all

      
        18
        
        -mouse_right_click = do_action

      
        19
        
        -

      
        20
        
        -sticky_history = yes

      
        21
        
        -history_length = 10

      
        22
        
        -line_height = 4

      
        23
        
        -separator_height = 4

      
        24
        
        -padding = 15

      
        25
        
        -horizontal_padding = 15

      
        26
        
        -separator_color = auto

      
        27
        
        -startup_notification = true

      
        28
        
        -

      
        29
        
        -browser = x-www-browser -new-tab

      
        30
        
        -

      
        31
        
        -icon_position = left

      
        32
        
        -max_icon_size = 48

      
        33
        
        -

      
        34
        
        -frame_width = 0

      
        35
        
        -

      
        36
        
        -always_run_script = true

      
        37
        
        -title = Dunst

      
        38
        
        -class = Dunst

      
        39
        
        -

      
        40
        
        -geometry = "250x50-5+30"

      
        41
        
        -origin = top-right

      
        42
        
        -offset = 9x14

      
        43
        
        -width = (0,500)

      
        44
        
        -

      
        45
        
        -# Display indicators for URLs (U) and actions (A).

      
        46
        
        -show_indicators = no

      
        47
        
        -

      
        48
        
        -# %a  appname

      
        49
        
        -# %s  summary

      
        50
        
        -# %b  body

      
        51
        
        -# %i  iconname (including its path)

      
        52
        
        -# %I  iconname (without its path)

      
        53
        
        -# %p  progress value if set ([  0%] to [100%]) or nothing

      
        54
        
        -format = "<b>%s</b>\n%b"

      
        55
        
        -corner_radius = 8

      
        56
        
        -sort = no

      
        57
        
        -indicate_hidden = yes

      
        58
        
        -

      
        59
        
        -# Possible values are "left", "center" and "right".

      
        60
        
        -alignment = center

      
        61
        
        -

      
        62
        
        -

      
        63
        
        -[urgency_low]

      
        64
        
        -frame_color = "#1a1b26"

      
        65
        
        -background = "#1a1b26"

      
        66
        
        -foreground = "#c0caf5"

      
        67
        
        -timeout = 10

      
        68
        
        -

      
        69
        
        -[urgency_normal]

      
        70
        
        -frame_color = "#15161e"

      
        71
        
        -background = "#1a1b26"

      
        72
        
        -foreground = "#c0caf5"

      
        73
        
        -timeout = 10

      
        74
        
        -

      
        75
        
        -[urgency_critical]

      
        76
        
        -frame_color = "#f7768e"

      
        77
        
        -background = "#1a1b26"

      
        78
        
        -foreground = "#c0caf5"

      
        79
        
        -timeout = 10

      
D config/hypr/hypridle.conf
···
        1
        
        -general {

      
        2
        
        -    lock_cmd = "hyprlock"

      
        3
        
        -}

      
        4
        
        -

      
        5
        
        -listener {

      
        6
        
        -    timeout = 300

      
        7
        
        -    on-timeout = "brillo -O; brillo -u 500000 -S 10"

      
        8
        
        -    on-resume = "brillo -I -u 250000"

      
        9
        
        -}

      
D config/hypr/hyprland.conf
···
        1
        
        -# vim: foldmethod=marker ts=2 sw=2

      
        2
        
        -monitor=,highres,auto,1

      
        3
        
        -# env {{{

      
        4
        
        -env = XDG_CURRENT_DESKTOP,Hyprland

      
        5
        
        -env = QT_QPA_PLATFORM,wayland;xcb

      
        6
        
        -env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1

      
        7
        
        -# }}}

      
        8
        
        -# variables {{{

      
        9
        
        -$mod = SUPER

      
        10
        
        -$browser = brave

      
        11
        
        -$terminal = kitty

      
        12
        
        -$notaker = obsidian

      
        13
        
        -# }}}

      
        14
        
        -# auto start {{{

      
        15
        
        -exec-once = waybar

      
        16
        
        -exec-once = hyprpaper

      
        17
        
        -exec-once = dunst

      
        18
        
        -exec-once = blueman-applet

      
        19
        
        -exec-once = wlsunset -S 9:00 -s 21:00

      
        20
        
        -

      
        21
        
        -exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1

      
        22
        
        -exec-once = ~/.config/hypr/xdg-portal.sh

      
        23
        
        -exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

      
        24
        
        -exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP

      
        25
        
        -

      
        26
        
        -exec-once = gsettings set org.gnome.desktop.interface font-name "JetBrainsMono Nerd Font"

      
        27
        
        -exec-once = gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark" # GTK3

      
        28
        
        -exec-once = gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" # GTK4

      
        29
        
        -

      
        30
        
        -# exec-once = ~/code/aw-server-rust/target/release/aw-server

      
        31
        
        -# exec-once = ~/code/awatcher/target/release/awatcher

      
        32
        
        -# }}}

      
        33
        
        -# inputs {{{

      
        34
        
        -input {

      
        35
        
        -  kb_layout = us,ua

      
        36
        
        -  kb_variant =

      
        37
        
        -  kb_model =

      
        38
        
        -  kb_options = grp:win_space_toggle,ctrl:nocaps

      
        39
        
        -  kb_rules =

      
        40
        
        -

      
        41
        
        -  follow_mouse = 1

      
        42
        
        -  sensitivity = 0.0 # -1.0 - 1.0, 0 means no modification

      
        43
        
        -

      
        44
        
        -  touchpad {

      
        45
        
        -    middle_button_emulation = true

      
        46
        
        -    disable_while_typing = true

      
        47
        
        -    natural_scroll = false

      
        48
        
        -    scroll_factor = 0.4

      
        49
        
        -    clickfinger_behavior = 1

      
        50
        
        -  }

      
        51
        
        -}

      
        52
        
        -# }}}

      
        53
        
        -# general {{{

      
        54
        
        -general {

      
        55
        
        -    gaps_in = 2

      
        56
        
        -    gaps_out = 4

      
        57
        
        -    border_size = 2

      
        58
        
        -    col.active_border = rgba(7aa2f7aa)

      
        59
        
        -    col.inactive_border = rgba(292e42aa)

      
        60
        
        -

      
        61
        
        -    layout = dwindle # master

      
        62
        
        -}

      
        63
        
        -# }}}

      
        64
        
        -# decorations {{{

      
        65
        
        -decoration {

      
        66
        
        -  rounding = 3

      
        67
        
        -

      
        68
        
        -  blur {

      
        69
        
        -    enabled = true

      
        70
        
        -    size = 3

      
        71
        
        -    passes = 1

      
        72
        
        -  }

      
        73
        
        -

      
        74
        
        -  shadow {

      
        75
        
        -    enabled = true

      
        76
        
        -    range = 10

      
        77
        
        -    render_power = 3

      
        78
        
        -  }

      
        79
        
        -}

      
        80
        
        -# }}}

      
        81
        
        -# animations {{{

      
        82
        
        -animations {

      
        83
        
        -  enabled = false

      
        84
        
        -}

      
        85
        
        -# }}}

      
        86
        
        -# dwindle layout {{{

      
        87
        
        -# https://wiki.hyprland.org/Configuring/Dwindle-Layout

      
        88
        
        -dwindle {

      
        89
        
        -  pseudotile = false

      
        90
        
        -  preserve_split = false

      
        91
        
        -  force_split = 2

      
        92
        
        -  default_split_ratio = 1

      
        93
        
        -}

      
        94
        
        -# }}}

      
        95
        
        -# master layout {{{

      
        96
        
        -# https://wiki.hyprland.org/Configuring/Master-Layout

      
        97
        
        -master {

      
        98
        
        -  orientation = right

      
        99
        
        -  new_on_top = true

      
        100
        
        -}

      
        101
        
        -# }}}

      
        102
        
        -# misc {{{

      
        103
        
        -misc {

      
        104
        
        -  disable_hyprland_logo = false

      
        105
        
        -  disable_splash_rendering = true

      
        106
        
        -  mouse_move_enables_dpms = true

      
        107
        
        -  key_press_enables_dpms = true

      
        108
        
        -}

      
        109
        
        -# }}}

      
        110
        
        -# gestures {{{

      
        111
        
        -gestures {

      
        112
        
        -  workspace_swipe = true

      
        113
        
        -  workspace_swipe_invert = false

      
        114
        
        -  workspace_swipe_create_new = false

      
        115
        
        -}

      
        116
        
        -# }}}

      
        117
        
        -# window rules {{{

      
        118
        
        -windowrulev2 = workspace 1, class:(Logseq|obsidian)

      
        119
        
        -windowrulev2 = workspace 2, class:(firefox|Google-chrome|Brave-browser|brave-browser)

      
        120
        
        -windowrulev2 = workspace 3, class:(jetbrains-rider|org.octave.Octave)

      
        121
        
        -windowrulev2 = workspace 4, class:(KeePassXC|Insomnium|io.gitlab.news_flash.NewsFlash)

      
        122
        
        -windowrulev2 = workspace 5, class:(discord|org.telegram.desktop|fractal|thunderbird)

      
        123
        
        -windowrulev2 = workspace 7, class:(Spotify)

      
        124
        
        -windowrulev2 = workspace 9, class:(zoom)

      
        125
        
        -

      
        126
        
        -windowrulev2 = float, class:(pavucontrol|blueman-manager)

      
        127
        
        -

      
        128
        
        -# just fixes some annoyance

      
        129
        
        -windowrule = size 700 400, title:(Open File)(.*)$

      
        130
        
        -windowrule = float, title:(Open File)(.*)$

      
        131
        
        -windowrule = move center, title:(Open File)(.*)$

      
        132
        
        -

      
        133
        
        -# screen sharing

      
        134
        
        -windowrulev2 = opacity 0.0 override 0.0 override,class:^(xwaylandvideobridge)$

      
        135
        
        -windowrulev2 = noanim,class:^(xwaylandvideobridge)$

      
        136
        
        -windowrulev2 = nofocus,class:^(xwaylandvideobridge)$

      
        137
        
        -windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$

      
        138
        
        -

      
        139
        
        -# smart gaps

      
        140
        
        -workspace = w[tv1], gapsout:0, gapsin:0

      
        141
        
        -workspace = f[1], gapsout:0, gapsin:0

      
        142
        
        -windowrulev2 = bordersize 0, floating:0, onworkspace:w[tv1]

      
        143
        
        -windowrulev2 = rounding 0, floating:0, onworkspace:w[tv1]

      
        144
        
        -windowrulev2 = bordersize 0, floating:0, onworkspace:f[1]

      
        145
        
        -windowrulev2 = rounding 0, floating:0, onworkspace:f[1]

      
        146
        
        -# }}}

      
        147
        
        -# keymaps {{{

      
        148
        
        -  bind = $mod, q, killactive

      
        149
        
        -  bind = $mod SHIFT, q, exec, hyprctl kill

      
        150
        
        -  bind = $mod, Return, exec, $terminal

      
        151
        
        -

      
        152
        
        -  bind = $mod SHIFT, Return, exec, wofi --show drun --allow-images

      
        153
        
        -  bind = $mod SHIFT, Escape, exec, ~/bin/wofi-power-menu,hypr

      
        154
        
        -

      
        155
        
        -  bind = $mod, f, fullscreen

      
        156
        
        -  bind = $mod Ctrl, f, togglefloating

      
        157
        
        -  bind = , Print, exec, hyprshot -m region

      
        158
        
        -  bind = , SHIFT Print, exec, hyprshot -m output

      
        159
        
        -

      
        160
        
        -  # programs {{{

      
        161
        
        -    bind = $mod, comma, exec, wofi-emoji

      
        162
        
        -

      
        163
        
        -    bind = $mod SHIFT, a, exec, anki

      
        164
        
        -    bind = $mod SHIFT, d, exec, $notaker

      
        165
        
        -    bind = $mod SHIFT, f, exec, newsflash

      
        166
        
        -    bind = $mod SHIFT, s, exec, spotify

      
        167
        
        -    bind = $mod SHIFT, t, exec, telegram-desktop

      
        168
        
        -    bind = $mod SHIFT, w, exec, $browser

      
        169
        
        -  # }}}

      
        170
        
        -  # function keys {{{

      
        171
        
        -    bindl = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+

      
        172
        
        -    bindl = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-

      
        173
        
        -    bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle

      
        174
        
        -    bindl = , XF86AudioPlay, exec, playerctl play-pause

      
        175
        
        -    bindl = , XF86AudioNext, exec, playerctl next

      
        176
        
        -    bindl = , XF86AudioPrev, exec, playerctl previous

      
        177
        
        -

      
        178
        
        -    # brightness

      
        179
        
        -    bindl = , XF86MonBrightnessUp, exec, brightnessctl set +5%

      
        180
        
        -    bindl = , XF86MonBrightnessDown, exec, brightnessctl set 5%-

      
        181
        
        -  # }}}

      
        182
        
        -  # layout specific {{{

      
        183
        
        -    bind = $mod, P, pseudo, # dwindle

      
        184
        
        -    bind = $mod ALT, J, togglesplit, # dwindle

      
        185
        
        -  # }}}

      
        186
        
        -  # wm {{{

      
        187
        
        -    bind = $mod, h, movefocus, l

      
        188
        
        -    bind = $mod, j, movefocus, d

      
        189
        
        -    bind = $mod, k, movefocus, u

      
        190
        
        -    bind = $mod, l, movefocus, r

      
        191
        
        -

      
        192
        
        -    # Scroll through existing workspaces with $mod + scroll

      
        193
        
        -    bind = $mod, mouse_down, workspace, e-1

      
        194
        
        -    bind = $mod, mouse_up, workspace, e+1

      
        195
        
        -

      
        196
        
        -    # Move/resize windows with $mod + LMB/RMB and dragging

      
        197
        
        -    bindm = $mod, mouse:272, movewindow

      
        198
        
        -    bindm = $mod, mouse:273, resizewindow

      
        199
        
        -

      
        200
        
        -    bind = $mod Alt, h, resizeactive, -20 0

      
        201
        
        -    bind = $mod Alt, l, resizeactive, 20 0

      
        202
        
        -    bind = $mod Alt, j, resizeactive, 0 20

      
        203
        
        -    bind = $mod Alt, k, resizeactive, 0 -20

      
        204
        
        -

      
        205
        
        -    bind = $mod SHIFT, h, movewindow, l

      
        206
        
        -    bind = $mod SHIFT, l, movewindow, r

      
        207
        
        -    bind = $mod SHIFT, k, movewindow, u

      
        208
        
        -    bind = $mod SHIFT, j, movewindow, d

      
        209
        
        -

      
        210
        
        -    # workspaces

      
        211
        
        -    bind = $mod, 1, workspace, 1

      
        212
        
        -    bind = $mod, 2, workspace, 2

      
        213
        
        -    bind = $mod, 3, workspace, 3

      
        214
        
        -    bind = $mod, 4, workspace, 4

      
        215
        
        -    bind = $mod, 5, workspace, 5

      
        216
        
        -    bind = $mod, 6, workspace, 6

      
        217
        
        -    bind = $mod, 7, workspace, 7

      
        218
        
        -    bind = $mod, 8, workspace, 8

      
        219
        
        -    bind = $mod, 9, workspace, 9

      
        220
        
        -

      
        221
        
        -    bind = $mod SHIFT, 1, movetoworkspacesilent, 1

      
        222
        
        -    bind = $mod SHIFT, 2, movetoworkspacesilent, 2

      
        223
        
        -    bind = $mod SHIFT, 3, movetoworkspacesilent, 3

      
        224
        
        -    bind = $mod SHIFT, 4, movetoworkspacesilent, 4

      
        225
        
        -    bind = $mod SHIFT, 5, movetoworkspacesilent, 5

      
        226
        
        -    bind = $mod SHIFT, 6, movetoworkspacesilent, 6

      
        227
        
        -    bind = $mod SHIFT, 7, movetoworkspacesilent, 7

      
        228
        
        -    bind = $mod SHIFT, 8, movetoworkspacesilent, 8

      
        229
        
        -    bind = $mod SHIFT, 9, movetoworkspacesilent, 9

      
        230
        
        -  # }}}

      
        231
        
        -# }}}

      
D config/hypr/hyprlock.conf
···
        1
        
        -general {

      
        2
        
        -    immediate_render = true

      
        3
        
        -    hide_cursor = false

      
        4
        
        -}

      
        5
        
        -

      
        6
        
        -background {

      
        7
        
        -    monitor =

      
        8
        
        -    blur_passes = 3

      
        9
        
        -    blur_size = 12

      
        10
        
        -    noise = 0.1

      
        11
        
        -    contrast = 1.3

      
        12
        
        -    brightness = 0.2

      
        13
        
        -    vibrancy = 0.5

      
        14
        
        -    vibrancy_darkness = 0.3

      
        15
        
        -}

      
        16
        
        -

      
        17
        
        -label {

      
        18
        
        -    monitor =

      
        19
        
        -    text = cmd[update:1000] echo "<span font-weight='light' >$(date +'%H %M %S')</span>"

      
        20
        
        -    font_size = 300

      
        21
        
        -    font_family = Adwaita Sans Thin

      
        22
        
        -

      
        23
        
        -    color = rgba(7aa2f7aa)

      
        24
        
        -    position = 0%, 2%

      
        25
        
        -

      
        26
        
        -    halign = center

      
        27
        
        -    valign = center

      
        28
        
        -

      
        29
        
        -    shadow_color = rgba(5, 7, 5, 0.1)

      
        30
        
        -    shadow_size = 20

      
        31
        
        -    shadow_passes = 2

      
        32
        
        -    shadow_boost = 0.3

      
        33
        
        -}

      
        34
        
        -

      
        35
        
        -

      
        36
        
        -input-field {

      
        37
        
        -    monitor =

      
        38
        
        -    size = 300, 50

      
        39
        
        -    valign = bottom

      
        40
        
        -    position = 0%, 10%

      
        41
        
        -

      
        42
        
        -    outline_thickness = 1

      
        43
        
        -

      
        44
        
        -    font_color = rgb(211, 213, 202)

      
        45
        
        -    outer_color = rgba(29, 38, 33, 0.6)

      
        46
        
        -    inner_color = rgba(15, 18, 15, 0.1)

      
        47
        
        -    check_color = rgba(141, 186, 100, 0.5)

      
        48
        
        -    fail_color = rgba(229, 90, 79, 0.5)

      
        49
        
        -

      
        50
        
        -    placeholder_text = Enter Password

      
        51
        
        -

      
        52
        
        -    dots_spacing = 0.2

      
        53
        
        -    dots_center = true

      
        54
        
        -    dots_fade_time = 100

      
        55
        
        -

      
        56
        
        -    shadow_color = rgba(5, 7, 5, 0.1)

      
        57
        
        -    shadow_size = 7

      
        58
        
        -    shadow_passes = 2

      
        59
        
        -}

      
D config/hypr/hyprpaper.conf
···
        1
        
        -preload = /home/olex/Pictures/wall

      
        2
        
        -wallpaper = ,/home/olex/Pictures/wall

      
D config/hypr/xdg-portal.sh
···
        1
        
        -#!/bin/env bash

      
        2
        
        -sleep 1

      
        3
        
        -killall -e xdg-desktop-portal-hyprland

      
        4
        
        -killall xdg-desktop-portal

      
        5
        
        -/usr/lib/xdg-desktop-portal-hyprland &

      
        6
        
        -sleep 2

      
        7
        
        -/usr/lib/xdg-desktop-portal &

      
D config/kitty/colo_tokyonight_day.conf
···
        1
        
        -background #e1e2e7

      
        2
        
        -foreground #3760bf

      
        3
        
        -selection_background #b6bfe2

      
        4
        
        -selection_foreground #3760bf

      
        5
        
        -url_color #387068

      
        6
        
        -cursor #3760bf

      
        7
        
        -cursor_text_color #e1e2e7

      
        8
        
        -

      
        9
        
        -# Tabs

      
        10
        
        -active_tab_background #2e7de9

      
        11
        
        -active_tab_foreground #e9e9ec

      
        12
        
        -inactive_tab_background #c4c8da

      
        13
        
        -inactive_tab_foreground #8990b3

      
        14
        
        -#tab_bar_background #e9e9ed

      
        15
        
        -

      
        16
        
        -# Windows

      
        17
        
        -active_border_color #2e7de9

      
        18
        
        -inactive_border_color #c4c8da

      
        19
        
        -

      
        20
        
        -# normal

      
        21
        
        -color0 #e9e9ed

      
        22
        
        -color1 #f52a65

      
        23
        
        -color2 #587539

      
        24
        
        -color3 #8c6c3e

      
        25
        
        -color4 #2e7de9

      
        26
        
        -color5 #9854f1

      
        27
        
        -color6 #007197

      
        28
        
        -color7 #6172b0

      
        29
        
        -

      
        30
        
        -# bright

      
        31
        
        -color8 #a1a6c5

      
        32
        
        -color9 #f52a65

      
        33
        
        -color10 #587539

      
        34
        
        -color11 #8c6c3e

      
        35
        
        -color12 #2e7de9

      
        36
        
        -color13 #9854f1

      
        37
        
        -color14 #007197

      
        38
        
        -color15 #3760bf

      
        39
        
        -

      
        40
        
        -# extended colors

      
        41
        
        -color16 #b15c00

      
        42
        
        -color17 #c64343

      
D config/kitty/colo_tokyonight_night.conf
···
        1
        
        -background #1a1b26

      
        2
        
        -foreground #c0caf5

      
        3
        
        -selection_background #33467c

      
        4
        
        -selection_foreground #c0caf5

      
        5
        
        -url_color #73daca

      
        6
        
        -cursor #c0caf5

      
        7
        
        -cursor_text_color #1a1b26

      
        8
        
        -active_tab_background #7aa2f7

      
        9
        
        -active_tab_foreground #16161e

      
        10
        
        -inactive_tab_background #292e42

      
        11
        
        -inactive_tab_foreground #545c7e

      
        12
        
        -#tab_bar_background #15161e

      
        13
        
        -color0 #15161e

      
        14
        
        -color1 #f7768e

      
        15
        
        -color2 #9ece6a

      
        16
        
        -color3 #e0af68

      
        17
        
        -color4 #7aa2f7

      
        18
        
        -color5 #bb9af7

      
        19
        
        -color6 #7dcfff

      
        20
        
        -color7 #a9b1d6

      
        21
        
        -color8 #414868

      
        22
        
        -color9 #f7768e

      
        23
        
        -color10 #9ece6a

      
        24
        
        -color11 #e0af68

      
        25
        
        -color12 #7aa2f7

      
        26
        
        -color13 #bb9af7

      
        27
        
        -color14 #7dcfff

      
        28
        
        -color15 #c0caf5

      
        29
        
        -color16 #ff9e64

      
        30
        
        -color17 #db4b4b

      
M config/kitty/kitty.conf
···
        1
        1
         hide_window_decorations yes

      
        2
        2
         update_check_interval 0

      
        3
        3
         enabled_layouts horizontal

      
        4
        
        -include colo_tokyonight_night.conf

      
        5
        4
         

      
        6
        5
         ## some non terminal things

      
        7
        6
         shell fish

      ···
        54
        53
         map ctrl+minus change_font_size all -1

      
        55
        54
         map ctrl+backspace change_font_size all 0

      
        56
        55
         map ctrl+0 change_font_size all 0

      
        
        56
        +

      
        
        57
        +## Theme

      
        
        58
        +background #1a1b26

      
        
        59
        +foreground #c0caf5

      
        
        60
        +selection_background #33467c

      
        
        61
        +selection_foreground #c0caf5

      
        
        62
        +url_color #73daca

      
        
        63
        +cursor #c0caf5

      
        
        64
        +cursor_text_color #1a1b26

      
        
        65
        +active_tab_background #7aa2f7

      
        
        66
        +active_tab_foreground #16161e

      
        
        67
        +inactive_tab_background #292e42

      
        
        68
        +inactive_tab_foreground #545c7e

      
        
        69
        +color0 #15161e

      
        
        70
        +color1 #f7768e

      
        
        71
        +color2 #9ece6a

      
        
        72
        +color3 #e0af68

      
        
        73
        +color4 #7aa2f7

      
        
        74
        +color5 #bb9af7

      
        
        75
        +color6 #7dcfff

      
        
        76
        +color7 #a9b1d6

      
        
        77
        +color8 #414868

      
        
        78
        +color9 #f7768e

      
        
        79
        +color10 #9ece6a

      
        
        80
        +color11 #e0af68

      
        
        81
        +color12 #7aa2f7

      
        
        82
        +color13 #bb9af7

      
        
        83
        +color14 #7dcfff

      
        
        84
        +color15 #c0caf5

      
        
        85
        +color16 #ff9e64

      
        
        86
        +color17 #db4b4b

      
M config/mise/config.toml
···
        1
        1
         [tools]

      
        2
        2
         usage = "latest"

      
        3
        3
         bun = "latest"

      
        
        4
        +node = "lts"

      
        4
        5
         gleam = "latest"

      
        5
        6
         go = "latest"

      
        6
        7
         golangci-lint = "latest"

      
        7
        8
         hledger = "latest"

      
        8
        9
         lua-language-server = "latest"

      
        9
        
        -node = "lts"

      
        10
        10
         shellcheck = "latest"

      
        11
        11
         shfmt = "latest"

      
        12
        
        -tinymist = "latest"

      
        13
        12
         

      
        14
        13
         [settings]

      
        15
        14
         npm.package_manager = "bun"

      
D config/niri/hypridle.conf
···
        1
        
        -general {

      
        2
        
        -  lock_cmd = hyprlock

      
        3
        
        -}

      
        4
        
        -

      
        5
        
        -listener { # screen lock

      
        6
        
        -  timeout = 210

      
        7
        
        -  on-timeout = loginctl lock-session

      
        8
        
        -}

      
        9
        
        -

      
        10
        
        -listener { # turn off screens

      
        11
        
        -  timeout = 260

      
        12
        
        -  on-timeout = niri msg action power-off-monitors

      
        13
        
        -  on-resume = niri msg action power-on-monitors

      
        14
        
        -}

      
        15
        
        -

      
        16
        
        -listener { # suspend

      
        17
        
        -  timeout = 500

      
        18
        
        -  on-timeout = systemctl suspend

      
        19
        
        -}

      
D config/niri/waybar
···
        1
        
        -#!/usr/bin/env bash

      
        2
        
        -waybar -c ~/.config/niri/waybar.jsonc

      
D config/niri/waybar.jsonc
···
        1
        
        -{

      
        2
        
        -  "position": "top",

      
        3
        
        -  "layer": "top",

      
        4
        
        -  "height": 38,

      
        5
        
        -  "margin-top": 0,

      
        6
        
        -  "margin-bottom": 0,

      
        7
        
        -  "margin-left": 0,

      
        8
        
        -  "margin-right": 0,

      
        9
        
        -  "include": [

      
        10
        
        -    "~/.config/waybar/modules/info.jsonc",

      
        11
        
        -    "~/.config/waybar/modules/niri.json"

      
        12
        
        -  ],

      
        13
        
        -  "modules-left": ["niri/workspaces", "niri/window"],

      
        14
        
        -  "modules-center": ["clock"],

      
        15
        
        -  "modules-right": [

      
        16
        
        -    "niri/language",

      
        17
        
        -    "tray",

      
        18
        
        -    "battery",

      
        19
        
        -    "temperature",

      
        20
        
        -    "power-profiles-daemon",

      
        21
        
        -    "idle_inhibitor",

      
        22
        
        -    "backlight",

      
        23
        
        -    "pulseaudio",

      
        24
        
        -    "network"

      
        25
        
        -  ]

      
        26
        
        -}

      
M config/opencode/AGENTS.md
···
        8
        8
         - Do not extract one-use helpers. Inline unless used ≥2 times.

      
        9
        9
         - Do not create new types unless grouping data or implementing an interface.

      
        10
        10
         - Do not add input validation beyond existing patterns for the same thing.

      
        11
        
        -

      
        12
        
        -# MCPs

      
        13
        
        -- If you are unsure how to do something, use `grep-app` to search code examples from GitHub.

      
        14
        
        -- When you need to search docs, use `context7` tools.

      
D config/opencode/agents/review.md
···
        1
        
        ----

      
        2
        
        -description: Reviews code for quality, security, and best practices

      
        3
        
        -mode: subagent

      
        4
        
        -temperature: 0.1

      
        5
        
        -tools:

      
        6
        
        -  write: false

      
        7
        
        -  edit: false

      
        8
        
        -permission:

      
        9
        
        -  edit: deny

      
        10
        
        -  webfetch: allow

      
        11
        
        ----

      
        12
        
        -

      
        13
        
        -You are a code reviewer focused on providing constructive feedback.

      
        14
        
        -

      
        15
        
        -Review code for:

      
        16
        
        -- Security vulnerabilities and potential exploits

      
        17
        
        -- Performance issues and optimization opportunities

      
        18
        
        -- Code quality and maintainability

      
        19
        
        -- Best practices for the language/framework

      
        20
        
        -- Edge cases and potential bugs

      
        21
        
        -- Error handling and input validation

      
        22
        
        -- Documentation and code clarity

      
        23
        
        -- Test coverage gaps

      
        24
        
        -

      
        25
        
        -Provide specific, actionable feedback with:

      
        26
        
        -- File paths and line numbers

      
        27
        
        -- Clear explanation of the issue

      
        28
        
        -- Suggested improvements

      
        29
        
        -- Severity level (critical/high/medium/low)

      
        30
        
        -

      
        31
        
        -Do not make direct changes - only analyze and suggest

      
D config/waybar/config
···
        1
        
        -// vim: ft=jsonc

      
        2
        
        -// NOTE: hyprland config

      
        3
        
        -{

      
        4
        
        -  "position": "top",

      
        5
        
        -  "layer": "top",

      
        6
        
        -  "height": 14,

      
        7
        
        -  "margin-top": 0,

      
        8
        
        -  "margin-bottom": 0,

      
        9
        
        -  "margin-left": 0,

      
        10
        
        -  "margin-right": 0,

      
        11
        
        -  "include": [

      
        12
        
        -    "~/.config/waybar/modules/hypr.json",

      
        13
        
        -    "~/.config/waybar/modules/info.jsonc"

      
        14
        
        -  ],

      
        15
        
        -

      
        16
        
        -  "modules-left": ["hyprland/workspaces", "hyprland/window"],

      
        17
        
        -  "modules-center": ["clock", "cpu"],

      
        18
        
        -  "modules-right": [

      
        19
        
        -    "memory",

      
        20
        
        -    "tray",

      
        21
        
        -    "hyprland/language",

      
        22
        
        -    "backlight",

      
        23
        
        -    "battery",

      
        24
        
        -    "pulseaudio",

      
        25
        
        -    "network"

      
        26
        
        -  ]

      
        27
        
        -}

      
D config/waybar/modules/hypr.json
···
        1
        
        -{

      
        2
        
        -  "hyprland/window": {

      
        3
        
        -    "max-length": "40"

      
        4
        
        -  },

      
        5
        
        -

      
        6
        
        -  "hyprland/workspaces": {

      
        7
        
        -    "on-scroll-up": "hyprctl dispatch workspace -1",

      
        8
        
        -    "on-scroll-down": "hyprctl dispatch workspace +1",

      
        9
        
        -    "format": "{icon}",

      
        10
        
        -    "on-click": "activate",

      
        11
        
        -    "sort-by": "number",

      
        12
        
        -    "persistent-workspaces": { "*": 9 },

      
        13
        
        -    "format-icons": {

      
        14
        
        -      "urgent": "",

      
        15
        
        -      "default": "",

      
        16
        
        -      "1": "󰅨",

      
        17
        
        -      "2": "󰖟",

      
        18
        
        -      "3": "",

      
        19
        
        -      "4": "󰠮",

      
        20
        
        -      "5": "",

      
        21
        
        -      "6": "󰅨",

      
        22
        
        -      "7": "󰎄"

      
        23
        
        -    }

      
        24
        
        -  },

      
        25
        
        -

      
        26
        
        -  "hyprland/language": {

      
        27
        
        -    "format": "󰌌  {}",

      
        28
        
        -    "format-uk": "укр",

      
        29
        
        -    "format-en": "eng"

      
        30
        
        -  }

      
        31
        
        -}

      
D config/waybar/modules/info.jsonc
···
        1
        
        -{

      
        2
        
        -  "tray": {

      
        3
        
        -    "icon-size": 16,

      
        4
        
        -    "spacing": 10

      
        5
        
        -  },

      
        6
        
        -

      
        7
        
        -  "clock": {

      
        8
        
        -    "format": "{:%a, %d %b %H:%M}",

      
        9
        
        -    "tooltip": false

      
        10
        
        -  },

      
        11
        
        -

      
        12
        
        - "temperature": {

      
        13
        
        -    "hwmon-path": "/sys/devices/pci0000:00/0000:00:08.1/0000:03:00.0/hwmon/hwmon3/temp1_input",

      
        14
        
        -    "format": "  {temperatureC}°C",

      
        15
        
        -    "tooltip": false

      
        16
        
        -  },

      
        17
        
        -

      
        18
        
        -  "battery": {

      
        19
        
        -    "format": "{icon}  {capacity}%",

      
        20
        
        -    "format-charging": "{icon}  {capacity}%",

      
        21
        
        -    "format-plugged": "{capacity}%  ",

      
        22
        
        -    "format-icons": ["", "", "", "", ""],

      
        23
        
        -    "tooltip": true,

      
        24
        
        -    "tooltip-format": "Left {time} \nHealth: {health}",

      
        25
        
        -    "states": {

      
        26
        
        -      "good": 95,

      
        27
        
        -      "warning": 30,

      
        28
        
        -      "critical": 15

      
        29
        
        -    }

      
        30
        
        -  },

      
        31
        
        -

      
        32
        
        -  "power-profiles-daemon": {

      
        33
        
        -    "format": "{icon}",

      
        34
        
        -    "tooltip-format": "{profile}",

      
        35
        
        -    "tooltip": true,

      
        36
        
        -    "format-icons": {

      
        37
        
        -      "default": "",

      
        38
        
        -      "performance": "",

      
        39
        
        -      "balanced": "",

      
        40
        
        -      "power-saver": ""

      
        41
        
        -    }

      
        42
        
        -  },

      
        43
        
        -

      
        44
        
        -  "memory": {

      
        45
        
        -    "format": "󰍛  {used}",

      
        46
        
        -    "interval": 5

      
        47
        
        -  },

      
        48
        
        -

      
        49
        
        -  "cpu": {

      
        50
        
        -    "format": "󰻠  {usage}%",

      
        51
        
        -    "format-alt": "󰻠  {avg_frequency} GHz",

      
        52
        
        -    "interval": 5

      
        53
        
        -  },

      
        54
        
        -

      
        55
        
        -  "network": {

      
        56
        
        -    "format-wifi": "󰤨  {essid}",

      
        57
        
        -    "format-linked": " {ifname} (No IP)",

      
        58
        
        -    "format-disconnected": "󰤭",

      
        59
        
        -    "format-alt": "󰤨  {ifname}: {ipaddr}/{cidr}",

      
        60
        
        -    "tooltip-format": "{essid}",

      
        61
        
        -    "tooltip": false

      
        62
        
        -  },

      
        63
        
        -

      
        64
        
        -  "backlight": {

      
        65
        
        -    "format": "{icon}  {percent}%",

      
        66
        
        -    "format-icons": ["", "", "", "", "", "", "", "", ""],

      
        67
        
        -    "on-scroll-up": "brightnessctl set +10%",

      
        68
        
        -    "on-scroll-down": "brightnessctl set 10%-",

      
        69
        
        -    "tooltip": false

      
        70
        
        -  },

      
        71
        
        -

      
        72
        
        -  "pulseaudio": {

      
        73
        
        -    "format": "{icon}  {volume}%",

      
        74
        
        -    "format-muted": "󰝟",

      
        75
        
        -    "format-icons": {

      
        76
        
        -      "default": ["󰕿", "󰖀", "󰕾"],

      
        77
        
        -      "headphone": ""

      
        78
        
        -    },

      
        79
        
        -    "on-click": "pavucontrol",

      
        80
        
        -    "tooltip": false,

      
        81
        
        -    "on-scroll-up": "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+",

      
        82
        
        -    "on-scroll-down": "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"

      
        83
        
        -  },

      
        84
        
        -

      
        85
        
        -  "idle_inhibitor": {

      
        86
        
        -    "format": "{icon} ",

      
        87
        
        -    "format-icons": {

      
        88
        
        -      "activated": "󰅶",

      
        89
        
        -      "deactivated": "󰛊"

      
        90
        
        -    }

      
        91
        
        -  }

      
        92
        
        -}

      
        93
        
        -// vim: ft=jsonc

      
D config/waybar/modules/niri.json
···
        1
        
        -{

      
        2
        
        -  "niri/workspaces": {

      
        3
        
        -    "format": "{icon}",

      
        4
        
        -    "format-icons": {

      
        5
        
        -      "one": "󰅨",

      
        6
        
        -      "two": "󰖟",

      
        7
        
        -      "tri": "",

      
        8
        
        -      "laptop": "",

      
        9
        
        -      "default": ""

      
        10
        
        -    }

      
        11
        
        -  },

      
        12
        
        -  "niri/language": {

      
        13
        
        -    "format": "󰌌  {}",

      
        14
        
        -    "format-uk": "укр",

      
        15
        
        -    "format-en": "eng",

      
        16
        
        -    "tooltip": false

      
        17
        
        -  },

      
        18
        
        -  "niri/window": {

      
        19
        
        -    "swap-icon-label": true,

      
        20
        
        -    "tooltip": false

      
        21
        
        -  }

      
        22
        
        -}

      
D config/waybar/style.css
···
        1
        
        -@define-color bg-color #1a1b26;

      
        2
        
        -@define-color bg-darker-color #15161e;

      
        3
        
        -@define-color fg-color #c0caf5;

      
        4
        
        -@define-color active-bg-color #7aa2f7;

      
        5
        
        -@define-color active-fg-color #16161e;

      
        6
        
        -@define-color inactive-bg-color #292e42;

      
        7
        
        -@define-color inactive-fg-color #545c7e;

      
        8
        
        -@define-color green #73daca;

      
        9
        
        -@define-color red #f7768e;

      
        10
        
        -@define-color blue #2ac3de;

      
        11
        
        -

      
        12
        
        -* {

      
        13
        
        -  border: none;

      
        14
        
        -  border-radius: 0px;

      
        15
        
        -  font-family: Jetbrains Mono Nerd Font;

      
        16
        
        -  font-size: 14px;

      
        17
        
        -  font-style: normal;

      
        18
        
        -  min-height: 0;

      
        19
        
        -}

      
        20
        
        -

      
        21
        
        -window#waybar {

      
        22
        
        -  background: @bg-color;

      
        23
        
        -  border-bottom: 2px solid @inactive-bg-color;

      
        24
        
        -  color: @fg-color;

      
        25
        
        -}

      
        26
        
        -

      
        27
        
        -tooltip {

      
        28
        
        -  background: @bg-color;

      
        29
        
        -  border: 1px solid @bg-darker-color;

      
        30
        
        -}

      
        31
        
        -

      
        32
        
        -#language, #cpu, #memory, #workspaces, #window, #tray, #clock, #battery,

      
        33
        
        -#pulseaudio, #network, #backlight, #temperature, #custom-timew {

      
        34
        
        -  background-color: @bg-darker-color;

      
        35
        
        -  color: @fg-color;

      
        36
        
        -  border-radius: 16px;

      
        37
        
        -  margin: 5px 5px 5px 5px;

      
        38
        
        -  padding: 0px 10px 0px 10px;

      
        39
        
        -}

      
        40
        
        -

      
        41
        
        -#power-profiles-daemon, #idle_inhibitor {

      
        42
        
        -  background-color: @bg-darker-color;

      
        43
        
        -  padding: 0px 10px 0px 14px;

      
        44
        
        -}

      
        45
        
        -#power-profiles-daemon { border-radius: 16px 0 0 16px; margin: 5px 0 5px 5px; }

      
        46
        
        -#idle_inhibitor { border-radius: 0 16px 16px 0; margin: 5px 5px 5px 0; }

      
        47
        
        -

      
        48
        
        -#network, #backlight { color: @blue; }

      
        49
        
        -#cpu, #pulseaudio, #memory, #clock, #temperature, #custom-timew { color: @active-bg-color; }

      
        50
        
        -#language { color: @red; }

      
        51
        
        -

      
        52
        
        -#workspaces button { color: @active-bg-color; }

      
        53
        
        -#workspaces button.empty {

      
        54
        
        -  color: @inactive-fg-color;

      
        55
        
        -  background-color: transparent;

      
        56
        
        -  border-radius: 16px;

      
        57
        
        -}

      
        58
        
        -

      
        59
        
        -#workspaces button.active {

      
        60
        
        -  color: @red;

      
        61
        
        -  background-color: transparent;

      
        62
        
        -  border-radius: 16px;

      
        63
        
        -}

      
        64
        
        -

      
        65
        
        -#workspaces button:hover {

      
        66
        
        -  background-color: @active-bg-color;

      
        67
        
        -  border-radius: 16px;

      
        68
        
        -  color: black;

      
        69
        
        -}

      
        70
        
        -

      
        71
        
        -#battery.charging { color: @green; }

      
        72
        
        -#battery.warning:not(.charging) { color: @red; }

      
        73
        
        -

      
        74
        
        -#clock { font-weight: bold; }

      
        75
        
        -#pulseaudio.muted { color: @red; }

      
        76
        
        -

      
        77
        
        -#power-profiles-daemon.performance { color: @blue; }

      
        78
        
        -#power-profiles-daemon.balanced { color: @green; }

      
        79
        
        -#power-profiles-daemon.power-saver { color: @red; }

      
        80
        
        -

      
        81
        
        -#idle_inhibitor.activated { color: @red; }

      
        82
        
        -#idle_inhibitor.deactivated { color: @green; }

      
D config/wofi/config
···
        1
        
        -width=600

      
        2
        
        -height=350

      
        3
        
        -location=top_left

      
        4
        
        -show=drun

      
        5
        
        -prompt=Search...

      
        6
        
        -filter_rate=100

      
        7
        
        -allow_markup=true

      
        8
        
        -no_actions=true

      
        9
        
        -halign=fill

      
        10
        
        -content_halign=fill

      
        11
        
        -insensitive=true

      
        12
        
        -allow_images=true

      
        13
        
        -image_size=30

      
        14
        
        -gtk_dark=true

      
D config/wofi/style.css
···
        1
        
        -window {

      
        2
        
        -  margin: 0px;

      
        3
        
        -  background-color: #15161e;

      
        4
        
        -}

      
        5
        
        -

      
        6
        
        -#input {

      
        7
        
        -  margin: 5px;

      
        8
        
        -  border: none;

      
        9
        
        -  color: #f8f8f2;

      
        10
        
        -  background-color: #15161e;

      
        11
        
        -}

      
        12
        
        -

      
        13
        
        -#inner-box {

      
        14
        
        -  margin: 5px;

      
        15
        
        -  border: none;

      
        16
        
        -  background-color: #1a1b26;

      
        17
        
        -}

      
        18
        
        -

      
        19
        
        -#outer-box {

      
        20
        
        -  margin: 5px;

      
        21
        
        -  border: none;

      
        22
        
        -  background-color: #1a1b26;

      
        23
        
        -}

      
        24
        
        -

      
        25
        
        -#scroll {

      
        26
        
        -  margin: 0px;

      
        27
        
        -  border: none;

      
        28
        
        -}

      
        29
        
        -

      
        30
        
        -#text {

      
        31
        
        -  margin: 5px;

      
        32
        
        -  border: none;

      
        33
        
        -  color: #c0caf5;

      
        34
        
        -}

      
        35
        
        -

      
        36
        
        -#entry:selected {

      
        37
        
        -  background-color: #15161e;

      
        38
        
        -}