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 0000000..b60616c Binary files /dev/null and b/themes/hacker/.config/wlogout/icons/hibernate.png differ diff --git a/themes/hacker/.config/wlogout/icons/logout.png b/themes/hacker/.config/wlogout/icons/logout.png new file mode 100644 index 0000000..33bb77b Binary files /dev/null and b/themes/hacker/.config/wlogout/icons/logout.png differ diff --git a/themes/hacker/.config/wlogout/icons/reboot.png b/themes/hacker/.config/wlogout/icons/reboot.png new file mode 100644 index 0000000..d9e8a59 Binary files /dev/null and b/themes/hacker/.config/wlogout/icons/reboot.png differ diff --git a/themes/hacker/.config/wlogout/icons/shutdown.png b/themes/hacker/.config/wlogout/icons/shutdown.png new file mode 100644 index 0000000..52475a0 Binary files /dev/null and b/themes/hacker/.config/wlogout/icons/shutdown.png differ diff --git a/themes/hacker/.config/wlogout/icons/suspend.png b/themes/hacker/.config/wlogout/icons/suspend.png new file mode 100644 index 0000000..7da1033 Binary files /dev/null and b/themes/hacker/.config/wlogout/icons/suspend.png differ 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" } + } + } + } + ] +}