Add niri startup layout script

This commit is contained in:
2026-02-13 15:40:54 +11:00
parent 3b908a7d9c
commit 1b7ad9651e

View File

@@ -0,0 +1,48 @@
#!/usr/bin/env bash
set -euo pipefail
spawn() {
# Detach; avoid blocking.
( "$@" >/dev/null 2>&1 & )
}
# Give niri a moment to finish bringing up IPC.
for _ in $(seq 1 50); do
niri msg version >/dev/null 2>&1 && break
sleep 0.1
done
# Ensure we start from the leftmost monitor (DP-6 in your layout).
for _ in $(seq 1 6); do
niri msg action focus-monitor-left >/dev/null 2>&1 || true
done
# DP-6 -> workspace 6: 2 kitty terminals
niri msg action focus-workspace 6
spawn kitty --directory "$HOME/organizer"
spawn kitty --directory /etc/nixos
sleep 1
# DP-7 -> workspace 7: 2 firefox windows
niri msg action focus-monitor-right
niri msg action focus-workspace 7
spawn firefox --new-window "https://x.com/"
sleep 1
spawn firefox --new-window "https://www.youtube.com/"
sleep 1
# DP-4 -> workspace 4: firefox with tabs
niri msg action focus-monitor-right
niri msg action focus-workspace 4
spawn firefox \
--new-window "https://gitea.lab.audasmedia.com.au/" \
--new-tab "https://t3.chat/" \
--new-tab "https://grok.com/" \
--new-tab "https://gemini.google.com/"
sleep 1
# DP-5 -> workspace 5: kitty + thunar
niri msg action focus-monitor-right
niri msg action focus-workspace 5
spawn kitty --directory /etc/nixos
spawn thunar "$HOME"