Compare commits

..

67 Commits

Author SHA1 Message Date
b960e003ce [feat](cs2autoexec) added a new crosshair" 2025-09-23 23:38:12 +02:00
d804b2aca9 chore(config): update Hypr keybinds and CS:GO autoexec tweaks
Hypr:

        Add new powermenu shortcut ($powermenu, bind $mainMod+B)

        Split tmux launch into $term_tmux and $term_tmux_append with distinct binds

        Change alt-editor bind to Ctrl+E

        Swap taskman from uuctl walker -d to uuctl wofi

    CS:GO autoexec:

        Simplify jump/throw aliases to +jt/+ta/-jt !!not working anymore
        though because of some cs2 update

        Remap inspect to +lookatweapon

        Move combined jump-throw bind to R and Mouse4

        Reorder grenade buy keys (Z, C, V)

        Add voice record (Alt) and toggle (T) binds

        Extend numpad buy binds with KP_4 for silenced rifle

        Increase voice_scale to 0.7
2025-09-23 23:22:29 +02:00
5ee73af33d [feat](auto-start): Add %U argument to Exec line for VeSktop auto-start script, add Terminal=false
[feat](hyprland): Add new workspace for KeePassXC with float, size, and centered properties
[style](hyprland): Add workspace rules for communication applications and system applications
2025-09-22 20:29:29 +02:00
6b8532d304 feat(hypr): monitors/workspaces; tuning; chore(waybar,theme)
- theme: add conf.d/theme.conf symlink -> rose-pine.conf
- cursor: set inactive_timeout=0; zoom_factor=1.0; zoom_rigid=false; enable_hyprcursor=true; sync_gsettings_theme=true
- decoration: enable dim_modal
- animations: add specialWorkspace (easeOutQuint, slidevert)
- master: allow_small_split=false; special_scale_factor=0.8; drop_at_cursor=true
- misc: enable vfr=true (keep vrr=2)
- groups: enable render_titles, scrolling; set priority=3
- monitors: add monitorv2 (DP-1 1920x1080@60 @ 0x0; DP-2 1920x1080@144 @ 1920x0, vrr=1)
- workspaces: map 1–5 -> DP-1; 6–10 -> DP-2 (nwg-displays generated)
- waybar: change on-click to "kitty --hold alhp.utils -j"
2025-09-16 17:07:49 +02:00
3ea7d8230c [feat](cs2autoexec) added some settings" 2025-09-13 02:11:31 +02:00
9161dd0311 [fix] removed gestures from hyprland because of update 2025-09-12 22:16:12 +02:00
77d1a4556f [feat](waybar) added alhp module to waybar 2025-09-11 21:06:51 +02:00
91d4729dfa [feat](waybar): Add support for custom/alhp module
[feat](waybar): Add support for custom/alhp module
2025-09-11 20:32:27 +02:00
daeeabddb0 chore(aliases): Updated yadmai-interactive and yadmai-msg aliases to use yadm diff --stage and removed git diff --cached. 2025-09-11 15:58:42 +02:00
e9e6e7a1b1 feat(aliases): Add interactive commit message generation alias using ollama 2025-09-11 15:33:30 +02:00
5ca1977b03 [feat](aliases): Update aliases to use git-change-g3n2b for diff processing and commit message generation.
[refactor](aliases):  The `gaids` alias was refactored to use `git-change-g3n2b` for diff processing.
[feat](aliases): The `gai-interactive` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
[feat](aliases): The `gai-summaary` alias was refactored to use `git-change-g3n2b` for diff processing.
[feat](aliases): The `gai-msg` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
[feat](aliases): The `gai-all` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
[feat](aliases): The `gaicm` alias was refactored to use `git-change-g3n2b` for diff processing and commit message generation.
2025-09-11 15:19:17 +02:00
c022de5a1e feat(zsh): Implement aliases for git diff, commit message generation, and AI-generated commits 2025-09-11 15:11:34 +02:00
5983f3154a feat: Update GTK theme and icons, and adjust Hyprland keybindings
This commit updates the GTK theme to 'rose-pine-gtk' and its associated icon theme to 'rose-pine-icons'.  It also modifies Hyprland keybindings for applications like KeePassXC and adjusts the launcher.
2025-09-09 00:11:44 +02:00
a09095ebc0 autostart files 2025-08-26 15:18:30 +02:00
9afa23d32b added laptop symlink for waybar 2025-08-26 15:16:47 +02:00
1f2a2d2908 added laptop symlink for waybar 2025-08-26 15:15:34 +02:00
1cad14c6b8 waybar config to symlink; 2025-08-26 15:05:52 +02:00
4b78d86a2b added autostart files 2025-08-26 14:58:53 +02:00
11e6d2e510 fixed gamma 2025-08-26 05:53:06 +02:00
b69b54790a fixed gamma 2025-08-26 05:50:03 +02:00
0fa2292e3c added hyprsunset config 2025-08-26 05:46:37 +02:00
f372a94266 new wallpapers fitting for the rosé pine style and gave spotify a theme 2025-08-26 05:41:34 +02:00
c07202ac58 fine tuned the network and made the gaps fitting 2025-08-26 03:12:22 +02:00
eb6cf09597 moved modules of waybar 2025-08-26 03:00:31 +02:00
fe19724470 added swaync and hyprsunset modules to waybar 2025-08-26 02:59:06 +02:00
1e660e8168 added walker rose-pine and reworked some waybar stuff 2025-08-26 00:34:59 +02:00
9b9dfd0b73 updated eww and hyprpaper for new graka 2025-08-23 18:54:47 +02:00
76f1e4fd86 small changes to mouse follow 2025-07-29 05:23:39 +02:00
cd9c6c0a24 hyprland switch to master layout 2025-07-28 21:04:43 +02:00
2d63eb7a4e some small stuff 2025-07-28 20:30:08 +02:00
53cd3c48e2 compose now already added by ultimatekeys 2025-07-20 19:14:28 +02:00
0b40bb76bc changed keymap to ultimate keys 2025-07-20 19:13:07 +02:00
5662ff524a changed theme to rosé pine 2025-07-19 23:21:59 +02:00
778971eead Merge branch 'main' of somegit.dev:mpuchstein/dotfiles 2025-06-29 17:40:39 +02:00
e3bd600df6 update 2025-06-29 17:40:26 +02:00
bff11dec1a changed wallpaper 2025-05-30 08:26:58 +02:00
342d79f7b3 input lag from satty fixed 2025-05-25 17:14:31 +02:00
78bdcf9300 made sure satty is floating 2025-05-25 16:54:47 +02:00
645d1185ed added satty conf 2025-05-24 16:04:22 +02:00
9bdae56013 minimum size for satty 2025-05-24 04:10:15 +02:00
a5cd9a3365 small changes to latex plugs 2025-05-21 13:39:24 +02:00
4be26f09fd added tpm as submodule 2025-05-21 02:04:26 +02:00
5dbe155c50 added tpm as submodule 2025-05-21 00:18:11 +02:00
5a4c1fa472 added tmux 2025-05-17 16:44:12 +02:00
e828cd7c06 Merge branch 'main' of somegit.dev:mpuchstein/dotfiles 2025-05-16 22:03:47 +02:00
6f2a477f5d changed lockscreen pic 2025-05-16 22:02:57 +02:00
25aabb157f fixed hyprlock for owlenlap02 2025-05-16 22:00:40 +02:00
1db7b4a9e7 removed workspaces again 2025-05-16 11:26:58 +02:00
ae70eb000f added nvim obsidian 2025-05-16 09:51:27 +02:00
ea22a78387 removed monitors config again 2025-05-15 18:52:38 +02:00
92e48b9495 fresh colors 2025-05-13 20:24:51 +02:00
5101718c2a some small ew fixes 2025-05-13 09:22:21 +02:00
ce136de488 fixed his seach 2025-05-09 19:26:49 +02:00
8b9a566886 added scrrec to hyprland 2025-05-09 19:19:15 +02:00
90f0f78d43 small updates 2025-05-09 18:39:50 +02:00
d9157c6b09 removed specific hyprpaper 2025-05-06 10:09:25 +02:00
1b71f535d6 updated some community plugs 2025-05-03 16:39:15 +02:00
232f5fce8d updated astrocommunity pkgs and colortheme 2025-05-03 16:22:41 +02:00
0896de2c4f switched to astronvim; 2025-05-03 15:37:14 +02:00
2537ad9ac9 removed signal from autostart 2025-05-02 23:55:53 +02:00
b00b9f9d74 added .gitignore to nvim 2025-05-02 11:37:00 +02:00
5b8e95ea40 removed the lock file 2025-05-02 11:33:37 +02:00
94eb56a447 some qol hyprland changes 2025-05-02 11:32:45 +02:00
d4980add5c some qol hyprland changes 2025-05-02 11:29:34 +02:00
7cf0fc7ca5 started some work vimlatex 2025-05-02 09:51:58 +02:00
75ab68f8dc created a tokyo night theme for hyprland 2025-04-08 16:57:24 +02:00
f8decdb9c4 created a tokyo night theme for hyprland 2025-04-08 16:55:15 +02:00
136 changed files with 7882 additions and 7352 deletions

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Elephant
Comment=A powerful data provider backend for building custom application launchers and desktop utilities.
Exec=elephant
Icon=applications-other
Terminal=false
Categories=Utility;
Keywords=backend;data-provider;launcher;desktop;utility;

View File

@@ -1,4 +0,0 @@
[Desktop Entry]
Exec=/home/mpuchstein/.local/bin/eww open topbar_owlenlap02
Name=eww
Type=Application

View File

@@ -0,0 +1 @@
/usr/share/applications/io.element.Element.desktop

View File

@@ -1,5 +1,5 @@
[Desktop Entry] [Desktop Entry]
Icon=/home/mpuchstein/.local/share/JetBrains/Toolbox/toolbox.svg Icon=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/toolbox.svg
Exec=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox --minimize Exec=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox --minimize
Version=1.0 Version=1.0
Type=Application Type=Application

View File

@@ -1,4 +0,0 @@
[Desktop Entry]
Exec=/usr/bin/signal-desktop
Name=signal-desktop
Type=Application

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=Waybar
Comment=Start Waybar on login
Exec=waybar
TryExec=waybar
Icon=waybar
Terminal=false

View File

@@ -1,8 +0,0 @@
[Desktop Entry]
Name=Easy Effects
Comment=Easy Effects Service
Exec=easyeffects --gapplication-service
Icon=com.github.wwmm.easyeffects
StartupNotify=false
Terminal=false
Type=Application

View File

@@ -1,4 +0,0 @@
[Desktop Entry]
Exec=/usr/bin/signal-desktop
Name=signal-desktop
Type=Application

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Elephant
Comment=A powerful data provider backend for building custom application launchers and desktop utilities.
Exec=elephant
Icon=applications-other
Terminal=false
Categories=Utility;
Keywords=backend;data-provider;launcher;desktop;utility;

View File

@@ -1,4 +0,0 @@
[Desktop Entry]
Exec=/home/mpuchstein/.local/bin/eww open-many topbar_DP-2 topbar_DP-3
Name=eww
Type=Application

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
Name=Mumble
GenericName=Voice Chat
GenericName[de]=Sprachkonferenz
GenericName[fr]=Chat vocal
Comment=Open source, low-latency, high quality voice chat.
Comment[de]=Ein Open Source Sprachkonferenzprogramm mit niedriger Latenz und hoher Qualität
Comment[fr]=Un logiciel de chat vocal de haute qualité et de faible latence
Exec=mumble %u
Icon=mumble
Terminal=false
Type=Application
StartupNotify=false
StartupWMClass=mumble
MimeType=x-scheme-handler/mumble;
Categories=Network;Chat;Qt;
Keywords=VoIP;Messaging;Voice Chat;Secure Communication;
Version=1.0

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Name=Element
Comment=Feature-rich client for Matrix
Exec=/usr/bin/element-desktop --password-store="gnome-libsecret" %u
Terminal=false
Type=Application
Icon=io.element.Element
StartupWMClass=Element
Categories=Network;InstantMessaging;Chat;IRCClient
MimeType=x-scheme-handler/element;

View File

@@ -1,5 +1,5 @@
[Desktop Entry] [Desktop Entry]
Icon=/home/mpuchstein/.local/share/JetBrains/Toolbox/toolbox.svg Icon=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/toolbox.svg
Exec=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox --minimize Exec=/home/mpuchstein/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox --minimize
Version=1.0 Version=1.0
Type=Application Type=Application

View File

@@ -1,4 +0,0 @@
[Desktop Entry]
Exec=/usr/bin/signal-desktop
Name=signal-desktop
Type=Application

View File

@@ -0,0 +1,12 @@
[Desktop Entry]
Name=Vesktop
Exec=vesktop %U
Terminal=false
Type=Application
Icon=vesktop
StartupWMClass=vesktop
GenericName=Internet Messenger
Categories=Network;
Keywords=discord;vencord;electron;chat;
MimeType=x-scheme-handler/discord;
Comment=Vesktop is a custom Discord desktop app

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Type=Application
Name=Waybar
Comment=Start Waybar on login
Exec=waybar
TryExec=waybar
Icon=waybar
Terminal=false

View File

@@ -1,5 +1,5 @@
(include "./widgets.yuck") (include "./widgets.yuck")
(include "./topbar_dp1.yuck")
(include "./topbar_dp2.yuck") (include "./topbar_dp2.yuck")
(include "./topbar_dp3.yuck")
(include "./topbar_owlenlap02.yuck") (include "./topbar_owlenlap02.yuck")

BIN
.config/eww/eww.zip Normal file

Binary file not shown.

View File

@@ -1,5 +1,5 @@
(defwindow topbar_DP-3 (defwindow topbar_DP-1
:monitor "DP-3" :monitor "DP-1"
:geometry (geometry :x "0%" :geometry (geometry :x "0%"
:y "0%" :y "0%"
:width "90%" :width "90%"
@@ -9,37 +9,42 @@
:exclusive true :exclusive true
:reserve (struts :side "top" :distance "4%") :reserve (struts :side "top" :distance "4%")
:windowtype "dock" :windowtype "dock"
(bar1)) (bar0))
(defwidget bar1 [] (defwidget bar0 []
(centerbox :orientation "h" (centerbox :orientation "h"
(bar1_left) (bar0_left)
(bar1_center) (bar0_center)
(bar1_right))) (bar0_right)))
(defwidget bar1_left [] (defwidget bar0_left []
(box :orientation 'h' (box :orientation 'h'
:class: 'left' :class: 'left'
:space-evenly false :space-evenly false
:spacing 5 :spacing 5
:halign 'start' :halign 'start'
(hypr_workspaces))) (hypr_workspaces)
(hypr_active_window)))
(defwidget bar1_center [] (defwidget bar0_center []
(box :orientation 'h' (box :orientation 'h'
:class 'center' :class 'center'
:space-evenly false :space-evenly false
:spacing 5 :spacing 5
(media)
(hyprscreencast)
(sysmon))) (sysmon)))
(defwidget bar1_right [] (defwidget bar0_right []
(box (box
:orientation 'h' :orientation 'h'
:class 'right' :class 'right'
:space-evenly false :space-evenly false
:spacing 5 :spacing 5
:halign 'end' :halign 'end'
(media) (hyprsunset)
(hyprscreencast) (datetime)
(datetime))) (stray)
(volume)
(swaync)))

View File

@@ -9,42 +9,37 @@
:exclusive true :exclusive true
:reserve (struts :side "top" :distance "4%") :reserve (struts :side "top" :distance "4%")
:windowtype "dock" :windowtype "dock"
(bar0)) (bar1))
(defwidget bar0 [] (defwidget bar1 []
(centerbox :orientation "h" (centerbox :orientation "h"
(bar0_left) (bar1_left)
(bar0_center) (bar1_center)
(bar0_right))) (bar1_right)))
(defwidget bar0_left [] (defwidget bar1_left []
(box :orientation 'h' (box :orientation 'h'
:class: 'left' :class: 'left'
:space-evenly false :space-evenly false
:spacing 5 :spacing 5
:halign 'start' :halign 'start'
(hypr_workspaces) (hypr_workspaces)))
(hypr_active_window)))
(defwidget bar0_center [] (defwidget bar1_center []
(box :orientation 'h' (box :orientation 'h'
:class 'center' :class 'center'
:space-evenly false :space-evenly false
:spacing 5 :spacing 5
(media)
(hyprscreencast)
(sysmon))) (sysmon)))
(defwidget bar0_right [] (defwidget bar1_right []
(box (box
:orientation 'h' :orientation 'h'
:class 'right' :class 'right'
:space-evenly false :space-evenly false
:spacing 5 :spacing 5
:halign 'end' :halign 'end'
(hyprsunset) (media)
(datetime) (hyprscreencast)
(stray) (datetime)))
(volume)
(swaync)))

View File

@@ -1,20 +1,20 @@
@import 'widgets'; @import "widgets";
* { * {
all: unset; all: unset;
} }
tooltip { tooltip {
background: #2E3440; background: #2e3440;
color: #E5E6E7; color: #e5e6e7;
border-radius: 1.5rem 1rem; border-radius: 1.5rem 1rem;
border: 1px solid #6F7175; border: 1px solid #6f7175;
} }
.popup { .popup {
background: #2E3440; background: #2e3440;
color: #E5E6E7; color: #e5e6e7;
border: 1px solid #6F7175; border: 1px solid #6f7175;
} }
.popup menuitem:hover { .popup menuitem:hover {
@@ -26,22 +26,9 @@ window {
color: transparent; color: transparent;
* { * {
font-family: 'Inconsolata Go Nerd Font'; font-family: "Inconsolata Go Nerd Font";
font-size: 0.85rem; font-size: 0.85rem;
border-radius: 1.5rem 1rem; border-radius: 1.5rem 1rem;
padding: 2px 6px; padding: 2px 6px;
} }
/* Modules */
.left {
//background: orange;
}
.center {
//background: blue;
}
.right {
//background: yellow;
}
} }

View File

@@ -3,7 +3,7 @@
:geometry (geometry :x "0%" :geometry (geometry :x "0%"
:y "0%" :y "0%"
:width "90%" :width "90%"
:height "10px" :height "1%"
:anchor "top center") :anchor "top center")
:stacking "bg" :stacking "bg"
:exclusive true :exclusive true
@@ -32,7 +32,6 @@
:class 'center' :class 'center'
:space-evenly false :space-evenly false
:spacing 5 :spacing 5
(media)
(hyprscreencast) (hyprscreencast)
(sysmon))) (sysmon)))
@@ -41,7 +40,7 @@
:orientation 'h' :orientation 'h'
:class 'right' :class 'right'
:space-evenly false :space-evenly false
:spacing 5 :spacing 2
:halign 'end' :halign 'end'
(hyprsunset) (hyprsunset)
(datetime) (datetime)

View File

@@ -11,6 +11,3 @@
? "eww update display-fix=on && nohup hyprsunset -t ${temperature} > /dev/null 2>&1 &" ? "eww update display-fix=on && nohup hyprsunset -t ${temperature} > /dev/null 2>&1 &"
: "eww update display-fix=off && pkill hyprsunset"}` : "eww update display-fix=off && pkill hyprsunset"}`
`${display-fix == "off" ? "󰛨 Off" : "󱩌 On"}`))) `${display-fix == "off" ? "󰛨 Off" : "󱩌 On"}`)))

View File

@@ -1,5 +1,8 @@
file:///home/mpuchstein/Documents/ file:///home/mpuchstein/Documents/personal
file:///home/mpuchstein/Pictures/ file:///home/mpuchstein/Documents/uni uni
file:///home/mpuchstein/Music/ file:///home/mpuchstein/Documents
file:///home/mpuchstein/Nextcloud/ file:///home/mpuchstein/Pictures
file:///home/mpuchstein/Downloads/ file:///home/mpuchstein/Music
file:///home/mpuchstein/Nextcloud
file:///home/mpuchstein/Downloads
file:///home/mpuchstein/Documents/uni/ss25/AD/Vorlesung Vorlesung

View File

@@ -1,8 +1,8 @@
[Settings] [Settings]
gtk-theme-name=Adwaita gtk-theme-name=rose-pine-gtk
gtk-icon-theme-name=Adwaita gtk-icon-theme-name=rose-pine-icons
gtk-font-name=InconsolataGo Nerd Font 9 gtk-font-name=InconsolataGo Nerd Font 9
gtk-cursor-theme-name=AC-Volantes gtk-cursor-theme-name=volantes
gtk-cursor-theme-size=24 gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
@@ -14,4 +14,4 @@ gtk-xft-antialias=1
gtk-xft-hinting=1 gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=1 gtk-application-prefer-dark-theme=0

View File

@@ -3,3 +3,4 @@
# and ~/.config/autostart # and ~/.config/autostart
exec-once = wl-paste --type text --watch cliphist store exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store exec-once = wl-paste --type image --watch cliphist store
exec-once = wl-clip-persist --clipboard regular

View File

@@ -0,0 +1,97 @@
#######################################
### CATTPUCCIN MOCHA HYPRLAND THEME ###
#######################################
$rosewater = rgb(f5e0dc)
$rosewaterAlpha = f5e0dc
$flamingo = rgb(f2cdcd)
$flamingoAlpha = f2cdcd
$pink = rgb(f5c2e7)
$pinkAlpha = f5c2e7
$mauve = rgb(cba6f7)
$mauveAlpha = cba6f7
$red = rgb(f38ba8)
$redAlpha = f38ba8
$maroon = rgb(eba0ac)
$maroonAlpha = eba0ac
$peach = rgb(fab387)
$peachAlpha = fab387
$yellow = rgb(f9e2af)
$yellowAlpha = f9e2af
$green = rgb(a6e3a1)
$greenAlpha = a6e3a1
$teal = rgb(94e2d5)
$tealAlpha = 94e2d5
$sky = rgb(89dceb)
$skyAlpha = 89dceb
$sapphire = rgb(74c7ec)
$sapphireAlpha = 74c7ec
$blue = rgb(89b4fa)
$blueAlpha = 89b4fa
$lavender = rgb(b4befe)
$lavenderAlpha = b4befe
$text = rgb(cdd6f4)
$textAlpha = cdd6f4
$subtext1 = rgb(bac2de)
$subtext1Alpha = bac2de
$subtext0 = rgb(a6adc8)
$subtext0Alpha = a6adc8
$overlay2 = rgb(9399b2)
$overlay2Alpha = 9399b2
$overlay1 = rgb(7f849c)
$overlay1Alpha = 7f849c
$overlay0 = rgb(6c7086)
$overlay0Alpha = 6c7086
$surface2 = rgb(585b70)
$surface2Alpha = 585b70
$surface1 = rgb(45475a)
$surface1Alpha = 45475a
$surface0 = rgb(313244)
$surface0Alpha = 313244
$base = rgb(1e1e2e)
$baseAlpha = 1e1e2e
$mantle = rgb(181825)
$mantleAlpha = 181825
$crust = rgb(11111b)
$crustAlpha = 11111b
$splash_text = rgba($textAlphaee)
$dec_shadow = rgba($surface0Alpha88)
$border_active = rgba($pinkAlphaff) rgba($mauveAlphaff) 45deg
$border_inactive = rgba($redAlphabb) rgba($mauveAlphabb) 45deg
$border_nogroup_active = rgba($tealAlphaff) rgba($yellowAlphaff) 45deg
$border_nogroup_inactive = rgba($tealAlphaaa) rgba($yellowAlphaff) 45deg
$border_group_active = rgba($sapphireAlphaff) rgba($lavenderAlphaff) 45deg
$border_group_inactive = rgba($blueAlphadd) rgba($peachAlphadd) 45deg
$border_grouplocked_active = rgba($maroonAlphaff) rgba(f7767eff) 45deg
$border_grouplocked_inactive = rgba(ff007caa) rgba(f7767eff) 45deg
$groupbar_text = rgba($baseAlphaff)
$groupbar_active = rgba($sapphireAlphaff) rgba($lavenderAlphaaa)
$groupbar_inactive = rgba($blueAlphaee) rgba($lavenderAlphaaa)
$groupbar_grouplocked_active = rgba($tealAlphaff) rgba($greenAlphaff)
$groupbar_grouplocked_inactive = rgba($tealAlphaaa) rgba($greenAlphaaa)

View File

@@ -0,0 +1,18 @@
##################################
### TOKYO NIGHT HYPRLAND THEME ###
##################################
$splash_text = rgba(ffffffff)
$dec_shadow = rgba(1a1a1aee)
$border_active = rgba(33ccffee) rgba(00ff99ee) 45deg
$border_inactive = rgba(595959aa)
$border_nogroup_active =
$border_nogroup_inactive =
$border_group_active = 0x66ffff00
$border_group_inactive = 0x66777700
$border_grouplocked_active = 0x66ff5500
$border_grouplocked_inactive = 0x66ff5500
$groupbar_text = 0xffffffff
$groupbar_active = 0x66ffff00
$groupbar_inactive = 0x66777700
$groupbar_grouplocked_active = 0x66ff5500
$groupbar_grouplocked_inactive = 0x66775500

View File

@@ -5,15 +5,19 @@
# Set programs that you use # Set programs that you use
$terminal = uwsm app -T $terminal = uwsm app -T
$terminal_backup = uwsm app -- kitty $terminal_backup = uwsm app -- kitty
$term_tmux = uwsm app -- kitty tmux
$term_tmux_append = uwsm app -- kitty tmux a
$filemanager = uwsm app -- nautilus $filemanager = uwsm app -- nautilus
$launcher = uwsm app -- walker $launcher = uwsm app -- sherlock
$clipboard = uwsm app -- nwg-clipman $powermenu = uwsm app -- sherlock -sm pm
$browser = uwsm app -- zen-browser $clipman = uwsm app -- sherlock-clp | sherlock | cliphist decode | wl-copy
$browserprv = uwsm app -- zen-browser --private-window $browser = uwsm app -- firefox
$editor = uwsm app -T -- vim $browserprv = uwsm app -- firefox --private-window
$editor0 = uwsm app -- zeditor $altbrowser = uwsm app -- chromium
$clipman = uwsm app -- nwg-clipman $editor = uwsm app -T -- nvim
$taskman = uwsm app -- uuctl walker -d $alteditor = uwsm app -- zeditor
$taskman = uwsm app -- uuctl wofi
$pwdmgr = uwsm app -- keepassxc
$notcenter = uwsm app -- swaync-client -t -sw $notcenter = uwsm app -- swaync-client -t -sw
$notdnd = uwsm app -- swaync-client -d $notdnd = uwsm app -- swaync-client -d
$nothide = uwsm app -- swaync-client --hide-latest $nothide = uwsm app -- swaync-client --hide-latest
@@ -31,13 +35,18 @@ $mainMod = SUPER
bind = $mainMod, E, exec, $filemanager bind = $mainMod, E, exec, $filemanager
bind = $mainMod, W, exec, $browser bind = $mainMod, W, exec, $browser
bind = $mainMod SHIFT, W, exec, $browserprv bind = $mainMod SHIFT, W, exec, $browserprv
bind = $mainMod CTRL, W, exec, $altbrowser
bind = $mainMod Shift, E, exec, $editor bind = $mainMod Shift, E, exec, $editor
bind = $mainMod Shift ALT_L, E, exec, $editor0 bind = $mainMod CTRL, E, exec, $alteditor
bind = $mainMod, X, exec, $launcher bind = $mainMod, X, exec, $launcher
bind = $mainMod, B, exec, $powermenu
bind = $mainMod, C, exec, $clipman bind = $mainMod, C, exec, $clipman
bind = $mainMod, Return, exec, $terminal_backup bind = $mainMod, Return, exec, $terminal_backup
bind = $mainMod SHIFT, Return, exec, $terminal bind = $mainMod SHIFT, Return, exec, $term_tmux
bind = $mainMod ALT_L, Return, exec, $term_tmux_append
bind = $mainMod CTRL, Return, exec, $terminal
bind = $mainMod, Escape, exec, $taskman bind = $mainMod, Escape, exec, $taskman
bind = $mainMod, R, exec, $pwdmgr
bind = $mainMod, Grave, exec, $notcenter bind = $mainMod, Grave, exec, $notcenter
bind = $mainMod SHIFT, Grave, exec, $notdnd bind = $mainMod SHIFT, Grave, exec, $notdnd
@@ -45,7 +54,6 @@ bind = $mainMod, A, exec, $nothide
bind = $mainMod SHIFT, A, exec, $notclose bind = $mainMod SHIFT, A, exec, $notclose
bind = $mainMod CTRL, A, exec, $notcloseall bind = $mainMod CTRL, A, exec, $notcloseall
bind = $mainMod SHIFT, Pause, exec, uwsm stop bind = $mainMod SHIFT, Pause, exec, uwsm stop
bind = $mainMod, Pause, exec, $lockcmd bind = $mainMod, Pause, exec, $lockcmd
bind = $mainMod SHIFT, Escape, exec, $lockcmd bind = $mainMod SHIFT, Escape, exec, $lockcmd
@@ -64,6 +72,12 @@ bind = $mainMod SHIFT, Tab, togglesplit,
bind = $mainMod CTRL, Tab, layoutmsg, movetoroot bind = $mainMod CTRL, Tab, layoutmsg, movetoroot
bind = $mainMod, P, pseudo, bind = $mainMod, P, pseudo,
#master layout
bind = $mainMod, Tab, layoutmsg, swapwithmaster
bind = $mainMod SHIFT, Tab, layoutmsg, addmaster
bind = $mainMod CTRL, Tab, layoutmsg, removemaster
bind = $mainMod CTRL SHIFT, Tab, layoutmsg, rollnext
# MOVE FOCUS with mainMod + vim keys # MOVE FOCUS with mainMod + vim keys
bind = $mainMod, H, movefocus, l bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r bind = $mainMod, L, movefocus, r
@@ -82,6 +96,9 @@ bind = $mainMod CTRL, l, resizeactive,25 0
bind = $mainMod CTRL, k, resizeactive,0 -25 bind = $mainMod CTRL, k, resizeactive,0 -25
bind = $mainMod CTRL, j, resizeactive,0 25 bind = $mainMod CTRL, j, resizeactive,0 25
# Special workspaces
bind = $mainMod, N, togglespecialworkspace, keepass
# SWITCH WORKSPACES with mainMod + [0-9] # SWITCH WORKSPACES with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1 bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2 bind = $mainMod, 2, workspace, 2
@@ -145,11 +162,21 @@ bindel = SHIFT ,XF86AudioRaiseVolume, exec, swayosd-client --input-volume raise
bindel = SHIFT ,XF86AudioLowerVolume, exec, swayosd-client --input-volume lower --max-volume 150 bindel = SHIFT ,XF86AudioLowerVolume, exec, swayosd-client --input-volume lower --max-volume 150
bindel = SHIFT ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle bindel = SHIFT ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle
# Zoom control
bind = $mainMod, M, exec, hyprctl keyword cursor:zoom_factor 2
bind = $mainMod SHIFT, M, exec, hyprctl keyword cursor:zoom_factor 1
# Requires playerctl # Requires playerctl
bindl = , XF86AudioNext, exec, swayosd-client --playerctl next bindl = , XF86AudioNext, exec, swayosd-client --playerctl next
bindl = , XF86AudioPause, exec, swayosd-client --playerctl play-pause bindl = , XF86AudioPause, exec, swayosd-client --playerctl play-pause
bindl = , XF86AudioPlay, exec, swayosd-client --playerctl play-pause bindl = , XF86AudioPlay, exec, swayosd-client --playerctl play-pause
bindl = , XF86AudioPrev, exec, swayosd-client --playerctl previous bindl = , XF86AudioPrev, exec, swayosd-client --playerctl previous
# Screenshot and recording controls
bind = , Print, exec, grimblast --notify copy output bind = , Print, exec, grimblast --notify copy output
bind = CTRL, Print, exec, grimblast --notify edit output
bind = $mainMod, Print, exec, grimblast --notify edit area bind = $mainMod, Print, exec, grimblast --notify edit area
bind = ALT_L, Print, exec, grimblast --notify copy screen
bind = ALT_L SHIFT, Print, exec, grimblast --notify edit screen
bind = SHIFT, Print, exec, uwsm app -- kitty --app-id=scrrec wf-recorder -f ~/Videos/scrrec.mkv -y -g "$(slurp)"

View File

@@ -0,0 +1,72 @@
#####################################
### ROSÉ PINE HYPRLAND THEME ###
#####################################
# Base colors
$base = rgb(191724)
$baseAlpha = 191724
$surface = rgb(1f1d2e)
$surfaceAlpha = 1f1d2e
$overlay = rgb(26233a)
$overlayAlpha = 26233a
$muted = rgb(6e6a86)
$mutedAlpha = 6e6a86
$subtle = rgb(908caa)
$subtleAlpha = 908caa
$text = rgb(e0def4)
$textAlpha = e0def4
# Accent colors
$love = rgb(eb6f92)
$loveAlpha = eb6f92
$gold = rgb(f6c177)
$goldAlpha = f6c177
$rose = rgb(ebbcba)
$roseAlpha = ebbcba
$pine = rgb(31748f)
$pineAlpha = 31748f
$foam = rgb(9ccfd8)
$foamAlpha = 9ccfd8
$iris = rgb(c4a7e7)
$irisAlpha = c4a7e7
# Highlight variants
$highlight_low = rgb(21202e)
$highlight_lowAlpha = 21202e
$highlight_med = rgb(403d52)
$highlight_medAlpha = 403d52
$highlight_high = rgb(524f67)
$highlight_highAlpha = 524f67
# Theme-specific definitions
$splash_text = rgba($textAlphaee)
$dec_shadow = rgba($overlayAlpha88)
# Border configurations
$border_active = rgba($roseAlphaff) rgba($irisAlphaff) 45deg
$border_inactive = rgba($mutedAlphabb) rgba($subtleAlphabb) 45deg
$border_nogroup_active = rgba($pineAlphaff) rgba($foamAlphaff) 45deg
$border_nogroup_inactive = rgba($pineAlphaaa) rgba($foamAlphaaa) 45deg
$border_group_active = rgba($irisAlphaff) rgba($loveAlphaff) 45deg
$border_group_inactive = rgba($mutedAlphadd) rgba($subtleAlphadd) 45deg
$border_grouplocked_active = rgba($goldAlphaff) rgba($roseAlphaff) 45deg
$border_grouplocked_inactive = rgba($goldAlphaaa) rgba($roseAlphaaa) 45deg
# Group bar configurations
$groupbar_text = rgba($baseAlphaff)
$groupbar_active = rgba($roseAlphaff) rgba($irisAlphaaa)
$groupbar_inactive = rgba($mutedAlphaee) rgba($subtleAlphaaa)
$groupbar_grouplocked_active = rgba($goldAlphaff) rgba($loveAlphaff)
$groupbar_grouplocked_inactive = rgba($goldAlphaaa) rgba($loveAlphaaa)

View File

@@ -0,0 +1 @@
rose-pine.conf

View File

@@ -0,0 +1,18 @@
##################################
### TOKYO NIGHT HYPRLAND THEME ###
##################################
$splash_text = rgba(a9b1d6ee)
$dec_shadow = rgba(737aa2ee)
$border_active = rgba(9ece6aff) rgba(7aa2f7ff) 45deg
$border_inactive = rgba(9d7cd8aa) rgba(7aa2f7ff) 45deg
$border_nogroup_active = rgba(7aa2f7ff) rgba(89ddffff) 45deg
$border_nogroup_inactive = rgba(7aa2f7aa) rgba(89ddffaa) 45deg
$border_group_active = rgba(ff9e64ff) rgba(ff0e64ff) 45deg
$border_group_inactive = rgba(ff9e64aa) rgba(ff0e64aa) 45deg
$border_grouplocked_active = rgba(ff007cff) rgba(f7767eff) 45deg
$border_grouplocked_inactive = rgba(ff007caa) rgba(f7767eff) 45deg
$groupbar_text = rgba(1f2335ff)
$groupbar_active = rgba(ff9e64ee) rgba(ff9e6499)
$groupbar_inactive = rgba(ff9e64bb) rgba(ff9e6499)
$groupbar_grouplocked_active = rgba(ff007cee) rgba(ff007c99)
$groupbar_grouplocked_inactive = rgba(ff007cbb) rgba(ff007c99)

View File

@@ -15,6 +15,12 @@ source = ~/.config/hypr/workspaces.conf
source = ~/.config/hypr/conf.d/autostart.conf source = ~/.config/hypr/conf.d/autostart.conf
##############
### COLORS ###
##############
source = ~/.config/hypr/conf.d/theme.conf
############################# #############################
### ENVIRONMENT VARIABLES ### ### ENVIRONMENT VARIABLES ###
############################# #############################
@@ -30,13 +36,15 @@ source = ~/.config/hypr/conf.d/autostart.conf
# https://wiki.hyprland.org/Configuring/Variables/#general # https://wiki.hyprland.org/Configuring/Variables/#general
general { general {
gaps_in = 5 gaps_in = 5
gaps_out = 0, 10, 10, 10 gaps_out = 5,5,5,5
border_size = 1 border_size = 2
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.active_border = $border_active
col.inactive_border = rgba(595959aa) col.inactive_border = $border_inactive
col.nogroup_border = $border_nogroup_inactive
col.nogroup_border_active = $border_nogroup_active
# Set to true enable resizing windows by clicking and dragging on borders and gaps # Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false resize_on_border = false
@@ -44,9 +52,26 @@ general {
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false allow_tearing = false
layout = dwindle layout = master
} }
render {
new_render_scheduling = true
}
cursor {
hide_on_key_press = true # Hide cursor when typing
persistent_warps = true # Cursor returns to last position in window
warp_on_change_workspace = true # Move cursor to focused window on workspace switch
inactive_timeout = 0
zoom_factor = 1.0
zoom_rigid = false
enable_hyprcursor = true
sync_gsettings_theme = true
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration # https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration { decoration {
rounding = 5 rounding = 5
@@ -56,6 +81,7 @@ decoration {
inactive_opacity = 1.0 inactive_opacity = 1.0
# Dim inactive windows # Dim inactive windows
dim_modal = true
dim_inactive = true dim_inactive = true
dim_strength = 0.1 dim_strength = 0.1
@@ -63,7 +89,7 @@ decoration {
enabled = false enabled = false
range = 4 range = 4
render_power = 3 render_power = 3
color = rgba(1a1a1aee) color = $dec_shadow
} }
# https://wiki.hyprland.org/Configuring/Variables/#blur # https://wiki.hyprland.org/Configuring/Variables/#blur
@@ -104,6 +130,7 @@ animations {
animation = workspaces, 1, 1.94, almostLinear, fade animation = workspaces, 1, 1.94, almostLinear, fade
animation = workspacesIn, 1, 1.21, almostLinear, fade animation = workspacesIn, 1, 1.21, almostLinear, fade
animation = workspacesOut, 1, 1.94, almostLinear, fade animation = workspacesOut, 1, 1.94, almostLinear, fade
animation = specialWorkspace, 1, 1.5, easeOutQuint, slidevert
} }
# Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/ # Ref https://wiki.hyprland.org/Configuring/Workspace-Rules/
@@ -120,11 +147,23 @@ animations {
dwindle { dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this preserve_split = true # You probably want this
smart_split = true
} }
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master { master {
new_status = master orientation = center
center_master_fallback = left
slave_count_for_center_master = 4
mfact = 0.60
new_status = slave
new_on_top = true
new_on_active = after
inherit_fullscreen = true
allow_small_split = false
special_scale_factor = 0.8
drop_at_cursor = true
} }
# https://wiki.hyprland.org/Configuring/Variables/#misc # https://wiki.hyprland.org/Configuring/Variables/#misc
@@ -132,10 +171,12 @@ misc {
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
vrr = 2 vrr = 2
vfr = true
mouse_move_enables_dpms = true mouse_move_enables_dpms = true
key_press_enables_dpms = true key_press_enables_dpms = true
layers_hog_keyboard_focus = true layers_hog_keyboard_focus = true
mouse_move_focuses_monitor = true mouse_move_focuses_monitor = true
col.splash = $splash_text
} }
############# #############
@@ -144,14 +185,15 @@ misc {
# https://wiki.hyprland.org/Configuring/Variables/#input # https://wiki.hyprland.org/Configuring/Variables/#input
input { input {
kb_layout = eu kb_layout = ultimatekeys
kb_options = caps:escape_shifted_capslock, compose:102 kb_options = caps:escape_shifted_capslock
numlock_by_default = true numlock_by_default = true
repeat_rate = 25 repeat_rate = 25
repeat_delay = 600 repeat_delay = 600
follow_mouse = 1 follow_mouse = 1
mouse_refocus = true mouse_refocus = true
float_switch_override_focus = 1 float_switch_override_focus = 2
special_fallthrough = true
touchpad { touchpad {
disable_while_typing = true disable_while_typing = true
scroll_factor = 1.0 scroll_factor = 1.0
@@ -160,11 +202,6 @@ input {
} }
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# Example per-device config # Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
#device { #device {
@@ -191,27 +228,35 @@ group {
merge_groups_on_groupbar = true merge_groups_on_groupbar = true
merge_floated_into_tiled_on_groupbar = true merge_floated_into_tiled_on_groupbar = true
group_on_movetoworkspace = false group_on_movetoworkspace = false
col.border_active = 0x66ffff00 col.border_active = $border_group_active
col.border_inactive = 0x66777700 col.border_inactive = $border_group_inactive
col.border_locked_active = 0x66ff5500 col.border_locked_active = $border_grouplocked_active
col.border_locked_inactive = 0x66ff5500 col.border_locked_inactive = $border_grouplocked_active
groupbar{ groupbar{
enabled = true enabled = true
height = 12
font_family = InconsolataGo Nerd Font Mono font_family = InconsolataGo Nerd Font Mono
font_size = 8 font_size = 8
gradients = true font_weight_active = semibold
height = 12 font_weight_inactive = normal
indicator_height = 0
stacked = false stacked = false
gradients = true
gradient_rounding = 5 gradient_rounding = 5
text_color = 0xffffffff indicator_height = 0
col.active = 0x66ffff00 rounding = 0
col.inactive = 0x66777700 gradient_round_only_edges = true
col.locked_active = 0x66ff5500 text_color = $groupbar_text
col.locked_inactive = 0x66775500 col.active = $groupbar_active
gaps_out = 1 col.inactive = $groupbar_inactive
gaps_in = 1 col.locked_active = $groupbar_grouplocked_active
col.locked_inactive = $groupbar_grouplocked_inactive
gaps_out = 0
gaps_in = 0
render_titles = true
scrolling = true
priority = 3
} }
} }
@@ -229,16 +274,57 @@ group {
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
# Ignore maximize requests from apps. You'll probably like this. # Ignore maximize requests from apps. You'll probably like this.
windowrulev2 = suppressevent maximize, class:.* windowrule = suppressevent maximize, class:.*
# Fix some dragging issues with XWayland # Fix some dragging issues with XWayland
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
## ========== Special Workspaces ==========
workspace = special:keepass, on-created-empty:keepassxc
windowrule = float, class:org.keepassxc.KeePassXC
windowrule = noscreenshare, class:org.keepassxc.KeePassXC
windowrule = size 60%, 60%, class:org.keepassxc.KeePassXC
windowrule = center, class:org.keepassxc.KeePassXC
## ========== Communication ==========
# Mumble & Discord & TeamSpeak
windowrule = workspace 2, class:^(info\.mumble\.Mumble|discord|TeamSpeak|vesktop)$
# Signal & Element
windowrule = workspace 1, class:^(signal|Element)$
## ========== Multimedia ==========
windowrule = workspace 10, class:Spotify
### ========== Development ==========
#windowrulev2 = float, class:jetbrains-webstorm, title:Welcome to WebStorm
#windowrulev2 = size 1080 720, class:jetbrains-webstorm, title:Welcome to WebStorm
## ========== Gaming ==========
# Steam & Battle.net & Lutris
windowrule = workspace 3, class:^(steam|battle\.net\.exe|net\.lutris\.Lutris)$
## ========== System ==========
windowrule = float, class:com.saivert.pwvucontrol
windowrule = float, class:scrrec
windowrule = pin, class:scrrec
windowrule = idleinhibit always, class:scrrec
windowrule = rounding 10, class:scrrec
windowrule = opacity 0.6, class:scrrec
windowrule = noborder, class:scrrec
windowrule = size 300 100, class:scrrec
windowrule = move 1% 1%, class:scrrec
windowrule = monitor 0, class:scrrec
windowrule = noinitialfocus, class:scrrec
windowrule = float, class:com.gabm.satty
windowrule = size >700 >400, class:com.gabm.satty
# Blur swaync # Blur swaync
layerrule = blur, swaync-control-center #layerrule = blur, swaync-control-center
layerrule = blur, swaync-notification-window #layerrule = blur, swaync-notification-window
layerrule = ignorezero, swaync-control-center #layerrule = ignorezero, swaync-control-center
layerrule = ignorezero, swaync-notification-window #layerrule = ignorezero, swaync-notification-window
layerrule = ignorealpha, swaync-control-center #layerrule = ignorealpha, swaync-control-center
layerrule = ignorealpha, swaync-notification-window #layerrule = ignorealpha, swaync-notification-window

View File

@@ -0,0 +1,66 @@
general {
hide_cursor = true
ignore_empty_input = true
}
#auth {
# just leave the defaults
#}
##################
### BACKGROUND ###
##################
background {
monitor =
path = /home/mpuchstein/Pictures/2736x1824/1189063.jpg
}
#############
### INPUT ###
#############
input-field {
size = 250, 60
outline_thickness = 2
dots_size = 0.2 # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.35 # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true
outer_color = rgba(0, 0, 0, 0)
inner_color = rgba(0, 0, 0, 0.2)
font_color = rgba(255, 0, 132, 0.8)
fade_on_empty = false
rounding = -1
check_color = rgb(204, 136, 34)
placeholder_text =
hide_input = false
position = 0, -200
halign = center
valign = center
}
############
### DATA ###
############
label {
monitor =
text = cmd[update:1000] echo "$(date +"%A, %B %d")"
color = rgba(242, 243, 244, 0.75)
font_size = 22
font_family = Inconsolata Nerd Font Mono
position = 0, 300
halign = center
valign = center
}
############
### TIME ###
############
label {
monitor =
text = cmd[update:1000] echo "$(date +"%-I:%M")"
color = rgba(242, 243, 244, 0.75)
font_size = 95
font_family = Inconsolata Nerd Font Mono Bold
position = 0, 200
halign = center
valign = center
}

View File

@@ -2,5 +2,5 @@ splash = true
splash_offset = 2.0 splash_offset = 2.0
ipc = true ipc = true
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg preload = /home/mpuchstein/Pictures/2736x1824/femdemfor3.png
wallpaper = eDP-1, /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg wallpaper = eDP-1, /home/mpuchstein/Pictures/2736x1824/femdemfor3.png

View File

@@ -2,7 +2,8 @@ splash = true
splash_offset = 2.0 splash_offset = 2.0
ipc = true ipc = true
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepinesuccubus10.png
wallpaper = DP-2, /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/138 - 1jb5suO.jpg preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepinesuccubus3.png
preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/97 - YDJuRTa.jpg preload = /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepineskull.png
wallpaper = DP-3, /home/mpuchstein/Pictures/wallpaper/1920x1080/widescreen/97 - YDJuRTa.jpg wallpaper = DP-1, /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepinesuccubus10.png
wallpaper = DP-2, /home/mpuchstein/Pictures/wallpaper/1920x1080/rosepinesuccubus3.png

View File

@@ -0,0 +1,43 @@
max-gamma = 150
profile {
time = 7:30
identity = true
gamma = 1
}
profile {
time = 18:00
temperature = 5000
gamma = 0.90
}
profile {
time = 19:00
temperature = 4500
gamma = 0.90
}
profile {
time = 20:00
temperature = 4000
gamma = 0.90
}
profile {
time = 21:00
temperature = 3500
gamma = 0.80
}
profile {
time = 22:00
temperature = 3000
gamma = 0.80
}
profile {
time = 23:00
temperature = 2500
gamma = 0.80
}

View File

@@ -0,0 +1,13 @@
monitorv2 {
output = DP-1
mode = 1920x1080@60
position = 0x0
scale = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = 1920x0
scale = 1
vrr = 1
}

View File

@@ -0,0 +1,12 @@
# Generated by nwg-displays on 2025-08-23 at 18:21:52. Do not edit manually.
workspace=1,monitor:DP-1,default:true
workspace=2,monitor:DP-1
workspace=3,monitor:DP-1
workspace=4,monitor:DP-1
workspace=5,monitor:DP-1
workspace=6,monitor:DP-2,default:true
workspace=7,monitor:DP-2
workspace=8,monitor:DP-2
workspace=9,monitor:DP-2
workspace=10,monitor:DP-2

View File

@@ -0,0 +1,53 @@
## name: Rosé Pine
## author: mvllow
## license: MIT
## upstream: https://github.com/rose-pine/kitty/blob/main/dist/rose-pine.conf
## blurb: All natural pine, faux fur and a bit of soho vibes for the classy minimalist
foreground #e0def4
background #191724
selection_foreground #e0def4
selection_background #403d52
cursor #524f67
cursor_text_color #e0def4
url_color #c4a7e7
active_tab_foreground #e0def4
active_tab_background #26233a
inactive_tab_foreground #6e6a86
inactive_tab_background #191724
# black
color0 #26233a
color8 #6e6a86
# red
color1 #eb6f92
color9 #eb6f92
# green
color2 #31748f
color10 #31748f
# yellow
color3 #f6c177
color11 #f6c177
# blue
color4 #9ccfd8
color12 #9ccfd8
# magenta
color5 #c4a7e7
color13 #c4a7e7
# cyan
color6 #ebbcba
color14 #ebbcba
# white
color7 #e0def4
color15 #e0def4

View File

@@ -88,6 +88,7 @@ font_size 9.0
#: ligatures, use the font_features option. #: ligatures, use the font_features option.
# font_features # font_features
font_features = emoji
#: E.g. font_features none #: E.g. font_features none
@@ -1251,7 +1252,7 @@ font_size 9.0
#: The foreground and background colors. #: The foreground and background colors.
background_opacity 0.7 background_opacity 0.9
#: The opacity of the background. A number between zero and one, where #: The opacity of the background. A number between zero and one, where
#: one is opaque and zero is fully transparent. This will only work if #: one is opaque and zero is fully transparent. This will only work if
@@ -2703,3 +2704,9 @@ bold_font auto
italic_font auto italic_font auto
bold_italic_font auto bold_italic_font auto
# END_KITTY_FONTS # END_KITTY_FONTS
# BEGIN_KITTY_THEME
# Rosé Pine
include current-theme.conf
# END_KITTY_THEME

2712
.config/kitty/kitty.conf.bak Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,20 @@
{
"neodev": {
"library": {
"enabled": true,
"plugins": true
}
},
"neoconf": {
"plugins": {
"lua_ls": {
"enabled": true
}
}
},
"lspconfig": {
"lua_ls": {
"Lua.format.enable": false
}
}
}

View File

@@ -0,0 +1,7 @@
column_width = 120
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2
quote_style = "AutoPreferDouble"
call_parentheses = "None"
collapse_simple_statement = "Always"

34
.config/nvim/README.md Normal file
View File

@@ -0,0 +1,34 @@
# AstroNvim Template
**NOTE:** This is for AstroNvim v5+
A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim)
## 🛠️ Installation
#### Make a backup of your current nvim and shared folder
```shell
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
mv ~/.local/state/nvim ~/.local/state/nvim.bak
mv ~/.cache/nvim ~/.cache/nvim.bak
```
#### Create a new user repository from this template
Press the "Use this template" button above to create a new repository to store your user configuration.
You can also just clone this repository directly if you do not want to track your user configuration in GitHub.
#### Clone the repository
```shell
git clone https://github.com/<your_user>/<your_repository> ~/.config/nvim
```
#### Start Neovim
```shell
nvim
```

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,17 +1,19 @@
-- Initialize core settings first -- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution
require("config.options") -- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk.
require("config.keymaps") local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim"
if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
-- stylua: ignore
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
end
vim.opt.rtp:prepend(lazypath)
-- Load plugin manager -- validate that lazy is available
require("config.lazy") if not pcall(require, "lazy") then
-- stylua: ignore
vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
vim.fn.getchar()
vim.cmd.quit()
end
-- Plugin settings require "lazy_setup"
require("config.plugins.treesitter") require "polish"
require("config.plugins.lsp")
require("config.plugins.completion")
require("config.plugins.telescope")
require("config.plugins.explorer")
require("config.plugins.whichkey")
-- Configure UI components last
require("config.theme")

View File

@@ -1,19 +0,0 @@
{
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"nvim-cmp": { "branch": "main", "commit": "059e89495b3ec09395262f16b1ad441a38081d04" },
"nvim-deus": { "branch": "master", "commit": "b930172dc75d00084233abc6f19f0708c298d8be" },
"nvim-lspconfig": { "branch": "master", "commit": "3e873195f501b1e02d9fd7e5af5cbe74fc2f98c1" },
"nvim-tree.lua": { "branch": "master", "commit": "c3c193594213c5e2f89ec5d7729cad805f76b256" },
"nvim-treesitter": { "branch": "master", "commit": "523a9e148919f58eb5a013f76787e57696e00c93" },
"nvim-web-devicons": { "branch": "master", "commit": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"telescope.nvim": { "branch": "master", "commit": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}

View File

@@ -0,0 +1,34 @@
-- AstroCommunity: import any community modules here
-- We import this file in `lazy_setup.lua` before the `plugins/` folder.
-- This guarantees that the specs are processed before any user plugins.
---@type LazySpec
return {
"AstroNvim/astrocommunity",
{ import = "astrocommunity.colorscheme.catppuccin" },
-- these packs can set up things such as Treesitter, Language Servers, additional language specific plugins, and more!
{ import = "astrocommunity.snippet.nvim-snippets" },
{ import = "astrocommunity.pack.lua" },
{ import = "astrocommunity.pack.hyprlang" },
{ import = "astrocommunity.pack.java" },
{ import = "astrocommunity.pack.rust" },
{ import = "astrocommunity.pack.go" },
{ import = "astrocommunity.pack.docker" },
{ import = "astrocommunity.pack.json" },
{ import = "astrocommunity.pack.html-css" },
{ import = "astrocommunity.pack.sql" },
{ import = "astrocommunity.pack.typescript" },
{ import = "astrocommunity.pack.toml" },
{ import = "astrocommunity.pack.xml" },
{ import = "astrocommunity.pack.yaml" },
{ import = "astrocommunity.pack.yaml" },
{ import = "astrocommunity.pack.python" },
{ import = "astrocommunity.pack.kotlin" },
{ import = "astrocommunity.pack.php" },
{ import = "astrocommunity.markdown-and-latex.vimtex" },
{ import = "astrocommunity.completion.cmp-latex-symbols" },
{ import = "astrocommunity.keybinding.nvcheatsheet-nvim" },
-- import/override with your plugins folder
}

View File

@@ -1,2 +0,0 @@
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"

View File

@@ -1,29 +0,0 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "deus" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

View File

@@ -1,21 +0,0 @@
-- Basic settings
vim.o.number = true
vim.o.relativenumber = true
vim.o.tabstop = 2
vim.o.shiftwidth = 2
vim.o.expandtab = true
vim.o.smartindent = true
vim.o.wrap = false
vim.o.cursorline = true
vim.o.termguicolors = true
vim.o.ruler = true
vim.o.visualbell = true
vim.o.modelines = 0
vim.o.colorcolumn = '+1,100,120'
vim.o.hidden = true
vim.o.showmode = true
-- Syntax highlighting and filetype plugins
vim.cmd('syntax enable')
vim.cmd('filetype plugin indent on')

View File

@@ -1,81 +0,0 @@
-- completion.lua
local has_cmp, cmp = pcall(require, 'cmp')
if not has_cmp then
print("Warning: nvim-cmp not found. Autocompletion won't be available.")
return
end
local has_luasnip, luasnip = pcall(require, 'luasnip')
if not has_luasnip then
print("Warning: luasnip not found. Snippet expansion won't be available.")
return
end
cmp.setup({
snippet = {
expand = function(args)
luasnip.lsp_expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<CR>'] = cmp.mapping.confirm({ select = false }), -- Accept explicitly selected item
-- Tab support
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump()
else
fallback()
end
end, { 'i', 's' }),
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
elseif luasnip.jumpable(-1) then
luasnip.jump(-1)
else
fallback()
end
end, { 'i', 's' }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
{ name = 'buffer' },
{ name = 'path' },
}),
formatting = {
format = function(entry, vim_item)
-- Add icons
vim_item.menu = ({
nvim_lsp = "[LSP]",
luasnip = "[Snippet]",
buffer = "[Buffer]",
path = "[Path]",
})[entry.source.name]
return vim_item
end,
},
})
-- Enable command-line completion
cmp.setup.cmdline(':', {
mapping = cmp.mapping.preset.cmdline(),
sources = cmp.config.sources({
{ name = 'path' },
{ name = 'cmdline' }
})
})
print("Completion system initialized!")

View File

@@ -1,51 +0,0 @@
-- explorer.lua
-- Check if nvim-tree is available
local has_tree, nvim_tree = pcall(require, "nvim-tree")
if not has_tree then
print("Warning: nvim-tree not found. File explorer won't be available.")
return
end
-- Set up nvim-tree with error handling
local setup_ok, _ = pcall(nvim_tree.setup, {
sort_by = "case_sensitive",
view = {
width = 30,
},
renderer = {
group_empty = true,
icons = {
show = {
git = true,
folder = true,
file = true,
folder_arrow = true,
},
},
},
filters = {
dotfiles = false,
},
git = {
enable = true,
ignore = false,
},
actions = {
open_file = {
quit_on_open = false,
resize_window = true,
},
},
})
if not setup_ok then
print("Error setting up nvim-tree. Some features might not work correctly.")
return
end
-- Recommended mappings
vim.keymap.set('n', '<leader>e', '<cmd>NvimTreeToggle<CR>', { desc = "Toggle file explorer" })
vim.keymap.set('n', '<leader>fe', '<cmd>NvimTreeFocus<CR>', { desc = "Focus file explorer" })
print("File explorer initialized!")

View File

@@ -1,108 +0,0 @@
-- lsp.lua
-- Install Mason first for managing servers
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = ""
}
}
})
-- Connect Mason with lspconfig
require("mason-lspconfig").setup({
-- Automatically install these servers
ensure_installed = {
"lua_ls", -- Lua
"pyright", -- Python
"biome", -- TypeScript/JavaScript
"rust_analyzer", -- Rust
"gopls", -- Go
"clangd", -- C/C++
"bashls", -- Bash
},
automatic_installation = true,
})
-- Set up LSP capabilities (used by completion)
local capabilities = vim.lsp.protocol.make_client_capabilities()
-- Check if nvim-cmp is available to enhance capabilities
local has_cmp, cmp_lsp = pcall(require, 'cmp_nvim_lsp')
if has_cmp then
capabilities = cmp_lsp.default_capabilities(capabilities)
end
-- Function to set up all installed LSP servers
local on_attach = function(client, bufnr)
-- Enable completion triggered by <c-x><c-o>
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Key mappings
local bufopts = { noremap=true, silent=true, buffer=bufnr }
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, bufopts)
vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, bufopts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
vim.keymap.set('n', '<leader>lf', function() vim.lsp.buf.format { async = true } end, bufopts)
-- Log a message when a server attaches
print(string.format("LSP server '%s' attached to this buffer", client.name))
end
-- Set up all servers installed via Mason
require("mason-lspconfig").setup_handlers {
-- Default handler for installed servers
function(server_name)
require('lspconfig')[server_name].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end,
-- Special configurations for specific servers
["lua_ls"] = function()
require('lspconfig').lua_ls.setup {
on_attach = on_attach,
capabilities = capabilities,
settings = {
Lua = {
runtime = { version = 'LuaJIT' },
diagnostics = { globals = {'vim'} },
workspace = {
library = vim.api.nvim_get_runtime_file("", true),
checkThirdParty = false,
},
telemetry = { enable = false },
},
},
}
end,
}
-- Configure diagnostic display
vim.diagnostic.config({
virtual_text = {
prefix = '', -- Could be '■', '▎', 'x'
source = "if_many",
},
float = {
source = "always",
border = "rounded",
},
signs = true,
underline = true,
update_in_insert = false,
severity_sort = true,
})
-- Change diagnostic symbols in the sign column
local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " }
for type, icon in pairs(signs) do
local hl = "DiagnosticSign" .. type
vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl })
end

View File

@@ -1,56 +0,0 @@
-- telescope.lua
-- Check if telescope is available
local has_telescope, telescope = pcall(require, "telescope")
if not has_telescope then
print("Warning: telescope not found. Fuzzy finding won't be available.")
return
end
-- Set up telescope with error handling
local setup_ok, _ = pcall(telescope.setup, {
defaults = {
prompt_prefix = "🔍 ",
selection_caret = " ",
path_display = { "truncate" },
layout_config = {
horizontal = {
preview_width = 0.55,
results_width = 0.8,
},
width = 0.87,
height = 0.80,
preview_cutoff = 120,
},
file_ignore_patterns = {
"node_modules/",
".git/",
".DS_Store"
},
},
extensions = {
-- Configure any extensions here
}
})
if not setup_ok then
print("Error setting up telescope. Some features might not work correctly.")
return
end
-- Load telescope extensions if available
pcall(function() require('telescope').load_extension('fzf') end)
-- Useful Telescope mappings with error handling
local builtin_ok, builtin = pcall(require, 'telescope.builtin')
if builtin_ok then
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = "Find files" })
vim.keymap.set('n', '<leader>fg', builtin.live_grep, { desc = "Live grep" })
vim.keymap.set('n', '<leader>fb', builtin.buffers, { desc = "Buffers" })
vim.keymap.set('n', '<leader>fh', builtin.help_tags, { desc = "Help tags" })
-- LSP-related searches
vim.keymap.set('n', '<leader>fd', builtin.lsp_definitions, { desc = "Find definitions" })
vim.keymap.set('n', '<leader>fr', builtin.lsp_references, { desc = "Find references" })
end
print("Fuzzy finder initialized!")

View File

@@ -1,22 +0,0 @@
-- treesitter.lua
require('nvim-treesitter.configs').setup {
-- Install these parsers by default
ensure_installed = {
"lua", "vim", "vimdoc", "javascript", "typescript", "python", "rust",
"go", "html", "css", "json", "yaml", "toml", "markdown", "bash"
},
auto_install = true, -- Automatically install missing parsers
highlight = {
enable = true,
additional_vim_regex_highlighting = false,
},
indent = { enable = true },
incremental_selection = {
enable = true,
keymaps = {
init_selection = "<CR>",
node_incremental = "<CR>",
node_decremental = "<BS>",
},
},
}

View File

@@ -1,78 +0,0 @@
-- whichkey.lua
-- Check if which-key is available
local has_which_key, which_key = pcall(require, "which-key")
if not has_which_key then
print("Warning: which-key not found. Key binding help won't be available.")
return
end
-- Set up which-key with error handling
local setup_ok, _ = pcall(which_key.setup, {
plugins = {
marks = true,
registers = true,
spelling = {
enabled = true,
suggestions = 20,
},
presets = {
operators = true,
motions = true,
text_objects = true,
windows = true,
nav = true,
z = true,
g = true,
},
},
window = {
border = "rounded",
padding = { 2, 2, 2, 2 },
},
layout = {
height = { min = 4, max = 25 },
width = { min = 20, max = 50 },
},
ignore_missing = false,
})
if not setup_ok then
print("Error setting up which-key. Key binding help won't work correctly.")
return
end
-- Register key bindings with which-key
local register_ok, _ = pcall(which_key.register, {
f = {
name = "File", -- Optional group name
f = { "<cmd>Telescope find_files<cr>", "Find File" },
r = { "<cmd>Telescope oldfiles<cr>", "Recent Files" },
g = { "<cmd>Telescope live_grep<cr>", "Live Grep" },
b = { "<cmd>Telescope buffers<cr>", "Buffers" },
n = { "<cmd>enew<cr>", "New File" },
},
e = { "<cmd>NvimTreeToggle<cr>", "Explorer" },
l = {
name = "LSP",
d = { "<cmd>Telescope lsp_definitions<cr>", "Definitions" },
r = { "<cmd>Telescope lsp_references<cr>", "References" },
a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" },
f = { "<cmd>lua vim.lsp.buf.format()<cr>", "Format" },
h = { "<cmd>lua vim.lsp.buf.hover()<cr>", "Hover" },
R = { "<cmd>lua vim.lsp.buf.rename()<cr>", "Rename" },
},
b = {
name = "Buffer",
n = { "<cmd>bnext<cr>", "Next Buffer" },
p = { "<cmd>bprevious<cr>", "Previous Buffer" },
d = { "<cmd>bdelete<cr>", "Delete Buffer" },
},
}, { prefix = "<leader>" })
if not register_ok then
print("Error registering which-key bindings.")
return
end
print("Key binding help initialized!")

View File

@@ -1,2 +0,0 @@
-- theme.lua
vim.cmd[[colorscheme deus]]

View File

@@ -0,0 +1,32 @@
require("lazy").setup({
{
"AstroNvim/AstroNvim",
version = "^5", -- Remove version tracking to elect for nightly AstroNvim
import = "astronvim.plugins",
opts = { -- AstroNvim options must be set here with the `import` key
mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up
maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up
icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available)
pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override
update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
},
},
{ import = "community" },
{ import = "plugins" },
} --[[@as LazySpec]], {
-- Configure any other `lazy.nvim` configuration options here
install = { colorscheme = { "astrotheme", "habamax" } },
ui = { backdrop = 100 },
performance = {
rtp = {
-- disable some rtp plugins, add more to your liking
disabled_plugins = {
"gzip",
"netrwPlugin",
"tarPlugin",
"tohtml",
"zipPlugin",
},
},
},
} --[[@as LazyConfig]])

View File

@@ -0,0 +1,83 @@
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
-- Configuration documentation can be found with `:h astrocore`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astrocore",
---@type AstroCoreOpts
opts = {
-- Configure core features of AstroNvim
features = {
large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
autopairs = true, -- enable autopairs at start
cmp = true, -- enable completion at start
diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup
highlighturl = true, -- highlight URLs at start
notifications = true, -- enable notifications at start
},
-- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on
diagnostics = {
virtual_text = true,
underline = true,
},
-- passed to `vim.filetype.add`
filetypes = {
-- see `:h vim.filetype.add` for usage
extension = {
foo = "fooscript",
},
filename = {
[".foorc"] = "fooscript",
},
pattern = {
[".*/etc/foo/.*"] = "fooscript",
},
},
-- vim options can be configured here
options = {
opt = { -- vim.opt.<key>
relativenumber = true, -- sets vim.opt.relativenumber
number = true, -- sets vim.opt.number
spell = false, -- sets vim.opt.spell
signcolumn = "yes", -- sets vim.opt.signcolumn to yes
wrap = false, -- sets vim.opt.wrap
},
g = { -- vim.g.<key>
-- configure global vim variables (vim.g)
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
-- This can be found in the `lua/lazy_setup.lua` file
},
},
-- Mappings can be configured through AstroCore as well.
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
mappings = {
-- first key is the mode
n = {
-- second key is the lefthand side of the map
-- navigate buffer tabs
["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" },
["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
-- mappings seen under group name "Buffer"
["<Leader>bd"] = {
function()
require("astroui.status.heirline").buffer_picker(
function(bufnr) require("astrocore.buffer").close(bufnr) end
)
end,
desc = "Close buffer from tabline",
},
-- tables with just a `desc` key will be registered with which-key if it's installed
-- this is useful for naming menus
-- ["<Leader>b"] = { desc = "Buffers" },
-- setting a mapping to false will disable it
-- ["<C-S>"] = false,
},
},
},
}

View File

@@ -0,0 +1,103 @@
-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine
-- Configuration documentation can be found with `:h astrolsp`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astrolsp",
---@type AstroLSPOpts
opts = {
-- Configuration table of features provided by AstroLSP
features = {
codelens = true, -- enable/disable codelens refresh on start
inlay_hints = false, -- enable/disable inlay hints on start
semantic_tokens = true, -- enable/disable semantic token highlighting
},
-- customize lsp formatting options
formatting = {
-- control auto formatting on save
format_on_save = {
enabled = true, -- enable or disable format on save globally
allow_filetypes = { -- enable format on save for specified filetypes only
-- "go",
},
ignore_filetypes = { -- disable format on save for specified filetypes
-- "python",
},
},
disabled = { -- disable formatting capabilities for the listed language servers
-- disable lua_ls formatting capability if you want to use StyLua to format your lua code
-- "lua_ls",
},
timeout_ms = 1000, -- default format timeout
-- filter = function(client) -- fully override the default formatting function
-- return true
-- end
},
-- enable servers that you already have installed without mason
servers = {
-- "pyright"
},
-- customize language server configuration options passed to `lspconfig`
---@diagnostic disable: missing-fields
config = {
-- clangd = { capabilities = { offsetEncoding = "utf-8" } },
},
-- customize how language servers are attached
handlers = {
-- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server
-- function(server, opts) require("lspconfig")[server].setup(opts) end
-- the key is the server that is being setup with `lspconfig`
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server
-- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed
},
-- Configure buffer local auto commands to add when attaching a language server
autocmds = {
-- first key is the `augroup` to add the auto commands to (:h augroup)
lsp_codelens_refresh = {
-- Optional condition to create/delete auto command group
-- can either be a string of a client capability or a function of `fun(client, bufnr): boolean`
-- condition will be resolved for each client on each execution and if it ever fails for all clients,
-- the auto commands will be deleted for that buffer
cond = "textDocument/codeLens",
-- cond = function(client, bufnr) return client.name == "lua_ls" end,
-- list of auto commands to set
{
-- events to trigger
event = { "InsertLeave", "BufEnter" },
-- the rest of the autocmd options (:h nvim_create_autocmd)
desc = "Refresh codelens (buffer)",
callback = function(args)
if require("astrolsp").config.features.codelens then vim.lsp.codelens.refresh { bufnr = args.buf } end
end,
},
},
},
-- mappings to be set up on attaching of a language server
mappings = {
n = {
-- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean
gD = {
function() vim.lsp.buf.declaration() end,
desc = "Declaration of current symbol",
cond = "textDocument/declaration",
},
["<Leader>uY"] = {
function() require("astrolsp.toggles").buffer_semantic_tokens() end,
desc = "Toggle LSP semantic highlight (buffer)",
cond = function(client)
return client.supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil
end,
},
},
},
-- A custom `on_attach` function to be run after the default `on_attach` function
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`)
on_attach = function(client, bufnr)
-- this would disable semanticTokensProvider for all clients
-- client.server_capabilities.semanticTokensProvider = nil
end,
},
}

View File

@@ -0,0 +1,37 @@
-- AstroUI provides the basis for configuring the AstroNvim User Interface
-- Configuration documentation can be found with `:h astroui`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
-- as this provides autocomplete and documentation while editing
---@type LazySpec
return {
"AstroNvim/astroui",
---@type AstroUIOpts
opts = {
-- change colorscheme
colorscheme = "catppuccin",
-- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes
highlights = {
init = { -- this table overrides highlights in all themes
-- Normal = { bg = "#000000" },
},
astrodark = { -- a table of overrides/changes when applying the astrotheme theme
-- Normal = { bg = "#000000" },
},
},
-- Icons can be configured throughout the interface
icons = {
-- configure the loading of the lsp in the status line
LSPLoading1 = "",
LSPLoading2 = "",
LSPLoading3 = "",
LSPLoading4 = "",
LSPLoading5 = "",
LSPLoading6 = "",
LSPLoading7 = "",
LSPLoading8 = "",
LSPLoading9 = "",
LSPLoading10 = "",
},
},
}

View File

@@ -1,11 +0,0 @@
-- Autocompletion system
return {
"hrsh7th/nvim-cmp",
dependencies = {
"hrsh7th/cmp-nvim-lsp", -- LSP source for nvim-cmp
"hrsh7th/cmp-buffer", -- Buffer source
"hrsh7th/cmp-path", -- Path source
"L3MON4D3/LuaSnip", -- Snippet engine
"saadparwaiz1/cmp_luasnip", -- Snippet source
},
}

View File

@@ -1,4 +0,0 @@
-- Color scheme
return {
"theniceboy/nvim-deus"
}

View File

@@ -1,9 +0,0 @@
-- Language Server Protocol support
return {
"neovim/nvim-lspconfig", -- Base LSP configurations
dependencies = {
-- Server installation manager
"williamboman/mason.nvim",
"williamboman/mason-lspconfig.nvim",
},
}

View File

@@ -0,0 +1,28 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Mason
---@type LazySpec
return {
-- use mason-tool-installer for automatically installing Mason packages
{
"WhoIsSethDaniel/mason-tool-installer.nvim",
-- overrides `require("mason-tool-installer").setup(...)`
opts = {
-- Make sure to use the names found in `:Mason`
ensure_installed = {
-- install language servers
"lua-language-server",
-- install formatters
"stylua",
-- install debuggers
"debugpy",
-- install any other package
"tree-sitter-cli",
},
},
},
}

View File

@@ -0,0 +1,24 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize None-ls sources
---@type LazySpec
return {
"nvimtools/none-ls.nvim",
opts = function(_, opts)
-- opts variable is the default configuration table for the setup function call
-- local null_ls = require "null-ls"
-- Check supported formatters and linters
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
-- Only insert new sources, do not replace the existing ones
-- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function)
opts.sources = require("astrocore").list_insert_unique(opts.sources, {
-- Set a formatter
-- null_ls.builtins.formatting.stylua,
-- null_ls.builtins.formatting.prettier,
})
end,
}

View File

@@ -1,2 +0,0 @@
-- Utility functions
return {"nvim-lua/plenary.nvim"}

View File

@@ -1,5 +0,0 @@
-- Fuzzy finder
return {
"nvim-telescope/telescope.nvim",
dependencies = { "nvim-lua/plenary.nvim" }
}

View File

@@ -1,5 +0,0 @@
-- File explorer
return {
"nvim-tree/nvim-tree.lua",
dependencies = { "nvim-tree/nvim-web-devicons" },
}

View File

@@ -1,6 +1,15 @@
-- Treesitter for syntax highlighting (load early) if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Treesitter
---@type LazySpec
return { return {
"nvim-treesitter/nvim-treesitter", "nvim-treesitter/nvim-treesitter",
build = ":TSUpdate", opts = {
priority = 100, -- Load early ensure_installed = {
} "lua",
"vim",
-- add more arguments for adding more treesitter parsers
},
},
}

View File

@@ -0,0 +1,125 @@
-- You can also add or configure plugins by creating files in this `plugins/` folder
-- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE
-- Here are some examples:
---@type LazySpec
return {
-- == Examples of Adding Plugins ==
"andweeb/presence.nvim",
{
"ray-x/lsp_signature.nvim",
event = "BufRead",
config = function() require("lsp_signature").setup() end,
},
-- == Examples of Overriding Plugins ==
-- customize dashboard options
{
"folke/snacks.nvim",
opts = {
dashboard = {
preset = {
header = table.concat({
" █████ ███████ ████████ ██████ ██████ ",
"██ ██ ██ ██ ██ ██ ██ ██",
"███████ ███████ ██ ██████ ██ ██",
"██ ██ ██ ██ ██ ██ ██ ██",
"██ ██ ███████ ██ ██ ██ ██████ ",
"",
"███  ██ ██  ██ ██ ███  ███",
"████  ██ ██  ██ ██ ████  ████",
"██ ██  ██ ██  ██ ██ ██ ████ ██",
"██  ██ ██  ██  ██  ██ ██  ██  ██",
"██   ████   ████   ██ ██  ██",
}, "\n"),
},
},
},
},
-- You can disable default plugins as follows:
--{ "max397574/better-escape.nvim", enabled = false },
-- You can also easily customize additional setup of plugins that is outside of the plugin's setup call
{
"L3MON4D3/LuaSnip",
config = function(plugin, opts)
require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call
-- add more custom luasnip configuration such as filetype extend or custom snippets
local luasnip = require "luasnip"
luasnip.filetype_extend("javascript", { "javascriptreact" })
end,
},
{
"windwp/nvim-autopairs",
config = function(plugin, opts)
require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call
-- add more custom autopairs configuration such as custom rules
local npairs = require "nvim-autopairs"
local Rule = require "nvim-autopairs.rule"
local cond = require "nvim-autopairs.conds"
npairs.add_rules(
{
Rule("$", "$", { "tex", "latex" })
-- don't add a pair if the next character is %
:with_pair(cond.not_after_regex "%%")
-- don't add a pair if the previous character is xxx
:with_pair(
cond.not_before_regex("xxx", 3)
)
-- don't move right when repeat character
:with_move(cond.none())
-- don't delete if the next character is xx
:with_del(cond.not_after_regex "xx")
-- disable adding a newline when you press <cr>
:with_cr(cond.none()),
},
-- disable for .vim files, but it work for another filetypes
Rule("a", "a", "-vim")
)
end,
},
{
"obsidian-nvim/obsidian.nvim",
version = "*", -- recommended, use latest release instead of latest commit
lazy = true,
ft = "markdown",
-- Replace the above line with this if you only want to load obsidian.nvim for markdown files in your vault:
-- event = {
-- -- If you want to use the home shortcut '~' here you need to call 'vim.fn.expand'.
-- -- E.g. "BufReadPre " .. vim.fn.expand "~" .. "/my-vault/*.md"
-- -- refer to `:h file-pattern` for more examples
-- "BufReadPre path/to/my-vault/*.md",
-- "BufNewFile path/to/my-vault/*.md",
-- },
dependencies = {
-- Required.
"nvim-lua/plenary.nvim",
-- see above for full list of optional dependencies ☝️
},
---@module 'obsidian'
---@type obsidian.config.ClientOpts
opts = {
workspaces = {
{
name = "uni",
path = "~/Documents/uni",
},
},
-- Optional, completion of wiki links, local markdown links, and tags using nvim-cmp.
completion = {
-- Enables completion using nvim_cmp
nvim_cmp = false,
-- Enables completion using blink.cmp
blink = true,
-- Trigger completion at 2 chars.
min_chars = 2,
},
},
},
}

View File

@@ -1,4 +0,0 @@
-- Key binding helper
return {
"folke/which-key.nvim",
}

View File

@@ -0,0 +1,5 @@
if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- This will run last in the setup process.
-- This is just pure lua so anything that doesn't
-- fit in the normal config locations above can go here

6
.config/nvim/neovim.yml Normal file
View File

@@ -0,0 +1,6 @@
---
base: lua51
globals:
vim:
any: true

8
.config/nvim/selene.toml Normal file
View File

@@ -0,0 +1,8 @@
std = "neovim"
[rules]
global_usage = "allow"
if_same_then_else = "allow"
incorrect_standard_library_use = "allow"
mixed_table = "allow"
multiple_statements = "allow"

View File

@@ -0,0 +1,34 @@
context.modules = [
{ name = libpipewire-module-filter-chain
args = {
node.description = "Noise Canceling source"
media.name = "Noise Canceling source"
filter.graph = {
nodes = [
{
type = ladspa
name = rnnoise
# needs pkg noise-suppression-for-voice
plugin = /usr/lib/ladspa/librnnoise_ladspa.so
label = noise_suppressor_mono
control = {
"VAD Threshold (%)" = 80.0
"VAD Grace Period (ms)" = 200
"Retroactive VAD Grace (ms)" = 0
}
}
]
}
capture.props = {
node.name = "capture.rnnoise_source"
node.passive = true
audio.rate = 48000
}
playback.props = {
node.name = "rnnoise_source"
media.class = Audio/Source
audio.rate = 48000
}
}
}
]

50
.config/satty/config.toml Normal file
View File

@@ -0,0 +1,50 @@
[general]
# Start Satty in fullscreen mode
fullscreen = false
# Exit directly after copy/save action
early-exit = true
# Draw corners of rectangles round if the value is greater than 0 (0 disables rounded corners)
corner-roundness = 12
# Select the tool on startup [possible values: pointer, crop, line, arrow, rectangle, text, marker, blur, brush]
initial-tool = "brush"
# Configure the command to be called on copy, for example `wl-copy`
copy-command = "wl-copy"
# Increase or decrease the size of the annotations
annotation-size-factor = 1
# Filename to use for saving action. Omit to disable saving to file. Might contain format specifiers: https://docs.rs/chrono/latest/chrono/format/strftime/index.html
output-filename = "/home/mpuchstein/Pictures/screenshots/%Y-%m-%d_%H-%M-%S.png"
# After copying the screenshot, save it to a file as well
save-after-copy = false
# Hide toolbars by default
default-hide-toolbars = false
# The primary highlighter to use, the other is accessible by holding CTRL at the start of a highlight [possible values: block, freehand]
primary-highlighter = "freehand"
# Disable notifications
disable-notifications = false
# Actions to trigger on right click (order is important)
# [possible values: save-to-clipboard, save-to-file, exit]
actions-on-right-click = ["save-to-file"]
# Actions to trigger on Enter key (order is important)
# [possible values: save-to-clipboard, save-to-file, exit]
actions-on-enter = ["save-to-clipboard"]
# Actions to trigger on Escape key (order is important)
# [possible values: save-to-clipboard, save-to-file, exit]
actions-on-escape = ["exit"]
# request no window decoration. Please note that the compositor has the final say in this. At this point. requires xdg-decoration-unstable-v1.
no-window-decoration = true
# experimental feature: adjust history size for brush input smooting (0: disabled, default: 0, try e.g. 5 or 10)
brush-smooth-history-size = 0
# Font to use for text annotations
[font]
family = "InconsolataGo Nerd Font Mono"
style = "Regular"
# Custom colours for the colour palette
[color-palette]
# These will be shown in the toolbar for quick selection
palette = ["#00ffff", "#a52a2a", "#dc143c", "#ff1493", "#ffd700", "#008000"]
# These will be available in the color picker as presets
# Leave empty to use GTK's default
custom = ["#00ffff", "#a52a2a", "#dc143c", "#ff1493", "#ffd700", "#008000"]

View File

@@ -1,7 +1,7 @@
[Setting] [Setting]
spotify_path = $HOME/.local/share/spotify-launcher/install/usr/share/spotify/ spotify_path = $HOME/.local/share/spotify-launcher/install/usr/share/spotify/
current_theme = marketplace current_theme = Ziro
color_scheme = color_scheme = rose-pine
inject_theme_js = 1 inject_theme_js = 1
replace_colors = 1 replace_colors = 1
always_enable_devtools = 0 always_enable_devtools = 0
@@ -19,7 +19,7 @@ expose_apis = 1
[AdditionalOptions] [AdditionalOptions]
custom_apps = marketplace custom_apps = marketplace
sidebar_config = 1 sidebar_config = 0
home_config = 1 home_config = 1
experimental_features = 1 experimental_features = 1
extensions = extensions =
@@ -28,5 +28,5 @@ extensions =
; DO NOT CHANGE! ; DO NOT CHANGE!
[Backup] [Backup]
version = 1.2.56.502.ga68d2d4f version = 1.2.63.394.g126b0d89
with = 2.39.5 with = 2.41.0

View File

@@ -1,228 +1,256 @@
@define-color cc-bg #32302f; @define-color rp-base #191724;
@define-color noti-border-color #32302f; @define-color rp-surface #1f1d2e;
@define-color noti-bg #3c3836; @define-color rp-overlay #26233a;
@define-color noti-bg-darker #3c3836; @define-color rp-hl-low #21202e;
@define-color noti-bg-hover rgb(27, 27, 43); @define-color rp-hl-med #403d52;
@define-color noti-bg-focus rgba(27, 27, 27, 0.6); @define-color rp-hl-high #524f67;
@define-color text-color #f9f5d7;
@define-color text-color-disabled #bdae93;
@define-color bg-selected #fabd2f;
* { @define-color rp-muted #6e6a86;
@define-color rp-subtle #908caa;
@define-color rp-text #e0def4;
@define-color rp-love #eb6f92;
@define-color rp-gold #f6c177;
@define-color rp-rose #ebbcba;
@define-color rp-pine #31748f;
@define-color rp-foam #9ccfd8;
@define-color rp-iris #c4a7e7;
/* To use Rosé Pine Moon, replace:
rp-base: #232136; rp-surface: #2a273f; rp-overlay: #393552;
rp-hl-low: #2a283e; rp-hl-med: #44415a; rp-hl-high: #56526e;
rp-text: #e0def4; rp-subtle: #908caa; accents same.
For Dawn (light), youll likely also want to invert contrasts. */
@define-color cc-bg @rp-surface;
@define-color noti-border-color @rp-hl-high;
@define-color noti-bg @rp-overlay;
@define-color noti-bg-darker @rp-hl-low;
@define-color noti-bg-hover @rp-hl-med;
@define-color noti-bg-focus alpha(@rp-hl-high, 0.6);
@define-color text-color @rp-text;
@define-color text-color-disabled @rp-subtle;
@define-color bg-selected @rp-iris;
{
font-family: JetBrainsMono NFP; font-family: JetBrainsMono NFP;
font-weight: bold; font-weight: bold;
font-size: 14px font-size: 14px;
} }
.control-center .notification-row:focus, .control-center .notification-row:focus,
.control-center .notification-row:hover { .control-center .notification-row:hover {
opacity: 1; opacity: 1;
background: @noti-bg-darker background: @noti-bg-darker;
} }
.notification-row { .notification-row {
outline: none; outline: none;
margin: 20px; margin: 20px;
padding: 0; padding: 0;
} }
.notification { .notification {
background: transparent; background: transparent;
margin: 0px; margin: 0px;
} }
.notification-content { .notification-content {
background: @cc-bg; background: @cc-bg;
padding: 7px; padding: 7px;
border-radius: 0px; border-radius: 0px;
border: 2px solid #85796f; border: 2px solid @noti-border-color;
margin: 0; margin: 0;
} }
.close-button { .close-button {
background: #d79921; background: @rp-gold;
color: @cc-bg; color: @cc-bg;
text-shadow: none; text-shadow: none;
padding: 0; padding: 0;
border-radius: 0px; border-radius: 0px;
margin-top: 5px; margin-top: 5px;
margin-right: 5px; margin-right: 5px;
} }
.close-button:hover { .close-button:hover {
box-shadow: none; box-shadow: none;
background: #fabd2f; background: @rp-rose;
transition: all .15s ease-in-out; color: @cc-bg;
border: none transition: all .15s ease-in-out;
border: none;
} }
.notification-action { .notification-action {
color: #ebdbb2; color: @text-color;
border: 2px solid #85796f; border: 2px solid @noti-border-color;
border-top: none; border-top: none;
border-radius: 0px; border-radius: 0px;
background: #32302F; background: @rp-base;
} }
.notification-default-action:hover, .notification-default-action:hover,
.notification-action:hover { .notification-action:hover {
color: #ebdbb2; color: @text-color;
background: #32302F; background: @noti-bg-hover;
} }
.summary { .summary {
padding-top: 7px; padding-top: 7px;
font-size: 13px; font-size: 13px;
color: #ebdbb2; color: @text-color;
} }
.time { .time {
font-size: 11px; font-size: 11px;
color: #d79921; color: @rp-gold;
margin-right: 24px margin-right: 24px;
} }
.body { .body {
font-size: 12px; font-size: 12px;
color: #ebdbb2; color: @text-color;
} }
.control-center { .control-center {
background: @cc-bg; background: @cc-bg;
border: 2px solid #85796f; border: 2px solid @noti-border-color;
border-radius: 0px; border-radius: 0px;
} }
.control-center-list { .control-center-list {
background: transparent background: transparent;
} }
.control-center-list-placeholder { .control-center-list-placeholder {
opacity: .5 opacity: .5;
} }
.floating-notifications { .floating-notifications {
background: transparent background: transparent;
} }
.blank-window { .blank-window {
background: alpha(black, 0.1) background: alpha(@rp-base, 0.1);
} }
.widget-title { .widget-title {
color: #f9f5d7; color: @text-color;
background: @noti-bg-darker; background: @noti-bg-darker;
padding: 5px 10px; padding: 5px 10px;
margin: 10px 10px 5px 10px; margin: 10px 10px 5px 10px;
font-size: 1.5rem; font-size: 1.5rem;
border-radius: 5px; border-radius: 5px;
} }
.widget-title>button { .widget-title > button {
font-size: 1rem; font-size: 1rem;
color: @text-color; color: @text-color;
text-shadow: none; text-shadow: none;
background: @noti-bg; background: @noti-bg;
box-shadow: none; box-shadow: none;
border-radius: 5px; border-radius: 5px;
} }
.widget-title>button:hover { .widget-title > button:hover {
background: #d79921; background: @rp-gold;
color: @cc-bg; color: @cc-bg;
} }
.widget-dnd { .widget-dnd {
background: @noti-bg-darker; background: @noti-bg-darker;
padding: 5px 10px; padding: 5px 10px;
margin: 5px 10px 10px 10px; margin: 5px 10px 10px 10px;
border-radius: 5px; border-radius: 5px;
font-size: large; font-size: large;
color: #f2e5bc; color: @text-color;
} }
.widget-dnd>switch { .widget-dnd > switch {
border-radius: 4px; border-radius: 4px;
background: #665c54; background: @rp-muted;
} }
.widget-dnd>switch:checked { .widget-dnd > switch:checked {
background: #d79921; background: @rp-gold;
border: 1px solid #d79921; border: 1px solid @rp-gold;
} }
.widget-dnd>switch slider { .widget-dnd > switch slider {
background: @cc-bg; background: @cc-bg;
border-radius: 5px border-radius: 5px;
} }
.widget-dnd>switch:checked slider { .widget-dnd > switch:checked slider {
background: @cc-bg; background: @cc-bg;
border-radius: 5px border-radius: 5px;
} }
.widget-label { .widget-label {
margin: 10px 10px 5px 10px; margin: 10px 10px 5px 10px;
} }
.widget-label>label { .widget-label > label {
font-size: 1rem; font-size: 1rem;
color: @text-color; color: @text-color;
} }
.widget-mpris { .widget-mpris {
color: @text-color; color: @text-color;
background: @noti-bg-darker; background: @noti-bg-darker;
padding: 5px 10px 0px 0px; padding: 5px 10px 0px 0px;
margin: 5px 10px 5px 10px; margin: 5px 10px 5px 10px;
border-radius: 0px; border-radius: 0px;
} }
.widget-mpris > box > button { .widget-mpris > box > button {
border-radius: 5px; border-radius: 5px;
} }
.widget-mpris-player { .widget-mpris-player {
padding: 5px 10px; padding: 5px 10px;
margin: 10px margin: 10px;
} }
.widget-mpris-title { .widget-mpris-title {
font-weight: 700; font-weight: 700;
font-size: 1.25rem font-size: 1.25rem;
} }
.widget-mpris-subtitle { .widget-mpris-subtitle {
font-size: 1.1rem font-size: 1.1rem;
color: @text-color-disabled;
} }
.widget-buttons-grid { .widget-buttons-grid {
font-size: x-large; font-size: x-large;
padding: 5px; padding: 5px;
margin: 5px 10px 10px 10px; margin: 5px 10px 10px 10px;
border-radius: 5px; border-radius: 5px;
background: @noti-bg-darker; background: @noti-bg-darker;
} }
.widget-buttons-grid>flowbox>flowboxchild>button { .widget-buttons-grid > flowbox > flowboxchild > button {
margin: 3px; margin: 3px;
background: @cc-bg; background: @cc-bg;
border-radius: 5px; border-radius: 5px;
color: @text-color color: @text-color;
border: 1px solid @noti-border-color;
} }
.widget-buttons-grid>flowbox>flowboxchild>button:hover { .widget-buttons-grid > flowbox > flowboxchild > button:hover {
background: #d79921; background: @rp-gold;
color: @cc-bg; color: @cc-bg;
} }
.widget-menubar>box>.menu-button-bar>button { .widget-menubar > box > .menu-button-bar > button {
border: none; border: none;
background: transparent background: transparent;
color: @text-color;
} }
.topbar-buttons>button { .topbar-buttons > button {
border: none; border: none;
background: transparent background: transparent;
color: @text-color;
} }

119
.config/tmux/tmux.conf Normal file
View File

@@ -0,0 +1,119 @@
#### GENERAL SETTINGS ####
set -g default-terminal "xterm-256color"
set -ga terminal-overrides ",xterm-256color:Tc" # truecolor support
set -g history-limit 10000
set -g mouse on
# Renaming
set -wg automatic-rename on
set -g renumber-window on
set -g allow-rename off
# Border status
setw -g pane-border-status top
#### KEYBINDINGS ####
# Use Alt-a as prefix
unbind C-b
set -g prefix M-a
bind M-a send-prefix
# Better split bindings
unbind '"'
unbind %
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
bind -n M-H split-window -h -b -c "#{pane_current_path}"
bind -n M-L split-window -h -c "#{pane_current_path}"
bind -n M-K split-window -v -b -c "#{pane_current_path}"
bind -n M-J split-window -v -c "#{pane_current_path}"
# Vim-like pane movement
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
# Alt+Tab to switch between last panes
bind -n M-Tab last-pane
# Resize panes with vimkeys
bind -n C-M-h resize-pane -L 5
bind -n C-M-j resize-pane -D 5
bind -n C-M-k resize-pane -U 5
bind -n C-M-l resize-pane -R 5
# Reload config
bind r source-file ~/.config/tmux/tmux.conf \; display-message "Config reloaded!"
#### COPY/CLIPBOARD SUPPORT ####
setw -g mode-keys vi
bind-key -T copy-mode-vi y send -X copy-pipe-and-cancel "kitty +kitten clipboard"
# For TPM, instead use `run ~/.tmux/plugins/tmux/catppuccin.tmux`
run ~/.config/tmux/plugins/tmux/catppuccin.tmux
# Catppuccin
set -g @catppuccin_flavor "mocha"
set -g @catppuccin_date_time_text '%d.%m.%y %H:%M'
set -g @tmux-weather-location "Nospelt"
# Windows
set -g @catppuccin_window_tabs_enabled "on"
set -g @catppuccin_window_number_position 'right'
set -g @catppuccin_window_status 'yes'
set -g @catppuccin_window_default_text '#W'
set -g @catppuccin_window_current_fill 'number'
set -g @catppuccin_window_current_text '#W'
set -g @catppuccin_window_current_color '#{E:@thm_surface_2}'
set -g @catppuccin_status_module_text_bg '#{E:@thm_mantle}'
set -g @catppuccin_window_status_style "slanted"
# Status
set -g status-justify "absolute-centre"
set -g @catppuccin_status_background "none"
# Left status
set -g status-left-length 100
set -g status-left ""
set -ga status-left "#{E:@catppuccin_status_user}"
set -ga status-left "#{E:@catppuccin_status_session}"
set -ga status-left "#{E:@catppuccin_status_application}"
set -g @catppuccin_host "on"
set -g @catppuccin_user "on"
# Right status
set -g status-right-length 100
set -g status-right ""
set -agF status-right "#{E:@catppuccin_status_cpu}"
set -ag status-right "#{E:@catppuccin_status_uptime}"
if 'test -r /sys/class/power_supply/BAT*' {
set -agF status-right '#{E:@catppuccin_status_battery}'
}
set -agF status-right "#{E:@catppuccin_status_weather}"
set -ag status-right "#{E:@catppuccin_status_date_time}"
set -ag status-right "#{E:@catppuccin_status_host}"
#### TMUX PLUGIN MANAGER + PLUGINS ####
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'tmux-plugins/tmux-yank'
# style
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'joshmedeski/tmux-nerd-font-window-name'
set -g @plugin 'tmux-plugins/tmux-cpu'
set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'xamut/tmux-weather'
# Initialize TPM (must be last)
run '~/.config/tmux/plugins/tpm/tpm'

View File

@@ -10,7 +10,6 @@ export SDL_VIDEODRIVER=wayland,x11
export CLUTTER_BACKEND=wayland export CLUTTER_BACKEND=wayland
export QT_QPA_PLATFORM=wayland;xcb export QT_QPA_PLATFORM=wayland;xcb
export QT_QPA_PLATFORM=wayland
export QT_QPA_PLATFORMTHEME=qt6ct export QT_QPA_PLATFORMTHEME=qt6ct
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1 export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
@@ -19,3 +18,4 @@ export ELECTRON_OZONE_PLATFORM_HINT=wayland
export MOZ_ENABLE_WAYLAND=1 export MOZ_ENABLE_WAYLAND=1
export GRIMBLAST_EDITOR='satty -f' export GRIMBLAST_EDITOR='satty -f'

View File

@@ -1,235 +1,106 @@
app_launch_prefix = "uwsm app -- " force_keyboard_focus = false # forces keyboard forcus to stay in Walker
terminal= "alacritty" close_when_open = true # close walker when invoking while already opened
terminal_title_flag = "" selection_wrap = false # wrap list if at bottom or top
locale = "" global_argument_delimiter = "#" # query: firefox#https://benz.dev => part after delimiter will be ignored when querying. this should be the same as in the elephant config
close_when_open = false keep_open_modifier = "shift" # won't close on activation, but rather select the next item in the list
theme = "vikingowl" exact_search_prefix = "'" # disable fuzzy searching
monitor = "" theme = "rose-pine" # theme to use
hotreload_theme = false disable_mouse = false # disable mouse (on input and list only)
as_window = false
timeout = 0
disable_click_to_close = false
force_keyboard_focus = false
[keys] [shell]
accept_typeahead = ["tab"] anchor_top = true
trigger_labels = "lalt" anchor_bottom = true
next = ["down"] anchor_left = true
prev = ["up"] anchor_right = true
close = ["esc"]
remove_from_history = ["shift backspace"]
resume_query = ["ctrl r"]
toggle_exact_search = ["ctrl m"]
[keys.activation_modifiers] [placeholders]
keep_open = "shift" "default" = { input = "Search", list = "No Results" } # placeholders for input and empty list, key is the providers name, so f.e. "desktopapplications" or "menus:other"
alternate = "alt"
[keys.ai] [keybinds]
clear_session = ["ctrl x"] close = "esc"
copy_last_response = ["ctrl c"] next = "down"
resume_session = ["ctrl r"] previous = "up"
run_last_response = ["ctrl e"] toggle_exact = "ctrl e"
resume_last_query = "ctrl r"
[events] [providers]
on_activate = "" default = [
on_selection = "" "desktopapplications",
on_exit = "" "calc",
on_launch = "" "runner",
on_query_change = "" "menus",
"websearch",
] # providers to be queried by default
empty = ["desktopapplications"] # providers to be queried when query is empty
[list] [[providers.prefixes]]
dynamic_sub = true prefix = ";"
keyboard_scroll_style = "emacs" provider = "providerlist"
max_entries = 50
show_initial_entries = true
single_click = true
visibility_threshold = 20
placeholder = "No Results"
[search] [[providers.prefixes]]
argument_delimiter = "#"
placeholder = "Search..."
delay = 0
resume_last_query = false
[activation_mode]
labels = "jkl;asdf"
[builtins.applications]
weight = 5
name = "applications"
placeholder = "Applications"
prioritize_new = true
hide_actions_with_empty_query = true
context_aware = true
refresh = true
show_sub_when_single = true
show_icon_when_single = true
show_generic = true
history = true
[builtins.applications.actions]
enabled = true
hide_category = false
hide_without_query = true
[builtins.bookmarks]
weight = 5
placeholder = "Bookmarks"
name = "bookmarks"
icon = "bookmark"
switcher_only = true
[[builtins.bookmarks.entries]]
label = "Walker"
url = "https://github.com/abenz1267/walker"
keywords = ["walker", "github"]
[builtins.xdph_picker]
hidden = true
weight = 5
placeholder = "Screen/Window Picker"
show_sub_when_single = true
name = "xdphpicker"
switcher_only = true
[builtins.ai]
weight = 5
placeholder = "AI"
name = "ai"
icon = "help-browser"
switcher_only = true
[[builtins.ai.anthropic.prompts]]
model = "claude-3-5-sonnet-20241022"
temperature = 1
max_tokens = 1_000
label = "General Assistant"
prompt = "You are a helpful general assistant. Keep your answers short and precise."
[builtins.calc]
require_number = true
weight = 5
name = "calc"
icon = "accessories-calculator"
placeholder = "Calculator"
min_chars = 4
[builtins.windows]
weight = 5
icon = "view-restore"
name = "windows"
placeholder = "Windows"
show_icon_when_single = true
[builtins.clipboard]
exec = "wl-copy"
weight = 5
name = "clipboard"
avoid_line_breaks = true
placeholder = "Clipboard"
image_height = 300
max_entries = 10
switcher_only = true
[builtins.commands]
weight = 5
icon = "utilities-terminal"
switcher_only = true
name = "commands"
placeholder = "Commands"
[builtins.custom_commands]
weight = 5
icon = "utilities-terminal"
name = "custom_commands"
placeholder = "Custom Commands"
[builtins.emojis]
exec = "wl-copy"
weight = 5
name = "emojis"
placeholder = "Emojis"
switcher_only = true
history = true
typeahead = true
show_unqualified = false
[builtins.symbols]
after_copy = ""
weight = 5
name = "symbols"
placeholder = "Symbols"
switcher_only = true
history = true
typeahead = true
[builtins.finder]
use_fd = false
weight = 5
icon = "file"
name = "finder"
placeholder = "Finder"
switcher_only = true
ignore_gitignore = true
refresh = true
concurrency = 8
show_icon_when_single = true
[builtins.runner]
weight = 5
icon = "utilities-terminal"
name = "runner"
placeholder = "Runner"
typeahead = true
history = true
generic_entry = false
refresh = true
[builtins.ssh]
weight = 5
icon = "preferences-system-network"
name = "ssh"
placeholder = "SSH"
switcher_only = true
history = true
refresh = true
[builtins.switcher]
weight = 5
name = "switcher"
placeholder = "Switcher"
prefix = "/" prefix = "/"
provider = "files"
[builtins.websearch] [[providers.prefixes]]
weight = 5 prefix = "."
icon = "applications-internet" provider = "symbols"
name = "websearch"
placeholder = "Websearch"
[[builtins.websearch.entries]] [[providers.prefixes]]
name = "Google" prefix = "="
url = "https://www.google.com/search?q=%TERM%" provider = "calc"
[[builtins.websearch.entries]] [[providers.prefixes]]
name = "DuckDuckGo" prefix = "@"
url = "https://duckduckgo.com/?q=%TERM%" provider = "websearch"
switcher_only = true
[[builtins.websearch.entries]] [[providers.prefixes]]
name = "Ecosia" prefix = ":"
url = "https://www.ecosia.org/search?q=%TERM%" provider = "clipboard"
switcher_only = true
[[builtins.websearch.entries]] [providers.calc]
name = "Yandex" click = "copy"
url = "https://yandex.com/search/?text=%TERM%" copy = "enter"
switcher_only = true save = "ctrl s"
delete = "ctrl d"
[builtins.dmenu] [providers.websearch]
hidden = true click = "search"
weight = 5 search = "enter"
name = "dmenu"
placeholder = "Dmenu" [providers.providerlist]
switcher_only = true click = "activate"
activate = "enter"
[providers.clipboard]
time_format = "%d.%m. - %H:%M" # format for the clipboard item date
click = "copy"
copy = "enter"
delete = "ctrl d"
[providers.desktopapplications]
click = "start"
start = "enter"
[providers.files]
click = "open"
open = "enter"
open_dir = "ctrl enter"
copy_path = "ctrl shift C"
copy_file = "ctrl c"
[providers.runner]
click = "start"
start = "enter"
start_terminal = "shift enter"
[providers.dmenu]
click = "select"
select = "enter"
[providers.symbols]
click = "copy"
copy = "enter"
[providers.menus]
click = "activate"
activate = "enter"

View File

@@ -1,162 +0,0 @@
/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */
@define-color foreground rgba(255, 255, 255, 0.8);
@define-color background hsla(240, 12.7%, 13.9%, 0.98);
@define-color color1 hsl(172, 100%, 25.3%);
/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */
#window,
#box,
#aiScroll,
#aiList,
#search,
#password,
#input,
#prompt,
#clear,
#typeahead,
#list,
child,
scrollbar,
slider,
#item,
#text,
#label,
#bar,
#sub,
#activationlabel {
all: unset;
}
#cfgerr {
background: rgba(255, 0, 0, 0.4);
margin-top: 20px;
padding: 8px;
font-size: 1.2em;
}
#window {
color: @foreground;
}
#box {
border-radius: 2px;
background: @background;
padding: 32px;
border: 1px solid lighter(@background);
box-shadow:
0 19px 38px rgba(0, 0, 0, 0.3),
0 15px 12px rgba(0, 0, 0, 0.22);
}
#search {
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.1),
0 1px 2px rgba(0, 0, 0, 0.22);
background: lighter(@background);
padding: 8px;
}
#prompt {
margin-left: 4px;
margin-right: 12px;
color: @foreground;
opacity: 0.2;
}
#clear {
color: @foreground;
opacity: 0.8;
}
#password,
#input,
#typeahead {
border-radius: 2px;
}
#input {
background: none;
}
#password {
}
#spinner {
padding: 8px;
}
#typeahead {
color: @foreground;
opacity: 0.8;
}
#input placeholder {
opacity: 0.5;
}
#list {
}
child {
padding: 8px;
border-radius: 2px;
}
child:selected,
child:hover {
background: alpha(@color1, 0.4);
}
#item {
}
#icon {
margin-right: 8px;
}
#text {
}
#label {
font-weight: 500;
}
#sub {
opacity: 0.5;
font-size: 0.8em;
}
#activationlabel {
}
#bar {
}
.barentry {
}
.activation #activationlabel {
}
.activation #text,
.activation #icon,
.activation #search {
opacity: 0.5;
}
.aiItem {
padding: 10px;
border-radius: 2px;
color: @foreground;
background: @background;
}
.aiItem.user {
padding-left: 0;
padding-right: 0;
}
.aiItem.assistant {
background: lighter(@background);
}

View File

@@ -1,103 +0,0 @@
# AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN.
[ui.anchors]
bottom = true
left = true
right = true
top = true
[ui.window]
h_align = "fill"
v_align = "fill"
[ui.window.box]
h_align = "center"
width = 450
[ui.window.box.bar]
orientation = "horizontal"
position = "end"
[ui.window.box.bar.entry]
h_align = "fill"
h_expand = true
[ui.window.box.bar.entry.icon]
h_align = "center"
h_expand = true
pixel_size = 24
theme = ""
[ui.window.box.margins]
top = 200
[ui.window.box.ai_scroll]
name = "aiScroll"
h_align = "fill"
v_align = "fill"
max_height = 300
min_width = 400
height = 300
width = 400
[ui.window.box.ai_scroll.margins]
top = 8
[ui.window.box.ai_scroll.list]
name = "aiList"
orientation = "vertical"
width = 400
spacing = 10
[ui.window.box.ai_scroll.list.item]
name = "aiItem"
h_align = "fill"
v_align = "fill"
x_align = 0
y_align = 0
wrap = true
[ui.window.box.scroll.list]
marker_color = "#1BFFE1"
max_height = 300
max_width = 400
min_width = 400
width = 400
[ui.window.box.scroll.list.item.activation_label]
h_align = "fill"
v_align = "fill"
width = 20
x_align = 0.5
y_align = 0.5
[ui.window.box.scroll.list.item.icon]
pixel_size = 26
theme = ""
[ui.window.box.scroll.list.margins]
top = 8
[ui.window.box.search.prompt]
name = "prompt"
icon = "edit-find"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.clear]
name = "clear"
icon = "edit-clear"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.input]
h_align = "fill"
h_expand = true
icons = true
[ui.window.box.search.spinner]
hide = true

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"></requires>
<object class="GtkBox" id="ItemBox">
<style>
<class name="item-box"></class>
</style>
<property name="orientation">horizontal</property>
<property name="spacing">0</property>
<child>
<object class="GtkImage" id="ItemImage">
<style>
<class name="item-image"></class>
</style>
<property name="icon-size">large</property>
</object>
</child>
<child>
<object class="GtkBox" id="ItemTextBox">
<style>
<class name="item-text-box"></class>
</style>
<property name="orientation">vertical</property>
<property name="vexpand">true</property>
<property name="vexpand-set">true</property>
<property name="spacing">0</property>
<child>
<object class="GtkLabel" id="ItemText">
<style>
<class name="item-text"></class>
</style>
<property name="wrap">false</property>
<property name="vexpand_set">true</property>
<property name="vexpand">true</property>
<property name="xalign">0</property>
</object>
</child>
<child>
<object class="GtkLabel" id="ItemSubtext">
<style>
<class name="item-subtext"></class>
</style>
<property name="wrap">false</property>
<property name="vexpand_set">true</property>
<property name="vexpand">true</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"></requires>
<object class="GtkBox" id="ItemBox">
<style>
<class name="item-box"></class>
</style>
<property name="orientation">horizontal</property>
<property name="spacing">0</property>
<child>
<object class="GtkImage" id="ItemImage">
<style>
<class name="item-image"></class>
</style>
<property name="pixel-size">48</property>
</object>
</child>
<child>
<object class="GtkBox" id="ItemTextBox">
<style>
<class name="item-text-box"></class>
</style>
<property name="orientation">vertical</property>
<property name="vexpand">true</property>
<property name="vexpand-set">true</property>
<property name="spacing">0</property>
<child>
<object class="GtkLabel" id="ItemText">
<style>
<class name="item-text"></class>
</style>
<property name="wrap">false</property>
<property name="vexpand_set">true</property>
<property name="vexpand">true</property>
<property name="xalign">0</property>
</object>
</child>
<child>
<object class="GtkLabel" id="ItemSubtext">
<style>
<class name="item-subtext"></class>
</style>
<property name="wrap">false</property>
<property name="vexpand_set">true</property>
<property name="vexpand">true</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"></requires>
<object class="GtkBox" id="ItemBox">
<style>
<class name="item-box"></class>
</style>
<property name="orientation">vertical</property>
<property name="spacing">0</property>
<child>
<object class="GtkPicture" id="ItemImage">
<style>
<class name="item-image"></class>
</style>
<property name="content-fit">cover</property>
<property name="height-request">100</property>
</object>
</child>
<child>
<object class="GtkBox" id="ItemTextBox">
<style>
<class name="item-text-box"></class>
</style>
<property name="orientation">vertical</property>
<property name="vexpand">true</property>
<property name="vexpand-set">true</property>
<property name="spacing">0</property>
<child>
<object class="GtkLabel" id="ItemText">
<style>
<class name="item-text"></class>
</style>
<property name="vexpand">true</property>
<property name="xalign">0</property>
<property name="lines">1</property>
<property name="ellipsize">3</property>
<property name="single-line-mode">true</property>
</object>
</child>
<child>
<object class="GtkLabel" id="ItemSubtext">
<style>
<class name="item-subtext"></class>
</style>
<property name="xalign">0</property>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"></requires>
<object class="GtkBox" id="ItemBox">
<style>
<class name="item-box"></class>
</style>
<property name="orientation">vertical</property>
<property name="spacing">0</property>
<child>
<object class="GtkBox" id="ItemTextBox">
<style>
<class name="item-text-box"></class>
</style>
<property name="orientation">vertical</property>
<property name="vexpand">true</property>
<property name="vexpand-set">true</property>
<property name="spacing">0</property>
<child>
<object class="GtkLabel" id="ItemText">
<style>
<class name="item-text"></class>
</style>
<property name="vexpand">true</property>
<property name="xalign">0</property>
<property name="lines">1</property>
<property name="ellipsize">3</property>
<property name="single-line-mode">true</property>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"></requires>
<object class="GtkBox" id="ItemBox">
<style>
<class name="item-box"></class>
</style>
<property name="orientation">horizontal</property>
<property name="spacing">0</property>
<child>
<object class="GtkImage" id="ItemImage">
<style>
<class name="item-image"></class>
</style>
<property name="icon-size">large</property>
</object>
</child>
<child>
<object class="GtkBox" id="ItemTextBox">
<style>
<class name="item-text-box"></class>
</style>
<property name="orientation">vertical</property>
<property name="vexpand">true</property>
<property name="vexpand-set">true</property>
<property name="spacing">0</property>
<child>
<object class="GtkLabel" id="ItemText">
<style>
<class name="item-text"></class>
</style>
<property name="wrap">false</property>
<property name="vexpand_set">true</property>
<property name="vexpand">true</property>
<property name="xalign">0</property>
<property name="ellipsize">1</property>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"></requires>
<object class="GtkBox" id="ItemBox">
<style>
<class name="item-box"></class>
</style>
<property name="orientation">horizontal</property>
<property name="spacing">0</property>
<child>
<object class="GtkImage" id="ItemImage">
<style>
<class name="item-image"></class>
</style>
<property name="icon-size">large</property>
</object>
</child>
<child>
<object class="GtkBox" id="ItemTextBox">
<style>
<class name="item-text-box"></class>
</style>
<property name="orientation">vertical</property>
<property name="vexpand">true</property>
<property name="vexpand-set">true</property>
<property name="spacing">0</property>
<child>
<object class="GtkLabel" id="ItemText">
<style>
<class name="item-text"></class>
</style>
<property name="wrap">false</property>
<property name="vexpand_set">true</property>
<property name="vexpand">true</property>
<property name="xalign">0</property>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"></requires>
<object class="GtkBox" id="ItemBox">
<style>
<class name="item-box"></class>
</style>
<property name="orientation">horizontal</property>
<property name="spacing">0</property>
<child>
<object class="GtkLabel" id="ItemImage">
<style>
<class name="item-image"></class>
</style>
</object>
</child>
<child>
<object class="GtkBox" id="ItemTextBox">
<style>
<class name="item-text-box"></class>
</style>
<property name="orientation">vertical</property>
<property name="vexpand">true</property>
<property name="vexpand-set">true</property>
<property name="spacing">0</property>
<child>
<object class="GtkLabel" id="ItemText">
<style>
<class name="item-text"></class>
</style>
<property name="wrap">false</property>
<property name="vexpand_set">true</property>
<property name="vexpand">true</property>
<property name="xalign">0</property>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"></requires>
<object class="GtkWindow" id="Window">
<style>
<class name="window"></class>
</style>
<property name="resizable">true</property>
<property name="title">Walker</property>
<child>
<object class="GtkBox" id="BoxWrapper">
<style>
<class name="box-wrapper"></class>
</style>
<property name="orientation">horizontal</property>
<property name="margin-top">300</property>
<property name="valign">start</property>
<property name="halign">center</property>
<child>
<object class="GtkBox" id="Box">
<style>
<class name="box"></class>
</style>
<property name="orientation">vertical</property>
<property name="hexpand-set">true</property>
<property name="hexpand">true</property>
<child>
<object class="GtkBox" id="SearchContainer">
<style>
<class name="search-container"></class>
</style>
<property name="orientation">horizontal</property>
<property name="halign">fill</property>
<property name="hexpand-set">true</property>
<property name="hexpand">true</property>
<child>
<object class="GtkEntry" id="Input">
<style>
<class name="input"></class>
</style>
<property name="halign">fill</property>
<property name="hexpand-set">true</property>
<property name="hexpand">true</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox" id="ContentContainer">
<style>
<class name="content-container"></class>
</style>
<property name="orientation">horizontal</property>
<child>
<object class="GtkLabel" id="Placeholder">
<style>
<class name="placeholder"></class>
</style>
<property name="label">No Results</property>
<property name="height-request">400</property>
<property name="width-request">500</property>
</object>
</child>
<child>
<object class="GtkScrolledWindow" id="Scroll">
<style>
<class name="scroll"></class>
</style>
<property name="can_focus">false</property>
<property name="overlay-scrolling">true</property>
<property name="max-content-width">500</property>
<property name="min-content-width">500</property>
<property name="max-content-height">400</property>
<property name="min-content-height">400</property>
<property name="propagate-natural-height">true</property>
<property name="propagate-natural-width">true</property>
<property name="hscrollbar-policy">automatic</property>
<property name="vscrollbar-policy">automatic</property>
<child>
<object class="GtkGridView" id="List">
<style>
<class name="list"></class>
</style>
<property name="max_columns">1</property>
<property name="can_focus">false</property>
</object>
</child>
</object>
</child>
<child>
<object class="GtkBox" id="Preview">
<style>
<class name="preview"></class>
</style>
</object>
</child>
</object>
</child>
<child>
<object class="GtkLabel" id="Keybinds">
<style>
<class name="keybind-hints"></class>
</style>
<property name="xalign">1</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"></requires>
<object class="GtkBox" id="PreviewBox">
<style>
<class name="preview-box"></class>
</style>
<property name="height-request">300</property>
<property name="width-request">500</property>
<child>
<object class="GtkStack" id="PreviewStack">
<style>
<class name="preview-stack"></class>
</style>
<property name="hexpand">true</property>
<property name="vexpand">true</property>
</object>
</child>
</object>
</interface>

View File

@@ -0,0 +1,100 @@
scrollbar {
opacity: 0;
}
.box-wrapper {
box-shadow:
0 19px 38px rgba(0, 0, 0, 0.3),
0 15px 12px rgba(0, 0, 0, 0.22);
/* NEEDS TO BE TRANSPARENT CUZ OF HYPRLAND BUG */
background: alpha(@window_bg_color, 0.99);
}
.preview-box {
}
.box {
}
.search-container {
background: @window_bg_color;
}
.input placeholder {
opacity: 0.5;
}
.input {
font-size: 20px;
border-radius: 0;
padding: 10px;
box-shadow: none;
outline: none;
padding-left: 10px;
}
.input:focus,
.input:active {
box-shadow: none;
outline: none;
}
.content-container {
}
.placeholder {
}
.scroll {
}
.list {
background: @window_bg_color;
}
child,
child > * {
padding: 0;
margin: 0;
}
.item-box {
padding: 10px;
}
.item-text-box {
all: unset;
}
.item-text {
}
.item-subtext {
font-size: 12px;
opacity: 0.8;
}
.item-image {
}
.keybind-hints {
padding: 10px;
font-size: 14px;
color: @theme_fg_color;
opacity: 0.5;
background: lighter(@window_bg_color);
}
.preview {
}
.calc .item-text {
font-size: 24px;
}
.calc .item-subtext {
}
.symbols .item-image {
font-size: 18px;
}

Some files were not shown because too many files have changed in this diff Show More