diff --git a/config/colorschemes/active/hyprlock.conf b/config/colorschemes/active/hyprlock.conf
new file mode 100644
index 0000000..dfe3bb2
--- /dev/null
+++ b/config/colorschemes/active/hyprlock.conf
@@ -0,0 +1,11 @@
+# do not edit; generated by scwrypts
+# theme : halloween
+$background = rgb(000505)
+$foreground = rgb(d0f0f0)
+$accent = rgb(ffc106)
+$accent_alt = rgb(5c00be)
+$verifying = rgb(ffe082)
+$wrong = rgb(a3ff90)
+$keypress = rgb(bb94e6)
+$clock = rgb(d0f0f0)
+$date = rgb(7e707e)
diff --git a/config/colorschemes/active/hyprtoolkit.conf b/config/colorschemes/active/hyprtoolkit.conf
new file mode 100644
index 0000000..efc7fee
--- /dev/null
+++ b/config/colorschemes/active/hyprtoolkit.conf
@@ -0,0 +1,15 @@
+# do not edit; generated by scwrypts
+# theme : halloween
+background = rgb(ff6f00)
+base = rgb(ff6f00)
+alternate_base = rgb(000505)
+text = rgb(000505)
+bright_text = rgb(000505)
+accent = rgb(a066dd)
+accent_secondary = rgb(8b41d5)
+
+font_family = Monaspace Argon
+font_family_monospace = Monaspace Argon
+
+rounding_large = 0
+rounding_small = 0
diff --git a/config/user/alacritty/theme.toml b/config/user/alacritty/theme.toml
index 122b18e..240d24f 100644
--- a/config/user/alacritty/theme.toml
+++ b/config/user/alacritty/theme.toml
@@ -1,7 +1,7 @@
# do not edit; generated by scwrypts
-# theme : main
+# theme : halloween
[colors.cursor]
-cursor = '0xeeddff'
+cursor = '0xefe5f9'
[colors.primary]
background = '0x000505'
@@ -9,20 +9,20 @@ foreground = '0xd0f0f0'
[colors.normal]
black = '0x000505'
-red = '0xc80064'
-green = '0x11bb98'
-yellow = '0x6911aa'
-blue = '0x2262bb'
-magenta = '0x9922dd'
-cyan = '0x22ccba'
+red = '0x00f900'
+green = '0xff6f00'
+yellow = '0x8b41d5'
+blue = '0xac0041'
+magenta = '0x750dcc'
+cyan = '0x00f900'
white = '0xd0f0f0'
[colors.bright]
black = '0x424253'
-red = '0xff44ff'
-green = '0x44dddd'
-yellow = '0xaa44ff'
-blue = '0x229df6'
-magenta = '0xdd88ff'
-cyan = '0x88ffff'
+red = '0xa3ff90'
+green = '0xffe082'
+yellow = '0xbb94e6'
+blue = '0xff283e'
+magenta = '0xd6bff0'
+cyan = '0xcbffbe'
white = '0x7e707e'
diff --git a/config/user/flameshot/flameshot.ini b/config/user/flameshot/flameshot.ini
index 445925e..3cd8940 100644
--- a/config/user/flameshot/flameshot.ini
+++ b/config/user/flameshot/flameshot.ini
@@ -1,6 +1,6 @@
[General]
contrastOpacity=188
-contrastUiColor=#11bb98
+contrastUiColor=#ffca28
disabledTrayIcon=false
drawColor=#aa44ff
drawFontSize=24
@@ -11,11 +11,11 @@ saveAsFileExtension=png
savePath=/home/w0ryn/Pictures/Screenshots
showSidePanelButton=false
showStartupLaunchMessage=false
-uiColor=#490099
+uiColor=#6b04c7
undoLimit=100
uploadClientSecret=
useX11LegacyScreenshot=true
-userColors=picker, #aa44ff, #6911aa, #220069, #44dddd, #00aa79, #006922, #c80064, #ff44ff, #d0f0f0
+userColors=picker, #bb94e6, #750dcc, #4e00b8, #ffe082, #ffc106, #ff8f00, #00f900, #a3ff90, #d0f0f0
[Shortcuts]
TYPE_ARROW=E
diff --git a/config/user/gtk-3.0/gtk.css b/config/user/gtk-3.0/gtk.css
new file mode 100644
index 0000000..db385f6
--- /dev/null
+++ b/config/user/gtk-3.0/gtk.css
@@ -0,0 +1,60 @@
+/* do not edit; generated by scwrypts
+ * theme : halloween
+ */
+
+@define-color accent_color #ff6f00;
+@define-color accent_bg_color #ffc106;
+@define-color accent_fg_color #000505;
+
+@define-color destructive_color #00f900;
+@define-color destructive_bg_color #00f900;
+@define-color destructive_fg_color #d0f0f0;
+
+@define-color success_color #ffe082;
+@define-color success_bg_color #ff6f00;
+@define-color success_fg_color #d0f0f0;
+
+@define-color warning_color #bb94e6;
+@define-color warning_bg_color #8b41d5;
+@define-color warning_fg_color #000505;
+
+@define-color error_color #00f900;
+@define-color error_bg_color #00f900;
+@define-color error_fg_color #d0f0f0;
+
+@define-color window_bg_color #ff6f00;
+@define-color window_fg_color #d0f0f0;
+
+@define-color view_bg_color #000505;
+@define-color view_fg_color #d0f0f0;
+
+@define-color headerbar_bg_color #5c00be;
+@define-color headerbar_fg_color #d0f0f0;
+@define-color headerbar_border_color #d0f0f0;
+@define-color headerbar_backdrop_color @window_bg_color;
+@define-color headerbar_shade_color rgba(0, 0, 0, 0.36);
+@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9);
+
+@define-color sidebar_bg_color @window_bg_color;
+@define-color sidebar_fg_color @window_fg_color;
+@define-color sidebar_backdrop_color @window_bg_color;
+@define-color sidebar_shade_color rgba(0, 0, 0, 0.25);
+@define-color secondary_sidebar_bg_color @view_bg_color;
+@define-color secondary_sidebar_fg_color @view_fg_color;
+
+@define-color card_bg_color alpha(@window_fg_color, 0.05);
+@define-color card_fg_color @window_fg_color;
+@define-color card_shade_color rgba(0, 0, 0, 0.36);
+
+@define-color dialog_bg_color @window_bg_color;
+@define-color dialog_fg_color @window_fg_color;
+
+@define-color popover_bg_color @window_bg_color;
+@define-color popover_fg_color @window_fg_color;
+@define-color popover_shade_color rgba(0, 0, 0, 0.25);
+
+@define-color thumbnail_bg_color @window_bg_color;
+@define-color thumbnail_fg_color @window_fg_color;
+
+@define-color shade_color rgba(0, 0, 0, 0.36);
+@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5);
diff --git a/config/user/gtk-3.0/settings.ini b/config/user/gtk-3.0/settings.ini
new file mode 100644
index 0000000..3b19889
--- /dev/null
+++ b/config/user/gtk-3.0/settings.ini
@@ -0,0 +1,18 @@
+[Settings]
+gtk-theme-name=adw-gtk3-dark
+gtk-icon-theme-name=Adwaita
+gtk-font-name=Cantarell 11
+gtk-cursor-theme-name=Breeze_Hacked
+gtk-cursor-theme-size=0
+gtk-toolbar-style=GTK_TOOLBAR_BOTH
+gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
+gtk-button-images=1
+gtk-menu-images=1
+gtk-enable-event-sounds=1
+gtk-enable-input-feedback-sounds=1
+gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle=hintfull
+gtk-application-prefer-dark-theme=1
+gtk-xft-rgba=none
+gtk-application-prefer-dark-theme=1
diff --git a/config/user/gtk-4.0/gtk.css b/config/user/gtk-4.0/gtk.css
new file mode 100644
index 0000000..db385f6
--- /dev/null
+++ b/config/user/gtk-4.0/gtk.css
@@ -0,0 +1,60 @@
+/* do not edit; generated by scwrypts
+ * theme : halloween
+ */
+
+@define-color accent_color #ff6f00;
+@define-color accent_bg_color #ffc106;
+@define-color accent_fg_color #000505;
+
+@define-color destructive_color #00f900;
+@define-color destructive_bg_color #00f900;
+@define-color destructive_fg_color #d0f0f0;
+
+@define-color success_color #ffe082;
+@define-color success_bg_color #ff6f00;
+@define-color success_fg_color #d0f0f0;
+
+@define-color warning_color #bb94e6;
+@define-color warning_bg_color #8b41d5;
+@define-color warning_fg_color #000505;
+
+@define-color error_color #00f900;
+@define-color error_bg_color #00f900;
+@define-color error_fg_color #d0f0f0;
+
+@define-color window_bg_color #ff6f00;
+@define-color window_fg_color #d0f0f0;
+
+@define-color view_bg_color #000505;
+@define-color view_fg_color #d0f0f0;
+
+@define-color headerbar_bg_color #5c00be;
+@define-color headerbar_fg_color #d0f0f0;
+@define-color headerbar_border_color #d0f0f0;
+@define-color headerbar_backdrop_color @window_bg_color;
+@define-color headerbar_shade_color rgba(0, 0, 0, 0.36);
+@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.9);
+
+@define-color sidebar_bg_color @window_bg_color;
+@define-color sidebar_fg_color @window_fg_color;
+@define-color sidebar_backdrop_color @window_bg_color;
+@define-color sidebar_shade_color rgba(0, 0, 0, 0.25);
+@define-color secondary_sidebar_bg_color @view_bg_color;
+@define-color secondary_sidebar_fg_color @view_fg_color;
+
+@define-color card_bg_color alpha(@window_fg_color, 0.05);
+@define-color card_fg_color @window_fg_color;
+@define-color card_shade_color rgba(0, 0, 0, 0.36);
+
+@define-color dialog_bg_color @window_bg_color;
+@define-color dialog_fg_color @window_fg_color;
+
+@define-color popover_bg_color @window_bg_color;
+@define-color popover_fg_color @window_fg_color;
+@define-color popover_shade_color rgba(0, 0, 0, 0.25);
+
+@define-color thumbnail_bg_color @window_bg_color;
+@define-color thumbnail_fg_color @window_fg_color;
+
+@define-color shade_color rgba(0, 0, 0, 0.36);
+@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5);
diff --git a/config/user/hypr/hyprland.lua b/config/user/hypr/hyprland.lua
new file mode 100644
index 0000000..cc790ec
--- /dev/null
+++ b/config/user/hypr/hyprland.lua
@@ -0,0 +1,4 @@
+local DOTWRYN = os.getenv("DOTWRYN")
+assert(DOTWRYN ~= nil and DOTWRYN ~= "", "DOTWRYN must be set for hyprland to start (have you loaded ~/.zshrc?)")
+
+dofile(DOTWRYN .. "/config/desktop/hyprland/config.lua")
diff --git a/config/user/hypr/hyprlock.conf b/config/user/hypr/hyprlock.conf
new file mode 100644
index 0000000..50dac2e
--- /dev/null
+++ b/config/user/hypr/hyprlock.conf
@@ -0,0 +1,62 @@
+source = $DOTWRYN/config/colorschemes/active/hyprlock.conf
+
+$font = Monaspace Argon
+
+general {
+ hide_cursor = true
+ ignore_empty_input = true
+}
+
+background {
+ path = screenshot
+ blur_passes = 3
+ blur_size = 11
+ brightness = 0.6
+ color = $background
+}
+
+label {
+ text = $TIME12
+ color = $clock
+ font_size = 96
+ font_family = $font
+ position = 0, 220
+ halign = center
+ valign = center
+}
+
+label {
+ text = cmd[update:60000] date +'%A %B %d, %Y'
+ color = $date
+ font_size = 22
+ font_family = $font
+ position = 0, 110
+ halign = center
+ valign = center
+}
+
+input-field {
+ size = 420, 64
+ outline_thickness = 4
+ rounding = 0
+
+ outer_color = $accent
+ inner_color = $background
+ font_color = $foreground
+ check_color = $verifying
+ fail_color = $wrong
+ capslock_color = $keypress
+
+ font_family = $font
+ placeholder_text = $USER
+ fail_text = $FAIL ($ATTEMPTS)
+
+ dots_size = 0.25
+ dots_spacing = 0.3
+ dots_rounding = 0
+ fade_on_empty = false
+
+ position = 0, -40
+ halign = center
+ valign = center
+}
diff --git a/config/user/hypr/hyprpaper.conf b/config/user/hypr/hyprpaper.conf
new file mode 100644
index 0000000..1039a00
--- /dev/null
+++ b/config/user/hypr/hyprpaper.conf
@@ -0,0 +1,2 @@
+ipc = true
+splash = false
diff --git a/config/user/kitty/theme.conf b/config/user/kitty/theme.conf
index 634caf5..330b335 100644
--- a/config/user/kitty/theme.conf
+++ b/config/user/kitty/theme.conf
@@ -1,22 +1,22 @@
# do not edit; generated by scwrypts
-# theme : main
+# theme : halloween
color0 #000505
-color1 #c80064
-color2 #11bb98
-color3 #6911aa
-color4 #2262bb
-color5 #9922dd
-color6 #22ccba
+color1 #00f900
+color2 #ff6f00
+color3 #8b41d5
+color4 #ac0041
+color5 #750dcc
+color6 #00f900
color7 #d0f0f0
color8 #424253
-color9 #ff44ff
-color10 #44dddd
-color11 #aa44ff
-color12 #229df6
-color13 #dd88ff
-color14 #88ffff
+color9 #a3ff90
+color10 #ffe082
+color11 #bb94e6
+color12 #ff283e
+color13 #d6bff0
+color14 #cbffbe
color15 #7e707e
-cursor #eeddff
+cursor #efe5f9
background #000505
foreground #d0f0f0
selection_background #
diff --git a/config/user/polybar/theme.ini b/config/user/polybar/theme.ini
index 0356788..5101725 100644
--- a/config/user/polybar/theme.ini
+++ b/config/user/polybar/theme.ini
@@ -1,23 +1,23 @@
# do not edit; generated by scwrypts
-# theme : main
+# theme : halloween
[colors]
background = #000505
foreground = #d0f0f0
-background-alt = #6911aa
+background-alt = #8b41d5
foreground-alt = #d0f0f0
-primary = #6911aa
-secondary = #11bb98
-alert = #c80064
+primary = #8b41d5
+secondary = #ff6f00
+alert = #00f900
disabled = #424253
-primary-gradient-0 = #420069
-primary-gradient-1 = #490099
-primary-gradient-2 = #6911aa
-primary-gradient-3 = #8811cc
-primary-gradient-4 = #9922dd
+primary-gradient-0 = #5c00be
+primary-gradient-1 = #6b04c7
+primary-gradient-2 = #750dcc
+primary-gradient-3 = #8b41d5
+primary-gradient-4 = #a066dd
-secondary-gradient-0 = #006942
-secondary-gradient-1 = #009949
-secondary-gradient-2 = #00aa79
-secondary-gradient-3 = #11bb98
-secondary-gradient-4 = #22ccba
+secondary-gradient-0 = #ffa000
+secondary-gradient-1 = #ffb300
+secondary-gradient-2 = #ffc106
+secondary-gradient-3 = #ffca28
+secondary-gradient-4 = #ffd54f
diff --git a/config/user/quickshell/colors.json b/config/user/quickshell/colors.json
new file mode 100644
index 0000000..786c6a9
--- /dev/null
+++ b/config/user/quickshell/colors.json
@@ -0,0 +1,19 @@
+{
+ "theme" : "halloween",
+ "background" : "#000505",
+ "foreground" : "#d0f0f0",
+ "backgroundAlt" : "#8b41d5",
+ "foregroundAlt" : "#d0f0f0",
+ "primary" : "#8b41d5",
+ "secondary" : "#ff6f00",
+ "alert" : "#00f900",
+ "disabled" : "#424253",
+
+ "secondaryGradient" : [
+ "#ffa000",
+ "#ffb300",
+ "#ffc106",
+ "#ffca28",
+ "#ffd54f"
+ ]
+}
diff --git a/config/user/systemd/user/hyprland-session.target b/config/user/systemd/user/hyprland-session.target
new file mode 100644
index 0000000..ba4faa6
--- /dev/null
+++ b/config/user/systemd/user/hyprland-session.target
@@ -0,0 +1,5 @@
+[Unit]
+Description=hyprland session
+BindsTo=graphical-session.target
+Wants=graphical-session-pre.target
+After=graphical-session-pre.target
diff --git a/config/user/xdg-desktop-portal/hyprland-portals.conf b/config/user/xdg-desktop-portal/hyprland-portals.conf
new file mode 100644
index 0000000..b0ce21b
--- /dev/null
+++ b/config/user/xdg-desktop-portal/hyprland-portals.conf
@@ -0,0 +1,2 @@
+[preferred]
+default=hyprland;gtk