diff --git a/config/dunst/dunstrc b/config/dunst/dunstrc
new file mode 100644
index 0000000..cd0e508
--- /dev/null
+++ b/config/dunst/dunstrc
@@ -0,0 +1,46 @@
+[global]
+ monitor = 0
+ follow = mouse
+ geometry = "250x50-5+30"
+ indicate_hidden = yes
+ shrink = no
+ transparency = 0
+ notification_height = 0
+ separator_height = 4
+ padding = 16
+ horizontal_padding = 16
+ frame_width = 2
+ frame_color = "#1F2324"
+ separator_color = frame
+ sort = yes
+ idle_threshold = 120
+ font = Roboto 8
+ line_height = 4
+ markup = full
+ format = "%s\n%b"
+ alignment = left
+ show_age_threshold = 60
+ word_wrap = yes
+ ignore_newline = no
+ stack_duplicates = false
+ hide_duplicate_count = false
+ show_indicators = yes
+ icon_position = off
+ always_run_script = true
+ startup_notification = false
+ force_xinerama = false
+
+[urgency_low]
+ background = "#16161e"
+ foreground = "#c0caf5"
+ frame_color = "#c0caf5"
+
+[urgency_normal]
+ background = "#1a1b26"
+ foreground = "#c0caf5"
+ frame_color = "#c0caf5"
+
+[urgency_critical]
+ background = "#292e42"
+ foreground = "#db4b4b"
+ frame_color = "#db4b4b"
diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf
new file mode 100644
index 0000000..f4fd0ae
--- /dev/null
+++ b/config/hypr/hyprland.conf
@@ -0,0 +1,173 @@
+# vim: foldmethod=marker ts=2 sw=2
+
+# https://wiki.hyprland.org/Configuring/Variables/
+# https://wiki.hyprland.org/Configuring/Monitors/
+
+monitor=,highres,auto,1
+
+## variables {{{
+$mod = SUPER
+$terminal = kitty
+# }}}
+## auto start {{{
+exec-once = waybar &
+exec-once = hyprpaper &
+exec-once = dunst &
+exec-once = gsettings set org.gnome.desktop.interface font-name 'JetBrainsMono Nerd Font' &
+exec-once = blueman-applet
+# }}}
+## inputs {{{
+input {
+ kb_layout = us,ua
+ kb_variant =
+ kb_model =
+ kb_options = grp:win_space_toggle,grp:alt_shift_toggle,ctrl:nocaps
+ kb_rules =
+
+ follow_mouse = 1
+ sensitivity = 0.4 # -1.0 - 1.0, 0 means no modification.
+
+ touchpad {
+ middle_button_emulation = true
+ }
+}
+# }}}
+## general {{{
+general {
+ gaps_in = 2
+ gaps_out = 4
+ border_size = 2
+ col.active_border = rgba(7aa2f7aa)
+ col.inactive_border = rgba(414868aa)
+
+ layout = master # dwindle
+}
+# }}}
+## decorations {{{
+decoration {
+ rounding = 3
+
+ blur {
+ enabled = true
+ size = 3
+ passes = 1
+ }
+
+ drop_shadow = true
+ shadow_range = 4
+ shadow_render_power = 3
+ col.shadow = rgba(1a1a1aee)
+}
+# }}}
+## animations {{{
+animations {
+ enabled = false
+
+ bezier = myBezier, 0.05, 0.9, 0.1, 1.05
+ animation = windows, 1, 7, myBezier
+ animation = windowsOut, 1, 7, default, popin 80%
+ animation = border, 1, 10, default
+ animation = borderangle, 1, 8, default
+ animation = fade, 1, 7, default
+ animation = workspaces, 1, 6, default
+}
+# }}}
+## dwindle layout {{{
+# https://wiki.hyprland.org/Configuring/Dwindle-Layout
+dwindle {
+ pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = true # you probably want this
+ no_gaps_when_only = 1
+}
+# }}}
+## master layout {{{
+# https://wiki.hyprland.org/Configuring/Master-Layout
+master {
+ new_is_master = false
+ no_gaps_when_only = true
+}
+# }}}
+## misc {{{
+misc {
+ disable_hyprland_logo = true
+ disable_splash_rendering = true
+}
+# }}}
+## gestures {{{
+gestures {
+ workspace_swipe = true
+}
+# }}}
+## window rules {{{
+windowrule = workspace 1, title:(Postman)
+windowrule = workspace 2, title:(Firefox)
+windowrule = workspace 3, title:(kitty|Rider)
+windowrule = workspace 4, title:(Logseq|Anki)
+windowrule = workspace 5, title:(Telegram|Discord)
+# }}}
+## keymaps {{{
+ bind = $mod SHIFT, Return, exec, wofi --show drun
+ bind = $mod, Return, exec, $terminal
+ bind = $mod, q, killactive
+ bind = $mod SHIFT, Escape, exit
+ bind = $mod, f, togglefloating,
+ bind = ,Print,exec,grim
+ bind = $mod ALT, r, exec, hyprctl reload
+
+ ## sound {{{
+ bindl = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+
+ bindl = , XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-
+ bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+ bindl = , XF86AudioPlay, exec, playerctl play-pause
+ bindl = , XF86AudioNext, exec, playerctl next
+ bindl = , XF86AudioPrev, exec, playerctl previous
+ ## }}}
+ ## brightness {{{
+ bindl = , XF86MonBrightnessUp, exec, brightnessctl set +10%
+ bindl = , XF86MonBrightnessDown, exec, brightnessctl set 10%-
+ ## }}}
+ ## programs {{{
+ bind = $mod SHIFT, w, exec, firefox
+ bind = $mod SHIFT, f, exec, nautlius
+ ## }}}
+ ## layout spesific {{{
+ bind = $mod, P, pseudo, # dwindle
+ bind = $mod, J, togglesplit, # dwindle
+ # }}}
+ ## wm {{{
+ bind = $mod, h, movefocus, l
+ bind = $mod, j, movefocus, d
+ bind = $mod, k, movefocus, u
+ bind = $mod, l, movefocus, r
+
+ # Scroll through existing workspaces with mainMod + scroll
+ bind = $mod, mouse_down, workspace, e+1
+ bind = $mod, mouse_up, workspace, e-1
+
+ # Move/resize windows with mainMod + LMB/RMB and dragging
+ bindm = $mod, mouse:272, movewindow
+ bindm = $mod, mouse:273, resizewindow
+
+ ## workspaces {{{
+ bind = $mod, 1, workspace, 1
+ bind = $mod, 2, workspace, 2
+ bind = $mod, 3, workspace, 3
+ bind = $mod, 4, workspace, 4
+ bind = $mod, 5, workspace, 5
+ bind = $mod, 6, workspace, 6
+ bind = $mod, 7, workspace, 7
+ bind = $mod, 8, workspace, 8
+ bind = $mod, 9, workspace, 9
+
+ bind = $mod SHIFT, 1, movetoworkspace, 1
+ bind = $mod SHIFT, 2, movetoworkspace, 2
+ bind = $mod SHIFT, 3, movetoworkspace, 3
+ bind = $mod SHIFT, 4, movetoworkspace, 4
+ bind = $mod SHIFT, 5, movetoworkspace, 5
+ bind = $mod SHIFT, 6, movetoworkspace, 6
+ bind = $mod SHIFT, 7, movetoworkspace, 7
+ bind = $mod SHIFT, 8, movetoworkspace, 8
+ bind = $mod SHIFT, 9, movetoworkspace, 9
+ # }}}
+# }}}
+# }}}
diff --git a/config/hypr/hyprpaper.conf b/config/hypr/hyprpaper.conf
new file mode 100644
index 0000000..f2e9b07
--- /dev/null
+++ b/config/hypr/hyprpaper.conf
@@ -0,0 +1,2 @@
+preload = /home/olex/Pictures/wall.png
+wallpaper = ,/home/olex/Pictures/wall.png
diff --git a/config/kitty/kitty.conf b/config/kitty/kitty.conf
index 4d0f767..f453cb0 100644
--- a/config/kitty/kitty.conf
+++ b/config/kitty/kitty.conf
@@ -39,6 +39,7 @@ map alt+7 goto_tab 7
map alt+8 goto_tab 8
map alt+9 goto_tab 9
map ctrl+shift+t new_tab_with_cwd
+map ctrl+shift+f toggle_fullscreen
map ctrl+equal change_font_size all +1
map ctrl+minus change_font_size all -1
map ctrl+backspace change_font_size all 0
diff --git a/config/lazygit/config.yml b/config/lazygit/config.yml
index ac252e2..54dd2e0 100644
--- a/config/lazygit/config.yml
+++ b/config/lazygit/config.yml
@@ -2,29 +2,26 @@ confirmOnQuit: false
disableStartupPopups: true
notARepository: "skip"
promptToReturnFromSubprocess: true
-
gui:
- scrollHeight: 8 # how many lines you scroll by
- scrollPastBottom: false # enable scrolling past the bottom
- sidePanelWidth: .28
- expandFocusedSidePanel: true
- mainPanelSplitMode: "flexible" # one of 'horizontal' | 'flexible' | 'vertical'
- language: "en"
- timeFormat: "02 Jan 06 15:04 MST" # https://pkg.go.dev/time#Time.Format
- skipUnstageLineWarning: false
- skipStashWarning: false
- showFileTree: false
- showListFooter: false
- showRandomTip: false
- showBottomLine: false
- showCommandLog: true
- showIcons: true
-
+ scrollHeight: 8 # how many lines you scroll by
+ scrollPastBottom: false # enable scrolling past the bottom
+ sidePanelWidth: .28
+ expandFocusedSidePanel: true
+ mainPanelSplitMode: "flexible" # one of 'horizontal' | 'flexible' | 'vertical'
+ language: "en"
+ timeFormat: "02 Jan 06 15:04 MST" # https://pkg.go.dev/time#Time.Format
+ skipDiscardChangeWarning: false
+ skipStashWarning: false
+ showFileTree: false
+ showListFooter: false
+ showRandomTip: false
+ showBottomLine: false
+ showCommandLog: true
+ showIcons: true
git:
- autoFetch: true
- autoRefresh: true
- parseEmoji: true
-
+ autoFetch: true
+ autoRefresh: true
+ parseEmoji: true
keybinding:
- universal:
- jumpToBlock: ["5", "1", "2", "3", "4"]
+ universal:
+ jumpToBlock: ["5", "1", "2", "3", "4"]
diff --git a/config/waybar/config b/config/waybar/config
new file mode 100644
index 0000000..c05f9d4
--- /dev/null
+++ b/config/waybar/config
@@ -0,0 +1,106 @@
+// vim: ft=jsonc
+{
+ "position": "top",
+ "layer": "top",
+ "height": 14,
+ "margin-top": 0,
+ "margin-bottom": 0,
+ "margin-left": 0,
+ "margin-right": 0,
+ "modules-left": [
+ "hyprland/workspaces",
+ "hyprland/window"
+ ],
+ "modules-center": [
+ "clock",
+ "cpu"
+ ],
+ "modules-right": [
+ "memory",
+ "tray",
+ "backlight",
+ "battery",
+ "pulseaudio",
+ "network"
+ ],
+
+ // modules
+ "clock": {
+ "format": " {:%H:%M}",
+ "tooltip": "true",
+ "tooltip-format": "{:%Y %B}\n{calendar}",
+ "format-alt": " {:%d/%m}"
+ },
+
+ "hyprland/workspaces": {
+ "active-only": false,
+ "all-outputs": true,
+ "disable-scroll": false,
+ "on-scroll-up": "hyprctl dispatch workspace -1",
+ "on-scroll-down": "hyprctl dispatch workspace +1",
+ "format": "{icon}",
+ "on-click": "activate",
+ "sort-by-number": true,
+ "format-icons": {
+ "urgent": "",
+ "active": "",
+ "default": ""
+ },
+ "persistent_workspaces": { "*": 9 }
+ },
+
+ "hyprland/window": { "max-length": "40" },
+
+ "battery": {
+ "states": {
+ "good": 95,
+ "warning": 30,
+ "critical": 15
+ },
+ "format":"{icon} {capacity}%",
+ "format-charging":"{icon} {capacity}%",
+ "format-plugged": "{capacity}% ",
+ "format-alt": "{icon} {time}",
+ "format-icons": ["", "", "", "", ""]
+ },
+
+ "memory": {
+ "format": " {used}%",
+ "interval": 5
+ },
+
+ "cpu": {
+ "format": " {usage}%",
+ "format-alt": " {avg_frequency} GHz",
+ "interval": 5
+ },
+
+ "network": {
+ "format-wifi": " {essid}",
+ "format-linked": " {ifname} (No IP)",
+ "format-disconnected": "",
+ "format-alt": " {ifname}: {ipaddr}/{cidr}",
+ "tooltip-format": "{essid}",
+ "on-click-right": "nm-connection-editor"
+ },
+
+ "tray": {
+ "icon-size": 16,
+ "spacing": 5
+ },
+
+ "backlight": {
+ "format": "{icon} {percent}%",
+ "format-icons": ["", "", "", "", "", "", "", "", ""],
+ "on-scroll-up": "brightnessctl set +10%",
+ "on-scroll-down": "brightnessctl set 10%-"
+ },
+
+ "pulseaudio": {
+ "format": "{icon} {volume}%",
+ "format-muted": "",
+ "format-icons": { "default": ["", "", ""] },
+ "on-scroll-up": "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+",
+ "on-scroll-down": "wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"
+ }
+}
diff --git a/config/waybar/style.css b/config/waybar/style.css
new file mode 100644
index 0000000..802d4f4
--- /dev/null
+++ b/config/waybar/style.css
@@ -0,0 +1,50 @@
+@define-color bg-color #1a1b26;
+@define-color bg-darker-color #15161e;
+@define-color fg-color #c0caf5;
+@define-color active-bg-color #7aa2f7;
+@define-color active-fg-color #16161e;
+@define-color inactive-bg-color #292e42;
+@define-color inactive-fg-color #545c7e;
+@define-color green #73daca;
+@define-color red #db4b4b;
+
+* {
+ border: none;
+ border-radius: 0px;
+ font-family: Jetbrains Mono Nerd Font;
+ font-size: 14px;
+ font-style: normal;
+ min-height: 0;
+}
+
+window#waybar {
+ background: @bg-color;
+ border-bottom: 2px solid @inactive-bg-color;
+ color: @fg-color;
+}
+
+#cpu, #memory, #workspaces, #window, #tray, #clock, #battery, #pulseaudio, #network, #backlight {
+ background-color: @bg-darker-color;
+ color: @fg-color;
+ border-radius: 16px;
+ margin: 5px 5px 5px 5px;
+ padding: 0px 10px 0px 10px;
+}
+
+#workspaces button { color: @inactive-fg-color; }
+#workspaces button.active {
+ color: @active-bg-color;
+ background-color: transparent;
+ border-radius: 16px;
+}
+
+#workspaces button:hover {
+ background-color: @active-bg-color;
+ border-radius: 16px;
+ color: black;
+}
+
+#clock { font-weight: bold; }
+#battery.charging { color: @green; }
+#battery.warning:not(.charging) { color: @red; }
+#pulseaudio.muted { color: @red; }