From ad06f5284e827858aad5de33b7269af78e4d4e98 Mon Sep 17 00:00:00 2001 From: ManOfGoldForever Date: Fri, 3 Apr 2026 10:57:53 -0400 Subject: [PATCH] Finished hacker theme mostly and added some other configs --- .gitignore | 1 + .../fish/conf.d/fish_frozen_key_bindings.fish | 0 .../.config/fish/conf.d/rustup.fish | 0 .../.config/fish/config.fish | 0 .../.config/fish/fish_variables | 0 .../fish/functions/awww_set_wallpaper.fish | 0 .../.config/fish/functions/yazi-cd.fish | 0 .../.config/gtk-3.0/bookmarks | 0 .../.config/hypr/config/environment.conf | 0 .../.config/hypr/gamemode.sh | 0 .../.config/hyprmoncfg/profiles/laptop.json | 0 .../.config/hyprmoncfg/profiles/normal.json | 0 .../{dracula => base}/.config/kitty/diff.conf | 0 themes/{dracula => base}/.config/mpv/mpv.conf | 0 .../.config/rofi/wallpaper_selector.sh | 0 .../.config/spotify-player/keymap.toml | 0 .../sway/config.d/50-systemd-user.conf | 16 ++ themes/base/.config/sway/launch.sh | 6 + themes/base/.config/sway/monitors | 9 + .../.config/waybar/mediaplayer.py | 0 .../.config/waybar/modules/mail.py | 0 .../.config/waybar/modules/spotify.sh | 0 .../.config/waybar/modules/storage.sh | 0 .../.config/waybar/modules/update-check.sh | 0 .../.config/waybar/modules/weather.sh | 0 .../.config/waybar/waybar.sh | 0 .../{dracula => base}/.config/waybar/wittr.sh | 0 .../xdg-desktop-portal-termfilechooser/config | 0 .../lf-wrapper.sh | 0 .../nnn-wrapper.sh | 0 .../ranger-wrapper.sh | 0 ...-desktop-portal-termfilechooser.service.in | 0 .../vifm-wrapper.sh | 0 .../yazi-wrapper.sh | 0 .../.config/xdg-desktop-portal/portals.conf | 0 .../{dracula => base}/.config/yazi/init.lua | 0 .../.config/yazi/keymap.toml | 0 .../.config/yazi/package.toml | 0 .../yazi/plugins/recycle-bin.yazi/LICENSE | 0 .../yazi/plugins/recycle-bin.yazi/README.md | 0 .../yazi/plugins/recycle-bin.yazi/main.lua | 0 .../{dracula => base}/.config/yazi/yazi.toml | 0 .../.config/youtube-tui/cmdefine.yml | 0 .../.config/youtube-tui/commandbindings.yml | 0 .../.config/youtube-tui/commands.yml | 0 .../.config/youtube-tui/keybindings.yml | 0 .../.config/youtube-tui/main.yml | 0 .../.config/youtube-tui/pages.yml | 0 .../.config/youtube-tui/remaps.yml | 0 .../.config/youtube-tui/search.yml | 0 themes/dracula/.config/sway/config | 170 ++++++++++++ themes/dracula/.config/sway/exec | 8 + themes/dracula/.config/sway/theme | 27 ++ themes/dracula/.config/waybar/sway-config | 58 ++++ themes/dracula/.config/yazi/flavor.toml | 3 - themes/hacker/.config/cava/config | 38 +++ themes/hacker/.config/fish/config.fish | 34 +++ .../hacker/.config/fish/themes/Hacker.theme | 32 +++ themes/hacker/.config/fsel/config.toml | 21 ++ themes/hacker/.config/gtk-3.0/settings.ini | 17 ++ themes/hacker/.config/gtk-4.0/settings.ini | 7 + themes/hacker/.config/kitty/hacker.conf | 56 ++++ themes/hacker/.config/kitty/kitty.conf | 10 + themes/hacker/.config/mako/config | 14 + themes/hacker/.config/nwg-look/config | 7 + .../hacker/.config/oh-my-posh/hacker.omp.json | 90 ++++++ .../hacker/.config/otter-launcher/config.toml | 117 ++++++++ themes/hacker/.config/rofi/config.rasi | 86 ++++++ themes/hacker/.config/spotify-player/app.toml | 73 +++++ themes/hacker/.config/sway/config | 171 ++++++++++++ themes/hacker/.config/sway/exec | 6 + themes/hacker/.config/sway/monitors | 19 ++ themes/hacker/.config/sway/theme | 44 +++ themes/hacker/.config/waybar/colors.css | 13 + themes/hacker/.config/waybar/config | 58 ++++ themes/hacker/.config/waybar/style.css | 61 +++++ .../.config/wlogout/icons/hibernate.png | Bin 0 -> 10973 bytes .../hacker/.config/wlogout/icons/logout.png | Bin 0 -> 4704 bytes .../hacker/.config/wlogout/icons/reboot.png | Bin 0 -> 9892 bytes .../hacker/.config/wlogout/icons/shutdown.png | Bin 0 -> 10014 bytes .../hacker/.config/wlogout/icons/suspend.png | Bin 0 -> 10648 bytes themes/hacker/.config/wlogout/layout | 30 ++ themes/hacker/.config/wlogout/style.css | 47 ++++ themes/hacker/.config/wob/wob_horizontal.ini | 14 + .../hacker/.config/xsettingsd/xsettingsd.conf | 9 + .../yazi/flavors/hacker.yazi/flavor.toml | 81 ++++++ themes/hacker/.config/yazi/theme.toml | 20 ++ themes/hacker/.config/yazi/yazi.toml | 258 ++++++++++++++++++ .../hacker/.config/youtube-tui/appearance.yml | 27 ++ themes/hacker/.config/zed/settings.json | 27 ++ themes/hacker/.config/zed/themes/hacker.json | 146 ++++++++++ 91 files changed, 1928 insertions(+), 3 deletions(-) rename themes/{dracula => base}/.config/fish/conf.d/fish_frozen_key_bindings.fish (100%) rename themes/{dracula => base}/.config/fish/conf.d/rustup.fish (100%) rename themes/{dracula => base}/.config/fish/config.fish (100%) rename themes/{dracula => base}/.config/fish/fish_variables (100%) rename themes/{dracula => base}/.config/fish/functions/awww_set_wallpaper.fish (100%) rename themes/{dracula => base}/.config/fish/functions/yazi-cd.fish (100%) rename themes/{dracula => base}/.config/gtk-3.0/bookmarks (100%) rename themes/{dracula => base}/.config/hypr/config/environment.conf (100%) rename themes/{dracula => base}/.config/hypr/gamemode.sh (100%) rename themes/{dracula => base}/.config/hyprmoncfg/profiles/laptop.json (100%) rename themes/{dracula => base}/.config/hyprmoncfg/profiles/normal.json (100%) rename themes/{dracula => base}/.config/kitty/diff.conf (100%) rename themes/{dracula => base}/.config/mpv/mpv.conf (100%) rename themes/{dracula => base}/.config/rofi/wallpaper_selector.sh (100%) rename themes/{dracula => base}/.config/spotify-player/keymap.toml (100%) create mode 100644 themes/base/.config/sway/config.d/50-systemd-user.conf create mode 100755 themes/base/.config/sway/launch.sh create mode 100644 themes/base/.config/sway/monitors rename themes/{dracula => base}/.config/waybar/mediaplayer.py (100%) rename themes/{dracula => base}/.config/waybar/modules/mail.py (100%) rename themes/{dracula => base}/.config/waybar/modules/spotify.sh (100%) rename themes/{dracula => base}/.config/waybar/modules/storage.sh (100%) rename themes/{dracula => base}/.config/waybar/modules/update-check.sh (100%) rename themes/{dracula => base}/.config/waybar/modules/weather.sh (100%) rename themes/{dracula => base}/.config/waybar/waybar.sh (100%) rename themes/{dracula => base}/.config/waybar/wittr.sh (100%) rename themes/{dracula => base}/.config/xdg-desktop-portal-termfilechooser/config (100%) rename themes/{dracula => base}/.config/xdg-desktop-portal-termfilechooser/lf-wrapper.sh (100%) rename themes/{dracula => base}/.config/xdg-desktop-portal-termfilechooser/nnn-wrapper.sh (100%) rename themes/{dracula => base}/.config/xdg-desktop-portal-termfilechooser/ranger-wrapper.sh (100%) rename themes/{dracula => base}/.config/xdg-desktop-portal-termfilechooser/systemd/xdg-desktop-portal-termfilechooser.service.in (100%) rename themes/{dracula => base}/.config/xdg-desktop-portal-termfilechooser/vifm-wrapper.sh (100%) rename themes/{dracula => base}/.config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh (100%) rename themes/{dracula => base}/.config/xdg-desktop-portal/portals.conf (100%) rename themes/{dracula => base}/.config/yazi/init.lua (100%) rename themes/{dracula => base}/.config/yazi/keymap.toml (100%) rename themes/{dracula => base}/.config/yazi/package.toml (100%) rename themes/{dracula => base}/.config/yazi/plugins/recycle-bin.yazi/LICENSE (100%) rename themes/{dracula => base}/.config/yazi/plugins/recycle-bin.yazi/README.md (100%) rename themes/{dracula => base}/.config/yazi/plugins/recycle-bin.yazi/main.lua (100%) rename themes/{dracula => base}/.config/yazi/yazi.toml (100%) rename themes/{dracula => base}/.config/youtube-tui/cmdefine.yml (100%) rename themes/{dracula => base}/.config/youtube-tui/commandbindings.yml (100%) rename themes/{dracula => base}/.config/youtube-tui/commands.yml (100%) rename themes/{dracula => base}/.config/youtube-tui/keybindings.yml (100%) rename themes/{dracula => base}/.config/youtube-tui/main.yml (100%) rename themes/{dracula => base}/.config/youtube-tui/pages.yml (100%) rename themes/{dracula => base}/.config/youtube-tui/remaps.yml (100%) rename themes/{dracula => base}/.config/youtube-tui/search.yml (100%) create mode 100644 themes/dracula/.config/sway/config create mode 100644 themes/dracula/.config/sway/exec create mode 100644 themes/dracula/.config/sway/theme create mode 100644 themes/dracula/.config/waybar/sway-config delete mode 100644 themes/dracula/.config/yazi/flavor.toml create mode 100644 themes/hacker/.config/cava/config create mode 100644 themes/hacker/.config/fish/config.fish create mode 100644 themes/hacker/.config/fish/themes/Hacker.theme create mode 100644 themes/hacker/.config/fsel/config.toml create mode 100644 themes/hacker/.config/gtk-3.0/settings.ini create mode 100644 themes/hacker/.config/gtk-4.0/settings.ini create mode 100644 themes/hacker/.config/kitty/hacker.conf create mode 100644 themes/hacker/.config/kitty/kitty.conf create mode 100644 themes/hacker/.config/mako/config create mode 100644 themes/hacker/.config/nwg-look/config create mode 100644 themes/hacker/.config/oh-my-posh/hacker.omp.json create mode 100644 themes/hacker/.config/otter-launcher/config.toml create mode 100644 themes/hacker/.config/rofi/config.rasi create mode 100644 themes/hacker/.config/spotify-player/app.toml create mode 100644 themes/hacker/.config/sway/config create mode 100644 themes/hacker/.config/sway/exec create mode 100644 themes/hacker/.config/sway/monitors create mode 100644 themes/hacker/.config/sway/theme create mode 100644 themes/hacker/.config/waybar/colors.css create mode 100644 themes/hacker/.config/waybar/config create mode 100644 themes/hacker/.config/waybar/style.css create mode 100644 themes/hacker/.config/wlogout/icons/hibernate.png create mode 100644 themes/hacker/.config/wlogout/icons/logout.png create mode 100644 themes/hacker/.config/wlogout/icons/reboot.png create mode 100644 themes/hacker/.config/wlogout/icons/shutdown.png create mode 100644 themes/hacker/.config/wlogout/icons/suspend.png create mode 100644 themes/hacker/.config/wlogout/layout create mode 100644 themes/hacker/.config/wlogout/style.css create mode 100644 themes/hacker/.config/wob/wob_horizontal.ini create mode 100644 themes/hacker/.config/xsettingsd/xsettingsd.conf create mode 100644 themes/hacker/.config/yazi/flavors/hacker.yazi/flavor.toml create mode 100644 themes/hacker/.config/yazi/theme.toml create mode 100644 themes/hacker/.config/yazi/yazi.toml create mode 100644 themes/hacker/.config/youtube-tui/appearance.yml create mode 100644 themes/hacker/.config/zed/settings.json create mode 100644 themes/hacker/.config/zed/themes/hacker.json diff --git a/.gitignore b/.gitignore index 3ba6249..fea9734 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ agent/ +.claude/ diff --git a/themes/dracula/.config/fish/conf.d/fish_frozen_key_bindings.fish b/themes/base/.config/fish/conf.d/fish_frozen_key_bindings.fish similarity index 100% rename from themes/dracula/.config/fish/conf.d/fish_frozen_key_bindings.fish rename to themes/base/.config/fish/conf.d/fish_frozen_key_bindings.fish diff --git a/themes/dracula/.config/fish/conf.d/rustup.fish b/themes/base/.config/fish/conf.d/rustup.fish similarity index 100% rename from themes/dracula/.config/fish/conf.d/rustup.fish rename to themes/base/.config/fish/conf.d/rustup.fish diff --git a/themes/dracula/.config/fish/config.fish b/themes/base/.config/fish/config.fish similarity index 100% rename from themes/dracula/.config/fish/config.fish rename to themes/base/.config/fish/config.fish diff --git a/themes/dracula/.config/fish/fish_variables b/themes/base/.config/fish/fish_variables similarity index 100% rename from themes/dracula/.config/fish/fish_variables rename to themes/base/.config/fish/fish_variables diff --git a/themes/dracula/.config/fish/functions/awww_set_wallpaper.fish b/themes/base/.config/fish/functions/awww_set_wallpaper.fish similarity index 100% rename from themes/dracula/.config/fish/functions/awww_set_wallpaper.fish rename to themes/base/.config/fish/functions/awww_set_wallpaper.fish diff --git a/themes/dracula/.config/fish/functions/yazi-cd.fish b/themes/base/.config/fish/functions/yazi-cd.fish similarity index 100% rename from themes/dracula/.config/fish/functions/yazi-cd.fish rename to themes/base/.config/fish/functions/yazi-cd.fish diff --git a/themes/dracula/.config/gtk-3.0/bookmarks b/themes/base/.config/gtk-3.0/bookmarks similarity index 100% rename from themes/dracula/.config/gtk-3.0/bookmarks rename to themes/base/.config/gtk-3.0/bookmarks diff --git a/themes/dracula/.config/hypr/config/environment.conf b/themes/base/.config/hypr/config/environment.conf similarity index 100% rename from themes/dracula/.config/hypr/config/environment.conf rename to themes/base/.config/hypr/config/environment.conf diff --git a/themes/dracula/.config/hypr/gamemode.sh b/themes/base/.config/hypr/gamemode.sh similarity index 100% rename from themes/dracula/.config/hypr/gamemode.sh rename to themes/base/.config/hypr/gamemode.sh diff --git a/themes/dracula/.config/hyprmoncfg/profiles/laptop.json b/themes/base/.config/hyprmoncfg/profiles/laptop.json similarity index 100% rename from themes/dracula/.config/hyprmoncfg/profiles/laptop.json rename to themes/base/.config/hyprmoncfg/profiles/laptop.json diff --git a/themes/dracula/.config/hyprmoncfg/profiles/normal.json b/themes/base/.config/hyprmoncfg/profiles/normal.json similarity index 100% rename from themes/dracula/.config/hyprmoncfg/profiles/normal.json rename to themes/base/.config/hyprmoncfg/profiles/normal.json diff --git a/themes/dracula/.config/kitty/diff.conf b/themes/base/.config/kitty/diff.conf similarity index 100% rename from themes/dracula/.config/kitty/diff.conf rename to themes/base/.config/kitty/diff.conf diff --git a/themes/dracula/.config/mpv/mpv.conf b/themes/base/.config/mpv/mpv.conf similarity index 100% rename from themes/dracula/.config/mpv/mpv.conf rename to themes/base/.config/mpv/mpv.conf diff --git a/themes/dracula/.config/rofi/wallpaper_selector.sh b/themes/base/.config/rofi/wallpaper_selector.sh similarity index 100% rename from themes/dracula/.config/rofi/wallpaper_selector.sh rename to themes/base/.config/rofi/wallpaper_selector.sh diff --git a/themes/dracula/.config/spotify-player/keymap.toml b/themes/base/.config/spotify-player/keymap.toml similarity index 100% rename from themes/dracula/.config/spotify-player/keymap.toml rename to themes/base/.config/spotify-player/keymap.toml diff --git a/themes/base/.config/sway/config.d/50-systemd-user.conf b/themes/base/.config/sway/config.d/50-systemd-user.conf new file mode 100644 index 0000000..8781db9 --- /dev/null +++ b/themes/base/.config/sway/config.d/50-systemd-user.conf @@ -0,0 +1,16 @@ +# sway does not set DISPLAY/WAYLAND_DISPLAY in the systemd user environment +# See FS#63021 +# Adapted from xorg's 50-systemd-user.sh, which achieves a similar goal. + +# Upstream refuses to set XDG_CURRENT_DESKTOP so we have to. +exec systemctl --user set-environment XDG_CURRENT_DESKTOP=sway +exec systemctl --user import-environment DISPLAY \ + SWAYSOCK \ + WAYLAND_DISPLAY \ + XDG_CURRENT_DESKTOP + +exec hash dbus-update-activation-environment 2>/dev/null && \ + dbus-update-activation-environment --systemd DISPLAY \ + SWAYSOCK \ + XDG_CURRENT_DESKTOP=sway \ + WAYLAND_DISPLAY diff --git a/themes/base/.config/sway/launch.sh b/themes/base/.config/sway/launch.sh new file mode 100755 index 0000000..9269713 --- /dev/null +++ b/themes/base/.config/sway/launch.sh @@ -0,0 +1,6 @@ +#!/bin/bash +export WLR_NO_HARDWARE_CURSORS=1 +export GBM_BACKEND=nvidia-drm +export __GLX_VENDOR_LIBRARY_NAME=nvidia +export WLR_RENDERER=vulkan +exec sway --unsupported-gpu diff --git a/themes/base/.config/sway/monitors b/themes/base/.config/sway/monitors new file mode 100644 index 0000000..eba2090 --- /dev/null +++ b/themes/base/.config/sway/monitors @@ -0,0 +1,9 @@ +# Wallpaper +output * bg /mnt/data/Wallpapers/solid_background_dark.png fill + +# My monitors (change to work for yours): +output HDMI-A-1 res 1920x1080@239.76Hz pos 0,0 transform 0 +output DP-1 res 2560x1440@59.95Hz pos 1920,0 transform 270 +output eDP-2 disable + +# You can get the names of your outputs by running: swaymsg -t get_outputs diff --git a/themes/dracula/.config/waybar/mediaplayer.py b/themes/base/.config/waybar/mediaplayer.py similarity index 100% rename from themes/dracula/.config/waybar/mediaplayer.py rename to themes/base/.config/waybar/mediaplayer.py diff --git a/themes/dracula/.config/waybar/modules/mail.py b/themes/base/.config/waybar/modules/mail.py similarity index 100% rename from themes/dracula/.config/waybar/modules/mail.py rename to themes/base/.config/waybar/modules/mail.py diff --git a/themes/dracula/.config/waybar/modules/spotify.sh b/themes/base/.config/waybar/modules/spotify.sh similarity index 100% rename from themes/dracula/.config/waybar/modules/spotify.sh rename to themes/base/.config/waybar/modules/spotify.sh diff --git a/themes/dracula/.config/waybar/modules/storage.sh b/themes/base/.config/waybar/modules/storage.sh similarity index 100% rename from themes/dracula/.config/waybar/modules/storage.sh rename to themes/base/.config/waybar/modules/storage.sh diff --git a/themes/dracula/.config/waybar/modules/update-check.sh b/themes/base/.config/waybar/modules/update-check.sh similarity index 100% rename from themes/dracula/.config/waybar/modules/update-check.sh rename to themes/base/.config/waybar/modules/update-check.sh diff --git a/themes/dracula/.config/waybar/modules/weather.sh b/themes/base/.config/waybar/modules/weather.sh similarity index 100% rename from themes/dracula/.config/waybar/modules/weather.sh rename to themes/base/.config/waybar/modules/weather.sh diff --git a/themes/dracula/.config/waybar/waybar.sh b/themes/base/.config/waybar/waybar.sh similarity index 100% rename from themes/dracula/.config/waybar/waybar.sh rename to themes/base/.config/waybar/waybar.sh diff --git a/themes/dracula/.config/waybar/wittr.sh b/themes/base/.config/waybar/wittr.sh similarity index 100% rename from themes/dracula/.config/waybar/wittr.sh rename to themes/base/.config/waybar/wittr.sh diff --git a/themes/dracula/.config/xdg-desktop-portal-termfilechooser/config b/themes/base/.config/xdg-desktop-portal-termfilechooser/config similarity index 100% rename from themes/dracula/.config/xdg-desktop-portal-termfilechooser/config rename to themes/base/.config/xdg-desktop-portal-termfilechooser/config diff --git a/themes/dracula/.config/xdg-desktop-portal-termfilechooser/lf-wrapper.sh b/themes/base/.config/xdg-desktop-portal-termfilechooser/lf-wrapper.sh similarity index 100% rename from themes/dracula/.config/xdg-desktop-portal-termfilechooser/lf-wrapper.sh rename to themes/base/.config/xdg-desktop-portal-termfilechooser/lf-wrapper.sh diff --git a/themes/dracula/.config/xdg-desktop-portal-termfilechooser/nnn-wrapper.sh b/themes/base/.config/xdg-desktop-portal-termfilechooser/nnn-wrapper.sh similarity index 100% rename from themes/dracula/.config/xdg-desktop-portal-termfilechooser/nnn-wrapper.sh rename to themes/base/.config/xdg-desktop-portal-termfilechooser/nnn-wrapper.sh diff --git a/themes/dracula/.config/xdg-desktop-portal-termfilechooser/ranger-wrapper.sh b/themes/base/.config/xdg-desktop-portal-termfilechooser/ranger-wrapper.sh similarity index 100% rename from themes/dracula/.config/xdg-desktop-portal-termfilechooser/ranger-wrapper.sh rename to themes/base/.config/xdg-desktop-portal-termfilechooser/ranger-wrapper.sh diff --git a/themes/dracula/.config/xdg-desktop-portal-termfilechooser/systemd/xdg-desktop-portal-termfilechooser.service.in b/themes/base/.config/xdg-desktop-portal-termfilechooser/systemd/xdg-desktop-portal-termfilechooser.service.in similarity index 100% rename from themes/dracula/.config/xdg-desktop-portal-termfilechooser/systemd/xdg-desktop-portal-termfilechooser.service.in rename to themes/base/.config/xdg-desktop-portal-termfilechooser/systemd/xdg-desktop-portal-termfilechooser.service.in diff --git a/themes/dracula/.config/xdg-desktop-portal-termfilechooser/vifm-wrapper.sh b/themes/base/.config/xdg-desktop-portal-termfilechooser/vifm-wrapper.sh similarity index 100% rename from themes/dracula/.config/xdg-desktop-portal-termfilechooser/vifm-wrapper.sh rename to themes/base/.config/xdg-desktop-portal-termfilechooser/vifm-wrapper.sh diff --git a/themes/dracula/.config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh b/themes/base/.config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh similarity index 100% rename from themes/dracula/.config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh rename to themes/base/.config/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh diff --git a/themes/dracula/.config/xdg-desktop-portal/portals.conf b/themes/base/.config/xdg-desktop-portal/portals.conf similarity index 100% rename from themes/dracula/.config/xdg-desktop-portal/portals.conf rename to themes/base/.config/xdg-desktop-portal/portals.conf diff --git a/themes/dracula/.config/yazi/init.lua b/themes/base/.config/yazi/init.lua similarity index 100% rename from themes/dracula/.config/yazi/init.lua rename to themes/base/.config/yazi/init.lua diff --git a/themes/dracula/.config/yazi/keymap.toml b/themes/base/.config/yazi/keymap.toml similarity index 100% rename from themes/dracula/.config/yazi/keymap.toml rename to themes/base/.config/yazi/keymap.toml diff --git a/themes/dracula/.config/yazi/package.toml b/themes/base/.config/yazi/package.toml similarity index 100% rename from themes/dracula/.config/yazi/package.toml rename to themes/base/.config/yazi/package.toml diff --git a/themes/dracula/.config/yazi/plugins/recycle-bin.yazi/LICENSE b/themes/base/.config/yazi/plugins/recycle-bin.yazi/LICENSE similarity index 100% rename from themes/dracula/.config/yazi/plugins/recycle-bin.yazi/LICENSE rename to themes/base/.config/yazi/plugins/recycle-bin.yazi/LICENSE diff --git a/themes/dracula/.config/yazi/plugins/recycle-bin.yazi/README.md b/themes/base/.config/yazi/plugins/recycle-bin.yazi/README.md similarity index 100% rename from themes/dracula/.config/yazi/plugins/recycle-bin.yazi/README.md rename to themes/base/.config/yazi/plugins/recycle-bin.yazi/README.md diff --git a/themes/dracula/.config/yazi/plugins/recycle-bin.yazi/main.lua b/themes/base/.config/yazi/plugins/recycle-bin.yazi/main.lua similarity index 100% rename from themes/dracula/.config/yazi/plugins/recycle-bin.yazi/main.lua rename to themes/base/.config/yazi/plugins/recycle-bin.yazi/main.lua diff --git a/themes/dracula/.config/yazi/yazi.toml b/themes/base/.config/yazi/yazi.toml similarity index 100% rename from themes/dracula/.config/yazi/yazi.toml rename to themes/base/.config/yazi/yazi.toml diff --git a/themes/dracula/.config/youtube-tui/cmdefine.yml b/themes/base/.config/youtube-tui/cmdefine.yml similarity index 100% rename from themes/dracula/.config/youtube-tui/cmdefine.yml rename to themes/base/.config/youtube-tui/cmdefine.yml diff --git a/themes/dracula/.config/youtube-tui/commandbindings.yml b/themes/base/.config/youtube-tui/commandbindings.yml similarity index 100% rename from themes/dracula/.config/youtube-tui/commandbindings.yml rename to themes/base/.config/youtube-tui/commandbindings.yml diff --git a/themes/dracula/.config/youtube-tui/commands.yml b/themes/base/.config/youtube-tui/commands.yml similarity index 100% rename from themes/dracula/.config/youtube-tui/commands.yml rename to themes/base/.config/youtube-tui/commands.yml diff --git a/themes/dracula/.config/youtube-tui/keybindings.yml b/themes/base/.config/youtube-tui/keybindings.yml similarity index 100% rename from themes/dracula/.config/youtube-tui/keybindings.yml rename to themes/base/.config/youtube-tui/keybindings.yml diff --git a/themes/dracula/.config/youtube-tui/main.yml b/themes/base/.config/youtube-tui/main.yml similarity index 100% rename from themes/dracula/.config/youtube-tui/main.yml rename to themes/base/.config/youtube-tui/main.yml diff --git a/themes/dracula/.config/youtube-tui/pages.yml b/themes/base/.config/youtube-tui/pages.yml similarity index 100% rename from themes/dracula/.config/youtube-tui/pages.yml rename to themes/base/.config/youtube-tui/pages.yml diff --git a/themes/dracula/.config/youtube-tui/remaps.yml b/themes/base/.config/youtube-tui/remaps.yml similarity index 100% rename from themes/dracula/.config/youtube-tui/remaps.yml rename to themes/base/.config/youtube-tui/remaps.yml diff --git a/themes/dracula/.config/youtube-tui/search.yml b/themes/base/.config/youtube-tui/search.yml similarity index 100% rename from themes/dracula/.config/youtube-tui/search.yml rename to themes/base/.config/youtube-tui/search.yml diff --git a/themes/dracula/.config/sway/config b/themes/dracula/.config/sway/config new file mode 100644 index 0000000..be8d8e9 --- /dev/null +++ b/themes/dracula/.config/sway/config @@ -0,0 +1,170 @@ +include ./monitors +include ./exec +include ./theme + +exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway +set $gnome-schema org.gnome.desktop.interface +exec_always { + export WLR_NO_HARDWARE_CURSORS=1 + export GBM_BACKEND=nvidia-drm + export __GLX_VENDOR_LIBRARY_NAME=nvidia + export WLR_RENDERER=vulkan +} + +include "$(/usr/libexec/sway/layered-include '/usr/share/sway/config.d/*.conf' '/etc/sway/config.d/*.conf')" + +set $mod Mod4 + +# direction keys +set $left h +set $down j +set $up k +set $right l + +set $term kitty +set $menu rofi -show drun +set $browser /home/henry/AppImages/helium.appimage +set $filemanager kitty -e yazi +for_window [app_id="rofi"] floating enable + +# -Key bindings- + +# Basics: + bindsym $mod+Return exec $term + bindsym $mod+q kill + bindsym $mod+space exec $menu + floating_modifier $mod normal + bindsym $mod+Shift+r reload + bindsym $mod+Shift+e exit + +# App launchers: + bindsym $mod+b exec $browser + bindsym $mod+e exec $filemanager + bindsym $mod+w exec ~/.config/rofi/wallpaper_selector.sh + bindsym $mod+p exec wlogout + bindsym $mod+s exec steam + bindsym $mod+a exec mumble + bindsym $mod+z exec swaylock -f -c 282a36 + bindsym $mod+o exec killall -SIGUSR2 waybar + +# Moving around: + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right + +# Workspaces: + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + bindsym $mod+n workspace number 11 + bindsym $mod+m workspace number 12 + +# Move window silently to workspace: + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + bindsym $mod+Shift+n move container to workspace number 11 + bindsym $mod+Shift+m move container to workspace number 12 + +# Move window to workspace and follow: + bindsym $mod+Ctrl+1 move container to workspace number 1; workspace number 1 + bindsym $mod+Ctrl+2 move container to workspace number 2; workspace number 2 + bindsym $mod+Ctrl+3 move container to workspace number 3; workspace number 3 + bindsym $mod+Ctrl+4 move container to workspace number 4; workspace number 4 + bindsym $mod+Ctrl+5 move container to workspace number 5; workspace number 5 + bindsym $mod+Ctrl+6 move container to workspace number 6; workspace number 6 + bindsym $mod+Ctrl+7 move container to workspace number 7; workspace number 7 + bindsym $mod+Ctrl+8 move container to workspace number 8; workspace number 8 + bindsym $mod+Ctrl+9 move container to workspace number 9; workspace number 9 + bindsym $mod+Ctrl+0 move container to workspace number 10; workspace number 10 + bindsym $mod+Ctrl+Left move container to workspace prev; workspace prev + bindsym $mod+Ctrl+Right move container to workspace next; workspace next + +# Workspace cycling: + bindsym $mod+period workspace next_on_output + bindsym $mod+comma workspace prev_on_output + bindsym $mod+slash workspace back_and_forth + +# Scratchpad: + bindsym $mod+minus move scratchpad + bindsym $mod+equal scratchpad show + +# Layout stuff: + bindsym $mod+Shift+b splith + bindsym $mod+Shift+v splitv + bindsym $mod+Shift+s layout stacking + bindsym $mod+Shift+w layout tabbed + bindsym $mod+t layout toggle split + bindsym $mod+f fullscreen + bindsym $mod+v floating toggle + +# Resize mode: + bindsym $mod+r mode "resize" + mode "resize" { + bindsym $left resize shrink width 15px + bindsym $down resize grow height 15px + bindsym $up resize shrink height 15px + bindsym $right resize grow width 15px + bindsym Left resize shrink width 15px + bindsym Down resize grow height 15px + bindsym Up resize shrink height 15px + bindsym Right resize grow width 15px + bindsym $mod+Ctrl+Shift+Left resize shrink width 15px + bindsym $mod+Ctrl+Shift+Down resize grow height 15px + bindsym $mod+Ctrl+Shift+Up resize shrink height 15px + bindsym $mod+Ctrl+Shift+Right resize grow width 15px + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" + } + +# Utilities: + # Volume + bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% + bindsym --locked XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle + # Brightness + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + # Screenshots + bindsym Print exec grim -g "$(slurp)" - | wl-copy + bindsym Shift+Print exec grim - | wl-copy + bindsym Ctrl+Print exec grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name') - | wl-copy + # Playback + bindsym $mod+bracketright exec playerctl --player=spotify_player next + bindsym $mod+bracketleft exec playerctl --player=spotify_player previous + bindsym $mod+backslash exec playerctl --player=spotify_player play-pause + bindsym XF86AudioPlay exec playerctl play-pause + bindsym XF86AudioNext exec playerctl next + bindsym XF86AudioPrev exec playerctl previous + +include @sysconfdir@/sway/config.d/* diff --git a/themes/dracula/.config/sway/exec b/themes/dracula/.config/sway/exec new file mode 100644 index 0000000..a67e3de --- /dev/null +++ b/themes/dracula/.config/sway/exec @@ -0,0 +1,8 @@ +exec_always autotiling +exec export QT_QPA_PLATFORMTHEME=qt6ct +exec export XDG_CURRENT_DESKTOP=sway +exec systemctl --user set-environment XDG_CURRENT_DESKTOP=sway +exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP +exec systemctl --user start xdg-desktop-portal-wlr.service +exec waybar -c ~/.config/waybar/sway-config -s ~/.config/waybar/style.css +exec $term diff --git a/themes/dracula/.config/sway/theme b/themes/dracula/.config/sway/theme new file mode 100644 index 0000000..148478b --- /dev/null +++ b/themes/dracula/.config/sway/theme @@ -0,0 +1,27 @@ +gaps inner 2px +gaps outer 2px + +default_border pixel 2px +default_floating_border pixel 2px + +# cursor +seat seat0 xcursor_theme Dracula 24 + +# Status Bar: +bar { + swaybar_command waybar +} + +# -Colors- +# name border bg text ind child_border +client.focused #bd93f9 #282a36 #f8f8f2 #bd93f9 #bd93f9 +client.focused_inactive #44475a #282a36 #f8f8f2 #44475a #44475a +client.unfocused #282a36 #282a36 #6272a4 #282a36 #282a36 +client.urgent #ff5555 #282a36 #f8f8f2 #ff5555 #ff5555 +client.placeholder #282a36 #282a36 #f8f8f2 #282a36 #282a36 + +# Swayfx +# comment these out if you don't use swayfx +#blur enable +#corner_radius 4 +#shadows enable diff --git a/themes/dracula/.config/waybar/sway-config b/themes/dracula/.config/waybar/sway-config new file mode 100644 index 0000000..30b2713 --- /dev/null +++ b/themes/dracula/.config/waybar/sway-config @@ -0,0 +1,58 @@ +{ + "layer": "top", + "position": "top", + "height": 24, + "spacing": 4, + "modules-left": [ + "sway/workspaces" + ], + "modules-center": [ + "sway/window" + ], + "modules-right": [ + "custom/media", + "custom/updates", + "custom/storage", + "tray", + "clock" + ], + "sway/workspaces": { + "disable-scroll": false, + "all-outputs": false, + "format": "{name}" + }, + "sway/window": { + "max-length": 128 + }, + "clock": { + "format": "{:%m/%d/%Y %I:%M %p}", + "tooltip-format": "{:%Y %B}\n{calendar}" + }, + "tray": { + "spacing": 4 + }, + "custom/media": { + "exec": "~/.config/waybar/mediaplayer.py --player spotify_player", + "return-type": "json", + "interval": 0, + "on-click": "playerctl play-pause", + "tooltip": false + }, + "custom/storage": { + "exec": "~/.config/waybar/modules/storage.sh", + "return-type": "json", + "interval": 900, + "format": "{}", + "tooltip": false + }, + "custom/updates": { + "exec": "~/.config/waybar/modules/update-check.sh", + "interval": 900, + "return-type": "json", + "format": "{text}", + "on-click": "kitty -e fish -ic 'update'", + "on-output": "class: no-updates", + "on-error": "class: updates-available", + "tooltip": false + } +} diff --git a/themes/dracula/.config/yazi/flavor.toml b/themes/dracula/.config/yazi/flavor.toml deleted file mode 100644 index ea9a748..0000000 --- a/themes/dracula/.config/yazi/flavor.toml +++ /dev/null @@ -1,3 +0,0 @@ -[flavor] -dark = "dracula" -light = "dracula" diff --git a/themes/hacker/.config/cava/config b/themes/hacker/.config/cava/config new file mode 100644 index 0000000..d3f53ae --- /dev/null +++ b/themes/hacker/.config/cava/config @@ -0,0 +1,38 @@ +## Configuration file for CAVA. + +[general] +; framerate = 60 +; autosens = 1 +; bars = 0 +; bar_width = 2 +; bar_spacing = 1 + +[input] +; method = pipewire +; source = auto + +[output] +; method = noncurses + +[color] + +# Gradient from dim to bright orange +gradient = 1 +gradient_color_1 = '#2a2b2a' +gradient_color_2 = '#7a4020' +gradient_color_3 = '#b05a28' +gradient_color_4 = '#d07038' +gradient_color_5 = '#ef934d' +gradient_color_6 = '#f4a868' +gradient_color_7 = '#f8c090' +gradient_color_8 = '#f4decd' + +[smoothing] +; noise_reduction = 77 + +[eq] +; 1 = 1 +; 2 = 1 +; 3 = 1 +; 4 = 1 +; 5 = 1 diff --git a/themes/hacker/.config/fish/config.fish b/themes/hacker/.config/fish/config.fish new file mode 100644 index 0000000..a6d03f9 --- /dev/null +++ b/themes/hacker/.config/fish/config.fish @@ -0,0 +1,34 @@ +source /usr/share/cachyos-fish-config/cachyos-config.fish + +fish_config theme choose "Hacker" + +oh-my-posh init fish --config ~/.config/oh-my-posh/hacker.omp.json | source + +alias mntnas="sudo mount -a" + +# Set Zed as the default editor +set -gx EDITOR /usr/local/bin/zed_sudo_wrapper +set -gx VISUAL "zeditor --wait" +set -gx SUDO_EDITOR "zeditor --wait" + +# Start SSH agent if not already running +if not set -q SSH_AGENT_PID + eval (ssh-agent -c) +end + +function update + sudo pacman -Syu --noconfirm + paru -Syu --noconfirm + sudo pacman -Sc --noconfirm + paru -Sc --noconfirm +end + +function helium + exec /usr/bin/helium-0.6.9.1-x86_64.AppImage +end + +function add_ssh_key + set -l ssh_key ~/.ssh/github-ssh + echo "Adding SSH key..." + ssh-add $ssh_key +end diff --git a/themes/hacker/.config/fish/themes/Hacker.theme b/themes/hacker/.config/fish/themes/Hacker.theme new file mode 100644 index 0000000..3b04e67 --- /dev/null +++ b/themes/hacker/.config/fish/themes/Hacker.theme @@ -0,0 +1,32 @@ +# Hacker theme for fish shell + +fish_color_normal f4decd +fish_color_command ef934d +fish_color_keyword ef934d +fish_color_quote e8c97e +fish_color_redirection 71b4d6 +fish_color_end f4decd +fish_color_error f16e65 +fish_color_param f4decd +fish_color_comment 6a6a6a +fish_color_selection --background=2a2b2a +fish_color_search_match --background=1e1f1e +fish_color_operator ef934d +fish_color_escape f4decd +fish_color_autosuggestion 6a6a6a +fish_color_cwd ef934d +fish_color_cwd_root f16e65 +fish_color_valid_path --underline +fish_color_user ef934d +fish_color_host f4decd +fish_color_host_remote e8c97e +fish_color_cancel f16e65 +fish_pager_color_progress 6a6a6a +fish_pager_color_background +fish_pager_color_prefix ef934d +fish_pager_color_completion f4decd +fish_pager_color_description 6a6a6a +fish_pager_color_selected_background --background=2a2b2a +fish_pager_color_selected_prefix ef934d +fish_pager_color_selected_completion f4decd +fish_pager_color_selected_description e8c97e diff --git a/themes/hacker/.config/fsel/config.toml b/themes/hacker/.config/fsel/config.toml new file mode 100644 index 0000000..1bc83c1 --- /dev/null +++ b/themes/hacker/.config/fsel/config.toml @@ -0,0 +1,21 @@ +highlight_color = "#ef934d" +cursor = "█" +terminal_launcher = "kitty -e" +hard_stop = false + +rounded_borders = false + +main_border_color = "#3b403c" +apps_border_color = "#3b403c" +input_border_color = "#3b403c" + +main_text_color = "#f4decd" +apps_text_color = "#f4decd" +input_text_color = "#f4decd" + +fancy_mode = true + +header_title_color = "#ef934d" + +title_panel_height_percent = 30 +input_panel_height = 3 diff --git a/themes/hacker/.config/gtk-3.0/settings.ini b/themes/hacker/.config/gtk-3.0/settings.ini new file mode 100644 index 0000000..c21ec57 --- /dev/null +++ b/themes/hacker/.config/gtk-3.0/settings.ini @@ -0,0 +1,17 @@ +[Settings] +gtk-theme-name=Adwaita-dark +gtk-icon-theme-name=Papirus-Dark +gtk-font-name=Inter Variable 11 +gtk-cursor-theme-name=Bibata-Original-Ice +gtk-cursor-theme-size=24 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=0 +gtk-menu-images=0 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=rgb +gtk-application-prefer-dark-theme=1 diff --git a/themes/hacker/.config/gtk-4.0/settings.ini b/themes/hacker/.config/gtk-4.0/settings.ini new file mode 100644 index 0000000..f446216 --- /dev/null +++ b/themes/hacker/.config/gtk-4.0/settings.ini @@ -0,0 +1,7 @@ +[Settings] +gtk-theme-name=Adwaita-dark +gtk-icon-theme-name=Papirus-Dark +gtk-font-name=Inter Variable 11 +gtk-cursor-theme-name=Bibata-Original-Ice +gtk-cursor-theme-size=24 +gtk-application-prefer-dark-theme=1 diff --git a/themes/hacker/.config/kitty/hacker.conf b/themes/hacker/.config/kitty/hacker.conf new file mode 100644 index 0000000..11ba6fb --- /dev/null +++ b/themes/hacker/.config/kitty/hacker.conf @@ -0,0 +1,56 @@ +foreground #f4decd +background #141514 +selection_foreground #141514 +selection_background #ef934d + +url_color #71b4d6 + +# black +color0 #141514 +color8 #2a2b2a + +# red +color1 #f16e65 +color9 #ff8a82 + +# green +color2 #7ec97e +color10 #a8e6a8 + +# yellow +color3 #e8c97e +color11 #f5dfa0 + +# blue +color4 #71b4d6 +color12 #9ecfe8 + +# magenta +color5 #ef934d +color13 #f5b07a + +# cyan +color6 #7ec9c4 +color14 #a8e6e2 + +# white +color7 #f4decd +color15 #ffffff + +# Cursor colors +cursor #ef934d +cursor_text_color background + +# Tab bar colors +active_tab_foreground #141514 +active_tab_background #ef934d +inactive_tab_foreground #6a6a6a +inactive_tab_background #1e1f1e + +# Marks +mark1_foreground #141514 +mark1_background #f16e65 + +# Splits/Windows +active_border_color #ef934d +inactive_border_color #1e1f1e diff --git a/themes/hacker/.config/kitty/kitty.conf b/themes/hacker/.config/kitty/kitty.conf new file mode 100644 index 0000000..92816c0 --- /dev/null +++ b/themes/hacker/.config/kitty/kitty.conf @@ -0,0 +1,10 @@ +include hacker.conf + +confirm_os_window_close 0 + +# BEGIN_KITTY_FONTS +font_family family="Iosevka Term" +bold_font auto +italic_font auto +bold_italic_font auto +# END_KITTY_FONTS diff --git a/themes/hacker/.config/mako/config b/themes/hacker/.config/mako/config new file mode 100644 index 0000000..a5bf5a1 --- /dev/null +++ b/themes/hacker/.config/mako/config @@ -0,0 +1,14 @@ +width=350 +height=110 +margin=5 +padding=10 +border-size=2 +border-radius=0 +icons=1 +max-icon-size=64 +default-timeout=5000 +text-alignment=left + +background-color=#141514 +text-color=#f4decd +border-color=#ef934d diff --git a/themes/hacker/.config/nwg-look/config b/themes/hacker/.config/nwg-look/config new file mode 100644 index 0000000..3f49ae5 --- /dev/null +++ b/themes/hacker/.config/nwg-look/config @@ -0,0 +1,7 @@ +{ + "export-settings-ini": true, + "export-gtkrc-20": true, + "export-index-theme": true, + "export-xsettingsd": true, + "export-gtk4-symlinks": true +} \ No newline at end of file diff --git a/themes/hacker/.config/oh-my-posh/hacker.omp.json b/themes/hacker/.config/oh-my-posh/hacker.omp.json new file mode 100644 index 0000000..de6ff99 --- /dev/null +++ b/themes/hacker/.config/oh-my-posh/hacker.omp.json @@ -0,0 +1,90 @@ +{ + "$schema": "https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json", + "blocks": [ + { + "alignment": "left", + "segments": [ + { + "foreground": "#ef934d", + "style": "plain", + "template": "{{ .UserName }}@{{ .HostName }} ", + "type": "session" + }, + { + "foreground": "#f4decd", + "style": "plain", + "properties": { + "style": "folder" + }, + "template": "{{ .Path }} ", + "type": "path" + }, + { + "foreground": "#6a6a6a", + "style": "plain", + "properties": { + "branch_icon": " ", + "fetch_status": true, + "fetch_upstream_icon": true + }, + "template": "{{ .UpstreamIcon }}{{ .HEAD }}{{if .BranchStatus }} {{ .BranchStatus }}{{ end }}{{ if .Working.Changed }}<#ef934d> *{{ end }}{{ if and (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }}<#7ec97e> +{{ end }}{{ if gt .StashCount 0 }}<#6a6a6a> {{ .StashCount }}{{ end }} ", + "type": "git" + }, + { + "foreground": "#6a6a6a", + "style": "plain", + "properties": { + "style": "austin", + "threshold": 500 + }, + "template": "{{ .FormattedMs }} ", + "type": "executiontime" + } + ], + "type": "prompt" + }, + { + "alignment": "right", + "segments": [ + { + "foreground": "#6a6a6a", + "style": "plain", + "properties": { + "time_format": "01/02 15:04" + }, + "template": "{{ .CurrentDate | date .Format }}", + "type": "time" + } + ], + "type": "prompt" + }, + { + "alignment": "left", + "newline": true, + "segments": [ + { + "foreground": "#ef934d", + "foreground_templates": [ + "{{ if gt .Code 0 }}#f16e65{{ end }}" + ], + "style": "plain", + "properties": { + "always_enabled": true + }, + "template": "❯ ", + "type": "status" + } + ], + "type": "prompt" + } + ], + "transient_prompt": { + "foreground": "#ef934d", + "foreground_templates": [ + "{{ if gt .Code 0 }}#f16e65{{ end }}" + ], + "template": "❯ " + }, + "console_title_template": "{{ .Folder }}", + "version": 3 +} diff --git a/themes/hacker/.config/otter-launcher/config.toml b/themes/hacker/.config/otter-launcher/config.toml new file mode 100644 index 0000000..55f0278 --- /dev/null +++ b/themes/hacker/.config/otter-launcher/config.toml @@ -0,0 +1,117 @@ +[general] +default_module = "app" +empty_module = "a" +exec_cmd = "sh -c" +vi_mode = true +esc_to_abort = true +cheatsheet_entry = "?" +cheatsheet_viewer = "less -R; clear" +clear_screen_after_execution = false +loop_mode = false +external_editor = "" + +[interface] +header = """ + \u001B[34;1m >\u001B[0m $USER@$(echo $HOSTNAME) \u001B[31m\u001B[0m $(cat /proc/loadavg | cut -d ' ' -f 1) \u001B[33m󰍛\u001B[0m $(free -h | awk 'FNR == 2 {print $3}' | sed 's/i//') + \u001B[34;1m>\u001B[0;1m """ +header_cmd = "" +header_cmd_trimmed_lines = 0 +header_concatenate = false +list_prefix = " " +selection_prefix = " \u001B[31;1m> " +place_holder = "type and search" +default_module_message = " \u001B[33msearch\u001B[0m the internet" +empty_module_message = "" +suggestion_mode = "list" +suggestion_lines = 12 +indicator_with_arg_module = "\u001B[31m^\u001B[0m " +indicator_no_arg_module = "\u001B[31m$\u001B[0m " +prefix_padding = 3 +prefix_color = "\u001B[33m" +description_color = "\u001B[39m" +place_holder_color = "\u001B[30m" +hint_color = "\u001B[30m" +move_right = 0 +move_up = 0 + + +[[modules]] +description = "search with brave" +prefix = "br" +cmd = "setsid -f xdg-open 'https://search.brave.com/search?q={}'" +with_argument = true +url_encode = true + +[[modules]] +description = "kill a running app" +prefix = "k" +cmd = 'ps -u "$USER" -o comm= | sort -u | fsel --dmenu | xargs -r pkill -9' +with_argument = true +url_encode = true + +[[modules]] +description = "launch apps with fsel" +prefix = "a" +cmd = "fsel -vv -r -d -ss \"{}\"" +with_argument = true + +[[modules]] +description = "launch apps instantly" +prefix = "app" +cmd = "fsel -vv -r -d -p {}" +with_argument = true + +[[modules]] +description = "manage clipboard with fsel" +prefix = "cl" +cmd = """ +fsel --cclip +""" + +[[modules]] +description = "find pkgs" +prefix = "pm" +cmd = "pmux -SD {}" +with_argument = true + +[[modules]] +description = "install pkgs" +prefix = "i" +cmd = "pmux -S {}" +with_argument = true + +[[modules]] +description = "power menu" +prefix = "p" +cmd = """ +function power { +if [[ -n $1 ]]; then +case $1 in +"logout") swaymsg exit ;; +"suspend") systemctl suspend ;; +"hibernate") systemctl hibernate ;; +"reboot") systemctl reboot ;; +"shutdown") systemctl poweroff ;; +esac fi } +power $(echo -e 'reboot\nshutdown\nlogout\nsuspend\nhibernate' | fzf --reverse --no-scrollbar --padding 1,3 --prompt 'Power Menu: ' | tail -1) +""" + +[[modules]] +description = "run command in terminal" +prefix = "s" +cmd = "setsid -f kitty -e {}" +with_argument = true + +[[modules]] +description = "search archwiki" +prefix = "w" +cmd = "setsid -f xdg-open https://wiki.archlinux.org/index.php?search='{}'" +with_argument = true +url_encode = true + +[[modules]] +description = "cambridge dictionary" +prefix = "dc" +cmd = "setsid -f xdg-open 'https://dictionary.cambridge.org/dictionary/english/{}'" +with_argument = true +url_encode = true diff --git a/themes/hacker/.config/rofi/config.rasi b/themes/hacker/.config/rofi/config.rasi new file mode 100644 index 0000000..7aa5c3e --- /dev/null +++ b/themes/hacker/.config/rofi/config.rasi @@ -0,0 +1,86 @@ +* { + bg: #141514; + bg-alt: #1e1f1e; + bg-active: #2a2b2a; + fg: #f4decd; + fg-dim: #6a6a6a; + accent: #ef934d; + urgent: #f16e65; +} + +configuration { + font: "RobotoMono Nerd Font 11"; + show-icons: true; + icon-theme: "Papirus-Dark"; +} + +window { + background-color: @bg; + border: 2px solid; + border-color: @accent; + border-radius: 0px; + padding: 0px; + width: 600px; +} + +mainbox { + background-color: transparent; + children: [inputbar, listview]; + spacing: 0px; +} + +inputbar { + background-color: @bg-alt; + border: 0 0 2px 0; + border-color: @bg-active; + border-radius: 0px; + padding: 8px; + children: [prompt, entry]; +} + +prompt { + background-color: transparent; + text-color: @accent; + padding: 0 6px 0 0; +} + +entry { + background-color: transparent; + text-color: @fg; + placeholder-color: @fg-dim; + placeholder: "search..."; +} + +listview { + background-color: transparent; + columns: 1; + lines: 8; + spacing: 0px; + scrollbar: false; + padding: 4px 0; +} + +element { + background-color: transparent; + padding: 6px 8px; + border-radius: 0px; +} + +element selected { + background-color: @bg-active; + text-color: @fg; + border: 0 0 0 2px; + border-color: @accent; +} + +element-text { + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; +} + +element-icon { + background-color: transparent; + size: 1.2em; + vertical-align: 0.5; +} diff --git a/themes/hacker/.config/spotify-player/app.toml b/themes/hacker/.config/spotify-player/app.toml new file mode 100644 index 0000000..6a60c4c --- /dev/null +++ b/themes/hacker/.config/spotify-player/app.toml @@ -0,0 +1,73 @@ +theme = "Hacker" +client_id = "a5e67511fd004d1d96bc0d1cfc8c29fc" +client_port = 8080 +login_redirect_uri = "http://127.0.0.1:8989/login" +playback_format = """ +{status} {track} • {artists} {liked} +{album} • {genres} +{metadata}""" +playback_metadata_fields = [ + "repeat", + "shuffle", + "volume", + "device", +] +notify_timeout_in_secs = 0 +tracks_playback_limit = 50 +app_refresh_duration_in_ms = 32 +playback_refresh_duration_in_ms = 0 +page_size_in_rows = 20 +play_icon = "▶" +pause_icon = "▌▌" +liked_icon = "♥" +border_type = "Plain" +progress_bar_type = "Rectangle" +progress_bar_position = "Bottom" +genre_num = 2 +cover_img_length = 9 +cover_img_width = 5 +cover_img_scale = 1.0 +enable_media_control = true +enable_streaming = "Always" +enable_notify = true +enable_cover_image_cache = true +default_device = "cachyos-player" +notify_streaming_only = false +seek_duration_secs = 5 +sort_artist_albums_by_type = false + +[notify_format] +summary = "{track} • {artists}" +body = "{album}" + +[layout] +playback_window_position = "Top" +playback_window_height = 6 + +[layout.library] +playlist_percent = 40 +album_percent = 40 + +[device] +name = "cachyos-player" +device_type = "speaker" +volume = 70 +bitrate = 320 +audio_cache = false +normalization = false +autoplay = false + +[[themes]] +name = "Hacker" +[themes.component_style] +block_title = { fg = "Yellow" } +border = { fg = "DarkGray" } +playback_track = { fg = "Yellow", modifiers = "Bold" } +playback_artists = { fg = "White" } +playback_album = { fg = "DarkGray" } +playback_metadata = { fg = "DarkGray" } +playback_progress_bar = { bg = "Yellow", fg = "DarkGray" } +current_playing = { fg = "Yellow", modifiers = "Bold" } +page_desc = { fg = "DarkGray", modifiers = "Italic" } +table_header = { fg = "Yellow" } +selection = { bg = "DarkGray", modifiers = "Bold" } diff --git a/themes/hacker/.config/sway/config b/themes/hacker/.config/sway/config new file mode 100644 index 0000000..4ea47d4 --- /dev/null +++ b/themes/hacker/.config/sway/config @@ -0,0 +1,171 @@ +include ./monitors +include ./exec +include ./theme + +exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway +set $gnome-schema org.gnome.desktop.interface +exec_always { + export WLR_NO_HARDWARE_CURSORS=1 + export GBM_BACKEND=nvidia-drm + export __GLX_VENDOR_LIBRARY_NAME=nvidia + export WLR_RENDERER=vulkan +} + +include "$(/usr/libexec/sway/layered-include '/usr/share/sway/config.d/*.conf' '/etc/sway/config.d/*.conf')" + +set $mod Mod4 + +# direction keys +set $left h +set $down j +set $up k +set $right l + +set $term kitty +set $menu kitty --app-id fsel fsel -r -d +set $launcher kitty --app-id otter-launcher otter-launcher +set $browser /home/henry/AppImages/helium.appimage +set $filemanager kitty -e yazi +for_window [app_id="fsel"] border pixel 2 +for_window [app_id="otter-launcher"] border pixel 2 + +# -Key bindings- + +# Basics: + bindsym $mod+Return exec $term + bindsym $mod+q kill + bindsym $mod+space exec $menu + bindsym $mod+d exec $launcher + floating_modifier $mod normal + bindsym $mod+Shift+r reload + bindsym $mod+Shift+e exit + +# App launchers: + bindsym $mod+b exec $browser + bindsym $mod+e exec $filemanager + bindsym $mod+w exec ~/.config/rofi/wallpaper_selector.sh + bindsym $mod+p exec wlogout + bindsym $mod+s exec steam + bindsym $mod+a exec mumble + +# Moving around: + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right + +# Workspaces: + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + bindsym $mod+n workspace number 11 + bindsym $mod+m workspace number 12 + +# Move window silently to workspace: + bindsym $mod+Shift+1 move container to workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10 + bindsym $mod+Shift+n move container to workspace number 11 + bindsym $mod+Shift+m move container to workspace number 12 + +# Move window to workspace and follow: + bindsym $mod+Ctrl+1 move container to workspace number 1; workspace number 1 + bindsym $mod+Ctrl+2 move container to workspace number 2; workspace number 2 + bindsym $mod+Ctrl+3 move container to workspace number 3; workspace number 3 + bindsym $mod+Ctrl+4 move container to workspace number 4; workspace number 4 + bindsym $mod+Ctrl+5 move container to workspace number 5; workspace number 5 + bindsym $mod+Ctrl+6 move container to workspace number 6; workspace number 6 + bindsym $mod+Ctrl+7 move container to workspace number 7; workspace number 7 + bindsym $mod+Ctrl+8 move container to workspace number 8; workspace number 8 + bindsym $mod+Ctrl+9 move container to workspace number 9; workspace number 9 + bindsym $mod+Ctrl+0 move container to workspace number 10; workspace number 10 + bindsym $mod+Ctrl+Left move container to workspace prev; workspace prev + bindsym $mod+Ctrl+Right move container to workspace next; workspace next + +# Workspace cycling: + bindsym $mod+period workspace next_on_output + bindsym $mod+comma workspace prev_on_output + bindsym $mod+slash workspace back_and_forth + +# Scratchpad: + bindsym $mod+minus move scratchpad + bindsym $mod+equal scratchpad show + +# Layout stuff: + bindsym $mod+Shift+b splith + bindsym $mod+Shift+v splitv + bindsym $mod+Shift+s layout stacking + bindsym $mod+Shift+w layout tabbed + bindsym $mod+t layout toggle split + bindsym $mod+f fullscreen + bindsym $mod+v floating toggle + +# Resize mode: + bindsym $mod+r mode "resize" + mode "resize" { + bindsym $left resize shrink width 15px + bindsym $down resize grow height 15px + bindsym $up resize shrink height 15px + bindsym $right resize grow width 15px + bindsym Left resize shrink width 15px + bindsym Down resize grow height 15px + bindsym Up resize shrink height 15px + bindsym Right resize grow width 15px + bindsym $mod+Ctrl+Shift+Left resize shrink width 15px + bindsym $mod+Ctrl+Shift+Down resize grow height 15px + bindsym $mod+Ctrl+Shift+Up resize shrink height 15px + bindsym $mod+Ctrl+Shift+Right resize grow width 15px + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" + } + +# Utilities: + # Volume + bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% + bindsym --locked XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle + # Brightness + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + # Screenshots + bindsym Print exec grim -g "$(slurp)" - | wl-copy + bindsym Shift+Print exec grim - | wl-copy + bindsym Ctrl+Print exec grim -o $(swaymsg -t get_outputs | jq -r '.[] | select(.focused) | .name') - | wl-copy + # Playback + bindsym $mod+bracketright exec playerctl --player=spotify_player next + bindsym $mod+bracketleft exec playerctl --player=spotify_player previous + bindsym $mod+backslash exec playerctl --player=spotify_player play-pause + bindsym XF86AudioPlay exec playerctl play-pause + bindsym XF86AudioNext exec playerctl next + bindsym XF86AudioPrev exec playerctl previous + +include @sysconfdir@/sway/config.d/* diff --git a/themes/hacker/.config/sway/exec b/themes/hacker/.config/sway/exec new file mode 100644 index 0000000..3f9253c --- /dev/null +++ b/themes/hacker/.config/sway/exec @@ -0,0 +1,6 @@ +exec_always autotiling +exec export QT_QPA_PLATFORMTHEME=qt6ct +exec export XDG_CURRENT_DESKTOP=sway +exec systemctl --user set-environment XDG_CURRENT_DESKTOP=sway +exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP +exec systemctl --user start xdg-desktop-portal-wlr.service diff --git a/themes/hacker/.config/sway/monitors b/themes/hacker/.config/sway/monitors new file mode 100644 index 0000000..07310a5 --- /dev/null +++ b/themes/hacker/.config/sway/monitors @@ -0,0 +1,19 @@ +# Wallpaper - solid color +output * bg #141514 solid_color + +# Monitors: +output HDMI-A-1 res 1920x1080@239.76Hz pos 0,0 transform 0 +output DP-1 res 2560x1440@59.95Hz pos 1920,0 transform 270 +output eDP-2 disable + +# Workspace assignments: +# 1-2 → HDMI-A-1 (primary) +# 3-5 → DP-1 (secondary) +# 6-12 → follows focused output +workspace 1 output HDMI-A-1 +workspace 2 output HDMI-A-1 +workspace 3 output DP-1 +workspace 4 output DP-1 +workspace 5 output DP-1 + +workspace 1 diff --git a/themes/hacker/.config/sway/theme b/themes/hacker/.config/sway/theme new file mode 100644 index 0000000..163829a --- /dev/null +++ b/themes/hacker/.config/sway/theme @@ -0,0 +1,44 @@ +gaps inner 2px +gaps outer 2px + +default_border pixel 2px +default_floating_border pixel 2px + +# cursor +seat seat0 xcursor_theme Bibata-Original-Ice 14 + +# Status Bar: +bar { + swaybar_command swaybar + font Iosevka Term 12 + position top + workspace_min_width 36 + tray_padding 4 + status_command while date +'%m/%d/%Y %I:%M %p'; do sleep 30; done + colors { + background #141514 + statusline #ef934d + separator #ef934d + focused_background #1e1f1e + focused_statusline #ef934d + focused_separator #ef934d + focused_workspace #ef934d #141514 #ef934d + active_workspace #7ec97e #141514 #7ec97e + inactive_workspace #141514 #141514 #6a6a6a + urgent_workspace #f16e65 #141514 #f16e65 + binding_mode #71b4d6 #141514 #71b4d6 + } +} + +# -Colors- +# name border bg text ind child_border +client.focused #ef944d #141514 #f4decd #ef944d #ef944d +client.focused_inactive #1e1f1e #141514 #f4decd #1e1f1e #1e1f1e +client.unfocused #1e1f1e #141514 #f4decd #1e1f1e #1e1f1e +client.urgent #f16e65 #141514 #f4decd #f16e65 #f16e65 +client.placeholder #1e1f1e #141514 #f4decd #1e1f1e #1e1f1e + +# Swayfx +#blur enable +#corner_radius 0 +#shadows enable diff --git a/themes/hacker/.config/waybar/colors.css b/themes/hacker/.config/waybar/colors.css new file mode 100644 index 0000000..464e06d --- /dev/null +++ b/themes/hacker/.config/waybar/colors.css @@ -0,0 +1,13 @@ +@define-color background-darkest rgba(12, 14, 12, 255); +@define-color background-darker rgba(20, 21, 20, 230); +@define-color background #141514; +@define-color background-active #1e1f1e; +@define-color selection #2a2b2a; +@define-color foreground #f4decd; +@define-color comment #6a6a6a; +@define-color orange #ef934d; +@define-color red #f16e65; +@define-color green #7ec97e; +@define-color blue #71b4d6; +@define-color yellow #e8c97e; +@define-color cyan #7ec9c4; diff --git a/themes/hacker/.config/waybar/config b/themes/hacker/.config/waybar/config new file mode 100644 index 0000000..30b2713 --- /dev/null +++ b/themes/hacker/.config/waybar/config @@ -0,0 +1,58 @@ +{ + "layer": "top", + "position": "top", + "height": 24, + "spacing": 4, + "modules-left": [ + "sway/workspaces" + ], + "modules-center": [ + "sway/window" + ], + "modules-right": [ + "custom/media", + "custom/updates", + "custom/storage", + "tray", + "clock" + ], + "sway/workspaces": { + "disable-scroll": false, + "all-outputs": false, + "format": "{name}" + }, + "sway/window": { + "max-length": 128 + }, + "clock": { + "format": "{:%m/%d/%Y %I:%M %p}", + "tooltip-format": "{:%Y %B}\n{calendar}" + }, + "tray": { + "spacing": 4 + }, + "custom/media": { + "exec": "~/.config/waybar/mediaplayer.py --player spotify_player", + "return-type": "json", + "interval": 0, + "on-click": "playerctl play-pause", + "tooltip": false + }, + "custom/storage": { + "exec": "~/.config/waybar/modules/storage.sh", + "return-type": "json", + "interval": 900, + "format": "{}", + "tooltip": false + }, + "custom/updates": { + "exec": "~/.config/waybar/modules/update-check.sh", + "interval": 900, + "return-type": "json", + "format": "{text}", + "on-click": "kitty -e fish -ic 'update'", + "on-output": "class: no-updates", + "on-error": "class: updates-available", + "tooltip": false + } +} diff --git a/themes/hacker/.config/waybar/style.css b/themes/hacker/.config/waybar/style.css new file mode 100644 index 0000000..aeff7ed --- /dev/null +++ b/themes/hacker/.config/waybar/style.css @@ -0,0 +1,61 @@ +@import url("./colors.css"); +* { + border: none; + border-radius: 0; + font-family: "RobotoMono Nerd Font", "Iosevka Term", monospace; + font-size: 11pt; + min-height: 0; +} +window#waybar { + background: @background; + color: @foreground; + border-bottom: 2px solid @orange; +} +#workspaces button { + padding: 0 10px; + background: @background; + color: @comment; + border-radius: 0; +} +#workspaces button:hover { + box-shadow: inherit; + text-shadow: inherit; + background: @background-active; + color: @foreground; +} +#workspaces button.focused, +#workspaces button.active { + background: @background-active; + color: @orange; + border-bottom: 2px solid @orange; +} +#workspaces button.urgent { + background: @background-active; + color: @red; + border-bottom: 2px solid @red; +} +#clock { + padding: 0 8px; + color: @foreground; +} +#custom-updates.no-updates { + color: @comment; +} +#custom-updates.updates-available { + color: @orange; +} +#custom-media { + color: @foreground; + padding: 0 4px; +} +#custom-storage { + color: @comment; + padding: 0 4px; +} +#tray { + padding: 0 4px; +} +#window { + color: @comment; + padding: 0 4px; +} diff --git a/themes/hacker/.config/wlogout/icons/hibernate.png b/themes/hacker/.config/wlogout/icons/hibernate.png new file mode 100644 index 0000000000000000000000000000000000000000..b60616c91e37cb3e1136b76052652d974f0aaf03 GIT binary patch literal 10973 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 G@_zs?!3ER+ literal 0 HcmV?d00001 diff --git a/themes/hacker/.config/wlogout/icons/logout.png b/themes/hacker/.config/wlogout/icons/logout.png new file mode 100644 index 0000000000000000000000000000000000000000..33bb77b519e4a5e18a0668190ddfa7e3e7bca235 GIT binary patch literal 4704 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 a&hDE}ZyiXxJ@QuY{g|6r8J8Y%z49Mv;um@V literal 0 HcmV?d00001 diff --git a/themes/hacker/.config/wlogout/icons/reboot.png b/themes/hacker/.config/wlogout/icons/reboot.png new file mode 100644 index 0000000000000000000000000000000000000000..d9e8a59b48b78e0d736a2770fa782996389355da GIT binary patch literal 9892 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 TXkX@~d;_4Opf2AiYaaGr&O8-d literal 0 HcmV?d00001 diff --git a/themes/hacker/.config/wlogout/icons/shutdown.png b/themes/hacker/.config/wlogout/icons/shutdown.png new file mode 100644 index 0000000000000000000000000000000000000000..52475a0284d75e9b80d4ef00090bad01cd9e7eda GIT binary patch literal 10014 zcmeI2^-~-{*Y9UpSZwj2!GgQH1qhyC%VLWy?t!2Qx>#_61qi|2HAqNE77GwOY_LFr zdvJoo%X8nlx9a`__m}%tb=B!U)1PyCzEj;jQ`50}I_g9ObOZnZ5NT?tzyJX2zKR9l zf$vRE8QZ|UVYbzPX#+q22LPZV0pRl9h1vuFUm*b4Mgo9L764Ft=5*-G0RR}#dj?nC zPt*RN@;?gvf2+W7m!IbSB)Ri}=@gRY3kXw_u8nPY-B*Ow%*}T4Y}(pTh0!NlSjFPrFxADED|sO{tTc z6UE2n;!s`;xyDg9G(cLpdf+`0<)y7<;GCCOLU=heZ{iq}6mVf;Hz4(~k z+FyoJ(ii)Oae=jUHt)zVPdBXvmt=FgDYtxov;HCG4_OX3AtZU@eDvJ2Djh!4+&b}4 zYFp#P_Po+-$MjXEaYjMe*NXNAo|k@>y3!w#1YwFAU@I@&ZEP@@f)OXnwEN!0?xSkrV`uGS zFJtRve{TR0ArWzYVPSqDNw|oxjJTMLuqdyPkc^N}qsOe){{^^v*f~4A`VSz+FC>0n z;KGtJA`&v<;{OeNw!=+~`olzSe%p0o6EuWxcv|Y>fnZFRa2C0_@UC4MMzBnz!V5!D>RPx?54O|Kg`(r_4SDOhZ;W&>^IGdRXE32HZ4t zJter2BOmC%-`{A$M-|^^(`dpHMJN8I^7PGI|5T+}{q2kXe9vV~%!P>@+x9Ai$n;gw z!(1;OUj&th)AiV-$y+gJM1+iFyjQmP8|z20?h~mpkKow}ZG zFE!U~KK?ko51LS`&~M={G%@cG@bT8%_ea#J^LaAHgn7ga3sd=xI*u?$SEb1dzOz%u z-CggB;})dzd{p^ug0J(l+(sPD>E}VGjx}b++d2GFu#V$Id>&r^2Qt2nNw#kZ(TC{e**7ExM0K z=DSDr>N0jZzws6`YgR(bY>V={uh`LY8H9d==x=zWtolfUOJMhvlGq&3Xwm2&mVV^N zOHql)030fAfedl9-ZrI42@QuU>S={BGNrpu7$_OG){Y?U;Q>Tc_-X?W7j3r1P1tC-Jy0na*9HwF5$Tc% zSVd|IAWITgjI{lK(hPynhzB4Y*0UP@)ILgX+M#M*7$?=|S{ymnXO9Ohv$?#wej@=H z_!uy=sue0DRa(iQhtTNW9Cr13NMd}DDK3o0xRytq@5D}9Ffr?yKg5!pe>vGW8GpxA zmo0o8`7pI0)QS*1FIPARw9V61QpIc=yBe`eKmWA4ZPZRmN3-~E*1A07XP%Y?0m1q_ znM=Xd{CWe&%?YGEC@-F7!XHc915&$JrIWQ7l#EkBB((87Q@=xXDq3+d&(s<_cGL`o zr{abhCA5f+jV*bdp7`sdp4}9SA{zp1C$Nt1BiVbz;aUH_UiF&^{{`+77TaEHWKJbHwaXu^G*>7}nq|Pprxqq9Q_92$~b1#*+xe@ePJg=I{Sm z78`uU-~)-djMn?W!CT2&l8!Ep%?X#2K=3f{ z@9nZuEL5l}-h8-4ys{dHb6e+y^eELGt)d;O+%BT5wpf5BOaDT|OOBsD^Bd69)4AoT z#BX);V7CLlcW0g8gro!4WWM=6<139Z>`D2g1WQOPN^yoBK)Zq6S#6B(lf!ujXW{3h zP;DDj;}44J_?I)BB;dO_mij*S@J3DOfn3>b!h+u;-@l|Ma|FpOtq~@ka(ePiwtO(U1Wy=z7SmB8#`w(%%;-hB>{MKd3(%ce78C_j8k8^B-Wz1 zNJvq)1Vj^<(h) z6r@>SC{8*@P$Y!jA%G(1+Z5r1?bs2jNB5B)@<7o6dYS3*sH-8SIx-nSZEMu578I>h zF2I8uR!)g`P^Q8003xND2%0g&*!#ZeJ**$cv!E##LcfiJl8UY09{kdp`eVsPNdP`E zumdto6fI2sA4IyxvUD32=65}SY}S4U`2I3%&vh&X9Lfs+JZ#VtVcP(W8m*(8KUGve z%)2e>zw1eMO9CyLF{{t=y)reDUon>mUE~<02M<^fR^^Gh=oz;Md{ZcMS=$*AR>U1I z9OtR@C-+UPw(V>FPW5}39xS!NBL@6RbT7qczmc&Y+T+L|O9ZJ^hyj6_9m9oTOi@yC zi2FLc}hjXsbHb-8b(? z>|0yC{AG(EGbjNGgA=hR=(zx`N>v_7bS`}Q?Thm6M52m1twD?1=R$EEzbQ3mtGznA zEo=s|RV-?!fEsS!E?z8oka@~r5fc#UzN`RqMfK)kCKEnRqQW z8OSSBTI2te&w!p(5?Y0)vZ6{qBx@%6A$y5jzT(&@6xIciiNB=>@fQB$@+Mk@R#js_ z4?j4uwc^i^7K>bc(qdPa7vsSVHTb|+uTTB;fY>DXEpLvnx`3<;SZWks%Ze~a%Oa%T zxymbeY=C&YKoTX|@?JTtHF+QMx%}wdAkXI$oCvzeCT7f~FHcF4DZN>>3uU$q+GHh!YEo7u zXVXc-N?UZbRGrfOXJE+Np|MMj`VH~a zxim^KpY?ig-z{cz`l~hUe8(!6Xc3#y@Z`xNB^@}Z+(Enxj!Z((qF)f}7!=ReVz2pg zRGAJLZLU5WfiC8J7uWkOK8vl3_4nuJ?fHaGQ2l#Q&V-A^YsUcd;Qki}!HWcyys`qH zvF2#e@4Pjlo-1{|H(1W8SUnrg96~#9I|7_*ft26fH4Yojqr8Eg3X?upSoGs6d95eS>nRBOj@LI;LG5pN;$}@Wx0`=a8>nc}(Pg^gX=~)|X3nolx!Jll zP|gws+D5=A)U1I_YArrpq0{9#!0GtdWVGMV!EE4kF_O~%>(m0E<8d&OE#JngJ&ivf zKH@*+)N3ok(}Tj8JbwG9@Q6+^*N@{Mi0laQ)s5|tEUvjsxNvMsr+Jgs{ zvTe+bBAc$NW*aAax9(HuJf4$f4Q%jkl5{!3OYs-Lc#J2CCI-;O`Ka^^`EstIJLa?# z2bxxHNK61jWo^-PHz%w2_00R%XJz+;n8M+D?pc~j{|jU=|7DQEbVL|+%zEUAzTgp| zhsyO*owyJ*NkdRN?=%gBt^aW#!wKG?()*dgC05uEUUDjYB{qApB_3%7B8*akctYH} zxalWBd5i~u*)@@+vr9Ut;7R$?1{MNjrW`1BFu(=IMy2^n7C*KNBP!fpLI6>HTwtl< zFe|Jxly?tymfv3>&VNciUDvP!~KE8wEx;gurZmkg}*x#Fr`MUfGT)Z1a7F#hq4wull2lZkTbm z6j&+H(q?;+@Y^KQzEK?F6Ng+m1+gJ%z6P&i{B8TNg5sNfty(Yof#6+#_O& z9Ud)Y*C9a?i6A?K8Kz*c8l$w-z;2y4oOIasQ|4C}`qkd^gOjK?$9 z;*XGaDC_5wCB1P`RR4yemhdzH8n3V(G!74APv#4^b%Kk{0Hgaf;NGE|^A6fHoD&oa z3FIMjCBE9#SV~fi4>LqnpV{xWX|J zN;*9_LCRLY$oz0&9A!ThyOt` z_`L+Fy;#|jjO3YU(60dfXkKirauzJ!_sDf}CYl1yBH~wAVPq6GR1~4$^DdzFA3)HU z|M>Z$gyQ^c@A5?#Fe-{t?k)3-4#p;>`rVxK@G%YGC6g7ZrVe3o6LmSfMxsVzw9E$? zs9sQoy?i*%3GpPARH<7_irdsLMEX&3eh~teU!FhMtFQtW)s<(AGC@p8xK#P}3A-Fn z1+ngxrN_}AX3pl9<%2988H92{MTb!!X7KyG#e@q|=JhK~_eCEN!$I^J*V_`*`#BpS z^_6CkT~T=5`D@CBX>q$1 zMoTD4mwBnGe5kzQ{9o-~C@=GGlw`s^>4HUcK{i0|$A-3#EMEv?G;TQt9z#rkO-#2x z2lhCvjckhx@w(x5AI6ny)%wC0x=4Vx3F8W2!vDT@v_mSbgS%mN;hQr;Aqdbs@Rw_G zB3_3_5I?rhv09x@8Sv(+XbY0_!)kGgGUxf4bpKVhi28?x`=a+rLaehkKjP8!Kz#%f zV`y)LMbItULU9N|L`MUTFF)*x6m{nLnXz;K*jc<1K28s6uhqm9F)Tr6eaD$xWw91b zWc7{mkZ)5y0BurEqFCqMET82(u|rc z^|cHo(Z6*fs15YXvklSL;NS8Gogqf*Pb*un#if4wMAjWqT31`B?*K7I5r`&ozoD9C z+3nq@pm{Psk9Faru5b}=o&t@(E~z6Ol`0Gu+3g-v2gN}R^_4iXalNdG#N~5wraV?@ zRu;HB>`XNjEl71*&d-T-BZ0YUk5IN@p&i8kJ_j|FV#41RMsKpjtS=a8g72d|{&f-_ z)ZkHx!`lbuNB2vbHtZSlJ(n^o`>Yy$7@#k`#iY;B5SV8A*pf&qPY;`o}sh@2Hng4 zEu&D!m>_N9kHiv+3Nx~pa6=Z?&sV$kKUd_;OrK}g4`$Xyya+Kj>ib%OQyorbwy?(7 z^9QagkD3nK(~b1WB$>)bG*k`v_^SAT|E9kuT^*QSrJC-d8^ryk%5UpC$=}elI zaI31W)wWZFV^=II1 z{UG*q7f>G&2qRpVgnXawz1cyc|9bKxcrRkFR_}Xr9vN?MQG;uNwB6fnzC&^H0L+vl$-&8k!b&S`CH_;nS#_B!lm zpYdnsn{ZjZd1VeF0ntmwBE;{K$px*FxXsDT04Q3tdJ4wB0<4|q@v;<1O9zG_B<=ty ziqQ)%h>%G53QHV2wB`P4Ebp>{Vy^(E=_1+#Sd&V*?<`!&0bad9V_iV>6HeC&Xn|p3 zd)bPpW5SqV^v4`wN5JM*n?J|uoU?!?P}VgrW$}HSC9EaNg;mO^H)_B~) zD4PR?^l9wg)$1i^{H~iA#DR{t`e%~WECYwi*H)x0i;U|;QnaHJ@5b-p^}lXZ{+Kr) z{RrF2mSb=l=_ercMRYJV>01jO{ye63dVTynaG0uj7@lkbLhdn;^>EY#;y?2?rlD<1 zGI&U;>5`deB31S|2BBguuZ~OG7Z@YsMx7Nwn8naPvw}H#H->xfcz_3`c{D0oK0uCz zR<-!HM~)Xn%hK?zrx?0Ks6nfew4s!QJ+lv(0@|{)Pt6~Z2jH{#Sh#?QII9SY2>J>7 z6qv~7Vz%_@CaGbO>&lJwk-h7G!kf}TFX-Vu0brz>s&&6c7^mJ-d{YuEEp)hzzYkXO zq8};;8vTf!G??a&iaeOJC5FSBz65*ksyB1PM&qRAA2Lg*6XcIYYrBKflMjv^-7CzP zFwa&dNS-njyX{FnZ?($e(nOhE!f>+iW5>Sf6FT$kBTw#BrNT0W@Mj2F!sQ|+?v$6X z=diNXM893K>G3*qcf35llt z1YLSxHO7lhz2K2Xz%6*mUUM#CkcB@Jp*OjSQ}xv??e$@STwVzkM$9E5@-g!}-1R6i zTeJ3hPIZYJ#g1mB)Yy_I0vxk%087B&eG+r%6Q&8V*5oX0Om;T*rg-v9V)79H(WIV0 zA>a{s^n~Q{QV5yMn!W<_0CmMbvd{QiQbS4R5MpE`*;|ipiclU;@tFD zgY|Wwero^IPFyYyPY4ggFTq|0{H!!&LgPO31yYBD>WH!BgTn#Wvjek77df%g)bMtG zTGiTGe7CvqAAya%rUgwOBBYN9TwZ7+C7wOUV4pEGBv2797`);0!?E@v0hOjVF=YJM z!W_BiVnUHN)6wjwl6>XzesLN!%iu2_^f?UGH9Y+m?DkaMof6$?t+1Ceq z+sxw)=w`ER8PVV1L!NVKDz3xCgA?ZFA*}{}R-R@Tu-@V?qa})Y!ePPo z7{v1%;B1!n8e3^u2^(Rd6s84(e>~-+; zbBZ70v&%-ejj|h-|iE|Yy zZfRY$(@;73cE@UkBCk7+uKI|4uVS)cFr+yf5ghOj^an(J^x=owG&0Tpj!~!fvA9PO zqTxYtJDGX_LjxEdV*O4LcSd#GW)GetR26K^?V+EEN{>`SN|(nI;d$$lAC=la>Kdzv zSJZfLl-@^%d5l;QAfTc+#`UG$MEP2ATYtK=`U!%An~OC`O6tIr?&Gi~aYnmb{Dn3F zJEO>dDGZ?cJLPjtbd{nnvE296n9m{z;7%9o4-TGc^s9s3_dW%6ug~ZcUJspjs#pHO z8O!laX!q~Qd>$3w{Uo2XQ9W*-0esrzz_&2qk8 z>$ls3<26=H%M(2zi$WF0D=Dcj@Y<{56wx6C<@t z(Jk!Lv#GU!ZFYjjfb#E512U&32+s@~+=fJ#UzS|f6Sh@`7pQ>P(i(W%nBnkz;piFu5zMy(STR*xd zrF6MYPqnoKE4r|%*!~MHqG6*l(=?3EMN%%#IaR51w4p|;&+4i+TyERf$R=~{rhq(k z>rA1V)t;@j(2vW(>D)AC?-6Yr$$qh=v&N55*zKlquLHl}#LeFnaQMShIT4z-6TPfB zHdhAqEn2AxCr&qfe>ucO_3iNJ%{PA@Md<1YN?_w35PLn+oUfSfeRq-&kXLK5vR*Zm zzK@?-7^uCymeJ(0N=`z33!HjYTNh*#Mm)-b74$i5Ho-A@6ux@2UYKqt2klzn7h}2n8TRbvC#$8S`-4I5myw}dHut&d082%#Zb7KqG}z*cq>{X#XtB!eKYil0l6S(R#A)(XO% z?4_zVu|_=+7dYPVT3&yrFW=1+tjGPq4I;I~6I;C|*Zm|5(EJ=BM}3m|->2|I|Jnkw z8ktNu-?uW~H`Vx`;9?TRujE@K<+_h0eKn=uiAI?;bTf^#T?hA#rE+r4{bQ1TrfCe< zaiH_#nR_wkUouq_v-$iNG3LRmz?>t^uH1Uta{GAi*s#uHs+VV8QgUWHY#S}yPPsel zcTP$UYVSX<%ACgvEStL`Zx}fHuP1TBumanh-IpthwIIP!A z)z*JK%Oa`EwfefkmrGzZoc1mFmO2G1Kc4nouRb*_Yw1_T{hQYtSf+kBTk09s7nb&< zju;qrNHNv8=a0QYfkM9Xi}nNgwS0^g1DeSmDj;E zo+Ex~zlvYmZPQ{pvb!HtJyMJ_70ySPiaMnzT5ua;&sEUK?u)i2l?bG1T?S4*8ANu- zsavqN%>Rx-Sa(We!a9_zG@W&78}EOixtwugkNw){B7J75Yw^&7rYRrcEPvRaz$a-} zI#(X1b?%^*$9oxwflbn9SZP>Lc$fw&v@8dt)bDCFx7t)$K&avXY|l)g%z*#n(c6|M|N zsxUO$MK9HZyhlFWrY(;2YBS8x2=50=OCOqU|9GjyNfGdcB1JsCjHE64gcg6_W{1~n zZn#(=MXR;9>vH-snD!c^K0Fh7|iU*m03n=~}`{;_{J=Ta~pSeqG#T$Z(r= z0#8An%0^!AYBlRp-q#Itingqd56`nGsSBxt<(O|4qYp8swRu_BJt;mz?@>57gG$>x z(JYNu8du}{pf_@tM81{P%SF+nB}N=xH1bWdzMVspLgG#J=VU^gwVl}~`ALkP(F1OX zcrkZT#Iv%xko@cL0oT1kGShdJK4}Y++kGvqB-bZ=zYbH*5(grPtQ4H?PEV~Tdl3tt zug1QX_IKH1cw6B%symp(?_(s-baZNG-v*RsB&#G|9JhgjF&Krb`Z3X6fqF8Zkd40M zGjKii@Ph1dRET(mvHcP&&)Gp}pxZ8oZ$I)VeSalHW+HDx@?Ayam__T}!u1ovX4{2~ z;GtCRL4F0R$zz32&HI90+4hzlE8ogSj-P)Y`;(g^SNuC&#&_GN%Gkr%>*)I0{ne}f rucyxSUn2U;^fsLT_xTI1wL8$t;ff0Fx#!4W`HRY#>x85#axbyuQk1aC$GukCu{8;>c)ggw;l+WcGuSy=Ho>?bSHX7cj)i}+=|)= zW{A{@TiZ{Yu#!efH~58QC4as1^EXfP)ON};v(rictOAMjsZW%ta?kBdu~F4h3d^_s z6cOzmNxJZW(W2y^ob z^YQ%;VbB6M3{GJBzZzVv?JZnfP3@ijaroId;WQpCP99+{Az>cQ|KTL*2f+Osor}D* zgqHil@lP-B57UW#KqP7+_KsVqmKt@IXgnAfOrh|G4i$|#$%}(a*jW;`i8(|YJC%wr`+opr--vvQ&TkX|$EQFgj& zb=oqsaG2qBy<%H2T@Xcu>i;j@rqmy+2v+%oBnZ1H9C|x@CaW<`@oh30N@c4hUnYnY zemQX02)Sm=82`lv%kz(N6`{YFnp6?b^@?EyF_g;Q@Jy&YXz!#hH{=se?av>UMO$S~ zl4f2@UkdFWMO$4R43tNJshb_!T*eN?+ZTrWc(PtR7_Sb~M#@u7dfO$08a)Dz)9-bI zw+iv!U~bQ-%PCz~uJ6VW?N2TFb@i+Nlrg3{Mfl2f**V#(`&d(`?)t}?aHzDMJd*tD zz^&QOgqN#QD!Ze5k`-Hg987|$y2>0uWB?c?FhI=^r6;u4d2elChV7aSef zbViGz@Tj!Ptbj0a*ds@`GK>Su4$$u?Dl_$Fjr!iz2-Z|&cG+|IalK<)R$hHXby3`b z=#L0oHkl&dxR$6b328=Sl<~Ce$eg5V723+P!Jb4%A14nR82^yGYHf~P3|^rZ;fe8j zKBD^06T29nk;iJqels=SlY@Z9ldqw_k^Lc4NHZrHqCcg%^ybT5Fy+s<4_8atR~SJ$ zyiTggc+$PBJN0FZx_c2EZQV--9rlK^JcU2J;?wE<&|pD^%06|oZr=C?S%k1e!=W-} zqAQVEwi+dx#EKqY3)W_dUx`m;4T; z%^~3!C;Mw_O+Pqc>&qPz>`R&*?~7s=ui3NsNs7c@2)3S}i_gQ~6EW7S9-%oa#Kc3A z*?%{svMq>-TOv}-Mrx8!?z7G`qWqp){M;YPeYU%Vts@PI{PcN< zBB>y$c*eP5t%S(_zyuKnolht%s5T`q=vy=o|5z%y#30w#^!N%HL&VA@AKLn(lqb8g zd{b8CuAFX+3eNjf_}N$3_THrFTdt=XXc9pw+S z*|IPF-}7BcZIFd70uJWIezc8JSIurCGmo_2KS%3A6gioe3nAH6OB1jvK7{^?L1V z{^-WYzFMyIrI?zVmdP)`*q!N<2$nhKnZi3sd9p<2d!7>;DIquNKZ6V<+7U`$53^3t^2cB>Zd)w zTSA|cD(55IJD!ikt{Qqr_sC$8_;Zc%#r`JobM)C%SFOL#0sp)oRNtFKMD}fIQ+|T% zjn8oEO#<7Xu6C^Yjd^fj^|#kdx>-4(su;P-p=lL!`$C=N9!AM zDem{oD1M0RIhQN5AIdLo6&&WdMzx|s=90SDnkbktnMpohdpi8VNn$3riO}-6oeJsw zRaUlWj z!z1aEKTnFnane#GWXZp9V+2V-p=G;R8MC?QL-Sj%t{!|80_JU>fpbj&Zx|V$*Hfha z$)_^)CUSvJ+ERVSy|fCmDqupxwu(}V!bv)tBYalG)L?ka(yN*5yj^l;+(1g)JMBna zGIMdsR+yTyBMc5(&W~5-qO-tTFeq>qa~=N@yx6295mgJ`?p2gYRal6mY(BDc%8>lI zigfC%cuWw?f~YFCSyB|XkDj{9eX^aj@NQV=_JwRcr_3LOfBx)%G5iOsvxLj_mDpCs zc-T#Ur>vWNOS)hu-X2BePyM~k$8^^Fq@hL&H_E~Zjz3MGUR@Dxxs=loI$B*+rFh4# zoT0;pmEXi;K?xe2X(KWvwp2Ta+572S@q_@M1F;;ug}X9bit5Q85n#h21Hg7iB-YCS zNeinIK4VK2mXGo(FL;S#FK<2xXdKT6T@ie6<5OSi?^?Up3 zV~_dlhDC^He(1O(r2WFDJP3Rq_CG}p39XBuT*E#W;3baGcG90#9A@m*@l|XKWeJzZ zb-1{y^Lr>RG$bva^tE@rv5AL1(A@{fy(`y(V2uDJLDt0J!iHbnF%ON&ZbLMxrGY6b^euyJao32(Gj78_ z;GNOE=Y^5C4Dsa&9ILv9T~WVh-qdnn@l5^t)+zu;xne;mj~pQMQrC?WUT$S0Utx4D z6|VF$YA;c70q9wP9Tss)F$0r#GlpJK&_5FNti%X%j57>=9bh6fG(KmRdJ7AQ*cD_O z)m50dc#r#H3-ZdKN_iwMj8L*?MCIwh3u9XzV;zi&iyj?x4n0GuWIvl1Kib%cYnX-! zezdWmS|@Q2T#sC+NPq8+l)kz3^+py^!VSL9s;XhGMhi0bA_Y!{Jyip02!@KnLow;mi!aS8k*gGxZEYNf&k#+Seu}f=r!H6z3oy~R*Pg|X8^4WpeEPXr zvU#mTaT`5F3Y&d1!}ezG>-qre>P~%v-#)5pCw8;Blu=*^#df1`--@Y;pF4>P?CVyS zlikNO3iiCinaRK)jN!gaN8qNS5|MF zJZ}Nmx5rV@+l4cl2mb(eiN46o&H9)Z570B&16FfzcQTYUmD#_SanG)-uCxU8H)6WT z_eDX8EK-A?yR+9Ax-pg@N2aZMWzJjTdqy=IRY(@bU~psRt#qm!QK!|mgb#UT>fwTVX3W@F_7qON664Qb&7T%Y{eECWpn0he92Xl;0ZM0%Qq-;y>%&~=&$O6bjPG>=>l-!fan=MSd~&Q=!6 z87MwK7AVpkj_)w8o?l4}flis!iJrq#6>`!476jX@gaitQQlJ~7f6+N{4Qe9l z25M*q=VLZwA7P51XkhSaN|Ln)!l;YI`h-c*4Tav$xL{003PRDEv!l|)ba6dcpSmN2 zukcVfb4hSZ5e{Cl=p2KU!?!{~DO{MihcR+G=Gk)4>5oGQ;h+?pV5M4uFf2ckiAwcS z&kaC<3BF;hqW5^4e0SBscQhOn&U_A6DgYUpw&Y)=q-xA@II=4t{mWR712$QRAOOMjgS*y&Sb^lha*jS9 z1c10FZ1u@yQ0zJI@{iPwI8+cIeJvqfD_(fCiIEr4_E|@n46xxTU3;MQ4kJ(!sQr0X zi41`7u@hgpcA?AW_yw>5Ae!?7mvA)5?E8H(DTp91Jivs~f8im?n zF*y1y3THjp1y5kZDeI|FyPoCv`qPj-?VhX@K|p_bs8gzZn$$!44c8t$Cg7Y+x?xL? zJOk;Y>^0{s}Q=;7SSqLs{gdJhwTnm)|1xgH(n`QiK`J5VR ziBs2o=`A$G5duowzbgFg4?qNN2xld$5D zs*xao^a#M;dqx{U;(6qI(in{mfM6kT17B5f+(|4arFGZ|5(-)aivSPtc%`|O6IXh3 zzY79JUGsi`Cox8w$cE3PyF;DYeuAmLp%-fxcw1(Z{)X~3I6sLrtc`8H2{{9sJsd=75xAQEu9_B3rZ3ZR_8xtIG#< z)|wQ>4~n8udVp>KcnfH=JJe^fV6junaSXeCG4@qz(| zZvHn?pcP+iQzy$rRU=SJFeVJswy?S zSOKEx4f#s52=H6elp}*8$Mat6L)c<<%}9rf!vz6RAwZl>+Q&&KfzIEz@K?%3z~*X= z{7f;Plkp$j1%Oi#Y0HK1xxQofTih zY@*Gl{z*GeUX-Tn#>J}D{K!?I!2~0|r6wXJ2w!6G`t~2YAOG)MTE;GLY<1wDy11Xv z$f_HuI0agaeE(J%GH5>-+&kBP#xg=_+*b@2z^D2!H^3FM>hSDNUI;gdmSxJ&Eo68T z99&7G@}(PC1b{smM|hB-(q@blM+*WHoqt3M{1AT@{7+arZHP$!`LJ!6@^tXOS_~Ir z$4HMy%AJ_8Z7q0z(K&Np@Gov-Mkse9QSnfyK;40C@YdW-D@)*mzfI;sZ2mI!Ez2Z8 zlN>h{4ZHb~b|o1yeOD}q2Ve!u*{mJkV&IgGA#;~mZvyg`PZCT3hB4~{8f8<%fy_7wo zF?6r|LjK1>vW9j|XL!(Edin1mWY8aU=*8rI{QoHx263xIc~BG+)nxuBdIO(JiO>=r zKO>DE&wgN0vDqRkwG--W)G33e{f}aAy*I)+oZlR+Tl} zyk@ji>w5(DzR0!v9dH)`J>FTE${8`rQVu*8RU?CTenX{NpGhi*K6Lj=vL|)}nT`O6 zc0P-3BI6~XWCgerV@E+8cAQ3Uq`Zg5i}F)pf`N_u9-gJzy9nhcyZ^jeXDJj)S#L9q z^_fpFO`aYCK$vf@_x0z_5(i&?9LP%$1OT@_37lwvdFJ1PYseUWb^}qVygVOpe-9ah z7M>F18R3*d(0R*`tYr|mnG}Dk3Is>M3p$$>XbaRjgQO|f2t7cj0uWj!?sIa5#G9cl zbpFSo@g59!n1Q`v5)TgwU^Iz)G z3a4`k?49Z4dZ=ZMZY?efR4*npS#W(;A#b0S^jPRBU|Bxf2}8W%w-Wqtay%)BS0ofh`1mk+C_%bwXdPhLHGE0DDBW02uJ=N zU;)jfft(5x`UfrU*iXZ?5_^A5{i$Oe9<;0DFJUU8WH(>MbvN*71eBKRR7M@ zPtg$9bHe44Fc6hNjNG+mg35}7@P77#IG7ATMOq!N_ZNmA>&y6g1|GHmK6a&9dZ3NT zc>Xbz{1+~{NLQv7klwY)G`*cj=hG%@PtTSUZGdE0i_7JpcHJ7c42FSHct~)|GOfiY zvqr!p17_X8VGp!8Te*A>Sph2Y_YRVus$W9@n)i|-f&zedEeO^P2BmKB5RYmg1r$l!Nb|X ztk>SRMvMd>Eq_<2O27l&->=ZFM1MOs6C5}Ov`U%6ktI~Lpb&@w;Fy`1(MD5^jEa6d zioHuW<|b4tW;~T!2@c4aasE)^Q;UhybhT!}j18BVd-Wg?$X-YrCWEo*V#o{+*b&gz zISG~|_Ag*+nLIXp#c(nIWjQ0PF2S@ZYYwF`!#tH~92B{Z}F?f=^Homb^C1VSP{E{@l~YZs~RQu5pUuq5(VLn5UZKV@p&*;{(_%ng5l>K zQYTz{B6a3NJk2o!Q|&LpuAWacZ$xxze`z zI|qK`>To-XT2bS5w^iwCa%|{o<5=7c52@BzG1y!aq=8DS(~Y4>5=I-DW=79W%e?u!K+f+f2~0JnW(pM zsTY+-^;?2@{^%@&QzY<5bWo7vT=-9fI1q57k&eCXb5qWEks1?3R(isZ9`22*qBwyI;nabGUN=TAGDw&m ze02I)X1r320wYZ=K}Y${Gfvn}eQ5qgrmrb@k-1~t+EqoY#cSi8_wPsz1vUr&ZDQ+cfwm%$5TOqu#To4lmYGJs1DOd0V05|bxnS;_ zOxP0(Q_2~s1um;m957sVOCYBE<wEwH*G7Hx3vtLZa4x0K{ygRn*AUEk zvF~&kM9cSjQ@uy7UD^aKFRdYd5iG_?x`M!cQsuJrbXMuN!yngnr|M4Av`A7cgldRR z@};Z6e#^=TJO+pieVx``1;!7H#{JQ2PyfPgk0|5jXj>5FR})n?wBJBeQAYhvOf_PE z#`cBU%< zvOqe77Kzp68xs5Xd6H!^F9O5s|jt1W(2cskKOtXsn zeSgv|y$Qpjc5%cR=x&Nx?ej;nh^`t-GN6~pX~i07SN)9Do{D6wAv{>`=@8)=;W=R$ zQDxHVi&MeCrXH1pzr=rqn}D1UY5RMOddv7T_b;D>#gdh5C-jke(Z(jm6_o_;LrsTf z&mj8RHl18?&5r2hQfuev?-ShE#_=;R!Rn()`Cs32DNjt0IV^g9E0llm3$EHW6VvmP z!kcDFe55XL1t;)O?y{&@ucs&Wh4$}PqP@uK8xZ$W>P1{DcO{^Z)7n$P!j^}nCnRj~ zHd#FAGgO3$?97Jkm$cnD?B)MxD~t9T{j%kOyfq;b|2}~$Kd0Ca7+1>?gMhMMR~eN^rWWPYo?^q?)GAV;AftXcU+WzX==i z6Tr7?$zW~bq8?_eZBCJEeDT7#(K^J)R7!rHUS85@4*N;?hwZj1f?#TSoI9B7GNqfX z&Z{BF`RSA>x7S&beCS)|1Rv8$J6oN8KXuO>e~l?4Z0hfDZcr$nCjA{^n*Y&yyeOCJ z@(`PwBEJ<=(O&~&hpM~A2=EoRfAB0RDclk#D`9Y2~0uh|Tq9Tn2 zuJQS8##QBakM?FetPYKMJSeJ`WL-=;o;4JsbdJvgT?k{VNDZDseWzwR6Q2hh9IIMRBb4{kv*=dt!zzm^qMgK91;J(s%K zL~p30CBjqBZ!3U5= zjgIC)^{uiB4+MQRU!4_I&FwO(OJodbFYF1eQVhVD4^P3cCP;*;g&E@)`=|h+XAz1b zwP#*_4BCSpq6LJWo)h(Z+Y!%Q(S#;lPMQ78h8~?wSsN74h;)fhE!|P7<#wN%P6t~X z^Q-Amk!bbwodl^)kH*^XF>LNDb$u^8wVF%kVkh_NlvC-&_F6`FlokPnwpA6?=d-&g zghlpr439SQ_do~yGIfu7zNe@}NzH`Pkv zr{@Nd$%v#Y-Z=6SQD+Q-p~0ej)iwrgjxFs@3VxO)GCO(SAXt4c`o$EDubGEE3yi=` zouKXn*qeZq(J03+v`c(=FO%cj#KpC6epvaIf&s<|qd;v|{8b|{Pc6n$TjLt{T82wz zr|#>W4g`LkH~73e%Szf^9=3c$SCFLA`=yaRI-;>OFXY`v-<`kHel!g1I^q~HwC8I+ zzaB}5gzxDODSc&A|9*qDx~sF(6~0mGZB^B77?z%Y^b8{~~`fb#0zMm6Q z=GF2hD1fASp+J{z#HET-aGnxdbG`8T+u_#+Dis<7qPpXe8Q1IGi)xZWCc{vb!L<_f z84HO9PMf|Tr=-2^k7q;a-{>y`LyLW~nq)Np93>q&WLlmcp==dAhBF@5ebk&^szo1x z+T zjeT4S|1hc`R$oaMqdkeYt(VO33<>^*WYZ`O;4b-h@2k2{(5~2 zZ2CF0;K&8bp+ZP>SO9P!XmPNp2EX223gsC7N>S1Pna+Xie1gp>PVc(FG2!83$#L^kC*yqaa2nMX?)Er@w1(-`gB;bgklN*&P4t zxbgKVMN^_~i{!e{41W?tfBAz_3!hph!r@~YifpRhG|9};Nmlj(627saoDZi#R<>|E zKCY6k=EysdXuJXaL3;}wmpMr{E{@ofbyvzCbAOp{=!68HLK?~s(N-Skl2;M(D;~D$ zVaVDtLvp7;64z-Qp67gOH$&u01sAVTY(#JPuuB@F z7Hyt$o==k|Umt9)1)9PyZK&5f_e@Sw-!qkz#E$ufFnQ(wcD}D>Ee1@u*l<&g=sw(rq*U7l`rKQfS<&*8*>Y-KVd(XGh znFn8eGUxirmD081jfREp^d%cp*;S1Wy?R^!{Qb(R!nv8h9pRHcF{Y_?eZObUcp*@0 zX1Ss%!r)@d*3Dygd$$|u>U$FLAbV=vS6&($_$|QM`GQQJ7PCKQ=FMOf`_07@#JJ_A ztXzm9{9IN1{H>;#f<#=oh;!2F__D@djV`8B->&m?^47O2c+$a`UOc;wnSO2;=7F#J zZ7G}YYQ|oYYCffK9L}L6Wot6BweBoetb`RTe{6Y~R%7B7*kp2%${r7RD1AvG@YyZB qsn8R(E(vr(|L<=f)YhFBpmdS|2lh)e6a1GYfc$$E>0gp2{{IIPyj|!3 literal 0 HcmV?d00001 diff --git a/themes/hacker/.config/wlogout/layout b/themes/hacker/.config/wlogout/layout new file mode 100644 index 0000000..9ff42bc --- /dev/null +++ b/themes/hacker/.config/wlogout/layout @@ -0,0 +1,30 @@ +{ + "label" : "hibernate", + "action" : "systemctl hibernate", + "text" : "Hibernate", + "keybind" : "h" +} +{ + "label" : "logout", + "action" : "swaymsg exit", + "text" : "Logout", + "keybind" : "e" +} +{ + "label" : "shutdown", + "action" : "systemctl poweroff", + "text" : "Shutdown", + "keybind" : "s" +} +{ + "label" : "suspend", + "action" : "systemctl suspend", + "text" : "Suspend", + "keybind" : "u" +} +{ + "label" : "reboot", + "action" : "systemctl reboot", + "text" : "Reboot", + "keybind" : "r" +} diff --git a/themes/hacker/.config/wlogout/style.css b/themes/hacker/.config/wlogout/style.css new file mode 100644 index 0000000..941f1d7 --- /dev/null +++ b/themes/hacker/.config/wlogout/style.css @@ -0,0 +1,47 @@ +* { + background-image: none; + box-shadow: none; +} + +window { + background-color: rgba(20, 21, 20, 0.92); +} + +button { + border-radius: 0px; + margin: 4px; + border-style: solid; + border-width: 2px; + border-color: #ef934d; + background-color: #1e1f1e; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; + color: #ef934d; +} + +button:focus, button:active, button:hover { + border-color: #ef934d; + background-color: #2a2b2a; + outline-style: none; +} + +#logout { + background-image: image(url("icons/logout.png")); +} + +#suspend { + background-image: image(url("icons/suspend.png")); +} + +#hibernate { + background-image: image(url("icons/hibernate.png")); +} + +#shutdown { + background-image: image(url("icons/shutdown.png")); +} + +#reboot { + background-image: image(url("icons/reboot.png")); +} diff --git a/themes/hacker/.config/wob/wob_horizontal.ini b/themes/hacker/.config/wob/wob_horizontal.ini new file mode 100644 index 0000000..2d1254f --- /dev/null +++ b/themes/hacker/.config/wob/wob_horizontal.ini @@ -0,0 +1,14 @@ +margin = 50 +anchor = bottom center + +background_color = 141514ff +bar_color = ef934dff +border_color = ef934dff + +overflow_background_color = 141514ff +overflow_bar_color = f16e65ff +overflow_border_color = f16e65ff + +[style.muted] +bar_color = 2a2b2aff +overflow_bar_color = 2a2b2aff diff --git a/themes/hacker/.config/xsettingsd/xsettingsd.conf b/themes/hacker/.config/xsettingsd/xsettingsd.conf new file mode 100644 index 0000000..b6b1901 --- /dev/null +++ b/themes/hacker/.config/xsettingsd/xsettingsd.conf @@ -0,0 +1,9 @@ +Net/ThemeName "Adwaita-dark" +Net/IconThemeName "Papirus-Dark" +Gtk/CursorThemeName "Bibata-Original-Ice" +Net/EnableEventSounds 1 +EnableInputFeedbackSounds 0 +Xft/Antialias 1 +Xft/Hinting 1 +Xft/HintStyle "hintslight" +Xft/RGBA "rgb" diff --git a/themes/hacker/.config/yazi/flavors/hacker.yazi/flavor.toml b/themes/hacker/.config/yazi/flavors/hacker.yazi/flavor.toml new file mode 100644 index 0000000..46752d9 --- /dev/null +++ b/themes/hacker/.config/yazi/flavors/hacker.yazi/flavor.toml @@ -0,0 +1,81 @@ +[manager] +cwd = { fg = "#ef934d" } + +hovered = { fg = "#f4decd", bg = "#2a2b2a", bold = true } +preview_hovered = { fg = "#f4decd", bg = "#1e1f1e" } + +find_keyword = { fg = "#ef934d", bold = true } +find_position = { fg = "#f4decd", bg = "#2a2b2a" } + +marker_selected = { fg = "#ef934d", bg = "#ef934d" } +marker_copied = { fg = "#7ec97e", bg = "#7ec97e" } +marker_cut = { fg = "#f16e65", bg = "#f16e65" } + +tab_active = { fg = "#141514", bg = "#ef934d", bold = true } +tab_inactive = { fg = "#6a6a6a", bg = "#1e1f1e" } +tab_width = 1 + +count_copied = { fg = "#141514", bg = "#7ec97e" } +count_cut = { fg = "#141514", bg = "#f16e65" } + +border_symbol = "│" +border_style = { fg = "#2a2b2a" } + +[status] +separator_open = "" +separator_close = "" +separator_style = { fg = "#1e1f1e", bg = "#1e1f1e" } + +mode_normal = { fg = "#141514", bg = "#ef934d", bold = true } +mode_select = { fg = "#141514", bg = "#7ec97e", bold = true } +mode_unset = { fg = "#141514", bg = "#f16e65", bold = true } + +progress_label = { fg = "#f4decd", bold = true } +progress_normal = { fg = "#ef934d", bg = "#1e1f1e" } +progress_error = { fg = "#f16e65", bg = "#1e1f1e" } + +permissions_t = { fg = "#ef934d" } +permissions_r = { fg = "#e8c97e" } +permissions_w = { fg = "#f16e65" } +permissions_x = { fg = "#7ec97e" } +permissions_s = { fg = "#6a6a6a" } + +[input] +border = { fg = "#ef934d" } +title = { fg = "#ef934d" } +value = { fg = "#f4decd" } +selected = { fg = "#141514", bg = "#ef934d" } + +[completion] +border = { fg = "#2a2b2a" } +active = { fg = "#f4decd", bg = "#2a2b2a" } +inactive = { fg = "#6a6a6a" } + +[tasks] +border = { fg = "#ef934d" } +title = { fg = "#ef934d" } +hovered = { fg = "#f4decd", bg = "#2a2b2a" } + +[which] +mask = { bg = "#141514" } +cand = { fg = "#ef934d" } +rest = { fg = "#6a6a6a" } +desc = { fg = "#f4decd" } +separator = " " +separator_style = { fg = "#2a2b2a" } + +[notify] +title_info = { fg = "#ef934d", bold = true } +title_warn = { fg = "#e8c97e", bold = true } +title_error = { fg = "#f16e65", bold = true } + +icon_info = "" +icon_warn = "" +icon_error = "" + +[help] +on = { fg = "#ef934d" } +run = { fg = "#f4decd" } +desc = { fg = "#6a6a6a" } +hovered = { fg = "#141514", bg = "#ef934d" } +footer = { fg = "#141514", bg = "#2a2b2a" } diff --git a/themes/hacker/.config/yazi/theme.toml b/themes/hacker/.config/yazi/theme.toml new file mode 100644 index 0000000..3c6e861 --- /dev/null +++ b/themes/hacker/.config/yazi/theme.toml @@ -0,0 +1,20 @@ +[filetype] +rules = [ + # Directories (trailing slash in name matches dirs) + { name = "*/", fg = "#ef934d" }, + # Executables + { is = "exec", fg = "#7ec97e" }, + # Symlinks + { is = "link", fg = "#71b4d6" }, + { is = "orphan", fg = "#f16e65" }, + # Archives + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio}", fg = "#e8c97e" }, + # Images + { mime = "image/*", fg = "#f4decd" }, + # Audio/Video + { mime = "{audio,video}/*", fg = "#bd93f9" }, + # Documents/Text + { mime = "text/*", fg = "#f4decd" }, + # Fallback + { name = "*", fg = "#c8c8c8" }, +] diff --git a/themes/hacker/.config/yazi/yazi.toml b/themes/hacker/.config/yazi/yazi.toml new file mode 100644 index 0000000..87fdff7 --- /dev/null +++ b/themes/hacker/.config/yazi/yazi.toml @@ -0,0 +1,258 @@ +# A TOML linter such as https://taplo.tamasfe.dev/ can use this schema to validate your config. +# If you encounter any issues, please make an issue at https://github.com/yazi-rs/schemas. +"$schema" = "https://yazi-rs.github.io/schemas/yazi.json" + +[mgr] +ratio = [ 1, 4, 3 ] +sort_by = "alphabetical" +sort_sensitive = false +sort_reverse = false +sort_dir_first = true +sort_translit = false +linemode = "none" +show_hidden = true +show_symlink = true +scrolloff = 5 +mouse_events = [ "click", "scroll" ] +title_format = "Yazi: {cwd}" + +[preview] +wrap = "no" +tab_size = 2 +max_width = 600 +max_height = 900 +cache_dir = "" +image_delay = 30 +image_filter = "triangle" +image_quality = 75 +ueberzug_scale = 1 +ueberzug_offset = [ 0, 0, 0, 0 ] + +[opener] +edit = [ + { run = "/usr/local/bin/zed_sudo_wrapper %s", desc = "Zed (sudo fallback)", for = "unix", block = true }, + { run = "code %s", desc = "code", for = "windows", orphan = true }, + { run = "code -w %s", desc = "code (block)", for = "windows", block = true }, +] +play = [ + { run = "xdg-open %s1", desc = "Play", for = "linux" }, + { run = "open %s", desc = "Play", for = "macos" }, + { run = 'start "" %s1', orphan = true, desc = "Play", for = "windows" }, + { run = "termux-open %s1", desc = "Play", for = "android" }, + { run = "mediainfo %s1; echo 'Press enter to exit'; read _", block = true, desc = "Show media info", for = "unix" }, + { run = "mediainfo %s1 & pause", block = true, desc = "Show media info", for = "windows" }, +] +open = [ + { run = "xdg-open %s1", desc = "Open", for = "linux" }, + { run = "open %s", desc = "Open", for = "macos" }, + { run = 'start "" %s1', desc = "Open", for = "windows", orphan = true }, + { run = "termux-open %s1", desc = "Open", for = "android" }, +] +reveal = [ + { run = "xdg-open %d1", desc = "Reveal", for = "linux" }, + { run = "open -R %s1", desc = "Reveal", for = "macos" }, + { run = "explorer /select,%s1", desc = "Reveal", for = "windows", orphan = true }, + { run = "termux-open %d1", desc = "Reveal", for = "android" }, + { run = "clear; exiftool %s1; echo 'Press enter to exit'; read _", desc = "Show EXIF", for = "unix", block = true }, +] +extract = [ + { run = "ya pub extract --list %s", desc = "Extract here" }, +] +download = [ + { run = "ya emit download --open %S", desc = "Download and open" }, + { run = "ya emit download %S", desc = "Download" }, +] +pdf = [ + { run = "zathura %s", desc = "Zathura", block = true }, +] +zedproj = [ + { run = "zeditor -n %s", desc = "Zed (project)", for = "unix", orphan = true, block = false }, +] + +[open] +rules = [ + # Folder + { url = "*/", use = [ "zedproj", "open", "reveal" ] }, + # TOML (force editor regardless of mime detector differences) + { url = "*.toml", use = [ "edit", "reveal" ] }, + { mime = "application/{toml,x-toml}", use = [ "edit", "reveal" ] }, + # Common config formats (force editor) + { url = "*.{yaml,yml,conf,ini}", use = [ "edit", "reveal" ] }, + # Text + { mime = "text/*", use = [ "edit", "reveal" ] }, + # Image + { mime = "image/*", use = [ "open", "reveal" ] }, + # Media + { mime = "{audio,video}/*", use = [ "play", "reveal" ] }, + # Archive + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", use = [ "extract", "reveal" ] }, + # JSON + { mime = "application/{json,ndjson}", use = [ "edit", "reveal" ] }, + { mime = "*/javascript", use = [ "edit", "reveal" ] }, + # Empty file + { mime = "inode/empty", use = [ "edit", "reveal" ] }, + # Virtual file system + { mime = "vfs/{absent,stale}", use = "download" }, + # PDF + { mime = "application/pdf", use = [ "pdf" ], desc = "Open PDF" }, + # Fallback + { url = "*", use = [ "open", "reveal" ] }, +] + +[tasks] +micro_workers = 10 +macro_workers = 10 +bizarre_retry = 3 +image_alloc = 536870912 # 512MB +image_bound = [ 10000, 10000 ] +suppress_preload = false + +[plugin] +fetchers = [ + # Mimetype + { id = "mime", url = "*/", run = "mime.dir", prio = "high" }, + { id = "mime", url = "local://*", run = "mime.local", prio = "high" }, + { id = "mime", url = "remote://*", run = "mime.remote", prio = "high" }, +] +spotters = [ + { url = "*/", run = "folder" }, + # Code + { mime = "text/*", run = "code" }, + { mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" }, + # Image + { mime = "image/{avif,hei?,jxl}", run = "magick" }, + { mime = "image/svg+xml", run = "svg" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # Virtual file system + { mime = "vfs/*", run = "vfs" }, + # Error + { mime = "null/*", run = "null" }, + # Fallback + { url = "*", run = "file" }, +] +preloaders = [ + # Image + { mime = "image/{avif,hei?,jxl}", run = "magick" }, + { mime = "image/svg+xml", run = "svg" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, + # Font + { mime = "font/*", run = "font" }, + { mime = "application/ms-opentype", run = "font" }, +] +previewers = [ + { url = "*/", run = "folder" }, + # Code + { mime = "text/*", run = "code" }, + { mime = "application/{mbox,javascript,wine-extension-ini}", run = "code" }, + # JSON + { mime = "application/{json,ndjson}", run = "json" }, + # Image + { mime = "image/{avif,hei?,jxl}", run = "magick" }, + { mime = "image/svg+xml", run = "svg" }, + { mime = "image/*", run = "image" }, + # Video + { mime = "video/*", run = "video" }, + # PDF + { mime = "application/pdf", run = "pdf" }, + # Archive + { mime = "application/{zip,rar,7z*,tar,gzip,xz,zstd,bzip*,lzma,compress,archive,cpio,arj,xar,ms-cab*}", run = "archive" }, + { mime = "application/{debian*-package,redhat-package-manager,rpm,android.package-archive}", run = "archive" }, + { url = "*.{AppImage,appimage}", run = "archive" }, + # Virtual Disk / Disk Image + { mime = "application/{iso9660-image,qemu-disk,ms-wim,apple-diskimage}", run = "archive" }, + { mime = "application/virtualbox-{vhd,vhdx}", run = "archive" }, + { url = "*.{img,fat,ext,ext2,ext3,ext4,squashfs,ntfs,hfs,hfsx}", run = "archive" }, + # Font + { mime = "font/*", run = "font" }, + { mime = "application/ms-opentype", run = "font" }, + # Empty file + { mime = "inode/empty", run = "empty" }, + # Virtual file system + { mime = "vfs/*", run = "vfs" }, + # Error + { mime = "null/*", run = "null" }, + # Fallback + { url = "*", run = "file" }, +] + +[input] +cursor_blink = false + +# cd +cd_title = "Change directory:" +cd_origin = "top-center" +cd_offset = [ 0, 2, 50, 3 ] + +# create +create_title = [ "Create:", "Create (dir):" ] +create_origin = "top-center" +create_offset = [ 0, 2, 50, 3 ] + +# rename +rename_title = "Rename:" +rename_origin = "hovered" +rename_offset = [ 0, 1, 50, 3 ] + +# filter +filter_title = "Filter:" +filter_origin = "top-center" +filter_offset = [ 0, 2, 50, 3 ] + +# find +find_title = [ "Find next:", "Find previous:" ] +find_origin = "top-center" +find_offset = [ 0, 2, 50, 3 ] + +# search +search_title = "Search via {n}:" +search_origin = "top-center" +search_offset = [ 0, 2, 50, 3 ] + +# shell +shell_title = [ "Shell:", "Shell (block):" ] +shell_origin = "top-center" +shell_offset = [ 0, 2, 50, 3 ] + +[confirm] +# trash +trash_title = "Trash {n} selected file{s}?" +trash_origin = "center" +trash_offset = [ 0, 0, 70, 20 ] + +# delete +delete_title = "Permanently delete {n} selected file{s}?" +delete_origin = "center" +delete_offset = [ 0, 0, 70, 20 ] + +# overwrite +overwrite_title = "Overwrite file?" +overwrite_body = "Will overwrite the following file:" +overwrite_origin = "center" +overwrite_offset = [ 0, 0, 50, 15 ] + +# quit +quit_title = "Quit?" +quit_body = "The following tasks are still running, are you sure you want to quit?" +quit_origin = "center" +quit_offset = [ 0, 0, 50, 15 ] + +[pick] +open_title = "Open with:" +open_origin = "hovered" +open_offset = [ 0, 1, 50, 7 ] + +[which] +sort_by = "none" +sort_sensitive = false +sort_reverse = false +sort_translit = false + +[flavor] +dark = "hacker" +light = "hacker" diff --git a/themes/hacker/.config/youtube-tui/appearance.yml b/themes/hacker/.config/youtube-tui/appearance.yml new file mode 100644 index 0000000..dc08a3f --- /dev/null +++ b/themes/hacker/.config/youtube-tui/appearance.yml @@ -0,0 +1,27 @@ +borders: Plain +colors: + text: Reset + text_special: Reset + text_secondary: Reset + text_error: LightRed + outline: DarkGray + outline_selected: Yellow + outline_hover: LightRed + outline_secondary: DarkGray + message_outline: Yellow + message_error_outline: LightRed + message_success_outline: LightGreen + command_capture: Yellow + item_info: + tag: DarkGray + title: Yellow + description: DarkGray + author: White + viewcount: DarkGray + length: DarkGray + published: DarkGray + video_count: DarkGray + sub_count: DarkGray + likes: DarkGray + genre: DarkGray + page_turner: DarkGray diff --git a/themes/hacker/.config/zed/settings.json b/themes/hacker/.config/zed/settings.json new file mode 100644 index 0000000..c316c39 --- /dev/null +++ b/themes/hacker/.config/zed/settings.json @@ -0,0 +1,27 @@ +// Zed settings +{ + "title_bar": { + "show_sign_in": false + }, + "ui_font_family": "Inter Variable", + "buffer_font_family": "Iosevka Term", + "vim_mode": false, + "disable_ai": true, + "telemetry": { + "diagnostics": false, + "metrics": false + }, + "languages": { + "Markdown": { + "format_on_save": "on" + } + }, + "icon_theme": "Zed (Default)", + "ui_font_size": 16, + "buffer_font_size": 15, + "theme": { + "mode": "dark", + "light": "Hacker", + "dark": "Hacker" + } +} diff --git a/themes/hacker/.config/zed/themes/hacker.json b/themes/hacker/.config/zed/themes/hacker.json new file mode 100644 index 0000000..cb513d7 --- /dev/null +++ b/themes/hacker/.config/zed/themes/hacker.json @@ -0,0 +1,146 @@ +{ + "$schema": "https://zed.dev/schema/themes/v0.2.0.json", + "name": "Hacker", + "author": "local", + "themes": [ + { + "name": "Hacker", + "appearance": "dark", + "style": { + "accents": [ + "#ef934dff", + "#f4decdff", + "#71b4d6ff", + "#7ec97eff", + "#e8c97eff", + "#f16e65ff", + "#7ec9c4ff" + ], + "border": "#2a2b2aff", + "border.variant": "#ef934d33", + "border.focused": "#ef934d99", + "border.selected": "#ef934dcc", + "border.transparent": "#00000000", + "border.disabled": null, + "elevated_surface.background": "#1e1f1eff", + "surface.background": "#1a1b1aff", + "background": "#141514ff", + "element.background": "#1e1f1eff", + "element.hover": "#2a2b2aff", + "element.active": "#3a3b3aff", + "element.selected": "#2a2b2aff", + "element.disabled": "#6a6a6aff", + "drop_target.background": "#2a2b2aff", + "ghost_element.background": "#00000000", + "ghost_element.hover": "#ef934d20", + "ghost_element.active": "#ef934d35", + "ghost_element.selected": "#ef934d18", + "ghost_element.disabled": "#6a6a6aff", + "text": "#f4decdff", + "text.muted": "#b09080ff", + "text.placeholder": "#6a6a6aff", + "text.disabled": "#6a6a6aaa", + "text.accent": "#ef934dff", + "icon": "#f4decdff", + "icon.muted": "#f4decd70", + "icon.disabled": "#f4decd40", + "icon.placeholder": "#6a6a6aff", + "icon.accent": "#ef934dff", + "status_bar.background": "#0c0e0cff", + "title_bar.background": "#0c0e0cff", + "title_bar.inactive_background": "#141514ff", + "toolbar.background": "#141514ff", + "tab_bar.background": "#1e1f1eff", + "tab.inactive_background": "#1e1f1eff", + "tab.active_background": "#141514ff", + "search.match_background": "#ef934d40", + "panel.background": "#0c0e0cff", + "panel.focused_border": "#ef934dff", + "panel.indent_guide": "#2a2b2aff", + "panel.indent_guide_active": "#ef934d99", + "pane.focused_border": "#ef934dff", + "scrollbar.thumb.background": "#2a2b2aff", + "scrollbar.thumb.hover_background": "#ef934d99", + "scrollbar.thumb.border": "#2a2b2aff", + "scrollbar.track.background": "#141514ff", + "scrollbar.track.border": "#1e1f1eff", + "editor.foreground": "#f4decdff", + "editor.background": "#141514ff", + "editor.gutter.background": "#141514ff", + "editor.subheader.background": "#1e1f1eff", + "editor.active_line.background": "#1e1f1e99", + "editor.highlighted_line.background": "#2a2b2a60", + "editor.line_number": "#6a6a6aff", + "editor.active_line_number": "#ef934dff", + "editor.invisible": "#2a2b2aff", + "editor.wrap_guide": "#2a2b2aff", + "editor.active_wrap_guide": "#3a3b3aff", + "editor.document_highlight.read_background": "#ef934d25", + "editor.document_highlight.write_background": "#ef934d40", + "terminal.background": "#141514ff", + "terminal.foreground": "#f4decdff", + "terminal.bright_foreground": "#ffffffff", + "terminal.dim_foreground": "#6a6a6aff", + "terminal.ansi.black": "#141514ff", + "terminal.ansi.bright_black": "#2a2b2aff", + "terminal.ansi.red": "#f16e65ff", + "terminal.ansi.bright_red": "#ff8a82ff", + "terminal.ansi.green": "#7ec97eff", + "terminal.ansi.bright_green": "#a8e6a8ff", + "terminal.ansi.yellow": "#e8c97eff", + "terminal.ansi.bright_yellow": "#f5dfa0ff", + "terminal.ansi.blue": "#71b4d6ff", + "terminal.ansi.bright_blue": "#9ecfe8ff", + "terminal.ansi.magenta": "#ef934dff", + "terminal.ansi.bright_magenta": "#f5b07aff", + "terminal.ansi.cyan": "#7ec9c4ff", + "terminal.ansi.bright_cyan": "#a8e6e2ff", + "terminal.ansi.white": "#f4decdff", + "terminal.ansi.bright_white": "#ffffffff", + "syntax": { + "attribute": { "color": "#ef934dff" }, + "boolean": { "color": "#ef934dff" }, + "comment": { "color": "#6a6a6aff", "font_style": "italic" }, + "comment.doc": { "color": "#8a9a8aff", "font_style": "italic" }, + "constant": { "color": "#ef934dff" }, + "constructor": { "color": "#f4decdff", "font_weight": 700 }, + "embedded": { "color": "#f4decdff" }, + "emphasis": { "font_style": "italic" }, + "emphasis.strong": { "font_weight": 700 }, + "enum": { "color": "#e8c97eff" }, + "function": { "color": "#f4decdff", "font_weight": 700 }, + "hint": { "color": "#6a6a6aff" }, + "keyword": { "color": "#ef934dff" }, + "label": { "color": "#ef934dff" }, + "link_text": { "color": "#71b4d6ff", "font_style": "italic" }, + "link_uri": { "color": "#71b4d6ff" }, + "number": { "color": "#ef934dff" }, + "operator": { "color": "#f4decdff" }, + "predictive": { "color": "#6a6a6aff", "font_style": "italic" }, + "preproc": { "color": "#ef934dff" }, + "primary": { "color": "#f4decdff" }, + "property": { "color": "#f4decdff" }, + "punctuation": { "color": "#6a6a6aff" }, + "punctuation.bracket": { "color": "#6a6a6aff" }, + "punctuation.delimiter": { "color": "#6a6a6aff" }, + "punctuation.list_marker": { "color": "#ef934dff" }, + "punctuation.special": { "color": "#ef934dff" }, + "string": { "color": "#7ec97eff" }, + "string.escape": { "color": "#f4decdff" }, + "string.regex": { "color": "#7ec9c4ff" }, + "string.special": { "color": "#7ec97eff" }, + "string.special.symbol": { "color": "#ef934dff" }, + "tag": { "color": "#ef934dff" }, + "text.literal": { "color": "#7ec97eff" }, + "title": { "color": "#f4decdff", "font_weight": 700 }, + "type": { "color": "#e8c97eff" }, + "type.builtin": { "color": "#e8c97eff" }, + "variable": { "color": "#f4decdff" }, + "variable.builtin": { "color": "#ef934dff" }, + "variable.member": { "color": "#f4decdff" }, + "variable.parameter": { "color": "#f4decdff", "font_style": "italic" } + } + } + } + ] +}