diff --git a/.config/gtk-2.0/dark.conf b/.config/gtk-2.0/dark.conf
new file mode 100644
index 0000000..dfb790a
--- /dev/null
+++ b/.config/gtk-2.0/dark.conf
@@ -0,0 +1,3 @@
+gtk-icon-theme-name = "Adwaita"
+gtk-theme-name = "Adwaita-dark"
+gtk-font-name = "IBM Plex 12"
diff --git a/.config/gtk-2.0/light.conf b/.config/gtk-2.0/light.conf
new file mode 100644
index 0000000..2b62d87
--- /dev/null
+++ b/.config/gtk-2.0/light.conf
@@ -0,0 +1,3 @@
+gtk-icon-theme-name = "Adwaita"
+gtk-theme-name = "Adwaita"
+gtk-font-name = "IBM Plex 12"
diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf
new file mode 100644
index 0000000..f2df121
--- /dev/null
+++ b/.config/hypr/hyprland.conf
@@ -0,0 +1,7 @@
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+
+source=~/.config/hypr/hyprland.conf.d/ui.conf
+source=~/.config/hypr/hyprland.conf.d/output.conf
+source=~/.config/hypr/hyprland.conf.d/keybind.conf
+source=~/.config/hypr/hyprland.conf.d/input.conf
+source=~/.config/hypr/hyprland.conf.d/autoexec.conf
diff --git a/.config/hypr/hyprland.conf.d/autoexec.conf b/.config/hypr/hyprland.conf.d/autoexec.conf
new file mode 100644
index 0000000..bd910c1
--- /dev/null
+++ b/.config/hypr/hyprland.conf.d/autoexec.conf
@@ -0,0 +1,16 @@
+# env setting for nvidia
+env = LIBVA_DRIVER_NAME,nvidia
+env = XDG_SESSION_TYPE,wayland
+env = GBM_BACKEND,nvidia-drm
+env = WLR_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1
+env = __GLX_VENDOR_LIBRARY_NAME,nvidia
+env = WLR_NO_HARDWARE_CURSORS,1
+
+# Execute your favorite apps at launch
+exec=pidof -q hyprpaper || hyprpaper
+exec=pidof -q wlsunset || wlsunset -S 08:00 -s 19:00 -d 1800
+exec=pidof -q waybar || waybar
+exec=~/.config/hypr/scripts/clamshell.sh
+exec-once=fcitx5 -d
+
+env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket
diff --git a/.config/hypr/hyprland.conf.d/input.conf b/.config/hypr/hyprland.conf.d/input.conf
new file mode 100644
index 0000000..6cc99af
--- /dev/null
+++ b/.config/hypr/hyprland.conf.d/input.conf
@@ -0,0 +1,28 @@
+# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
+input {
+ kb_layout = us
+ kb_variant =
+ kb_model =
+ kb_options =
+ kb_rules =
+
+ follow_mouse = 1
+
+ touchpad {
+ natural_scroll = true
+ }
+
+ sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
+}
+
+gestures {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ workspace_swipe = on
+}
+
+# Example per-device config
+# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
+device:epic-mouse-v1 {
+ sensitivity = -0.5
+}
+
diff --git a/.config/hypr/hyprland.conf.d/keybind.conf b/.config/hypr/hyprland.conf.d/keybind.conf
new file mode 100644
index 0000000..c3f2ed8
--- /dev/null
+++ b/.config/hypr/hyprland.conf.d/keybind.conf
@@ -0,0 +1,89 @@
+# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+$mainMod = SUPER
+
+bind = $mainMod, N, exec, kitty
+bind = $mainMod, W, killactive,
+bind = $mainMod + CTRL, Q, exit,
+bind = $mainMod + SHIFT, SPACE, togglefloating,
+bind = $mainMod + SHIFT, RETURN, exec, wofi --show drun
+bind = $mainMod + SHIFT, P, pseudo, # dwindle
+
+# Software binds
+bind = $mainMod CTRL, r, exec, hyprctl reload
+bind = $mainMod CTRL, 65, exec, fcitx5-remote -t
+bind = $mainMod, M, exec, swaync-client -t
+bind = $mainMod CTRL, l, exec, ~/.config/hypr/scripts/logout.sh
+# TODO: use a script instead
+bind = $mainMod SHIFT, s, exec, hyprshot --clipboard-only -m region -s
+
+# Move focus with mainMod + arrow keys
+bind = $mainMod, left, movefocus, l
+bind = $mainMod, right, movefocus, r
+bind = $mainMod, up, movefocus, u
+bind = $mainMod, down, movefocus, d
+
+# Move focus with hjkl also
+bind = $mainMod, h, movefocus, l
+bind = $mainMod, l, movefocus, r
+bind = $mainMod, k, movefocus, u
+bind = $mainMod, j, movefocus, d
+
+# Move windows with hjkl
+bind = $mainMod + SHIFT, h, swapwindow, l
+bind = $mainMod + SHIFT, l, swapwindow, r
+bind = $mainMod + SHIFT, k, swapwindow, u
+bind = $mainMod + SHIFT, j, swapwindow, d
+
+# Switch workspaces with mainMod + [0-9]
+bind = $mainMod, 1, workspace, 1
+bind = $mainMod, 2, workspace, 2
+bind = $mainMod, 3, workspace, 3
+bind = $mainMod, 4, workspace, 4
+bind = $mainMod, 5, workspace, 5
+bind = $mainMod, 6, workspace, 6
+bind = $mainMod, 7, workspace, 7
+bind = $mainMod, 8, workspace, 8
+bind = $mainMod, 9, workspace, 9
+bind = $mainMod, 0, togglespecialworkspace
+
+# Move active window to a workspace with mainMod + SHIFT + [0-9]
+bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1
+bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2
+bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3
+bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4
+bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5
+bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6
+bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7
+bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8
+bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9
+bind = $mainMod SHIFT, 0, movetoworkspacesilent, special
+
+# Resize windows
+binde = $mainMod SHIFT, 60, resizeactive, -10% 0
+binde = $mainMod SHIFT, 59, resizeactive, 10% 0
+binde = $mainMod SHIFT, 21, resizeactive, 0 -10%
+binde = $mainMod, 20, resizeactive, 0 10%
+
+# Fullscreen
+bind= $mainMod, F, fullscreen, 0
+
+# Scroll through existing workspaces with mainMod + scroll
+bind = $mainMod, mouse_down, workspace, e-1
+bind = $mainMod, mouse_up, workspace, e+1
+
+# Move/resize windows with mainMod + LMB/RMB and dragging
+bindm = $mainMod, mouse:272, movewindow
+bindm = $mainMod, mouse:273, resizewindow
+
+# fn keys
+bind=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+
+bindl=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-
+bind=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+bind=, XF86AudioMicMute, exec , wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+bind=, XF86MonBrightnessUp, exec, light -A 5
+bind=, XF86MonBrightnessDown, exec, light -U 5
+bind=, XF86AudioPause, exec, 'playerctl pause'
+bind=, XF86AudioPlay, exec, 'playerctl play'
+bind=, XF86AudioStop, exec, 'playerctl stop'
+bind=, XF86AudioNext, exec, 'playerctl next'
+bind=, XF86AudioPrev, exec, 'playerctl previous'
diff --git a/.config/hypr/hyprland.conf.d/output.conf b/.config/hypr/hyprland.conf.d/output.conf
new file mode 100644
index 0000000..dee4061
--- /dev/null
+++ b/.config/hypr/hyprland.conf.d/output.conf
@@ -0,0 +1,11 @@
+monitor=,highres,auto,auto
+monitor=desc:Lectron Company Ltd LECOO M2412HL GG30A137,2560x1440@74.96800,0x500,auto,bitdepth,10
+monitor=desc:XMI Redmi 27 NU 3948622WH08F4,3840x2160@60.00000,2560x0,auto,transform,3,bitdepth,10
+monitor=eDP-1,2560x1600@60.00000,auto,auto,bitdepth,10
+
+# Clamshell mode
+## Lid is opened
+bindl=,switch:off:Lid Switch,exec,~/.config/hypr/scripts/clamshell.sh
+
+## Lid is closed
+bindl=,switch:on:Lid Switch,exec,~/.config/hypr/scripts/clamshell.sh
diff --git a/.config/hypr/hyprland.conf.d/ui.conf b/.config/hypr/hyprland.conf.d/ui.conf
new file mode 100644
index 0000000..98a0198
--- /dev/null
+++ b/.config/hypr/hyprland.conf.d/ui.conf
@@ -0,0 +1,62 @@
+general {
+ gaps_in = 4
+ gaps_out = 8
+ border_size = 1
+ col.active_border = rgb(fbf1c7)
+ col.inactive_border = rgb(928374)
+ cursor_inactive_timeout = 10
+ resize_on_border = true
+ layout = dwindle
+}
+
+decoration {
+ # See https://wiki.hyprland.org/Configuring/Variables/ for more
+
+ rounding = 4
+
+ blur {
+ enabled = false
+ }
+
+ drop_shadow = false
+}
+
+animations {
+ enabled = false
+ bezier = easeInQuart, 0.5, 0, 0.75, 0
+ bezier = easeInQuint, 0.64, 0, 0.78, 0
+ animation = windows,1,2,easeInQuart, popin 80%
+ animation = workspaces,1,2,easeInQuint, slidefade 30%
+ animation = specialWorkspace,1,2,easeInQuint,slidefadevert 30%
+ animation = fade,1,1.2,easeInQuart
+}
+
+dwindle {
+ # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+ pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
+ preserve_split = yes # you probably want this
+ force_split = 2
+ no_gaps_when_only = 1
+ default_split_ratio = 1.2
+}
+
+master {
+ # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+ new_is_master = false
+ no_gaps_when_only = true
+ # drop_at_cursor = true
+}
+
+misc {
+ disable_splash_rendering = true
+ disable_hyprland_logo = true
+ vrr = 1
+ disable_autoreload = true
+ focus_on_activate = true
+}
+
+xwayland {
+ force_zero_scaling = true
+}
+
+# vim: set filetype=conf:
diff --git a/.config/hypr/hyprpaper.conf b/.config/hypr/hyprpaper.conf
new file mode 100644
index 0000000..70ab1f1
--- /dev/null
+++ b/.config/hypr/hyprpaper.conf
@@ -0,0 +1,4 @@
+preload = ~/.config/sway/Wallpaper/bg.png
+wallpaper = , ~/.config/sway/Wallpaper/bg.png
+# wallpaper = HDMI-A-1, ~/.config/sway/Wallpaper/bg.png
+ipc = off
diff --git a/.config/hypr/scripts/clamshell.sh b/.config/hypr/scripts/clamshell.sh
new file mode 100755
index 0000000..cb05944
--- /dev/null
+++ b/.config/hypr/scripts/clamshell.sh
@@ -0,0 +1,6 @@
+if hyprctl monitors | grep "Lectron Company Ltd LECOO M2412HL GG30A137" &>/dev/null
+then
+ hyprctl keyword monitor "eDP-1, disable"
+else
+ hyprctl keyword monitor "eDP-1, 2560x1440@90, auto, auto"
+fi
diff --git a/.config/hypr/scripts/logout.sh b/.config/hypr/scripts/logout.sh
new file mode 100755
index 0000000..30c2a54
--- /dev/null
+++ b/.config/hypr/scripts/logout.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# Modified from sway's locking script
+
+
+if [[ ! $(which swayidle 2> /dev/null) ]]; then
+ notify-send "ERROR" "Swayidle not found"
+ exit 1
+fi
+
+choice=$(echo -e "suspend\nshutdown\npoweroff\nreboot\nlock" | wofi -d --prompt " Choose power option" -Oalphabetical)
+
+
+if test "$choice" = lock ; then
+ # don't sleep when power on
+ if acpi -a | grep -q on; then
+ sleep_time=86400
+ else
+ sleep_time=10
+ fi
+ sleep 0.3
+
+ bright=`light`
+
+ swayidle -w \
+ timeout 5 "light -S 1" resume "light -S $bright" \
+ timeout $sleep_time 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' \
+ &
+ idlepid=$!
+
+ # swaylock -e -c 282828 --inside-color 00000003
+ swaylock -S --effect-blur "12x12" --effect-greyscale --effect-vignette 0.5:0.5 --inside-color 28282860 \
+ -e --ring-color 00000000 --line-color 00000000 --indicator --clock --text-color ebdbb2
+
+ kill $idlepid
+
+ pkill waybar
+ hyprctl dispatch dpms on
+ hyprctl dispatch exec waybar
+ light -S $bright
+elif test -n "$choice"; then
+ systemctl $choice
+fi
diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf
index e0e0a40..b546f74 100644
--- a/.config/kitty/kitty.conf
+++ b/.config/kitty/kitty.conf
@@ -1,12 +1,16 @@
#set font and stuff
-font_family IBM Plex Mono
-bold_font IBM Plex Mono SemiBold
-italic_font IBM Plex Mono Italic
-bold_italic_font IBM Plex Mono SemiBold Italic
+font_family Iosevka Term SS15
+bold_font Iosevka Term SS15 Bold
+italic_font Iosevka Term SS15 Italic
+bold_italic_font Iosevka Term SS15 Bold Italic
-font_size 13.5
+font_size 14
-symbol_map U+23FB-U+23FE,U+2B58,U+E200-U+E2A9,U+E0A0-U+E0A3,U+E0B0-U+E0BF,U+E0C0-U+E0C8,U+E0CC-U+E0CF,U+E0D0-U+E0D2,U+E0D4,U+E700-U+E7C5,U+F000-U+F2E0,U+2665,U+26A1,U+F400-U+F4A8,U+F67C,U+E000-U+E00A,U+F300-U+F313,U+E5FA-U+E62B Symbols-2048-em Nerd Font Complete
+symbol_map U+23FB-U+23FE,U+2B58,U+E200-U+E2A9,U+E0A0-U+E0A3,U+E0B0-U+E0BF,U+E0C0-U+E0C8,U+E0CC-U+E0CF,U+E0D0-U+E0D2,U+E0D4,U+E700-U+E7C5,U+F000-U+F2E0,U+2665,U+26A1,U+F400-U+F4A8,U+F67C,U+E000-U+E00A,U+F300-U+F313,U+E5FA-U+E62B Symbols Nerd Font Mono
+
+# Performance
+
+sync_to_monitor yes
# shell stuff
shell_integration enabled
@@ -28,6 +32,16 @@ allow_remote_control yes
listen_on unix:/tmp/fifo
+include themes/dark.conf
+
map kitty_mod+n new_os_window_with_cwd
-include themes/dark.conf
+# tabs and windows
+
+map kitty_mod+t new_tab_with_cwd
+
+map kitty_mod+enter new_window_with_cwd
+
+tab_bar_style fade
+
+tab_fade 0.00390625 0.0625 0.31640625 1
diff --git a/.config/kitty/ssh.conf b/.config/kitty/ssh.conf
new file mode 100644
index 0000000..472ef36
--- /dev/null
+++ b/.config/kitty/ssh.conf
@@ -0,0 +1,4 @@
+# env ZDOTDIR=$HOME/.cache/kitty-zsh
+# copy --dest .cache/kitty-zsh/.zshrc .zshrc
+
+copy .zshrc
diff --git a/.config/kitty/themes/light.conf b/.config/kitty/themes/light.conf
index dfd3a32..50d546a 100644
--- a/.config/kitty/themes/light.conf
+++ b/.config/kitty/themes/light.conf
@@ -1,4 +1,3 @@
-# vim:ft=kitty
## name: Gruvbox Material Light Medium
## author: Sainnhe Park
## license: MIT
diff --git a/.config/mpv/arguments.py b/.config/mpv/arguments.py
new file mode 100644
index 0000000..82678e5
--- /dev/null
+++ b/.config/mpv/arguments.py
@@ -0,0 +1,87 @@
+import argparse
+import collections
+import json
+import pathlib
+
+
+class Profile:
+ def __init__(self, object, json, groups_key="setting-groups"):
+ self.json = json
+ self.groups_key = groups_key
+
+ self._settings = []
+ self._shaders = []
+
+ self._collect(object)
+
+ def _collect(self, object):
+ self._settings.extend(object.get("settings", []))
+ self._shaders.extend(object.get("shaders", []))
+
+ for key in object.get(self.groups_key, []):
+ self._collect(self.json["setting-groups"][key])
+
+
+parser = argparse.ArgumentParser()
+
+parser.add_argument("--profile", default=None)
+parser.add_argument(
+ "--path", default=f"{pathlib.Path.home()}/.config/mpv/default-shader-pack")
+parser.add_argument("--config", default=False, action="store_true")
+
+arguments = parser.parse_args()
+arguments.path = str(pathlib.Path(arguments.path))
+
+
+# with open(pathlib.Path(arguments.path, "pack.json"), "rb") as file:
+with open(pathlib.Path(arguments.path, "pack-hq.json"), "rb") as file:
+ json_ = json.load(file)
+
+
+if arguments.profile is None:
+ for profile in json_["profiles"].values():
+ print(profile["displayname"])
+
+else:
+ if arguments.config:
+ prefix = ""
+ end = None
+
+ else:
+ prefix = "--"
+ end = " "
+
+ default_profile = Profile(
+ json_, json_, groups_key="default-setting-groups")
+
+ (_,) = (
+ profile
+ for profile in json_["profiles"].values()
+ if profile["displayname"] == arguments.profile
+ )
+ profile = Profile(_, json_)
+ for key, value in collections.OrderedDict(
+ default_profile._settings + profile._settings
+ ).items():
+ key = key.replace("_", "-")
+
+ if value is True:
+ print(prefix, key, sep="", end=end)
+ continue
+
+ print(prefix, key, "=", value, sep="", end=end)
+
+ print(
+ prefix,
+ "glsl-shaders=",
+ ":".join(
+ str(pathlib.Path(arguments.path, "shaders", shader))
+ for shader in collections.OrderedDict(
+ (_, None) for _ in default_profile._shaders + profile._shaders
+ ).keys()
+ ),
+ sep="",
+ end=end,
+ )
+
+ print()
diff --git a/.config/mpv/default-shader-pack b/.config/mpv/default-shader-pack
new file mode 160000
index 0000000..ca506a6
--- /dev/null
+++ b/.config/mpv/default-shader-pack
@@ -0,0 +1 @@
+Subproject commit ca506a6bf3937881ebd1ab35bfbaf3d9b0221e0d
diff --git a/.config/mpv/mpv.conf b/.config/mpv/mpv.conf
index acd1e79..2519776 100644
--- a/.config/mpv/mpv.conf
+++ b/.config/mpv/mpv.conf
@@ -1,3 +1,3 @@
-volume=50
+volume=70
sub-auto=fuzzy
-hwdec=auto-safe
+# hwdec=auto-safe
diff --git a/.config/qt5ct/dark.conf b/.config/qt5ct/dark.conf
new file mode 100644
index 0000000..e10d7ab
--- /dev/null
+++ b/.config/qt5ct/dark.conf
@@ -0,0 +1,28 @@
+[Appearance]
+color_scheme_path=/usr/share/qt5ct/colors/airy.conf
+custom_palette=false
+icon_theme=Papirus-Dark
+standard_dialogs=gtk3
+style=Adwaita-Dark
+
+[Fonts]
+fixed=@Variant(\0\0\0@\0\0\0\x1a\0I\0\x42\0M\0 \0P\0l\0\x65\0x\0 \0M\0o\0n\0o@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
+general=@Variant(\0\0\0@\0\0\0\x1a\0I\0\x42\0M\0 \0P\0l\0\x65\0x\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
+
+[Interface]
+activate_item_on_single_click=1
+buttonbox_layout=2
+cursor_flash_time=1000
+dialog_buttons_have_icons=2
+double_click_interval=400
+gui_effects=@Invalid()
+keyboard_scheme=2
+menus_have_icons=true
+show_shortcuts_in_context_menus=true
+stylesheets=@Invalid()
+toolbutton_style=4
+underline_shortcut=1
+wheel_scroll_lines=3
+
+[SettingsWindow]
+geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 \0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 \0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 )
diff --git a/.config/qt5ct/light.conf b/.config/qt5ct/light.conf
new file mode 100644
index 0000000..3d02ce9
--- /dev/null
+++ b/.config/qt5ct/light.conf
@@ -0,0 +1,28 @@
+[Appearance]
+color_scheme_path=/usr/share/qt5ct/colors/airy.conf
+custom_palette=false
+icon_theme=Papirus
+standard_dialogs=gtk3
+style=Adwaita
+
+[Fonts]
+fixed=@Variant(\0\0\0@\0\0\0\x1a\0I\0\x42\0M\0 \0P\0l\0\x65\0x\0 \0M\0o\0n\0o@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
+general=@Variant(\0\0\0@\0\0\0\x1a\0I\0\x42\0M\0 \0P\0l\0\x65\0x\0 \0S\0\x61\0n\0s@(\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10)
+
+[Interface]
+activate_item_on_single_click=1
+buttonbox_layout=2
+cursor_flash_time=1000
+dialog_buttons_have_icons=2
+double_click_interval=400
+gui_effects=@Invalid()
+keyboard_scheme=2
+menus_have_icons=true
+show_shortcuts_in_context_menus=true
+stylesheets=@Invalid()
+toolbutton_style=4
+underline_shortcut=1
+wheel_scroll_lines=3
+
+[SettingsWindow]
+geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\"\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\"\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\")
diff --git a/.config/qt6ct/dark.conf b/.config/qt6ct/dark.conf
new file mode 100644
index 0000000..0b500e0
--- /dev/null
+++ b/.config/qt6ct/dark.conf
@@ -0,0 +1,32 @@
+[Appearance]
+color_scheme_path=/usr/share/qt6ct/colors/airy.conf
+custom_palette=false
+icon_theme=Papirus-Dark
+standard_dialogs=gtk3
+style=Adwaita-Dark
+
+[Fonts]
+fixed="IBM Plex Mono,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
+general="IBM Plex Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
+
+[Interface]
+activate_item_on_single_click=1
+buttonbox_layout=2
+cursor_flash_time=1000
+dialog_buttons_have_icons=2
+double_click_interval=400
+gui_effects=@Invalid()
+keyboard_scheme=2
+menus_have_icons=true
+show_shortcuts_in_context_menus=true
+stylesheets=@Invalid()
+toolbutton_style=4
+underline_shortcut=1
+wheel_scroll_lines=3
+
+[SettingsWindow]
+geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 \0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 \0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\x4\xfd\0\0\x6 )
+
+[Troubleshooting]
+force_raster_widgets=1
+ignored_applications=@Invalid()
diff --git a/.config/qt6ct/light.conf b/.config/qt6ct/light.conf
new file mode 100644
index 0000000..1ce97ea
--- /dev/null
+++ b/.config/qt6ct/light.conf
@@ -0,0 +1,32 @@
+[Appearance]
+color_scheme_path=/usr/share/qt6ct/colors/airy.conf
+custom_palette=false
+icon_theme=Papirus
+standard_dialogs=gtk3
+style=Adwaita
+
+[Fonts]
+fixed="IBM Plex Mono,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
+general="IBM Plex Sans,12,-1,5,400,0,0,0,0,0,0,0,0,0,0,1"
+
+[Interface]
+activate_item_on_single_click=1
+buttonbox_layout=2
+cursor_flash_time=1000
+dialog_buttons_have_icons=2
+double_click_interval=400
+gui_effects=@Invalid()
+keyboard_scheme=2
+menus_have_icons=true
+show_shortcuts_in_context_menus=true
+stylesheets=@Invalid()
+toolbutton_style=4
+underline_shortcut=1
+wheel_scroll_lines=3
+
+[SettingsWindow]
+geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\"\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\"\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\t\xff\0\0\x6\")
+
+[Troubleshooting]
+force_raster_widgets=1
+ignored_applications=@Invalid()
diff --git a/.config/sway/conf.d/custom b/.config/sway/conf.d/custom
new file mode 100644
index 0000000..2bde2b8
--- /dev/null
+++ b/.config/sway/conf.d/custom
@@ -0,0 +1,3 @@
+# vim: filetype=swayconfig
+
+include ~/.config/sway/conf.d/custom.d/*
diff --git a/.config/sway/conf.d/custom.d/fedora b/.config/sway/conf.d/custom.d/fedora
new file mode 100644
index 0000000..b7010c1
--- /dev/null
+++ b/.config/sway/conf.d/custom.d/fedora
@@ -0,0 +1,4 @@
+# vim: filetype=swayconfig
+
+include /etc/sway/config.d/*
+exec /usr/libexec/polkit-gnome-authentication-agent-1
diff --git a/.config/sway/conf.d/custom.d/input-settings b/.config/sway/conf.d/custom.d/input-settings
new file mode 100644
index 0000000..550d369
--- /dev/null
+++ b/.config/sway/conf.d/custom.d/input-settings
@@ -0,0 +1,14 @@
+# vim: filetype=swayconfig
+
+input type:mouse {
+ accel_profile flat
+ pointer_accel -0.3
+}
+
+input type:touchpad {
+ accel_profile adaptive
+ natural_scroll enabled
+ tap enabled
+ dwt enabled
+ # events disabled_on_external_mouse
+}
diff --git a/.config/sway/conf.d/custom.d/outputs b/.config/sway/conf.d/custom.d/outputs
new file mode 100644
index 0000000..b46f66d
--- /dev/null
+++ b/.config/sway/conf.d/custom.d/outputs
@@ -0,0 +1,28 @@
+output * adaptive_sync on
+
+# 75hz monitor
+output 'Lectron Company Ltd LECOO M2412HL GG30A137' mode 2560x1440@75Hz
+output 'Lectron Company Ltd LECOO M2412HL GG30A137' pos 0 500
+output 'Lectron Company Ltd LECOO M2412HL GG30A137' subpixel rgb
+# output 'Lectron Company Ltd LECOO M2412HL GG30A137' max_render_time 5
+
+# lab screen
+output "XMI Redmi 27 NU 3948622WH08F4" mode --custom 2560x1440@60Hz
+output "XMI Redmi 27 NU 3948622WH08F4" scale 1.5
+output "XMI Redmi 27 NU 3948622WH08F4" transform 90
+output "XMI Redmi 27 NU 3948622WH08F4" pos 2560 0
+output "XMI Redmi 27 NU 3948622WH08F4" subpixel rgb
+output "XMI Redmi 27 NU 3948622WH08F4" max_render_time 3
+output "XMI Redmi 27 NU 3948622WH08F4" render_bit_depth 10
+
+# laptop screen
+output 'Thermotrex Corporation TL160ADMP03-0 Unknown' subpixel rgb
+# output 'Thermotrex Corporation TL160ADMP03-0 Unknown' mode 2560x1600@60.000Hz
+# output 'Thermotrex Corporation TL160ADMP03-0 Unknown' max_render_time 5
+output 'Thermotrex Corporation TL160ADMP03-0 Unknown' mode 2560x1600@60.000Hz
+# output 'Thermotrex Corporation TL160ADMP03-0 Unknown' max_render_time 8
+# output 'Thermotrex Corporation TL160ADMP03-0 Unknown' render_bit_depth 10
+
+# TV at home
+output 'Unknown HUAWEI INC 0x00000000' mode 3840x2160@60.000Hz
+output 'Unknown HUAWEI INC 0x00000000' scale 2
diff --git a/.config/sway/config.d/display b/.config/sway/conf.d/display
similarity index 82%
rename from .config/sway/config.d/display
rename to .config/sway/conf.d/display
index aade454..1515b24 100644
--- a/.config/sway/config.d/display
+++ b/.config/sway/conf.d/display
@@ -1,4 +1,4 @@
-# vim: filetype=i3config
+# vim: filetype=swayconfig
# laptop output mode
set $laptop eDP-1
@@ -6,7 +6,7 @@ bindswitch --reload --locked lid:on output $laptop disable
bindswitch --reload --locked lid:off output $laptop enable
# bar
-bar swaybar_command waybar
+# bar swaybar_command waybar
#workspace_auto_back_and_forth yes
force_display_urgency_hint 500 ms
diff --git a/.config/sway/conf.d/exec b/.config/sway/conf.d/exec
new file mode 100644
index 0000000..b70e785
--- /dev/null
+++ b/.config/sway/conf.d/exec
@@ -0,0 +1,10 @@
+# vim: filetype=swayconfig
+
+##starting userspace software
+# exec_always sh -c ~/.config/sway/scripts/update-wallpaper.sh
+exec mkfifo /tmp/kitty
+exec wlsunset -s 19:00 -S 07:00 -d 1800
+exec light -S 70
+exec playerctld daemon
+
+include /usr/local/etc/sway/config.d/*
diff --git a/.config/sway/config.d/keybinds b/.config/sway/conf.d/keybinds
similarity index 83%
rename from .config/sway/config.d/keybinds
rename to .config/sway/conf.d/keybinds
index 25a9100..5dbb2d1 100644
--- a/.config/sway/config.d/keybinds
+++ b/.config/sway/conf.d/keybinds
@@ -1,4 +1,4 @@
-# vim: filetype=i3config
+# vim: filetype=swayconfig
set $mod Mod4
set $left h
@@ -6,13 +6,13 @@ set $down j
set $up k
set $right l
set $term kitty -1
-set $menu wofi | xargs swaymsg exec --
+set $menu wofi
# my keybinds
# screenshot
-bindsym $mod+Print exec ~/.config/sway/scripts/grimshot-ui.sh
-bindsym $mod+Ctrl+s exec ~/.config/sway/scripts/grimshot-ui.sh
+bindsym $mod+Print exec grimshot --cursor copy area
+bindsym $mod+Shift+s exec grimshot --cursor copy area
# notification client
bindsym $mod+m exec swaync-client -t -sw
# Logout
@@ -36,11 +36,13 @@ bindsym --whole-window $mod+button9 workspace next
# bind fn keys
bindsym XF86AudioMicMute exec amixer set Capture toggle
exec mkfifo $SWAYSOCK.wob && tail -f $SWAYSOCK.wob | wob
-bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1| awk '{print substr($5, 1, length($5)-1)}' > $SWAYSOCK.wob
-bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > $SWAYSOCK.wob
+bindsym XF86AudioRaiseVolume exec wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+ && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1| awk '{print substr($5, 1, length($5)-1)}' > $SWAYSOCK.wob
+bindsym XF86AudioLowerVolume exec wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- && pactl get-sink-volume @DEFAULT_SINK@ | head -n 1 | awk '{print substr($5, 1, length($5)-1)}' > $SWAYSOCK.wob
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle && ~/.config/sway/scripts/getmute.sh > $SWAYSOCK.wob
bindsym XF86MonBrightnessUp exec light -A 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
bindsym XF86MonBrightnessDown exec light -U 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
+bindsym XF86KbdBrightnessUp exec light -s sysfs/leds/asus::kbd_backlight -S 67
+bindsym XF86KbdBrightnessDown exec light -s sysfs/leds/asus::kbd_backlight -S 0
bindsym XF86AudioPause exec 'playerctl pause'
bindsym XF86AudioPlay exec 'playerctl play'
@@ -49,7 +51,7 @@ bindsym XF86AudioNext exec 'playerctl next'
bindsym XF86AudioPrev exec 'playerctl previous'
# sticky window
-bindsym $mod+Shift+s floating toggle ; sticky toggle ; resize set 800 600 ; move position 55ppt 5ppt
+bindsym $mod+Ctrl+s floating toggle ; sticky toggle ; resize set 800 600 ; move position 55ppt 5ppt
# Start a terminal
bindsym $mod+Return exec $term
diff --git a/.config/sway/conf.d/theme b/.config/sway/conf.d/theme
new file mode 100644
index 0000000..4f3b303
--- /dev/null
+++ b/.config/sway/conf.d/theme
@@ -0,0 +1,3 @@
+# vim: filetype=swayconfig
+
+include ~/.config/sway/conf.d/themes/dark
diff --git a/.config/sway/config.d/themes/dark b/.config/sway/conf.d/themes/dark
similarity index 77%
rename from .config/sway/config.d/themes/dark
rename to .config/sway/conf.d/themes/dark
index fcae0d5..eef27ac 100644
--- a/.config/sway/config.d/themes/dark
+++ b/.config/sway/conf.d/themes/dark
@@ -1,10 +1,11 @@
-# vim: filetype=i3config
+# vim: filetype=swayconfig
#set gtk theme and font
set $gnome-schema org.gnome.desktop.interface
exec_always {
- gsettings set $gnome-schema gtk-theme 'Adwaita-dark'
- gsettings set $gnome-schema icon-theme 'Papirus-Dark'
+ gsettings set $gnome-schema color-scheme 'prefer-dark'
+ gsettings set $gnome-schema gtk-theme 'Adwaita'
+ gsettings set $gnome-schema icon-theme 'Adwaita'
gsettings set $gnome-schema cursor-theme 'Adwaita'
gsettings set $gnome-schema font-name 'ibm-plex 12'
gsettings set org.gtk.Settings.FileChooser startup-mode cwd
@@ -21,3 +22,5 @@ client.background #928374 #282828
#borders stuff
default_border pixel 1
+
+output * bg #282828 solid_color
diff --git a/.config/sway/config.d/themes/light b/.config/sway/conf.d/themes/light
similarity index 82%
rename from .config/sway/config.d/themes/light
rename to .config/sway/conf.d/themes/light
index 1094bda..9a58c1c 100644
--- a/.config/sway/config.d/themes/light
+++ b/.config/sway/conf.d/themes/light
@@ -1,10 +1,11 @@
-# vim: filetype=i3config
+# vim: filetype=swayconfig
#set gtk theme and font
set $gnome-schema org.gnome.desktop.interface
exec_always {
+ gsettings set $gnome-schema color-scheme 'prefer-light'
gsettings set $gnome-schema gtk-theme 'Adwaita'
- gsettings set $gnome-schema icon-theme 'Papirus-Light'
+ gsettings set $gnome-schema icon-theme 'Adwaita'
gsettings set $gnome-schema cursor-theme 'Adwaita'
gsettings set $gnome-schema font-name 'ibm-plex 12'
gsettings set org.gtk.Settings.FileChooser startup-mode cwd
@@ -21,3 +22,5 @@ client.background #ebdbb2 #fbf1c7
#borders stuff
default_border pixel 1
+
+output * bg #fbf1c7 solid_color
diff --git a/.config/sway/config b/.config/sway/config
index 4d43956..e2badd0 100644
--- a/.config/sway/config
+++ b/.config/sway/config
@@ -1,5 +1,5 @@
-include ~/.config/sway/config.d/exec
-include ~/.config/sway/config.d/display
-include ~/.config/sway/config.d/theme
-include ~/.config/sway/config.d/keybinds
-include ~/.config/sway/config.d/custom
+include ~/.config/sway/conf.d/display
+include ~/.config/sway/conf.d/theme
+include ~/.config/sway/conf.d/keybinds
+include ~/.config/sway/conf.d/custom
+include ~/.config/sway/conf.d/exec
diff --git a/.config/sway/config.d/custom b/.config/sway/config.d/custom
deleted file mode 100644
index c6cb49b..0000000
--- a/.config/sway/config.d/custom
+++ /dev/null
@@ -1,3 +0,0 @@
-# vim: filetype=i3config
-
-include ~/.config/sway/config.d/custom.d/*
diff --git a/.config/sway/config.d/custom.d/input-settings b/.config/sway/config.d/custom.d/input-settings
deleted file mode 100644
index a031fbb..0000000
--- a/.config/sway/config.d/custom.d/input-settings
+++ /dev/null
@@ -1,36 +0,0 @@
-# vim: filetype=i3config
-
-# swap caps and ctrl on Thinkpad keyboard
-input 1:1:AT_Translated_Set_2_keyboard {
- xkb_options "ctrl:swapcaps"
-}
-
-# dugod keyboard and 2.4G variant
-input 12136:130:Hoksi_Technology_DURGOD_Taurus_K320 {
- # swap caps with ctrl, and lalt with lwin
- xkb_options "ctrl:swapcaps, altwin:swap_lalt_lwin"
-}
-
-input 12136:32832:Hoksi_Technology_DURGOD_Infinite_Link {
- xkb_options "ctrl:swapcaps, altwin:swap_lalt_lwin"
-}
-
-input type:mouse {
- accel_profile flat
-}
-
-# always disable touchpad
-input type:touchpad {
- events disabled
-# accel_profile adaptive
-# pointer_accel -0.3
-# natural_scroll enabled
-# tap enabled
-# dwt enabled
-# events disabled_on_external_mouse
-}
-
-input 2:14:ETPS/2_Elantech_TrackPoint {
- accel_profile adaptive
- pointer_accel 0
-}
diff --git a/.config/sway/config.d/custom.d/output b/.config/sway/config.d/custom.d/output
deleted file mode 100644
index 92417a2..0000000
--- a/.config/sway/config.d/custom.d/output
+++ /dev/null
@@ -1,8 +0,0 @@
-output DP-2 mode 2560x1440@74.968Hz
-output DP-2 subpixel rgb
-output * adaptive_sync on
-output eDP-1 subpixel rgb
-
-# TV at home
-output 'Unknown HUAWEI INC 0x00000000' mode 3840x2160@60.000Hz
-output 'Unknown HUAWEI INC 0x00000000' scale 2
diff --git a/.config/sway/config.d/exec b/.config/sway/config.d/exec
deleted file mode 100644
index 1f5f9a7..0000000
--- a/.config/sway/config.d/exec
+++ /dev/null
@@ -1,11 +0,0 @@
-# vim: filetype=i3config
-
-##starting userspace software
-exec_always sh -c ~/.config/sway/scripts/update-wallpaper.sh
-exec mkfifo /tmp/kitty
-exec wlsunset -l 30.4 -L 104.0 -T 6500 -t 3500
-exec light -S 70
-exec gentoo-pipewire-launcher
-exec swaync
-exec playerctld daemon
-exec dbus-update-activation-environment --all
diff --git a/.config/sway/config.d/theme b/.config/sway/config.d/theme
deleted file mode 100644
index 4dc4ecf..0000000
--- a/.config/sway/config.d/theme
+++ /dev/null
@@ -1,3 +0,0 @@
-# vim: filetype=i3config
-
-include ~/.config/sway/config.d/themes/dark
diff --git a/.config/sway/scripts/boxshadow.sh b/.config/sway/scripts/boxshadow.sh
deleted file mode 100755
index 719548e..0000000
--- a/.config/sway/scripts/boxshadow.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-# Take $1 as input, add a box shadow, output to $2
-
-# you can change background color here
-background_color=none
-
-convert $1 \
- \( -clone 0 -background black -shadow 40x5+12+16 \) \
- \( -clone 0 -background black -shadow 40x5-4-4 \) \
- \( -clone 0 -background black -shadow 40x12+12-4 \) \
- \( -clone 0 -background black -shadow 40x12-4+16 \) \
- -reverse -background $background_color -layers merge +repage \
- $2
diff --git a/.config/sway/scripts/grimshot-ui.sh b/.config/sway/scripts/grimshot-ui.sh
deleted file mode 100755
index 7160d0e..0000000
--- a/.config/sway/scripts/grimshot-ui.sh
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-SCRIPT_LOC=~/.config/sway/scripts/
-FILE="/tmp/share/screenshots/`date +'%y%m%d%H%M.png'`"
-
-action=`echo "copy\nsave" | wofi -d -Oalphabetical --prompt="Select your action"`
-target=`echo "active\nscreen\noutput\narea\nwindow" | wofi -d -Oalphabetical --prompt="Select the target"`
-
-test $action || exit
-test $target || exit
-
-test -d /tmp/share/screenshot || mkdir -p /tmp/share/screenshots
-
-# TODO, add box shadows
-
-XDG_SCREENSHOTS_DIR=/tmp/share/screenshots ~/.config/sway/scripts/grimshot.sh --notify $action $target $FILE
-
-if [ $target = "active" ] || [ $target = "window" ] || [ $target = "area" ]
-then
- $SCRIPT_LOC/boxshadow.sh "$FILE" "$FILE" || die "Unable to save screenshot"
- echo "saved file"
-fi
diff --git a/.config/sway/scripts/grimshot.sh b/.config/sway/scripts/grimshot.sh
deleted file mode 100755
index 7b65c9c..0000000
--- a/.config/sway/scripts/grimshot.sh
+++ /dev/null
@@ -1,156 +0,0 @@
-#!/bin/sh
-
-## TAKEN FROM https://github.com/swaywm/sway/blob/master/contrib/grimshot
-##
-## Grimshot: a helper for screenshots within sway
-## Requirements:
-## - `grim`: screenshot utility for wayland
-## - `slurp`: to select an area
-## - `swaymsg`: to read properties of current window
-## - `wl-copy`: clipboard utility
-## - `jq`: json utility to parse swaymsg output
-## - `notify-send`: to show notifications
-## Those are needed to be installed, if unsure, run `grimshot check`
-##
-## See `man 1 grimshot` or `grimshot usage` for further details.
-
-getTargetDirectory() {
- test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && \
- . ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs
-
- echo ${XDG_SCREENSHOTS_DIR:-${XDG_PICTURES_DIR:-$HOME}}
-}
-
-if [ "$1" = "--notify" ]; then
- NOTIFY=yes
- shift 1
-else
- NOTIFY=no
-fi
-
-ACTION=${1:-usage}
-SUBJECT=${2:-screen}
-FILE=${3:-$(getTargetDirectory)/$(date +'%y%m%d%H%M.png')}
-
-if [ "$ACTION" != "save" ] && [ "$ACTION" != "copy" ] && [ "$ACTION" != "check" ]; then
- echo "Usage:"
- echo " grimshot [--notify] (copy|save) [active|screen|output|area|window] [FILE|-]"
- echo " grimshot check"
- echo " grimshot usage"
- echo ""
- echo "Commands:"
- echo " copy: Copy the screenshot data into the clipboard."
- echo " save: Save the screenshot to a regular file or '-' to pipe to STDOUT."
- echo " check: Verify if required tools are installed and exit."
- echo " usage: Show this message and exit."
- echo ""
- echo "Targets:"
- echo " active: Currently active window."
- echo " screen: All visible outputs."
- echo " output: Currently active output."
- echo " area: Manually select a region."
- echo " window: Manually select a window."
- exit
-fi
-
-notify() {
- notify-send -t 3000 -a grimshot "$@"
-}
-notifyOk() {
- [ "$NOTIFY" = "no" ] && return
-
- TITLE=${2:-"Screenshot"}
- MESSAGE=${1:-"OK"}
- notify-send "$TITLE" "$MESSAGE"
-}
-notifyError() {
- if [ $NOTIFY = "yes" ]; then
- TITLE=${2:-"Screenshot"}
- MESSAGE=${1:-"Error taking screenshot with grim"}
- notify -u critical "$TITLE" "$MESSAGE"
- else
- echo $1
- fi
-}
-
-die() {
- MSG=${1:-Bye}
- notifyError "Error: $MSG"
- exit 2
-}
-
-check() {
- COMMAND=$1
- if command -v "$COMMAND" > /dev/null 2>&1; then
- RESULT="OK"
- else
- RESULT="NOT FOUND"
- fi
- echo " $COMMAND: $RESULT"
-}
-
-takeScreenshot() {
- FILE=$1
- GEOM=$2
- OUTPUT=$3
- if [ ! -z "$OUTPUT" ]; then
- grim -o "$OUTPUT" "$FILE" || die "Unable to invoke grim"
- elif [ -z "$GEOM" ]; then
- grim "$FILE" || die "Unable to invoke grim"
- else
- grim -g "$GEOM" "$FILE" || die "Unable to invoke grim"
- fi
-}
-
-if [ "$ACTION" = "check" ] ; then
- echo "Checking if required tools are installed. If something is missing, install it to your system and make it available in PATH..."
- check grim
- check slurp
- check swaymsg
- check wl-copy
- check jq
- check notify-send
- exit
-elif [ "$SUBJECT" = "area" ] ; then
- GEOM=$(slurp -d)
- # Check if user exited slurp without selecting the area
- if [ -z "$GEOM" ]; then
- exit 1
- fi
- WHAT="Area"
-elif [ "$SUBJECT" = "active" ] ; then
- FOCUSED=$(swaymsg -t get_tree | jq -r 'recurse(.nodes[]?, .floating_nodes[]?) | select(.focused)')
- GEOM=$(echo "$FOCUSED" | jq -r '.rect | "\(.x),\(.y) \(.width)x\(.height)"')
- APP_ID=$(echo "$FOCUSED" | jq -r '.app_id')
- WHAT="$APP_ID window"
-elif [ "$SUBJECT" = "screen" ] ; then
- GEOM=""
- WHAT="Screen"
-elif [ "$SUBJECT" = "output" ] ; then
- GEOM=""
- OUTPUT=$(swaymsg -t get_outputs | jq -r '.[] | select(.focused)' | jq -r '.name')
- WHAT="$OUTPUT"
-elif [ "$SUBJECT" = "window" ] ; then
- GEOM=$(swaymsg -t get_tree | jq -r '.. | select(.pid? and .visible?) | .rect | "\(.x),\(.y) \(.width)x\(.height)"' | slurp)
- # Check if user exited slurp without selecting the area
- if [ -z "$GEOM" ]; then
- exit 1
- fi
- WHAT="Window"
-else
- die "Unknown subject to take a screen shot from" "$SUBJECT"
-fi
-
-if [ "$ACTION" = "copy" ] ; then
- takeScreenshot - "$GEOM" "$OUTPUT" | wl-copy --type image/png || die "Clipboard error"
- notifyOk "$WHAT copied to buffer"
-else
- if takeScreenshot "$FILE" "$GEOM" "$OUTPUT"; then
- TITLE="Screenshot of $SUBJECT"
- MESSAGE=$(basename "$FILE")
- notifyOk "$MESSAGE" "$TITLE"
- echo $FILE
- else
- notifyError "Error taking screenshot with grim"
- fi
-fi
diff --git a/.config/sway/scripts/logout.sh b/.config/sway/scripts/logout.sh
index 5bed593..e4ee1e3 100755
--- a/.config/sway/scripts/logout.sh
+++ b/.config/sway/scripts/logout.sh
@@ -1,17 +1,41 @@
-#!/bin/sh
+#!/bin/bash
+#
+# Modified from sway's locking script
-choice=`echo "suspend\nshutdown\npoweroff\nreboot\nlock\nhibernate" | wofi -d -Oalphabetical`
-if test "$choice" = lock ; then
- bright=`light`
- swayidle -w \
- timeout 5 "light -S 1" resume "light -S $bright" \
- timeout 10 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
- &
- idlepid=$!
- swaylock -e -c 282828 --inside-color 00000003
- kill $idlepid
- swaymsg "output * dpms on"
- light -S $bright
- return 0
+
+if [[ ! $(which swayidle 2> /dev/null) ]]; then
+ notify-send "ERROR" "Swayidle not found"
+ exit 1
+fi
+
+choices=("suspend" "shutdown" "poweroff" "reboot" "lock")
+choice=$(printf "%s\n" "${choices[@]}" | wofi -d --prompt " Choose power option" -Oalphabetical )
+
+
+if test "$choice" = lock ; then
+ # sleep less when power on
+ if acpi -a | grep -q on; then
+ sleep_time=3600
+ else
+ sleep_time=10
+ fi
+ sleep 0.3
+
+ bright=`light`
+
+ swayidle -w \
+ timeout 5 "light -S 1" resume "light -S $bright" \
+ timeout $sleep_time 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
+ &
+ idlepid=$!
+
+ # swaylock -e -c 282828 --inside-color 00000003
+ swaylock -S --effect-blur "12x12" --effect-greyscale --effect-vignette 0.5:0.5 --inside-color 28282860 \
+ -e --ring-color 00000000 --line-color 00000000 --indicator --clock --text-color ebdbb2
+
+ kill $idlepid
+ swaymsg "output * power on"
+ light -S $bright
+elif test -n "$choice"; then
+ systemctl $choice
fi
-loginctl $choice
diff --git a/.config/sway/scripts/themes.sh b/.config/sway/scripts/themes.sh
index c66b5f0..7230877 100755
--- a/.config/sway/scripts/themes.sh
+++ b/.config/sway/scripts/themes.sh
@@ -1,18 +1,17 @@
-scheme=$(echo "light\ndark" | wofi -d -p "Select color scheme")
+#!/usr/bin/env bash
+scheme=$(echo -e "light\ndark" | wofi -d -p " Select color scheme")
# simply subsitude dark and light
if [ $scheme = "light" ]; then
- notify-send "Toggling light color scheme"
- command="s/dark/light/"
+ command="s/dark/light/"
elif [ $scheme = "dark" ]; then
- notify-send "Toggling dark color scheme"
- command="s/light/dark/"
+ command="s/light/dark/"
else
- exit 1
+ exit 1
fi
sed -i $command ~/.config/kitty/kitty.conf
-sed -i $command ~/.config/sway/config.d/theme
+sed -i $command ~/.config/sway/conf.d/theme
sed -i $command ~/.config/swaync/style.css
sed -i $command ~/.config/waybar/style.css
sed -i $command ~/.config/wofi/config
@@ -21,19 +20,32 @@ swaync-client -rs &
# more settings
if [ $scheme = "light" ]; then
- kitty -1 sh -c "kitty @ set-colors -a -c ~/.config/kitty/themes/light.conf" &
- mv ~/.config/zathura/zathurarc.light ~/.config/zathura/zathurarc
-
- # set wallpaper location
- unlink ~/.config/sway/Wallpaper
- ln -s ~/Pictures/Wallpapers/light ~/.config/sway/Wallpaper
+ # kitty config
+ kitty -1 sh -c "kitty @ set-colors -a -c ~/.config/kitty/themes/light.conf" &
+ # zathura
+ mv ~/.config/zathura/zathurarc.light ~/.config/zathura/zathurarc
+ # qt5ct and qt6ct
+ cp ~/.config/qt5ct/light.conf ~/.config/qt5ct/qt5ct.conf
+ cp ~/.config/qt6ct/light.conf ~/.config/qt6ct/qt6ct.conf
+ # gtk2
+ cp ~/.config/gtk-2.0/light.conf ~/.gtkrc-2.0
+ # set wallpaper location
+ # unlink ~/.config/sway/Wallpaper
+ # ln -s ~/Pictures/wall/sway/light ~/.config/sway/Wallpaper
else
- kitty -1 sh -c "kitty @ set-colors -a -c ~/.config/kitty/themes/dark.conf" &
- mv ~/.config/zathura/zathurarc.dark ~/.config/zathura/zathurarc
-
- # set dark wallpaper
- unlink ~/.config/sway/Wallpaper
- ln -s ~/Pictures/Wallpapers/dark ~/.config/sway/Wallpaper
+ # kitty config
+ kitty -1 sh -c "kitty @ set-colors -a -c ~/.config/kitty/themes/dark.conf" &
+ # zathura
+ mv ~/.config/zathura/zathurarc.dark ~/.config/zathura/zathurarc
+ # qt5ct and qt6ct
+ cp ~/.config/qt5ct/dark.conf ~/.config/qt5ct/qt5ct.conf
+ cp ~/.config/qt6ct/dark.conf ~/.config/qt6ct/qt6ct.conf
+ # gtk2
+ cp ~/.config/gtk-2.0/dark.conf ~/.gtkrc-2.0
+ # set dark wallpaper
+ # unlink ~/.config/sway/Wallpaper
+ # ln -s ~/Pictures/wall/sway/dark ~/.config/sway/Wallpaper
fi
-sway reload
+swaymsg reload
+systemctl --user restart waybar.service
diff --git a/.config/sway/scripts/update-wallpaper.sh b/.config/sway/scripts/update-wallpaper.sh
index 4b8f501..8663669 100755
--- a/.config/sway/scripts/update-wallpaper.sh
+++ b/.config/sway/scripts/update-wallpaper.sh
@@ -4,10 +4,17 @@ export PATH="${PATH}:${HOME}/.local/bin"
export XDG_RUNTIME_DIR=/run/user/1000
export XDG_CACHE_HOME=$HOME/.cache
+# If not using sway, we exit
+if ! pidof sway > /dev/null
+then
+ exit
+fi
+
+# If the deamon starts first time, we only init it, and the wallpaper will be updated
if ! pidof swww-daemon > /dev/null
then
- swww init
- exit
+ swww init
+ exit
fi
swww img $(find -L ~/.config/sway/Wallpaper/ -type f | shuf -n1) -t wave --transition-fps 60 --transition-duration 5 --transition-wave 16,16
diff --git a/.config/swaync/config.json b/.config/swaync/config.json
index 6a41685..bbe25ac 100644
--- a/.config/swaync/config.json
+++ b/.config/swaync/config.json
@@ -11,15 +11,9 @@
"timeout-critical": 0,
"notification-window-width": 512,
"keyboard-shortcuts": true,
- "image-visibility": "always",
- "transition-time": 200,
+ "image-visibility": "when-available",
"hide-on-clear": true,
"hide-on-action": true,
"script-fail-notify": true,
- "scripts": {
- "example-script": {
- "exec": "echo 'Do something...'",
- "urgency": "Normal"
- }
- }
+ "widgets": ["title", "dnd", "mpris"]
}
diff --git a/.config/swaync/style.css b/.config/swaync/style.css
index e1eef77..7e08ad3 100644
--- a/.config/swaync/style.css
+++ b/.config/swaync/style.css
@@ -4,9 +4,14 @@
@import "dark.less";
+* {
+ color: @fg;
+ text-shadow: none;
+}
+
.notification-row {
outline: none;
- background: transparent;
+ background: transparent;
}
.notification-row:focus,
.notification-row:hover {
@@ -16,7 +21,7 @@
.notification {
border-radius: 2px;
margin: 6px 12px;
- box-shadow: 0px 2px 4px 2px rgba(0, 0, 0, 0.3);
+ box-shadow: 0px 0px 4px 2px rgba(0, 0, 0, 0.3);
padding: 0;
}
@@ -100,11 +105,6 @@
text-shadow: none;
}
-.top-action-title {
- color: @fg;
- text-shadow: none;
-}
-
.control-center-clear-all {
color: @warning;
text-shadow: none;
@@ -135,13 +135,13 @@
.control-center {
background: @bg-trans;
- border-radius: 5px;
- border: 1px solid @border-color;
+ border-radius: 5px;
+ border: 1px solid @border-color;
}
.control-center-list {
background: @bg-trans;
- border: 1px @border-color;
- border-style: dashed solid hidden solid;
+ border: 1px @border-color;
+ border-style: dashed solid hidden solid;
}
.floating-notifications {
diff --git a/.config/tmux/tmux.conf b/.config/tmux/tmux.conf
new file mode 100644
index 0000000..d697d56
--- /dev/null
+++ b/.config/tmux/tmux.conf
@@ -0,0 +1,53 @@
+set -g default-terminal "tmux-256color"
+set-option -ga terminal-overrides ",screen-256color:Tc"
+
+## COLORSCHEME: gruvbox dark (medium)
+set-option -g status "on"
+
+# default statusbar color
+set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
+
+# default window title colors
+set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
+
+# default window with an activity alert
+set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
+
+# active window title colors
+set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
+
+# pane border
+set-option -g pane-active-border-style fg=colour250 #fg2
+set-option -g pane-border-style fg=colour237 #bg1
+
+# message infos
+set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
+
+# writing commands inactive
+set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
+
+# pane number display
+set-option -g display-panes-active-colour colour250 #fg2
+set-option -g display-panes-colour colour237 #bg1
+
+# clock
+set-window-option -g clock-mode-colour colour109 #blue
+
+# bell
+set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
+
+## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
+set-option -g status-justify "left"
+set-option -g status-left-style none
+set-option -g status-left-length "80"
+set-option -g status-right-style none
+set-option -g status-right-length "80"
+set-window-option -g window-status-separator ""
+
+set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
+set-option -g status-right "#[bg=colour237,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
+
+set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
+set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
+
+# vim: set ft=tmux tw=0:
diff --git a/.config/waybar/config b/.config/waybar/config
index 7ca1988..d54093f 100644
--- a/.config/waybar/config
+++ b/.config/waybar/config
@@ -17,8 +17,16 @@
"battery",
"clock"
],
+ "sway/workspaces": {
+ "show_special": true,
+ "on-click": "activate",
+ "persistent_workspaces": {
+ "9": ["HDMI-A-1"]
+ }
+ },
"sway/window": {
- "max-length": 50
+ "max-length": 50,
+ "separate-outputs": true
},
"tray": {
"spacing": 10
@@ -28,15 +36,15 @@
"format-alt": " {usage}% @ {avg_frequency}GHz"
},
"memory": {
- "format": " {used:0.1f}G / {total:0.1f}G",
- "format-alt": " Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G"
+ "format": " {used:0.1f}G / {total:0.1f}G",
+ "format-alt": " Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G"
},
"network": {
"format-wifi": " {essid} ({signalStrength}%)",
- "format-ethernet": " {ifname}",
+ "format-ethernet": " {ifname}",
"format-linked": " {ifname}",
- "format-disconnected": " Disconnected",
- "format-alt": " {ifname}: {ipaddr}/{cidr}",
+ "format-disconnected": " Disconnected",
+ "format-alt": " {ifname}: {ipaddr}/{cidr}",
"tooltip-format": "{ifname} via {gwaddr}"
},
"battery": {
@@ -46,7 +54,7 @@
"critical": 5
},
"format": "{icon} {capacity}%",
- "format-charging": " {capacity}%",
+ "format-charging": "🗲 {capacity}%",
"format-plugged": " {capacity}%",
"format-alt": "{icon} ETA: {time}",
"format-icons": [
@@ -58,7 +66,7 @@
]
},
"clock": {
- "format": "{: %H:%M\t %m-%d}",
+ "format": "{: %H:%M\t %m-%d}",
"tooltip-format": "{:%Y %B}\n{calendar}"
},
"custom/notification": {
@@ -78,7 +86,7 @@
"escape": true
},
"custom/player": {
- "format": " {}",
+ "format": " {}",
"return-type": "json",
"exec": "playerctl -a metadata --format '{\"text\": \"{{uc(playerName)}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"class\": \"{{status}}\"}' -F",
"max-length": 35,
diff --git a/.config/waybar/config.hypr b/.config/waybar/config.hypr
new file mode 100644
index 0000000..ff9b591
--- /dev/null
+++ b/.config/waybar/config.hypr
@@ -0,0 +1,99 @@
+{
+ "layer": "top",
+ "modules-left": [
+ "hyprland/workspaces"
+ ],
+ "fixed-center": false,
+ "modules-center": [
+ "hyprland/window"
+ ],
+ "modules-right": [
+ "tray",
+ "custom/notification",
+ "custom/player",
+ "cpu",
+ "memory",
+ "network",
+ "battery",
+ "clock"
+ ],
+ "hyprland/workspaces": {
+ "on-scroll-up": "hyprctl dispatch workspace e-1",
+ "on-scroll-down": "hyprctl dispatch workspace e+1",
+ "show_special": true,
+ "on-click": "activate",
+ "persistent_workspaces": {
+ "9": ["HDMI-A-1"]
+ }
+ },
+ "hyprland/window": {
+ "max-length": 50,
+ "separate-outputs": true
+ },
+ "tray": {
+ "spacing": 10
+ },
+ "cpu": {
+ "format": " {load}",
+ "format-alt": " {usage}% @ {avg_frequency}GHz"
+ },
+ "memory": {
+ "format": " {used:0.1f}G / {total:0.1f}G",
+ "format-alt": " Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G"
+ },
+ "network": {
+ "format-wifi": " {essid} ({signalStrength}%)",
+ "format-ethernet": " {ifname}",
+ "format-linked": " {ifname}",
+ "format-disconnected": " Disconnected",
+ "format-alt": " {ifname}: {ipaddr}/{cidr}",
+ "tooltip-format": "{ifname} via {gwaddr}"
+ },
+ "battery": {
+ "states": {
+ "good": 75,
+ "warning": 15,
+ "critical": 5
+ },
+ "format": "{icon} {capacity}%",
+ "format-charging": "🗲 {capacity}%",
+ "format-plugged": " {capacity}%",
+ "format-alt": "{icon} ETA: {time}",
+ "format-icons": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "clock": {
+ "format": "{: %H:%M\t %m-%d}",
+ "tooltip-format": "{:%Y %B}\n{calendar}"
+ },
+ "custom/notification": {
+ "tooltip": true,
+ "format": "{icon}",
+ "format-icons": {
+ "notification": " New notifications",
+ "none": " No notifications",
+ "dnd-notification": " DND on",
+ "dnd-none": " DND on"
+ },
+ "return-type": "json",
+ "exec-if": "which swaync-client",
+ "exec": "swaync-client -swb",
+ "on-click": "swaync-client -t -sw",
+ "on-click-right": "swaync-client -d -sw",
+ "escape": true
+ },
+ "custom/player": {
+ "format": " {}",
+ "return-type": "json",
+ "exec": "playerctl -a metadata --format '{\"text\": \"{{uc(playerName)}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"class\": \"{{status}}\"}' -F",
+ "max-length": 35,
+ "on-click-middle": "playerctl play-pause",
+ "on-click-right": "plaerctl next",
+ "on-click-left": "playerctl previous"
+ }
+}
diff --git a/.config/waybar/config.sway b/.config/waybar/config.sway
new file mode 100644
index 0000000..d54093f
--- /dev/null
+++ b/.config/waybar/config.sway
@@ -0,0 +1,97 @@
+{
+ "layer": "top",
+ "modules-left": [
+ "sway/workspaces"
+ ],
+ "fixed-center": false,
+ "modules-center": [
+ "sway/window"
+ ],
+ "modules-right": [
+ "tray",
+ "custom/notification",
+ "custom/player",
+ "cpu",
+ "memory",
+ "network",
+ "battery",
+ "clock"
+ ],
+ "sway/workspaces": {
+ "show_special": true,
+ "on-click": "activate",
+ "persistent_workspaces": {
+ "9": ["HDMI-A-1"]
+ }
+ },
+ "sway/window": {
+ "max-length": 50,
+ "separate-outputs": true
+ },
+ "tray": {
+ "spacing": 10
+ },
+ "cpu": {
+ "format": " {load}",
+ "format-alt": " {usage}% @ {avg_frequency}GHz"
+ },
+ "memory": {
+ "format": " {used:0.1f}G / {total:0.1f}G",
+ "format-alt": " Swap: {swapUsed:0.1f}G / {swapTotal:0.1f}G"
+ },
+ "network": {
+ "format-wifi": " {essid} ({signalStrength}%)",
+ "format-ethernet": " {ifname}",
+ "format-linked": " {ifname}",
+ "format-disconnected": " Disconnected",
+ "format-alt": " {ifname}: {ipaddr}/{cidr}",
+ "tooltip-format": "{ifname} via {gwaddr}"
+ },
+ "battery": {
+ "states": {
+ "good": 75,
+ "warning": 15,
+ "critical": 5
+ },
+ "format": "{icon} {capacity}%",
+ "format-charging": "🗲 {capacity}%",
+ "format-plugged": " {capacity}%",
+ "format-alt": "{icon} ETA: {time}",
+ "format-icons": [
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ "clock": {
+ "format": "{: %H:%M\t %m-%d}",
+ "tooltip-format": "{:%Y %B}\n{calendar}"
+ },
+ "custom/notification": {
+ "tooltip": true,
+ "format": "{icon}",
+ "format-icons": {
+ "notification": " New notifications",
+ "none": " No notifications",
+ "dnd-notification": " DND on",
+ "dnd-none": " DND on"
+ },
+ "return-type": "json",
+ "exec-if": "which swaync-client",
+ "exec": "swaync-client -swb",
+ "on-click": "swaync-client -t -sw",
+ "on-click-right": "swaync-client -d -sw",
+ "escape": true
+ },
+ "custom/player": {
+ "format": " {}",
+ "return-type": "json",
+ "exec": "playerctl -a metadata --format '{\"text\": \"{{uc(playerName)}}: {{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"class\": \"{{status}}\"}' -F",
+ "max-length": 35,
+ "on-click-middle": "playerctl play-pause",
+ "on-click-right": "plaerctl next",
+ "on-click-left": "playerctl previous"
+ }
+}
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
index 5fb4dbc..df5fbc1 100644
--- a/.config/waybar/style.css
+++ b/.config/waybar/style.css
@@ -5,8 +5,8 @@
* {
border: none;
border-radius: 1px;
- font-family: "IBM Plex Sans", sans-serif;
- font-size: 13px;
+ font-family: "IBM Plex Sans", "Symbols Nerd Font" ,sans-serif;
+ font-size: 14px;
min-height: 0;
}
@@ -27,7 +27,12 @@ window#waybar {
color: @background_b;
}
-#workspaces button.focused {
+#workspaces button.visible {
+ color: @foreground;
+ font-weight: bold;
+}
+
+#workspaces button.active {
color: @foreground;
font-weight: bold;
}
@@ -45,7 +50,7 @@ window#waybar {
}
#clock {
- color: @magenta;
+ color: @cyan;
}
#battery {
diff --git a/.config/wofi/config b/.config/wofi/config
index d4518d4..4c9ebea 100644
--- a/.config/wofi/config
+++ b/.config/wofi/config
@@ -1,13 +1,11 @@
# style
-style=/home/juan/.config/wofi/dark.css
+style=/home/ryan/.config/wofi/dark.css
width=600
height=500
# opts
show=drun
-always_parse_args=true
-show_all=true
-print_command=true
+fork=true
layer=overlay
insensitive=true
location=center
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..3b793f6
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,6 @@
+[submodule ".config/mpv/default-shader-pack"]
+ path = .config/mpv/default-shader-pack
+ url = https://github.com/iwalton3/default-shader-pack.git
+[submodule ".config/hypr/plugins/hy3"]
+ path = .config/hypr/plugins/hy3
+ url = https://github.com/outfoxxed/hy3.git
diff --git a/.zshrc b/.zshrc
index 6ebe31d..6da34ce 100644
--- a/.zshrc
+++ b/.zshrc
@@ -3,41 +3,54 @@ echo
echo '\033[0;35m /w '$(awk -F "=" '/^NAME/ {print $2}' 2> /dev/null < /etc/os-release || uname -o)
echo '\033[0;34m @ '$HOST
-#Install zinit if no zinit is present
+# Install zinit if no zinit is present
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git"
if [[ ! -f $ZINIT_HOME/zinit.zsh ]]; then
- print -P "%F{33}▓▒░ %F{220}Installing %F{33}DHARMA%F{220} Initiative Plugin Manager (%F{33}zdharma/zinit%F{220})…%f"
- mkdir -p "$(dirname $ZINIT_HOME)"
- git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
- print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" || \
- print -P "%F{160}▓▒░ The clone has failed.%f%b"
+ print -P "%F{33}▓▒░ %F{220}Installing %F{33}DHARMA%F{220} Initiative Plugin Manager (%F{33}zdharma/zinit%F{220})…%f"
+ mkdir -p "$(dirname $ZINIT_HOME)"
+ git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME"
+ print -P "%F{33}▓▒░ %F{34}Installation successful.%f%b" || \
+ print -P "%F{160}▓▒░ The clone has failed.%f%b"
fi
source "$ZINIT_HOME/zinit.zsh"
-zinit ice lucid wait
-zinit light zdharma-continuum/fast-syntax-highlighting
-zinit ice lucid wait
-zinit light agkozak/zsh-z
-zinit ice lucid wait
-zinit light juancldcmt/colorize
-zinit ice lucid wait
-zinit light juancldcmt/shortify.zsh
-# zinit ice lucid wait
-# zinit light juancldcmt/direnv.zsh
+# Zinit packages
zinit ice compile'(pure|async).zsh' pick'async.zsh' src'pure.zsh'
zinit light sindresorhus/pure
+
+zinit wait lucid for \
+ zdharma-continuum/fast-syntax-highlighting \
+ agkozak/zsh-z \
+ zpm-zsh/colors \
+ zpm-zsh/colorize \
+ juancldcmt/shortify.zsh \
+ juancldcmt/kitty-zsh
+
+zinit ice wait lucid atinit"bindkey '' autosuggest-execute" atload'_zsh_autosuggest_start'
zinit light zsh-users/zsh-autosuggestions
-zinit light hlissner/zsh-autopair
+
+zinit ice wait lucid
+zinit load hlissner/zsh-autopair
+
+zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-history-substring-search
+# Software
+if ! command -v bat &> /dev/null ; then
+ zinit ice as"command" from"gh-r" mv"bat* -> bat" pick"bat/bat"
+ zinit light sharkdp/bat
+fi
+
+zinit from"gh-r" as"program" mv"direnv* -> direnv" \
+ atclone'./direnv hook zsh > zhook.zsh' atpull'%atclone' \
+ pick"direnv" src="zhook.zsh" for \
+ direnv/direnv
+
autoload -Uz _zinit
(( ${+_comps} )) && _comps[zinit]=_zinit
-# Load LS_COLORS if not present
test -n "$LS_COLORS" || eval $(dircolors) || echo 'Warning: Unable to set LS_COLORS'
-
-
# The following lines were added by compinstall
zstyle ':completion:*' auto-description '%F{green}Specify%f: %F{cyan}%d%f'
@@ -72,17 +85,21 @@ HISTSIZE=8192
SAVEHIST=8192
setopt autocd extendedglob nomatch notify auto_pushd
unsetopt beep
-bindkey -v
+bindkey -e
# End of lines configured by zsh-newuser-install
-# pure config
-zstyle :prompt:pure:prompt:success color green
+# Pure prompt
+zstyle ':prompt:pure:git:stash' show yes
+zstyle ':prompt:pure:prompt:success' color default
#edit in vim
-export KEYTIMEOUT=1
-autoload edit-command-line
+autoload -Uz edit-command-line
zle -N edit-command-line
-bindkey '' edit-command-line
+bindkey '' edit-command-line
+
+# better CTRL-w
+autoload -Uz select-word-style
+select-word-style bash
zmodload zsh/complist
bindkey -M menuselect 'h' vi-backward-char
@@ -97,10 +114,9 @@ bindkey '' history-substring-search-down
bindkey ' ' magic-space
-bindkey '' autosuggest-execute
-
#config location
export GOPATH=$HOME/.cache/go
+export CARGO_HOME=$HOME/.cache/cargo
export LESSHISTFILE=/dev/null
export LYNX_CFG=$HOME/.config/lynx/lynxrc
export XDG_CACHE_HOME=$HOME/.cache
@@ -109,18 +125,18 @@ export XDG_CONFIG_HOME=$HOME/.config
#settings for software
export FZF_DEFAULT_OPTS="--reverse --cycle --height=40% --border sharp --prompt=🔎"
export GPG_TTY=$(tty) # fixes gpg
-export JDK_HOME=/usr/lib/jvm/openjdk-17
-export _JAVA_AWT_WM_NONREPARENTING=1
-
-#colored output
+export HISTORY_SUBSTRING_SEARCH_FUZZY=1
export MANWIDTH=${MANWIDTH:-78}
-export MANLESS="Manual\ \$MAN_PN\ ?ltline\ %lt?L/%L.:byte\ %bB?s/%s..?\:?pB\ %pB\\%.."
-export LESS="-RSM~"
+export MANROFFOPT="-c"
+export BAT_THEME="base16"
#local path
-export PATH="${PATH}:${HOME}/.local/bin:${HOME}/.scripts:${HOME}/cargo/bin:${HOME}/.cache/go/bin"
+export PATH="${PATH}:${HOME}/.local/bin:${HOME}/.scripts:${HOME}/cargo/bin:${HOME}/.cache/go/bin:${HOME}/.local/share/nvim/mason/bin"
export MANPATH="${MANPATH}:${HOME}/.local/share/man"
#ccache support
export USE_CCACHE=1
export PATH="/usr/lib/ccache/bin${PATH:+:}$PATH"
+
+# ssh-agent
+export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
diff --git a/README.md b/README.md
index 6f72e13..b15f9f5 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,11 @@
Linux desktop with gruvbox colorscheme, following the KISS philosophy.
+## TODO
+
+- [ ] Use [zim](https://github.com/zimfw/zimfw)
+- [ ] Update screenshots (It's using serenade instead of gruvbox)
+
# Screenshots
![terminal](https://user-images.githubusercontent.com/72336775/176679848-a66143cb-0df8-4fd0-a567-66693c33741e.png)
@@ -10,6 +15,7 @@ Linux desktop with gruvbox colorscheme, following the KISS philosophy.
# Installing
I use [yadm](https://github.com/TheLocehiliosan/yadm) to manage dotfiles, the directory layout is unchanged.
+
```bash
yadm clone https://github.com/JuanCldCmt/dotfiles
```
@@ -18,7 +24,7 @@ yadm clone https://github.com/JuanCldCmt/dotfiles
| Name | Description |
|------|-------------|
-|swayWM|Tiling WM|
+|hyprland|wayland WM with better nvidia support|
|waybar|Custom bar for sway|
|swayNC|Notification center|
|wofi|App launcher|
@@ -36,4 +42,3 @@ yadm clone https://github.com/JuanCldCmt/dotfiles
|pipewire|Sound deamon|
|wireplumber|media session management (remember to replace it in sway's config if using non-gentoo)|
|playerctld|Control players|
-|grim|Take screenshots|