diff --git a/config/ghostty/.config/.alt/ghostty-default/.gitignore b/config/ghostty/.config/.alt/ghostty-default/.gitignore
deleted file mode 100644
index 4039784..0000000
--- a/config/ghostty/.config/.alt/ghostty-default/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-shaders
\ No newline at end of file
diff --git a/config/ghostty/.config/.alt/ghostty-default/cursor-shaders/cursor-smear.glsl b/config/ghostty/.config/.alt/ghostty-default/cursor-shaders/cursor-smear.glsl
deleted file mode 100644
index ca748e0..0000000
--- a/config/ghostty/.config/.alt/ghostty-default/cursor-shaders/cursor-smear.glsl
+++ /dev/null
@@ -1,120 +0,0 @@
-// https://github.com/KroneCorylus/ghostty-shader-playground/blob/main/shaders/cursor_smear.glsl
-
-float getSdfRectangle(in vec2 p, in vec2 xy, in vec2 b)
-{
- vec2 d = abs(p - xy) - b;
- return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0);
-}
-
-// Based on Inigo Quilez's 2D distance functions article: https://iquilezles.org/articles/distfunctions2d/
-// Potencially optimized by eliminating conditionals and loops to enhance performance and reduce branching
-
-float seg(in vec2 p, in vec2 a, in vec2 b, inout float s, float d) {
- vec2 e = b - a;
- vec2 w = p - a;
- vec2 proj = a + e * clamp(dot(w, e) / dot(e, e), 0.0, 1.0);
- float segd = dot(p - proj, p - proj);
- d = min(d, segd);
-
- float c0 = step(0.0, p.y - a.y);
- float c1 = 1.0 - step(0.0, p.y - b.y);
- float c2 = 1.0 - step(0.0, e.x * w.y - e.y * w.x);
- float allCond = c0 * c1 * c2;
- float noneCond = (1.0 - c0) * (1.0 - c1) * (1.0 - c2);
- float flip = mix(1.0, -1.0, step(0.5, allCond + noneCond));
- s *= flip;
- return d;
-}
-
-float getSdfParallelogram(in vec2 p, in vec2 v0, in vec2 v1, in vec2 v2, in vec2 v3) {
- float s = 1.0;
- float d = dot(p - v0, p - v0);
-
- d = seg(p, v0, v3, s, d);
- d = seg(p, v1, v0, s, d);
- d = seg(p, v2, v1, s, d);
- d = seg(p, v3, v2, s, d);
-
- return s * sqrt(d);
-}
-
-vec2 normalize(vec2 value, float isPosition) {
- return (value * 2.0 - (iResolution.xy * isPosition)) / iResolution.y;
-}
-
-float antialising(float distance) {
- return 1. - smoothstep(0., normalize(vec2(2., 2.), 0.).x, distance);
-}
-
-float determineStartVertexFactor(vec2 a, vec2 b) {
- // Conditions using step
- float condition1 = step(b.x, a.x) * step(a.y, b.y); // a.x < b.x && a.y > b.y
- float condition2 = step(a.x, b.x) * step(b.y, a.y); // a.x > b.x && a.y < b.y
-
- // If neither condition is met, return 1 (else case)
- return 1.0 - max(condition1, condition2);
-}
-
-vec2 getRectangleCenter(vec4 rectangle) {
- return vec2(rectangle.x + (rectangle.z / 2.), rectangle.y - (rectangle.w / 2.));
-}
-float ease(float x) {
- return pow(1.0 - x, 3.0);
-}
-vec4 saturate(vec4 color, float factor) {
- float gray = dot(color, vec4(0.299, 0.587, 0.114, 0.)); // luminance
- return mix(vec4(gray), color, factor);
-}
-
-vec4 TRAIL_COLOR = iCurrentCursorColor;
-const float OPACITY = 0.6;
-const float DURATION = 0.3; //IN SECONDS
-
-void mainImage(out vec4 fragColor, in vec2 fragCoord)
-{
-
- #if !defined(WEB)
- fragColor = texture(iChannel0, fragCoord.xy / iResolution.xy);
- #endif
- // Normalization for fragCoord to a space of -1 to 1;
- vec2 vu = normalize(fragCoord, 1.);
- vec2 offsetFactor = vec2(-.5, 0.5);
-
- // Normalization for cursor position and size;
- // cursor xy has the postion in a space of -1 to 1;
- // zw has the width and height
- vec4 currentCursor = vec4(normalize(iCurrentCursor.xy, 1.), normalize(iCurrentCursor.zw, 0.));
- vec4 previousCursor = vec4(normalize(iPreviousCursor.xy, 1.), normalize(iPreviousCursor.zw, 0.));
-
- // When drawing a parellelogram between cursors for the trail i need to determine where to start at the top-left or top-right vertex of the cursor
- float vertexFactor = determineStartVertexFactor(currentCursor.xy, previousCursor.xy);
- float invertedVertexFactor = 1.0 - vertexFactor;
-
- // Set every vertex of my parellogram
- vec2 v0 = vec2(currentCursor.x + currentCursor.z * vertexFactor, currentCursor.y - currentCursor.w);
- vec2 v1 = vec2(currentCursor.x + currentCursor.z * invertedVertexFactor, currentCursor.y);
- vec2 v2 = vec2(previousCursor.x + currentCursor.z * invertedVertexFactor, previousCursor.y);
- vec2 v3 = vec2(previousCursor.x + currentCursor.z * vertexFactor, previousCursor.y - previousCursor.w);
-
- float sdfCurrentCursor = getSdfRectangle(vu, currentCursor.xy - (currentCursor.zw * offsetFactor), currentCursor.zw * 0.5);
- float sdfTrail = getSdfParallelogram(vu, v0, v1, v2, v3);
-
- float progress = clamp((iTime - iTimeCursorChange) / DURATION, 0.0, 1.0);
- float easedProgress = ease(progress);
- // Distance between cursors determine the total length of the parallelogram;
- vec2 centerCC = getRectangleCenter(currentCursor);
- vec2 centerCP = getRectangleCenter(previousCursor);
- float lineLength = distance(centerCC, centerCP);
-
- vec4 newColor = vec4(fragColor);
-
- vec4 trail = TRAIL_COLOR;
- trail = saturate(trail, 2.5);
- // Draw trail
- newColor = mix(newColor, trail, antialising(sdfTrail));
- // Draw current cursor
- newColor = mix(newColor, trail, antialising(sdfCurrentCursor));
- newColor = mix(newColor, fragColor, step(sdfCurrentCursor, 0.));
- // newColor = mix(fragColor, newColor, OPACITY);
- fragColor = mix(fragColor, newColor, step(sdfCurrentCursor, easedProgress * lineLength));
-}
\ No newline at end of file
diff --git a/config/ghostty/.config/.alt/ghostty-niri/config b/config/ghostty/.config/.alt/ghostty-niri/config
deleted file mode 100644
index 9141ce1..0000000
--- a/config/ghostty/.config/.alt/ghostty-niri/config
+++ /dev/null
@@ -1,30 +0,0 @@
-theme = Catppuccin Mocha
-
-background-opacity = 0.95
-background-blur = true
-
-window-padding-x = 10
-window-padding-y = 10
-
-window-width = 100
-window-height = 36
-
-keybind = ctrl+shift+r=reload_config
-
-keybind = ctrl+shift+h=write_screen_file:copy
-keybind = ctrl+shift+j=text:ghostty-capture\n
-keybind = ctrl+enter=unbind
-
-command = exec /bin/zsh
-
-confirm-close-surface = false
-
-font-family = monospace
-font-size = 12
-
-cursor-style = bar
-adjust-cursor-thickness = 3
-
-custom-shader = cursor-shaders/cursor-smear.glsl
-
-quit-after-last-window-closed = false
diff --git a/config/kitty/.config/.alt/kitty-default/Catppuccin-Mocha.conf b/config/kitty/.config/.alt/kitty-default/Catppuccin-Mocha.conf
deleted file mode 100644
index 2533db7..0000000
--- a/config/kitty/.config/.alt/kitty-default/Catppuccin-Mocha.conf
+++ /dev/null
@@ -1,80 +0,0 @@
-# vim:ft=kitty
-
-## name: Catppuccin-Mocha
-## author: Pocco81 (https://github.com/Pocco81)
-## license: MIT
-## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
-## blurb: Soothing pastel theme for the high-spirited!
-
-
-
-# The basic colors
-foreground #CDD6F4
-background #1E1E2E
-selection_foreground #1E1E2E
-selection_background #F5E0DC
-
-# Cursor colors
-cursor #F5E0DC
-cursor_text_color #1E1E2E
-
-# URL underline color when hovering with mouse
-url_color #F5E0DC
-
-# Kitty window border colors
-active_border_color #B4BEFE
-inactive_border_color #6C7086
-bell_border_color #F9E2AF
-
-# OS Window titlebar colors
-wayland_titlebar_color system
-macos_titlebar_color system
-
-# Tab bar colors
-active_tab_foreground #11111B
-active_tab_background #CBA6F7
-inactive_tab_foreground #CDD6F4
-inactive_tab_background #181825
-tab_bar_background #11111B
-
-# Colors for marks (marked text in the terminal)
-mark1_foreground #1E1E2E
-mark1_background #B4BEFE
-mark2_foreground #1E1E2E
-mark2_background #CBA6F7
-mark3_foreground #1E1E2E
-mark3_background #74C7EC
-
-# The 16 terminal colors
-
-# black
-color0 #45475A
-color8 #585B70
-
-# red
-color1 #F38BA8
-color9 #F38BA8
-
-# green
-color2 #A6E3A1
-color10 #A6E3A1
-
-# yellow
-color3 #F9E2AF
-color11 #F9E2AF
-
-# blue
-color4 #89B4FA
-color12 #89B4FA
-
-# magenta
-color5 #F5C2E7
-color13 #F5C2E7
-
-# cyan
-color6 #94E2D5
-color14 #94E2D5
-
-# white
-color7 #BAC2DE
-color15 #A6ADC8
diff --git a/config/kitty/.config/.alt/kitty-niri/kitty.conf b/config/kitty/.config/.alt/kitty-niri/kitty.conf
deleted file mode 100755
index d7ddb18..0000000
--- a/config/kitty/.config/.alt/kitty-niri/kitty.conf
+++ /dev/null
@@ -1,51 +0,0 @@
-allow_remote_control yes
-listen_on unix:/tmp/kitty
-shell_integration enabled
-
-# kitty-scrollback.nvim Kitten alias
-action_alias kitty_scrollback_nvim kitten $HOME/.local/share/nvim/lazy/kitty-scrollback.nvim/python/kitty_scrollback_nvim.py
-# Browse scrollback buffer in nvim
-map kitty_mod+h kitty_scrollback_nvim
-# Browse output of the last shell command in nvim
-map kitty_mod+g kitty_scrollback_nvim --config ksb_builtin_last_cmd_output
-# Show clicked command output in nvim
-mouse_map ctrl+shift+right press ungrabbed combine : mouse_select_command_output : kitty_scrollback_nvim --config ksb_builtin_last_visited_cmd_output
-
-# disable the stupid notification
-confirm_os_window_close 0
-
-# set shell to zsh
-shell /bin/zsh
-
-# hide_window_decorations yes
-window_padding_width 10
-
-background_opacity 0.95
-background_blur 16
-
-font_family monospace
-font_size 12
-
-tab_bar_style powerline
-tab_powerline_style round
-tab_title_template {title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}
-
-map ctrl+up previous_window
-map ctrl+down next_window
-
-cursor_trail 1
-cursor_shape beam
-
-# remember_window_size no
-# initial_window_width 1021
-
-include Catppuccin-Mocha.conf
-
-map ctrl+plus change_font_size all +1
-map ctrl+kp_add change_font_size all +1
-
-map ctrl+minus change_font_size all -1
-map ctrl+kp_subtract change_font_size all -1
-
-map ctrl+0 change_font_size all 0
-map ctrl+kp_0 change_font_size all 0
diff --git a/config/scripts/.local/scripts/config-switch b/config/scripts/.local/scripts/config-switch
deleted file mode 100755
index 5a50211..0000000
--- a/config/scripts/.local/scripts/config-switch
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-# Description:
-# Updates configurations of several apps according to the current (or given as parameter) desktop environment.
-
-desktop=${1:-${XDG_CURRENT_DESKTOP:-default}}
-
-alt() {
- local item profile
- item=$1
- profile=$2
- if [[ -e $HOME/.config/.alt/${item}-${profile} ]]; then
- ln -svfT ".alt/${item}-${profile}" "$HOME/.config/$item"
- elif [[ -e $HOME/.config/.alt/${item}-default ]]; then
- ln -svfT ".alt/${item}-default" "$HOME/.config/$item"
- fi
-}
-
-for item in "kitty" "wlogout" "ghostty"; do
- if [[ ! -L $HOME/.config/$item ]] && [[ -e $HOME/.config/$item ]]; then
- echo "Error: $HOME/.config/$item exists and is not a symlink." >&2
- exit 1
- fi
-
- case "$desktop" in
- niri | GNOME)
- alt "$item" niri
- ;;
- *)
- alt "$item" default
- ;;
- esac
-done
diff --git a/config/wlogout/.config/.alt/wlogout-default/icons/hibernate.svg b/config/wlogout/.config/.alt/wlogout-default/icons/hibernate.svg
deleted file mode 100644
index 4d5010f..0000000
--- a/config/wlogout/.config/.alt/wlogout-default/icons/hibernate.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/config/wlogout/.config/.alt/wlogout-default/icons/lock.svg b/config/wlogout/.config/.alt/wlogout-default/icons/lock.svg
deleted file mode 100644
index a7832ba..0000000
--- a/config/wlogout/.config/.alt/wlogout-default/icons/lock.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/config/wlogout/.config/.alt/wlogout-default/icons/logout.svg b/config/wlogout/.config/.alt/wlogout-default/icons/logout.svg
deleted file mode 100644
index 4fac745..0000000
--- a/config/wlogout/.config/.alt/wlogout-default/icons/logout.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/config/wlogout/.config/.alt/wlogout-default/icons/reboot.svg b/config/wlogout/.config/.alt/wlogout-default/icons/reboot.svg
deleted file mode 100644
index d8e6844..0000000
--- a/config/wlogout/.config/.alt/wlogout-default/icons/reboot.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/config/wlogout/.config/.alt/wlogout-default/icons/shutdown.svg b/config/wlogout/.config/.alt/wlogout-default/icons/shutdown.svg
deleted file mode 100644
index abb804d..0000000
--- a/config/wlogout/.config/.alt/wlogout-default/icons/shutdown.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/config/wlogout/.config/.alt/wlogout-default/icons/suspend.svg b/config/wlogout/.config/.alt/wlogout-default/icons/suspend.svg
deleted file mode 100644
index 5ee54b1..0000000
--- a/config/wlogout/.config/.alt/wlogout-default/icons/suspend.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/config/wlogout/.config/.alt/wlogout-niri/apply-color b/config/wlogout/.config/.alt/wlogout-niri/apply-color
deleted file mode 100755
index 667d85d..0000000
--- a/config/wlogout/.config/.alt/wlogout-niri/apply-color
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-[ -f "$HOME/.local/snippets/apply-color-helper" ] || {
- echo "Missing helper script: $HOME/.local/snippets/apply-color-helper"
- exit 1
-}
-. "$HOME/.local/snippets/apply-color-helper"
-
-for file in "$path"/icons/*.svg; do
- [ -f "$file" ] || continue
- sed -i -E "s/(fill=\"#)([0-9A-Fa-f]{6})(\")/\1${colorHex}\3/" "$file" || {
- log_error "Failed to edit ${file}"
- exit 1
- }
-done
-
-file="$path"/style.css
-
-sed -i -E "s/(border-color:\s*#)([0-9A-Fa-f]{6})(;)/\1${colorHex}\3/" "$file" || {
- log_error "Failed to edit ${file}"
- exit 1
-}
-
-log_success "wlogout (niri version)"
diff --git a/config/wlogout/.config/.alt/wlogout-niri/layout b/config/wlogout/.config/.alt/wlogout-niri/layout
deleted file mode 100644
index afa51ce..0000000
--- a/config/wlogout/.config/.alt/wlogout-niri/layout
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "label": "lock",
- "action": "hyprlock &",
- "text": "Lock",
- "keybind": "l"
-}
-{
- "label": "hibernate",
- "action": "systemctl hibernate",
- "text": "Hibernate",
- "keybind": "h"
-}
-{
- "label": "logout",
- "action": "niri msg action quit",
- "text": "Logout",
- "keybind": "e"
-}
-{
- "label": "shutdown",
- "action": "systemctl poweroff",
- "text": "Shutdown",
- "keybind": "s"
-}
-{
- "label": "suspend",
- "action": "sleep 0.1 && systemctl suspend",
- "text": "Suspend",
- "keybind": "u"
-}
-{
- "label": "reboot",
- "action": "systemctl reboot",
- "text": "Reboot",
- "keybind": "r"
-}
\ No newline at end of file
diff --git a/config/wlogout/.config/.alt/wlogout-niri/style.css b/config/wlogout/.config/.alt/wlogout-niri/style.css
deleted file mode 100644
index 0023c9d..0000000
--- a/config/wlogout/.config/.alt/wlogout-niri/style.css
+++ /dev/null
@@ -1,120 +0,0 @@
-* {
- background-image: none;
- font-size: 24px;
- font-family: 'Sour Gummy Light';
-}
-
-window {
- background-color: rgba(30, 30, 46, 0.5);
-}
-
-button {
- color: #cdd6f4;
- border-radius: 0;
- outline-style: none;
- background-color: alpha(#1e1e2e, 1);
- border: none;
- border-width: 0px;
- border-radius: 0px;
- border-color: #89b4fa;
- box-shadow: none;
- text-shadow: none;
- text-decoration-color: #cdd6f4;
- background-repeat: no-repeat;
- background-position: center;
- background-size: 20%;
- animation: gradient_f 20s ease-in infinite;
-}
-
-button:focus,
-button:active,
-button:hover {
- background-size: 20%;
- background-color: alpha(#1c1c2c, 1);
- animation: gradient_f 20s ease-in infinite;
- transition: all 0.3s cubic-bezier(0.55, 0, 0.28, 1.682);
-}
-
-#lock {
- background-image: image(url('./icons/lock.svg'));
- border-radius: 32px 0 0 0;
-}
-
-#logout {
- background-image: image(url('./icons/logout.svg'));
-}
-
-#suspend {
- background-image: image(url('./icons/suspend.svg'));
- border-radius: 0 32px 0 0;
-}
-
-#hibernate {
- background-image: image(url('./icons/hibernate.svg'));
- border-radius: 0 0 0 32px;
-}
-
-#shutdown {
- background-image: image(url('./icons/shutdown.svg'));
-}
-
-#reboot {
- background-image: image(url('./icons/reboot.svg'));
- border-radius: 0 0 32px 0;
-}
-
-#lock:hover {
- border-radius: 30px 0 0 0;
- margin: -30px 0 0 -30px;
-}
-
-#logout:hover {
- margin: -30px 0 0 0;
-}
-
-#suspend:hover {
- border-radius: 0 30px 0 0;
- margin: -30px -30px 0 0;
-}
-
-#hibernate:hover {
- border-radius: 0 0 0 30px;
- margin: 0 0 -30 -30px;
-}
-
-#shutdown:hover {
- margin: 0 0 -30px 0;
-}
-
-#reboot:hover {
- border-radius: 0 0 30px 0;
- margin: 0 -30px -30px 0;
-}
-
-#lock:focus {
- border-radius: 60px 0 0 0;
- margin: -60px 0 0 -60px;
-}
-
-#logout:focus {
- margin: -60px 0 0 0;
-}
-
-#suspend:focus {
- border-radius: 0 60px 0 0;
- margin: -60px -60px 0 0;
-}
-
-#hibernate:focus {
- border-radius: 0 0 0 60px;
- margin: 0 0 -60 -60px;
-}
-
-#shutdown:focus {
- margin: 0 0 -60px 0;
-}
-
-#reboot:focus {
- border-radius: 0 0 60px 0;
- margin: 0 -60px -60px 0;
-}