diff --git a/tree/.config/hypr/hyprland.conf.tpl b/tree/.config/hypr/hyprland.conf.tpl
index 151a78c..c492a28 100644
--- a/tree/.config/hypr/hyprland.conf.tpl
+++ b/tree/.config/hypr/hyprland.conf.tpl
@@ -120,6 +120,56 @@ windowrule=nofocus,title:Volume Indicator
windowrule=float,title:Jitsi Meet
windowrule=move 100%-375 75,title:Jitsi Meet
+windowrule=workspace 1,title:WORKSPACE 1
+windowrule=workspace 2,title:WORKSPACE 2
+windowrule=workspace 3,title:WORKSPACE 3
+windowrule=workspace 4,title:WORKSPACE 4
+windowrule=workspace 5,title:WORKSPACE 5
+windowrule=workspace 6,title:WORKSPACE 6
+windowrule=workspace 7,title:WORKSPACE 7
+windowrule=workspace 8,title:WORKSPACE 8
+windowrule=workspace 9,title:WORKSPACE 9
+windowrule=workspace 10,title:WORKSPACE 10
+windowrule=workspace 11,title:WORKSPACE 11
+windowrule=workspace 12,title:WORKSPACE 12
+windowrule=workspace 13,title:WORKSPACE 13
+windowrule=workspace 14,title:WORKSPACE 14
+windowrule=workspace 15,title:WORKSPACE 15
+windowrule=workspace 16,title:WORKSPACE 16
+windowrule=float,title:WORKSPACE 1
+windowrule=float,title:WORKSPACE 2
+windowrule=float,title:WORKSPACE 3
+windowrule=float,title:WORKSPACE 4
+windowrule=float,title:WORKSPACE 5
+windowrule=float,title:WORKSPACE 6
+windowrule=float,title:WORKSPACE 7
+windowrule=float,title:WORKSPACE 8
+windowrule=float,title:WORKSPACE 9
+windowrule=float,title:WORKSPACE 10
+windowrule=float,title:WORKSPACE 11
+windowrule=float,title:WORKSPACE 12
+windowrule=float,title:WORKSPACE 13
+windowrule=float,title:WORKSPACE 14
+windowrule=float,title:WORKSPACE 15
+windowrule=float,title:WORKSPACE 16
+windowrule=animation slide,title:WORKSPACE 1
+windowrule=animation slide,title:WORKSPACE 2
+windowrule=animation slide,title:WORKSPACE 3
+windowrule=animation slide,title:WORKSPACE 4
+windowrule=animation slide,title:WORKSPACE 5
+windowrule=animation slide,title:WORKSPACE 6
+windowrule=animation slide,title:WORKSPACE 7
+windowrule=animation slide,title:WORKSPACE 8
+windowrule=animation slide,title:WORKSPACE 9
+windowrule=animation slide,title:WORKSPACE 10
+windowrule=animation slide,title:WORKSPACE 11
+windowrule=animation slide,title:WORKSPACE 12
+windowrule=animation slide,title:WORKSPACE 13
+windowrule=animation slide,title:WORKSPACE 14
+windowrule=animation slide,title:WORKSPACE 15
+windowrule=animation slide,title:WORKSPACE 16
+
+
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
$mainMod = SUPER
@@ -194,7 +244,7 @@ bindm = $mainMod, mouse:273, resizewindow
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor =, preferred, auto, auto
{% if hostname == "sputnik" %}
-monitor = desc:Microstep MSI MAG342CQR DB6H262101804, 3440x1440@144.00000, auto, auto
+monitor = desc:Microstep MSI MAG342CQR DB6H262101804, 3440x1440@100.00000, auto, auto
{% end %}
{% if hostname == "buran" %}
monitor = eDP-1, preferred, 3072x380, 1.8
diff --git a/tree/.config/hypr/hyprlock.conf.tpl b/tree/.config/hypr/hyprlock.conf.tpl
new file mode 100644
index 0000000..660a3b8
--- /dev/null
+++ b/tree/.config/hypr/hyprlock.conf.tpl
@@ -0,0 +1,137 @@
+general {
+ grace = 0
+ immediate_render = true
+}
+
+background {
+ monitor =
+
+{% if hostname == "sputnik" %}
+ color = rgba(00000000)
+{% else %}
+ path = ~/.config/wallpapers/6000x3376/akira.jpg
+{% end %}
+}
+
+input-field {
+ monitor =
+ size = 300, 75
+ outline_thickness = 3
+ dots_size = 0.33 # Scale of input-field height, 0.2 - 0.8
+ dots_spacing = 0.15 # Scale of dots' absolute size, 0.0 - 1.0
+ dots_center = false
+ dots_rounding = -2 # -1 default circle, -2 follow input-field rounding
+ outer_color = rgb(f65d76) # akira pink
+ inner_color = rgb(151515)
+ font_color = rgb(e0c1c1)
+ fade_on_empty = false
+ fade_timeout = 1000 # Milliseconds before fade_on_empty is triggered.
+ placeholder_text = PASS_ # Text rendered in the input box when it's empty.
+ hide_input = false
+ rounding = -1 # -1 means complete rounding (circle/oval)
+ check_color = rgb(204, 136, 34)
+ fail_color = rgb(204, 34, 34) # if authentication failed, changes outer_color and fail message color
+ fail_text = ERR__ # can be set to empty
+ fail_timeout = 2000 # milliseconds before fail_text and fail_color disappears
+ fail_transition = 300 # transition time in ms between normal outer_color and fail_color
+ capslock_color = -1
+ numlock_color = -1
+ bothlock_color = -1 # when both locks are active. -1 means don't change outer color (same for above)
+ invert_numlock = false # change color if numlock is off
+ swap_font_color = false
+
+ position = 0, -210
+ halign = center
+ valign = center
+
+ shadow_passes = 3
+ shadow_size = 10
+ shadow_boost = 1.2
+}
+
+image {
+ monitor =
+ path = ~/.config/wallpapers/ferris-stamp.png
+ rounding = 0
+ size = 300
+ position = 0, 0
+ halign = center
+ valign = center
+ border_size = 0
+
+ shadow_passes = 3
+ shadow_size = 10
+ shadow_boost = 1.2
+}
+
+label {
+ monitor =
+ text = $TIME
+ text_align = left
+ color = rgba(ffffff69)
+ font_size = 160
+ font_family = Noto Sans
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, -160
+ halign = center
+ valign = top
+
+ shadow_passes = 1
+ shadow_size = 10
+ shadow_boost = 2.0
+}
+
+label {
+ monitor =
+ text = $LAYOUT
+ text_align = right
+ color = rgba(ffffffbb)
+ font_size = 20
+ font_family = Noto Sans
+ rotate = 0 # degrees, counter-clockwise
+
+ position = -12, -12
+ halign = right
+ valign = top
+
+ shadow_passes = 1
+ shadow_size = 10
+ shadow_boost = 2.0
+}
+
+label {
+ monitor =
+ text = GREET_ $user
+ text_align = center
+ color = rgba(200, 200, 200, 1.0)
+ font_size = 25
+ font_family = Noto Sans
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 210
+ halign = center
+ valign = center
+
+ shadow_passes = 1
+ shadow_size = 2
+ shadow_boost = 2.0
+}
+
+label {
+ monitor =
+ text = $ATTEMPTS[0]x $FAIL
+ text_align = center
+ color = rgba(200, 200, 200, 1.0)
+ font_size = 28
+ font_family = Noto Sans
+ rotate = 0 # degrees, counter-clockwise
+
+ position = 0, 160
+ halign = center
+ valign = bottom
+
+ shadow_passes = 1
+ shadow_size = 3
+ shadow_boost = 2.0
+}
diff --git a/tree/.config/swayidle/config.tpl b/tree/.config/swayidle/config.tpl
index 3241d14..1c8f9a3 100644
--- a/tree/.config/swayidle/config.tpl
+++ b/tree/.config/swayidle/config.tpl
@@ -1,14 +1,20 @@
+{% if hostname == "sputnik" %}
+lock '$HOME/.local/bin/screenlock-video'
+{% elif hostname == "buran" %}
+lock 'hyprlock'
+{% else %}
lock '$HOME/.local/bin/screenlock'
+{% end %}
before-sleep 'loginctl lock-session'
-{% if hostname == "buran" %}
+{% if hostname == "sputnik" %}
+timeout 1770 'notify-send "Locking in 30s"'
+timeout 1800 'loginctl lock-session'
+{% else %}
timeout 530 'notify-send "Locking in 30s"'
timeout 600 'loginctl lock-session'
-timeout 610 'niri msg action power-off-monitors'
{% end %}
-{% if hostname == "sputnik" %}
-timeout 5030 'notify-send "Locking in 30s"'
-timeout 6000 'loginctl lock-session'
-timeout 6010 'niri msg action power-off-monitors'
+{% if hostname == "buran" %}
+timeout 660 'niri msg action power-off-monitors'
{% end %}
diff --git a/tree/.config/wallpapers/6000x3376/akira.jpg b/tree/.config/wallpapers/6000x3376/akira.jpg
new file mode 100644
index 0000000..989c986
Binary files /dev/null and b/tree/.config/wallpapers/6000x3376/akira.jpg differ
diff --git a/tree/.local/bin/screenlock-video b/tree/.local/bin/screenlock-video
new file mode 100755
index 0000000..44172a7
--- /dev/null
+++ b/tree/.local/bin/screenlock-video
@@ -0,0 +1,26 @@
+#!/usr/bin/fish
+
+# Run hyprlock and spawn fullscreen video windows to be shown behind the lockscreen
+
+set LOCKPROG hyprlock
+
+set video ~/hämtningar/video-screensavers/4k/comp_GMT329_117NC_401C_1037_IRELAND_TO_ASIA_v48_SDR_PS_FINAL_20180725_F0F6300_SDR_4K_HEVC.mov
+
+
+# check if lock program is running
+if ps -e | grep " $LOCKPROG\$"
+ echo "$LOCKPROG is already running"
+ exit 1
+end
+
+# Spawn an mpv instance for each monitor
+for workspace in (hyprctl -j monitors | jq '.[] | .activeWorkspace.id')
+ # Thi "WORKSPACE n" title is read by hyprland to position the window correctly
+ mpv --fs --panscan=1.0 --title="WORKSPACE $workspace" $video &
+end
+
+$LOCKPROG
+
+for pid in (jobs -p | tail -n +1)
+ kill $pid
+end