aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/home
diff options
context:
space:
mode:
authorLibravatar sommerfeld <[email protected]>2026-04-17 10:54:07 +0100
committerLibravatar sommerfeld <[email protected]>2026-04-17 10:54:07 +0100
commit28651e0c6da48de4763188180568c65a89f7708f (patch)
treefb4bb77f69dc3c74d674f1392f92aef5450ec047 /home
parentf00a83257176cde1c6350a901fca89622938ebc8 (diff)
downloaddotfiles-28651e0c6da48de4763188180568c65a89f7708f.tar.gz
dotfiles-28651e0c6da48de4763188180568c65a89f7708f.tar.bz2
dotfiles-28651e0c6da48de4763188180568c65a89f7708f.zip
chore: remove all X11/Xorg configs and references
Removed: - home/.config/{X11,bspwm,sxhkd,polybar,rofi,dunst,sxiv,sx,alacritty} - meta/{x-base,x-de,x-extra} metapackages - barscripts/ (polybar GPU scripts) - nvim sxhkdrc ftplugin and treesitter parser Updated: - mimeapps.list: sxiv → imv - ghostty config: bspwm → sway comment - .zshrc: alacritty → xterm-ghostty in TERM check - .zprofile: removed bspwm from comment - copilot-instructions.md: removed X11 references
Diffstat (limited to 'home')
-rw-r--r--home/.config/X11/Xmodmap1
-rw-r--r--home/.config/X11/Xresources67
-rwxr-xr-xhome/.config/X11/xinitrc7
-rw-r--r--home/.config/X11/xprofile19
-rw-r--r--home/.config/alacritty/alacritty.toml106
-rwxr-xr-xhome/.config/bspwm/bspwmrc51
-rw-r--r--home/.config/dunst/dunstrc466
-rw-r--r--home/.config/ghostty/config2
-rw-r--r--home/.config/mimeapps.list6
-rw-r--r--home/.config/nvim/after/ftplugin/sxhkdrc.lua10
-rw-r--r--home/.config/nvim/lua/plugins/treesitter.lua1
-rw-r--r--home/.config/polybar/config.ini298
-rw-r--r--home/.config/rofi/config.rasi16
l---------home/.config/sx/sxrc1
-rw-r--r--home/.config/sxhkd/sxhkdrc203
-rwxr-xr-xhome/.config/sxiv/exec/key-handler21
-rw-r--r--home/.config/zsh/.zprofile2
-rw-r--r--home/.config/zsh/.zshrc2
18 files changed, 6 insertions, 1273 deletions
diff --git a/home/.config/X11/Xmodmap b/home/.config/X11/Xmodmap
deleted file mode 100644
index 8b62265..0000000
--- a/home/.config/X11/Xmodmap
+++ /dev/null
@@ -1 +0,0 @@
-keycode 9 = grave asciitilde grave asciitilde
diff --git a/home/.config/X11/Xresources b/home/.config/X11/Xresources
deleted file mode 100644
index f0b4a4a..0000000
--- a/home/.config/X11/Xresources
+++ /dev/null
@@ -1,67 +0,0 @@
-*.font: mono:size=17:antialias=true:autohint=true
-
-! gruvbox-dark theme
-! hard contrast:
-*background: #1d2021
-! medium
-! *background: ##282828
-! soft contrast:
-! *background: #32302f
-*foreground: #ebdbb2
-*cursorColor: #ebdbb2
-! Black + DarkGrey
-*color0: #1d2021
-*color8: #928374
-! DarkRed + Red
-*color1: #cc241d
-*color9: #fb4934
-! DarkGreen + Green
-*color2: #98971a
-*color10: #b8bb26
-! DarkYellow + Yellow
-*color3: #d79921
-*color11: #fabd2f
-! DarkBlue + Blue
-*color4: #458588
-*color12: #83a598
-! DarkMagenta + Magenta
-*color5: #b16286
-*color13: #d3869b
-! DarkCyan + Cyan
-*color6: #689d6a
-*color14: #8ec07c
-! LightGrey + White
-*color7: #a89984
-*color15: #ebdbb2
-
-! Others
-*color24: #076678
-*color66: #427b58
-*color88: #9d0006
-*color96: #8f3f71
-*color100: #79740e
-*color108: #8ec07c
-*color109: #83a598
-*color130: #af3a03
-*color136: #b57614
-*color142: #b8bb26
-*color167: #fb4934
-*color175: #d3869b
-*color208: #fe8019
-*color214: #fabd2f
-*color223: #ebdbb2
-*color228: #f2e5bc
-*color229: #fbf1c7
-*color230: #f9f5d7
-*color234: #1d2021
-*color235: #282828
-*color236: #32302f
-*color237: #3c3836
-*color239: #504945
-*color241: #665c54
-*color243: #7c6f64
-*color244: #928374
-*color245: #928374
-*color246: #a89984
-*color248: #bdae93
-*color250: #d5c4a1
diff --git a/home/.config/X11/xinitrc b/home/.config/X11/xinitrc
deleted file mode 100755
index 907b6b6..0000000
--- a/home/.config/X11/xinitrc
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env sh
-# xinitrc file, used by all X sessions started by xinit (startx)
-# shellcheck source=/dev/null
-[ -r ~/.config/X11/xprofile ] && . ~/.config/X11/xprofile &
-if [ "$(uname -n)" != "tau" ]; then
- exec bspwm
-fi
diff --git a/home/.config/X11/xprofile b/home/.config/X11/xprofile
deleted file mode 100644
index 2750c24..0000000
--- a/home/.config/X11/xprofile
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env sh
-# shellcheck source=/dev/null
-[ -r ~/.config/sh/envrc ] && . ~/.config/sh/envrc
-display-setup
-
-systemctl --user import-environment PATH DISPLAY XAUTHORITY
-
-[ -r ~/.config/X11/Xresources ] && xrdb ~/.config/X11/Xresources
-
-xsetroot -cursor_name left_ptr &
-xset -b
-input-setup &
-unclutter &
-keynav &
-if [ "$(uname -n)" != "tau" ]; then
- launch-polybar &
- dunst &
- sxhkd &
-fi
diff --git a/home/.config/alacritty/alacritty.toml b/home/.config/alacritty/alacritty.toml
deleted file mode 100644
index eef1443..0000000
--- a/home/.config/alacritty/alacritty.toml
+++ /dev/null
@@ -1,106 +0,0 @@
-[general]
-live_config_reload = true
-
-# Default colors
-[colors.primary]
-# hard contrast background = = '#1d2021'
-background = '#282828'
-# soft contrast background = = '#32302f'
-foreground = '#ebdbb2'
-
-# Normal colors
-[colors.normal]
-black = '#282828'
-red = '#cc241d'
-green = '#98971a'
-yellow = '#d79921'
-blue = '#458588'
-magenta = '#b16286'
-cyan = '#689d6a'
-white = '#a89984'
-
-# Bright colors
-[colors.bright]
-black = '#928374'
-red = '#fb4934'
-green = '#b8bb26'
-yellow = '#fabd2f'
-blue = '#83a598'
-magenta = '#d3869b'
-cyan = '#8ec07c'
-white = '#ebdbb2'
-
-[cursor]
-blink_interval = 500
-blink_timeout = 0
-
-[env]
-WINIT_X11_SCALE_FACTOR = "1.0"
-
-[cursor.style]
-blinking = "On"
-
-[terminal]
-osc52 = "CopyPaste"
-
-[[keyboard.bindings]]
-action = "SpawnNewInstance"
-key = "Return"
-mods = "Control|Shift"
-
-[[keyboard.bindings]]
-action = "ScrollLineUp"
-key = "Up"
-mods = "Control|Shift"
-
-[[keyboard.bindings]]
-action = "ScrollLineDown"
-key = "Down"
-mods = "Control|Shift"
-
-[[keyboard.bindings]]
-action = "ScrollPageUp"
-key = "U"
-mods = "Alt"
-
-[[keyboard.bindings]]
-action = "ScrollPageDown"
-key = "D"
-mods = "Alt"
-
-[[keyboard.bindings]]
-action = "ScrollToTop"
-key = "G"
-mods = "Alt"
-
-[[keyboard.bindings]]
-action = "ScrollToBottom"
-key = "G"
-mods = "Alt|Shift"
-
-[[hints.enabled]]
-command = "xdg-open"
-hyperlinks = true
-post_processing = true
-persist = false
-mouse.enabled = true
-binding = { key = "O", mods = "Control|Shift" }
-regex = "(ipfs:|ipns:|magnet:|mailto:|gemini://|gopher://|https://|http://|news:|file:|git://|ssh:|ftp://)[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩‘\\\\]+"
-
-[[hints.enabled]]
-regex = " /[0-9a-zA-Z/\\-_\\.]+(:\\d*){0,2}"
-command.program = "linkhandler"
-post_processing = true
-mouse.enabled = true
-
-[[hints.enabled]]
-regex = "^/[0-9a-zA-Z/\\-_\\.]+(:\\d*){0,2}"
-command.program = "linkhandler"
-post_processing = true
-mouse.enabled = true
-
-[[hints.enabled]]
-regex = "[0-9a-zA-Z/\\-_\\.]+:(\\d+)(:\\d*)?"
-command.program = "linkhandler"
-post_processing = true
-mouse.enabled = true
diff --git a/home/.config/bspwm/bspwmrc b/home/.config/bspwm/bspwmrc
deleted file mode 100755
index 067decd..0000000
--- a/home/.config/bspwm/bspwmrc
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env sh
-
-# If refreshing bspwm, remove all previous rules to prevent doubling up.
-bspc rule -r "*"
-
-if [ "$(uname -n)" = "garry" ] && xrandr --query | grep "HDMI-0 connected"; then
- bspc monitor 'eDP-1-1' --remove
- bspc config pointer_motion_interval 7
-elif [ "$(uname -n)" = "hercules" ] && xrandr --query | grep "HDMI-0 connected"; then
- bspc monitor 'eDP-1-1' --remove
-fi
-
-bspc config border_width 1
-bspc config window_gap 0
-# top_padding I set equal to polybar's height
-bspc config top_padding 24
-bspc config right_padding 0
-
-bspc config focus_follows_pointer true
-bspc config pointer_follows_focus true
-bspc config pointer_follows_monitor true
-bspc config borderless_monocle true
-bspc config gapless_monocle true
-bspc config removal_adjustment true
-bspc config remove_disabled_monitors true
-bspc config remove_unplugged_monitors true
-bspc config merge_overlapping_monitors true
-bspc config presel_feedback true
-
-# bspc rule -a mpv sticky=on
-bspc rule -a Zathura state=tiled
-bspc rule -a "Tor Browser" state=floating
-bspc rule -a "feh" state=floating
-# bspc rule -a Steam desktop="9"
-# bspc rule -a discord desktop="9"
-bspc rule -a csgo_linux64 desktop="10"
-bspc rule -a hl2_linux desktop="10"
-bspc rule -a "origin.exe" state=floating desktop="10"
-bspc rule -a "fifa19_demo.exe" desktop="10"
-bspc rule -a "fifa20_demo.exe" desktop="10"
-bspc rule -a "fifa19.exe" desktop="10"
-bspc rule -a "Wine" state=floating desktop="10"
-bspc rule -a "fifaconfig.exe" state=floating desktop="10"
-bspc rule -a "launcher.exe" state=floating desktop="10"
-bspc rule -a "socialclubhelper.exe" state=floating desktop="10"
-bspc rule -a "gta5.exe" desktop="10"
-bspc rule -a "*.exe" desktop="10"
-
-bspc monitor -d 1 2 3 4 5 6 7 8 9 10
-
-wmname LG3D
diff --git a/home/.config/dunst/dunstrc b/home/.config/dunst/dunstrc
deleted file mode 100644
index fba44e9..0000000
--- a/home/.config/dunst/dunstrc
+++ /dev/null
@@ -1,466 +0,0 @@
-[global]
- ### Display ###
-
- # Which monitor should the notifications be displayed on.
- monitor = 0
-
- # Display notification on focused monitor. Possible modes are:
- # mouse: follow mouse pointer
- # keyboard: follow window with keyboard focus
- # none: don't follow anything
- #
- # "keyboard" needs a window manager that exports the
- # _NET_ACTIVE_WINDOW property.
- # This should be the case for almost all modern window managers.
- #
- # If this option is set to mouse or keyboard, the monitor option
- # will be ignored.
- follow = mouse
-
- # The geometry of the window:
- # [{width}]x{height}[+/-{x}+/-{y}]
- # The geometry of the message window.
- # The height is measured in number of notifications everything else
- # in pixels. If the width is omitted but the height is given
- # ("-geometry x2"), the message window expands over the whole screen
- # (dmenu-like). If width is 0, the window expands to the longest
- # message displayed. A positive x is measured from the left, a
- # negative from the right side of the screen. Y is measured from
- # the top and down respectively.
- # The width can be negative. In this case the actual width is the
- # screen width minus the width defined in within the geometry option.
- geometry = "300x5-30+20"
-
- # Turn on the progess bar
- progress_bar = true
-
- # Set the progress bar height. This includes the frame, so make sure
- # it's at least twice as big as the frame width.
- progress_bar_height = 10
-
- # Set the frame width of the progress bar
- progress_bar_frame_width = 1
-
- # Set the minimum width for the progress bar
- progress_bar_min_width = 150
-
- # Set the maximum width for the progress bar
- progress_bar_max_width = 300
-
-
- # Show how many messages are currently hidden (because of geometry).
- indicate_hidden = yes
-
- # Shrink window if it's smaller than the width. Will be ignored if
- # width is 0.
- shrink = yes
-
- # The transparency of the window. Range: [0; 100].
- # This option will only work if a compositing window manager is
- # present (e.g. xcompmgr, compiz, etc.).
- transparency = 0
-
- # The height of the entire notification. If the height is smaller
- # than the font height and padding combined, it will be raised
- # to the font height and padding.
- notification_height = 0
-
- # Draw a line of "separator_height" pixel height between two
- # notifications.
- # Set to 0 to disable.
- separator_height = 2
-
- # Padding between text and separator.
- padding = 8
-
- # Horizontal padding.
- horizontal_padding = 8
-
- # Padding between text and icon.
- text_icon_padding = 0
-
- # Defines width in pixels of frame around the notification window.
- # Set to 0 to disable.
- frame_width = 3
-
- # Defines color of the frame around the notification window.
- frame_color = "#aaaaaa"
-
- # Define a color for the separator.
- # possible values are:
- # * auto: dunst tries to find a color fitting to the background;
- # * foreground: use the same color as the foreground;
- # * frame: use the same color as the frame;
- # * anything else will be interpreted as a X color.
- separator_color = frame
-
- # Sort messages by urgency.
- sort = yes
-
- # Don't remove messages, if the user is idle (no mouse or keyboard input)
- # for longer than idle_threshold seconds.
- # Set to 0 to disable.
- # A client can set the 'transient' hint to bypass this. See the rules
- # section for how to disable this if necessary
- idle_threshold = 120
-
- ### Text ###
-
- font = Monospace 8
-
- # The spacing between lines. If the height is smaller than the
- # font height, it will get raised to the font height.
- line_height = 0
-
- # Possible values are:
- # full: Allow a small subset of html markup in notifications:
- # <b>bold</b>
- # <i>italic</i>
- # <s>strikethrough</s>
- # <u>underline</u>
- #
- # For a complete reference see
- # <https://developer.gnome.org/pango/stable/pango-Markup.html>.
- #
- # strip: This setting is provided for compatibility with some broken
- # clients that send markup even though it's not enabled on the
- # server. Dunst will try to strip the markup but the parsing is
- # simplistic so using this option outside of matching rules for
- # specific applications *IS GREATLY DISCOURAGED*.
- #
- # no: Disable markup parsing, incoming notifications will be treated as
- # plain text. Dunst will not advertise that it has the body-markup
- # capability if this is set as a global setting.
- #
- # It's important to note that markup inside the format option will be parsed
- # regardless of what this is set to.
- markup = full
-
- # The format of the message. Possible variables are:
- # %a appname
- # %s summary
- # %b body
- # %i iconname (including its path)
- # %I iconname (without its path)
- # %p progress value if set ([ 0%] to [100%]) or nothing
- # %n progress value if set without any extra characters
- # %% Literal %
- # Markup is allowed
- format = "<b>%s</b>\n%b"
-
- # Alignment of message text.
- # Possible values are "left", "center" and "right".
- alignment = left
-
- # Vertical alignment of message text and icon.
- # Possible values are "top", "center" and "bottom".
- vertical_alignment = center
-
- # Show age of message if message is older than show_age_threshold
- # seconds.
- # Set to -1 to disable.
- show_age_threshold = 60
-
- # Split notifications into multiple lines if they don't fit into
- # geometry.
- word_wrap = yes
-
- # When word_wrap is set to no, specify where to make an ellipsis in long lines.
- # Possible values are "start", "middle" and "end".
- ellipsize = middle
-
- # Ignore newlines '\n' in notifications.
- ignore_newline = no
-
- # Stack together notifications with the same content
- stack_duplicates = true
-
- # Hide the count of stacked notifications with the same content
- hide_duplicate_count = false
-
- # Display indicators for URLs (U) and actions (A).
- show_indicators = yes
-
- ### Icons ###
-
- # Align icons left/right/off
- icon_position = left
-
- # Scale small icons up to this size, set to 0 to disable. Helpful
- # for e.g. small files or high-dpi screens. In case of conflict,
- # max_icon_size takes precedence over this.
- min_icon_size = 0
-
- # Scale larger icons down to this size, set to 0 to disable
- max_icon_size = 32
-
- # Paths to default icons.
- icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/
-
- ### History ###
-
- # Should a notification popped up from history be sticky or timeout
- # as if it would normally do.
- sticky_history = yes
-
- # Maximum amount of notifications kept in history
- history_length = 20
-
- ### Misc/Advanced ###
-
- # dmenu path.
- dmenu = /usr/bin/dmenu -p dunst:
-
- # Browser for opening urls in context menu.
- browser = /usr/bin/librewolf -new-tab
-
- # Always run rule-defined scripts, even if the notification is suppressed
- always_run_script = true
-
- # Define the title of the windows spawned by dunst
- title = Dunst
-
- # Define the class of the windows spawned by dunst
- class = Dunst
-
- # Print a notification on startup.
- # This is mainly for error detection, since dbus (re-)starts dunst
- # automatically after a crash.
- startup_notification = false
-
- # Manage dunst's desire for talking
- # Can be one of the following values:
- # crit: Critical features. Dunst aborts
- # warn: Only non-fatal warnings
- # mesg: Important Messages
- # info: all unimportant stuff
- # debug: all less than unimportant stuff
- verbosity = mesg
-
- # Define the corner radius of the notification window
- # in pixel size. If the radius is 0, you have no rounded
- # corners.
- # The radius will be automatically lowered if it exceeds half of the
- # notification height to avoid clipping text and/or icons.
- corner_radius = 0
-
- # Ignore the dbus closeNotification message.
- # Useful to enforce the timeout set by dunst configuration. Without this
- # parameter, an application may close the notification sent before the
- # user defined timeout.
- ignore_dbusclose = false
-
- ### Wayland ###
- # These settings are Wayland-specific. They have no effect when using X11
-
- # Uncomment this if you want to let notications appear under fullscreen
- # applications (default: overlay)
- # layer = top
-
- # Set this to true to use X11 output on Wayland.
- force_xwayland = false
-
- ### Legacy
-
- # Use the Xinerama extension instead of RandR for multi-monitor support.
- # This setting is provided for compatibility with older nVidia drivers that
- # do not support RandR and using it on systems that support RandR is highly
- # discouraged.
- #
- # By enabling this setting dunst will not be able to detect when a monitor
- # is connected or disconnected which might break follow mode if the screen
- # layout changes.
- force_xinerama = false
-
- ### mouse
-
- # Defines list of actions for each mouse event
- # Possible values are:
- # * none: Don't do anything.
- # * do_action: If the notification has exactly one action, or one is marked as default,
- # invoke it. If there are multiple and no default, open the context menu.
- # * close_current: Close current notification.
- # * close_all: Close all notifications.
- # These values can be strung together for each mouse event, and
- # will be executed in sequence.
- mouse_left_click = close_current
- mouse_middle_click = do_action, close_current
- mouse_right_click = close_all
-
-# Experimental features that may or may not work correctly. Do not expect them
-# to have a consistent behaviour across releases.
-[experimental]
- # Calculate the dpi to use on a per-monitor basis.
- # If this setting is enabled the Xft.dpi value will be ignored and instead
- # dunst will attempt to calculate an appropriate dpi value for each monitor
- # using the resolution and physical size. This might be useful in setups
- # where there are multiple screens with very different dpi values.
- per_monitor_dpi = false
-
-# The internal keyboard shortcut support in dunst is now considered deprecated
-# and should be replaced by dunstctl calls. You can use the configuration of your
-# WM or DE to bind these to shortcuts of your choice.
-# Check the dunstctl manual page for more info.
-[shortcuts]
-
- # Shortcuts are specified as [modifier+][modifier+]...key
- # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
- # "mod3" and "mod4" (windows-key).
- # Xev might be helpful to find names for keys.
-
- # Close notification. Equivalent dunstctl command:
- # dunstctl close
- # close = ctrl+space
-
- # Close all notifications. Equivalent dunstctl command:
- # dunstctl close-all
- # close_all = ctrl+shift+space
-
- # Redisplay last message(s). Equivalent dunstctl command:
- # dunstctl history-pop
- # history = ctrl+grave
-
- # Context menu. Equivalent dunstctl command:
- # dunstctl context
- # context = ctrl+shift+period
-
-[urgency_low]
- # IMPORTANT: colors have to be defined in quotation marks.
- # Otherwise the "#" and following would be interpreted as a comment.
- background = "#282828"
- foreground = "#ebdbb2"
- timeout = 10
- # Icon for notifications with low urgency, uncomment to enable
- #icon = /path/to/icon
-
-[urgency_normal]
- background = "#282828"
- foreground = "#ebdbb2"
- timeout = 10
- # Icon for notifications with normal urgency, uncomment to enable
- #icon = /path/to/icon
-
-[urgency_critical]
- background = "#282828"
- foreground = "#ebdbb2"
- frame_color = "#ff0000"
- timeout = 0
- # Icon for notifications with critical urgency, uncomment to enable
- #icon = /path/to/icon
-
-# Every section that isn't one of the above is interpreted as a rules to
-# override settings for certain messages.
-#
-# Messages can be matched by
-# appname (discouraged, see desktop_entry)
-# body
-# category
-# desktop_entry
-# icon
-# match_transient
-# msg_urgency
-# stack_tag
-# summary
-#
-# and you can override the
-# background
-# foreground
-# format
-# frame_color
-# fullscreen
-# new_icon
-# set_stack_tag
-# set_transient
-# timeout
-# urgency
-#
-# Shell-like globbing will get expanded.
-#
-# Instead of the appname filter, it's recommended to use the desktop_entry filter.
-# GLib based applications export their desktop-entry name. In comparison to the appname,
-# the desktop-entry won't get localized.
-#
-# SCRIPTING
-# You can specify a script that gets run when the rule matches by
-# setting the "script" option.
-# The script will be called as follows:
-# script appname summary body icon urgency
-# where urgency can be "LOW", "NORMAL" or "CRITICAL".
-#
-# NOTE: if you don't want a notification to be displayed, set the format
-# to "".
-# NOTE: It might be helpful to run dunst -print in a terminal in order
-# to find fitting options for rules.
-
-# Disable the transient hint so that idle_threshold cannot be bypassed from the
-# client
-#[transient_disable]
-# match_transient = yes
-# set_transient = no
-#
-# Make the handling of transient notifications more strict by making them not
-# be placed in history.
-#[transient_history_ignore]
-# match_transient = yes
-# history_ignore = yes
-
-# fullscreen values
-# show: show the notifications, regardless if there is a fullscreen window opened
-# delay: displays the new notification, if there is no fullscreen window active
-# If the notification is already drawn, it won't get undrawn.
-# pushback: same as delay, but when switching into fullscreen, the notification will get
-# withdrawn from screen again and will get delayed like a new notification
-#[fullscreen_delay_everything]
-# fullscreen = delay
-#[fullscreen_show_critical]
-# msg_urgency = critical
-# fullscreen = show
-
-#[espeak]
-# summary = "*"
-# script = dunst_espeak.sh
-
-#[script-test]
-# summary = "*script*"
-# script = dunst_test.sh
-
-#[ignore]
-# # This notification will not be displayed
-# summary = "foobar"
-# format = ""
-
-#[history-ignore]
-# # This notification will not be saved in history
-# summary = "foobar"
-# history_ignore = yes
-
-#[skip-display]
-# # This notification will not be displayed, but will be included in the history
-# summary = "foobar"
-# skip_display = yes
-
-#[signed_on]
-# appname = Pidgin
-# summary = "*signed on*"
-# urgency = low
-#
-#[signed_off]
-# appname = Pidgin
-# summary = *signed off*
-# urgency = low
-#
-#[says]
-# appname = Pidgin
-# summary = *says*
-# urgency = critical
-#
-#[twitter]
-# appname = Pidgin
-# summary = *twitter.com*
-# urgency = normal
-#
-#[stack-volumes]
-# appname = "some_volume_notifiers"
-# set_stack_tag = "volume"
-#
-# vim: ft=cfg
diff --git a/home/.config/ghostty/config b/home/.config/ghostty/config
index e78e5e9..a4ae2fd 100644
--- a/home/.config/ghostty/config
+++ b/home/.config/ghostty/config
@@ -9,7 +9,7 @@ shell-integration-features = no-cursor
# OSC 52 clipboard for zellij (default is "ask" which prompts each time)
clipboard-read = allow
-# Window — no decorations (bspwm manages windows)
+# Window — no decorations (sway manages windows)
window-decoration = none
confirm-close-surface = false
resize-overlay = never
diff --git a/home/.config/mimeapps.list b/home/.config/mimeapps.list
index 045c11a..bd3a703 100644
--- a/home/.config/mimeapps.list
+++ b/home/.config/mimeapps.list
@@ -59,9 +59,9 @@ video/x-theora=mpv.desktop
video/x-matroska=mpv.desktop
video/webm=mpv.desktop
video/mp2t=mpv.desktop
-image/x-nikon-nef=sxiv.desktop
-image/jpeg=sxiv.desktop
-image/png=sxiv.desktop
+image/x-nikon-nef=imv.desktop
+image/jpeg=imv.desktop
+image/png=imv.desktop
image/gif=mpv.desktop
image/svg+xml=librewolf.desktop
text/markdown=nvim.desktop
diff --git a/home/.config/nvim/after/ftplugin/sxhkdrc.lua b/home/.config/nvim/after/ftplugin/sxhkdrc.lua
deleted file mode 100644
index 327c5a0..0000000
--- a/home/.config/nvim/after/ftplugin/sxhkdrc.lua
+++ /dev/null
@@ -1,10 +0,0 @@
-vim.bo.commentstring = "# %s"
-
-vim.api.nvim_create_autocmd(
- "BufWritePost",
- {
- group = vim.api.nvim_create_augroup("sxhkd", { clear = true }),
- buffer = 0,
- command = "!pkill --signal SIGUSR1 sxhkd",
- }
-)
diff --git a/home/.config/nvim/lua/plugins/treesitter.lua b/home/.config/nvim/lua/plugins/treesitter.lua
index 8e72384..a4a488c 100644
--- a/home/.config/nvim/lua/plugins/treesitter.lua
+++ b/home/.config/nvim/lua/plugins/treesitter.lua
@@ -57,7 +57,6 @@ require("nvim-treesitter").install({
"sql",
"ssh_config",
"strace",
- "sxhkdrc",
"tablegen",
"todotxt",
"toml",
diff --git a/home/.config/polybar/config.ini b/home/.config/polybar/config.ini
deleted file mode 100644
index c00c0f3..0000000
--- a/home/.config/polybar/config.ini
+++ /dev/null
@@ -1,298 +0,0 @@
-;==========================================================
-;
-;
-; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
-; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
-; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
-; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
-; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
-; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
-;
-;
-; To learn more about how to configure Polybar
-; go to https://github.com/polybar/polybar
-;
-; The README contains a lot of information
-;
-;==========================================================
-
-[colors]
-background = ${xrdb:color0:#1d2021}
-background-alt = ${xrdb:color8:#928374}
-foreground = ${xrdb:color15:#ebdbb2}
-primary = ${xrdb:color11:#fabd2f}
-secondary = ${xrdb:color14:#8ec07c}
-alert = ${xrdb:color9:#fb4934}
-disabled = #707880
-
-[bar/mybar]
-monitor = ${env:MONITOR:}
-width = 100%
-height = 24pt
-radius = 6
-
-; dpi = 96
-
-background = ${colors.background}
-foreground = ${colors.foreground}
-
-line-size = 3pt
-
-border-size = 4pt
-border-color = #00000000
-
-padding-left = 0
-padding-right = 1
-
-module-margin = 1
-
-separator = |
-separator-foreground = ${colors.disabled}
-
-font-0 = mono:size=8;1
-font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
-font-2 = siji:pixelsize=10;1
-font-3 = NotoMono Nerd Font Mono:size=10;2
-
-modules-left = bspwm
-modules-right = filesystem pulseaudio cpu memory temperature wlan eth battery date tray
-
-; cursor-click = pointer
-; cursor-scroll = ns-resize
-
-enable-ipc = true
-
-wm-restack = bspwm
-
-; override-redirect = true
-
-[module/systray]
-type = internal/tray
-
-format-margin = 8pt
-tray-spacing = 16pt
-
-[module/xworkspaces]
-type = internal/xworkspaces
-
-label-active = %name%
-label-active-background = ${colors.background-alt}
-label-active-underline= ${colors.primary}
-label-active-padding = 1
-
-label-occupied = %name%
-label-occupied-padding = 1
-
-label-urgent = %name%
-label-urgent-background = ${colors.alert}
-label-urgent-padding = 1
-
-label-empty = %name%
-label-empty-foreground = ${colors.disabled}
-label-empty-padding = 1
-
-[module/xwindow]
-type = internal/xwindow
-label = %title:0:60:...%
-
-[module/filesystem]
-type = internal/fs
-interval = 25
-
-mount-0 = /
-
-label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
-
-label-unmounted = %mountpoint% not mounted
-label-unmounted-foreground = ${colors.disabled}
-
-[module/pulseaudio]
-type = internal/pulseaudio
-
-format-volume-prefix = "VOL "
-format-volume-prefix-foreground = ${colors.primary}
-format-volume = <label-volume>
-
-label-volume = %percentage%%
-
-label-muted = muted
-label-muted-foreground = ${colors.disabled}
-click-right = st -e pulsemixer
-
-[module/xkeyboard]
-type = internal/xkeyboard
-blacklist-0 = num lock
-
-label-layout = %layout%
-label-layout-foreground = ${colors.primary}
-
-label-indicator-padding = 2
-label-indicator-margin = 1
-label-indicator-foreground = ${colors.background}
-label-indicator-background = ${colors.secondary}
-
-[module/memory]
-type = internal/memory
-interval = 2
-format-prefix = "RAM "
-format-prefix-foreground = ${colors.primary}
-label = %percentage_used%% (%gb_used%)
-
-[module/cpu]
-type = internal/cpu
-interval = 2
-format-prefix = "CPU "
-format-prefix-foreground = ${colors.primary}
-label = %percentage:2%%
-
-[network-base]
-type = internal/network
-interval = 5
-format-connected = <label-connected>
-format-disconnected = <label-disconnected>
-label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
-
-[module/wlan]
-inherit = network-base
-interface-type = wireless
-label-connected = %{F#F0C674}%{F-} %essid%
-
-[module/eth]
-inherit = network-base
-interface = bond0
-label-connected = ⬇%downspeed%|⬆%upspeed%
-
-[module/date]
-type = internal/date
-interval = 5
-
-date = "%a %d %b"
-time = %H:%M
-time-alt = %H:%M
-
-label = %date% %time%
-label-foreground = ${colors.primary}
-
-[settings]
-screenchange-reload = true
-; pseudo-transparency = true
-
-
-[module/bspwm]
-type = internal/bspwm
-
-; Create click handler used to focus workspace
-; Default: true
-enable-click = false
-
-; Create scroll handlers used to cycle workspaces
-; Default: true
-enable-scroll = false
-
-; Available tags:
-; <label-monitor>
-; <label-state> - gets replaced with <label-(focused|urgent|occupied|empty)>
-; <label-mode> - gets replaced with <label-(monocle|tiled|fullscreen|floating|locked|sticky|private)>
-; Default: <label-state>
-format = <label-state> <label-mode>
-
-; If any values for label-dimmed-N are defined, the workspace/mode
-; colors will get overridden with those values if the monitor is out of focus
-; To only override workspaces in a specific state, use:
-; label-dimmed-focused
-; label-dimmed-occupied
-; label-dimmed-urgent
-; label-dimmed-empty
-label-dimmed-foreground = #555
-label-dimmed-underline = ${bar/top.background}
-label-dimmed-focused-background = #f00
-
-label-focused-foreground = #ffffff
-label-focused-background = #3f3f3f
-label-focused-underline = #fba922
-
-label-occupied-underline = #555555
-
-label-urgent-foreground = #000000
-label-urgent-background = #bd2c40
-label-urgent-underline = #9b0a20
-
-label-empty-foreground = #55
-
-; The following labels will be used to indicate the layout/mode
-; for the focused workspace. Requires <label-mode>
-;
-; Available tokens:
-; None
-label-monocle = MON
-label-fullscreen = FULL
-label-floating = FLOAT
-label-pseudotiled = PSEUDO
-label-locked = LOCK
-label-locked-foreground = #bd2c40
-label-sticky = STI
-label-sticky-foreground = #fba922
-label-private = PRI
-label-private-foreground = #bd2c40
-label-marked = MAR
-
-; Separator in between workspaces
-label-separator = |
-label-separator-padding = 1
-label-separator-foreground = #ffb52a
-
-[module/battery]
-type = internal/battery
-
-; This is useful in case the battery never reports 100% charge
-; Default: 100
-full-at = 95
-
-; format-low once this charge percentage is reached
-; Default: 10
-; New in version 3.6.0
-low-at = 5
-
-; Use the following command to list batteries and adapters:
-; $ ls -1 /sys/class/power_supply/
-battery = BAT0
-adapter = ADP1
-
-; Available tokens:
-; %percentage% (default) - is set to 100 if full-at is reached
-; %percentage_raw%
-; %time%
-; %consumption% (shows current charge rate in watts)
-label-charging = CHA %percentage%%
-
-; Available tokens:
-; %percentage% (default) - is set to 100 if full-at is reached
-; %percentage_raw%
-; %time%
-; %consumption% (shows current discharge rate in watts)
-label-discharging = DIS %percentage%%
-
-; Available tokens:
-; %percentage% (default) - is set to 100 if full-at is reached
-; %percentage_raw%
-label-full = FULL
-
-; Available tokens:
-; %percentage% (default) - is set to 100 if full-at is reached
-; %percentage_raw%
-; %time%
-; %consumption% (shows current discharge rate in watts)
-; New in version 3.6.0
-label-low = LOW
-
-[module/temperature]
-type = internal/temperature
-
-[module/tray]
-type = internal/tray
-
-[global/wm]
-margin-top = 0
-margin-bottom = 0
-
-; vim:ft=dosini
diff --git a/home/.config/rofi/config.rasi b/home/.config/rofi/config.rasi
deleted file mode 100644
index 0a06a3a..0000000
--- a/home/.config/rofi/config.rasi
+++ /dev/null
@@ -1,16 +0,0 @@
-configuration {
- modi: "window,run,drun";
- font: "mono 18";
- terminal: "alacritty";
- disable-history: false;
- sort: true;
- sorting-method: "fzf";
- parse-hosts: true;
- combi-modi: "window,run,drun";
- matching: "fuzzy";
- kb-remove-to-eol: "Control+Shift+k";
- kb-accept-entry: "Return,KP_Enter";
- kb-row-up: "Up,Control+p,Control+k";
- kb-row-down: "Down,Control+n,Control+j";
-}
-@theme "gruvbox-dark-hard"
diff --git a/home/.config/sx/sxrc b/home/.config/sx/sxrc
deleted file mode 120000
index b0a1fbb..0000000
--- a/home/.config/sx/sxrc
+++ /dev/null
@@ -1 +0,0 @@
-../X11/xinitrc \ No newline at end of file
diff --git a/home/.config/sxhkd/sxhkdrc b/home/.config/sxhkd/sxhkdrc
deleted file mode 100644
index 2570856..0000000
--- a/home/.config/sxhkd/sxhkdrc
+++ /dev/null
@@ -1,203 +0,0 @@
-# vim set ft=sxhkdrc
-super+Return
- $TERMINAL
-
-super+space
- $TERMINAL
-
-super+r
- rofi -show run
-
-super+d
- cd ~/dotfiles && fd --type file --follow --hidden --exclude .git | rofi -width 90 -dmenu -p dotfiles | xargs -d '\n' -r $TERMINAL -e $EDITOR
-
-super+D
- cd ~/doxfiles && fd --type file --follow --hidden --exclude .git | rofi -width 90 -dmenu -p doxfiles | xargs -d '\n' -r $TERMINAL -e $EDITOR
-
-super+a
- rofi -modi windowcd -show windowcd
-
-super+i
- input-setup
-
-super+e
- rofimoji -a type copy
-
-XF86Audio{Lower,Raise}Volume
- pactl set-sink-volume @DEFAULT_SINK@ {-,+}5%
-
-super+{minus,plus}
- pactl set-sink-volume @DEFAULT_SINK@ {-,+}5%
-
-XF86AudioMute
- pactl set-sink-mute @DEFAULT_SINK@ toggle
-
-super+shift+m
- pactl set-sink-mute @DEFAULT_SINK@ toggle
-
-super+m
- pactl set-source-mute 1 toggle
-
-XF86Audio{Prev,Play,Next}
- playerctl -p spotifyd {previous,play-pause,next}
-
-super+{Left,Down,Right}
- playerctl {previous,play-pause,next}
-
-XF86Display
- xset dpms force off
-
-@Print
- scrot -q 100 -t 10 -s '%Y-%m-%d-%H-%M-%S.png' -e 'mv $f ~/pics/screenshots'
-
-shift+@Print
- scrot -q 100 -t 10 '%Y-%m-%d-%H-%M-%S.png' -e 'mv $f ~/pics/screenshots'
-
-super+o;{m,e,n,t,f,p,h,c}
- $TERMINAL -e {spt,aerc,newsboat,tremc,lf,ipython -i -c 'from math import *', htop, ikhal -d work}
-
-super+o;{k,s,w,0}
- {tokodi,linkhandler,librewolf, printf "¯\_(⊙_ʖ⊙)_/¯" | xclip -selection clipboard}
-
-super+z;{r,w}
- {rqr,wqr}
-
-super+v
- videowrapper
-
-super+shift+s
- locknpause
-
-super+alt+c
- showclip
-
-super+F5
- stream
-
-super+shift+r
- record toggle
-
-super+shift+a
- automute
-
-super+n
- dunstctl close
-
-super+shift+n
- dunstctl close-all
-
-super+alt+n
- dunstctl history-pop
-
-super+alt+shift+n
- dunstctl context
-ctrl+q
- :
-
-# quit/restart bspwm
-super + alt + {q,r}
- bspc {quit,wm -r}
-
-# close and kill
-super + {_,shift + }q
- bspc node -{c,k}
-
-# alternate between the tiled and monocle layout
-super + g
- bspc desktop -l next
-
-# send the focused node to the newest preselected node
-super + y
- bspc node focused -n newest.!automatic
-
-# swap the current node and the marked node
-super + shift + g
- bspc node -s newest.marked
-
-super + ctrl + r
- bspc node @parent -R 90
-#
-# state/flags
-#
-
-# set the window state
-super + {t,shift+f,f}
- bspc node -t \~{tiled,floating,fullscreen}
-
-# set the node flags
-super + w;{m,l,s,p}
- bspc node -g {marked,locked,sticky,private}
-
-super + alt + s;{b,n,a}
- bspc node -l {below,normal,above}
-
-#
-# focus/swap
-#
-
-# focus the node in the given direction
-super + {_,shift + }{h,j,k,l}
- bspc node -{f,s} {west,south,north,east}
-
-# focus the node for the given path jump
-super + ctrl + {p,b,comma,period}
- bspc node -f @{parent,brother,first,second}
-
-# focus the next/previous desktop in the current monitor
-super + {_,shift + }Tab
- bspc desktop -f {next,prev}.local.occupied
-
-# focus the last node/desktop
-super + {ctrl,shift + } o
- bspc {node,desktop} -f last
-
-# focus the older or newer node in the focus history
-super + alt + {o,i}
- bspc wm -h off; \
- bspc node {older,newer} -f; \
- bspc wm -h on
-
-# focus to the given desktop
-super + {1-9,0}
- desktop='{1-9,10}'; \
- bspc query -D -d "$desktop.focused" && bspc desktop -f last || bspc desktop -f "$desktop"
-
-# focus or send to the given desktop
-super + shift + {1-9,0}
- bspc node -d '{1-9,10}'
-
-#
-# preselect
-#
-
-# preselect the direction
-super + ctrl + {h,j,k,l}
- bspc node -p {west,south,north,east}
-
-# preselect the ratio
-super + ctrl + {1-9}
- bspc node -o 0.{1-9}
-
-# cancel the preselection for the focused node
-super + ctrl + space
- bspc node -p cancel
-
-# cancel the preselection for the focused desktop
-super + ctrl + shift + space
- bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
-
-#
-# move/resize
-#
-
-# expand a window by moving one of its side outward
-super + alt + {h,j,k,l}
- bspc node -z {left -10 0,bottom 0 10,top 0 -10,right 10 0}
-
-# contract a window by moving one of its side inward
-super + alt + shift + {h,j,k,l}
- bspc node -z {right -10 0,top 0 10,bottom 0 -10,left 10 0}
-
-# move a floating window
-super + shift + {Left,Down,Up,Right}
- bspc node -v {-10 0,0 10,0 -10,10 0}
diff --git a/home/.config/sxiv/exec/key-handler b/home/.config/sxiv/exec/key-handler
deleted file mode 100755
index ba8ad56..0000000
--- a/home/.config/sxiv/exec/key-handler
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-# Example for $XDG_CONFIG_HOME/sxiv/exec/key-handler
-# Called by sxiv(1) after the external prefix key (C-x by default) is pressed.
-# The next key combo is passed as its first argument. Passed via stdin are the
-# images to act upon, one path per line: all marked images, if in thumbnail
-# mode and at least one image has been marked, otherwise the current image.
-# sxiv(1) blocks until this script terminates. It then checks which images
-# have been modified and reloads them.
-
-# The key combo argument has the following form: "[C-][M-][S-]KEY",
-# where C/M/S indicate Ctrl/Meta(Alt)/Shift modifier states and KEY is the X
-# keysym as listed in /usr/include/X11/keysymdef.h without the "XK_" prefix.
-
-while read file; do
- case "$1" in
- "C-c") xclip -selection clipboard -target image/png "$file" ;;
- "C-r") convert -rotate 90 "$file" "$file" ;;
- "C-d") rm "$file" ;;
- esac
-done
diff --git a/home/.config/zsh/.zprofile b/home/.config/zsh/.zprofile
index 1d02538..bd107d6 100644
--- a/home/.config/zsh/.zprofile
+++ b/home/.config/zsh/.zprofile
@@ -69,7 +69,7 @@ export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quo
# ── Java ──────────────────────────────────────────────────────────────────────
# System AA fonts, GTK L&F, XDG prefs dir, GTK2 for compatibility
export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java -Djdk.gtk.version=2"
-# Fix for non-reparenting WMs (sway, bspwm, dwm, etc.)
+# Fix for non-reparenting WMs (sway, dwm, etc.)
export _JAVA_AWT_WM_NONREPARENTING=1
# ── Miscellaneous ─────────────────────────────────────────────────────────────
diff --git a/home/.config/zsh/.zshrc b/home/.config/zsh/.zshrc
index 4c4cb29..d860826 100644
--- a/home/.config/zsh/.zshrc
+++ b/home/.config/zsh/.zshrc
@@ -138,7 +138,7 @@ autoload -Uz add-zsh-hook
xterm_title_precmd() { print -Pn -- '\e]2;%~\a' }
xterm_title_preexec() { print -Pn -- '\e]2;%~ %# ' && print -n -- "${(q)1}\a" }
-if [[ "$TERM" == (alacritty|st*|screen*|xterm*|rxvt*|tmux*|putty*|konsole*|gnome*) ]]; then
+if [[ "$TERM" == (xterm-ghostty|st*|screen*|xterm*|rxvt*|tmux*|putty*|konsole*|gnome*) ]]; then
add-zsh-hook -Uz precmd xterm_title_precmd
add-zsh-hook -Uz preexec xterm_title_preexec
fi