From 54566b220c4310e7887cf7543053cee5e40a329a Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Sun, 8 Feb 2026 21:34:07 -0600 Subject: feat(archsetup): add slack with Wayland/DWM conditional Add slack-desktop-wayland for Hyprland, slack-desktop for DWM. Update Claude startup prompts, fix Hyprland portal/waybar startup order, add signal-desktop Wayland .desktop override. --- archsetup | 5 +++++ dotfiles/common/.bashrc.d/aliases.sh | 2 +- .../common/.config/qalculate/qalculate-gtk.cfg | 24 ++++++++++++++++++++++ dotfiles/common/.local/bin/ai-assistants | 2 +- dotfiles/common/.local/bin/aix | 8 ++++---- dotfiles/common/.zshrc.d/aliases.sh | 2 +- dotfiles/hyprland/.config/hypr/hyprland.conf | 13 ++++++------ dotfiles/hyprland/.config/waypaper/config.ini | 6 +++--- .../share/applications/signal-desktop.desktop | 12 +++++++++++ 9 files changed, 58 insertions(+), 16 deletions(-) create mode 100644 dotfiles/hyprland/.local/share/applications/signal-desktop.desktop diff --git a/archsetup b/archsetup index 13afbe7..221cf6b 100755 --- a/archsetup +++ b/archsetup @@ -1890,6 +1890,11 @@ supplemental_software() { pacman_install ranger # terminal file manager (X11, ueberzug) pacman_install rclone # syncs files from gdrive, s3, dropbox, etc. pacman_install signal-desktop # secure messenger + if [[ "$desktop_env" == "hyprland" ]]; then + aur_install slack-desktop-wayland # team messaging (native Wayland) + else + aur_install slack-desktop # team messaging + fi pacman_install iperf3 # network bandwidth testing pacman_install net-tools # network tools (netstat for security auditing) pacman_install smartmontools # monitors hard drives diff --git a/dotfiles/common/.bashrc.d/aliases.sh b/dotfiles/common/.bashrc.d/aliases.sh index 9be16da..1321bf0 100644 --- a/dotfiles/common/.bashrc.d/aliases.sh +++ b/dotfiles/common/.bashrc.d/aliases.sh @@ -80,7 +80,7 @@ alias gdbx="gdb --batch --ex r --ex bt --ex q --args" # ============================================================================= # Claude Code # ============================================================================= -alias hey='claude "Read ./docs/protocols.org and ./docs/NOTES.org, follow their instructions, then run session startup workflow."' +alias hey='claude "Read docs/protocols.org and follow all instructions."' # ============================================================================= # Phenomenology RAG (ollama/deepseek) diff --git a/dotfiles/common/.config/qalculate/qalculate-gtk.cfg b/dotfiles/common/.config/qalculate/qalculate-gtk.cfg index b80636c..2ce75de 100644 --- a/dotfiles/common/.config/qalculate/qalculate-gtk.cfg +++ b/dotfiles/common/.config/qalculate/qalculate-gtk.cfg @@ -69,6 +69,10 @@ comma_as_separator=1 use_custom_application_font=0 multiplication_sign=2 division_sign=1 +expression_history=60×60×8 +expression_history=60×60×6 +expression_history=60×60 +expression_history=7200/60 expression_history=1024×8 expression_history=125×7×6 expression_history=7600×4 @@ -105,6 +109,26 @@ expression_history=1024×16 expression_history=3278×12 expression_history=1026×16 expression_history=96×2 +history_time=1770475922 +history_expression=60×60×8 +history_parse=60 × 60 × 8 +history_result=28 800 +history_time=1770475866 +history_expression=60×60×8 +history_parse=60 × 60 × 8 +history_result=28 800 +history_time=1770475857 +history_expression=60×60×6 +history_parse=60 × 60 × 6 +history_result=21 600 +history_time=1770475851 +history_expression=60×60 +history_parse=60 × 60 +history_result=3600 +history_time=1770475838 +history_expression=7200/60 +history_parse=7200 ∕ 60 +history_result=120 history_time=1770329943 history_expression=1024×8 history_parse=1024 × 8 diff --git a/dotfiles/common/.local/bin/ai-assistants b/dotfiles/common/.local/bin/ai-assistants index 51028fe..3b4d80e 100755 --- a/dotfiles/common/.local/bin/ai-assistants +++ b/dotfiles/common/.local/bin/ai-assistants @@ -21,7 +21,7 @@ projects=( ) # Claude command to run in each window -CLAUDE_CMD='claude "Read docs/protocols.org and docs/NOTES.org, follow instructions exactly, then begin the session-start workflow"' +CLAUDE_CMD='claude "Read docs/protocols.org and follow all instructions."' # Create session with first project first="${projects[0]}" diff --git a/dotfiles/common/.local/bin/aix b/dotfiles/common/.local/bin/aix index 0f70d23..35cab64 100755 --- a/dotfiles/common/.local/bin/aix +++ b/dotfiles/common/.local/bin/aix @@ -1,7 +1,7 @@ #!/bin/bash -# Launch tmux session with Claude in fzf-selected project directories +# Launch tmux session with an LLM in fzf-selected project directories -SESSION="claude" +SESSION="ai" # If session exists, attach or switch to it if tmux has-session -t "$SESSION" 2>/dev/null; then @@ -41,13 +41,13 @@ selections=$(printf '%s\n' "${candidates[@]}" | fzf --multi --height=70% --rever # Claude command — separated for safe editing AI_CMD="claude" -AI_INSTRUCTIONS='Read docs/protocols.org and docs/NOTES.org, follow instructions exactly, then begin the session-start workflow' +AI_INSTRUCTIONS='Read docs/protocols.org and follow all instructions.' # Read selections into array selected=() while IFS= read -r line; do selected+=("$line") -done <<< "$selections" +done <<<"$selections" # Create session with first selection first="${selected[0]}" diff --git a/dotfiles/common/.zshrc.d/aliases.sh b/dotfiles/common/.zshrc.d/aliases.sh index 9be16da..1321bf0 100644 --- a/dotfiles/common/.zshrc.d/aliases.sh +++ b/dotfiles/common/.zshrc.d/aliases.sh @@ -80,7 +80,7 @@ alias gdbx="gdb --batch --ex r --ex bt --ex q --args" # ============================================================================= # Claude Code # ============================================================================= -alias hey='claude "Read ./docs/protocols.org and ./docs/NOTES.org, follow their instructions, then run session startup workflow."' +alias hey='claude "Read docs/protocols.org and follow all instructions."' # ============================================================================= # Phenomenology RAG (ollama/deepseek) diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf index 1c4e17c..55a7c35 100644 --- a/dotfiles/hyprland/.config/hypr/hyprland.conf +++ b/dotfiles/hyprland/.config/hypr/hyprland.conf @@ -10,18 +10,19 @@ monitor=,preferred,auto,auto # ============================================================================ # Startup Applications # ============================================================================ -# Portal and D-Bus setup FIRST (other apps depend on these) +# Portal and D-Bus setup FIRST, then waybar (needs portal for appearance query) exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP HYPRLAND_INSTANCE_SIGNATURE -exec-once = systemctl --user start xdg-desktop-portal-hyprland xdg-desktop-portal +# Portal restart (not start) reconnects stale portals on Hyprland restart; waybar +# chained after so it doesn't block 25s waiting for a dead portal's appearance query +exec-once = systemctl --user restart xdg-desktop-portal-hyprland xdg-desktop-portal && waybar > ~/.local/var/log/waybar-$(date +%Y-%m-%d-%H%M%S).log 2>&1 # Core services exec-once = /usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh exec-once = dunst > ~/.local/var/log/dunst-$(date +%Y-%m-%d-%H%M%S).log 2>&1 exec-once = hyprland-plugins-setup && sleep 1 && hyprctl dismissnotify -1 -# Desktop appearance (after portal is ready) +# Desktop appearance exec-once = swww-daemon && sleep 1 && swww img ~/pictures/wallpaper/trondheim-norway.jpg -exec-once = waybar > ~/.local/var/log/waybar-$(date +%Y-%m-%d-%H%M%S).log 2>&1 # Background services exec-once = hypridle > ~/.local/var/log/hypridle-$(date +%Y-%m-%d-%H%M%S).log 2>&1 @@ -33,8 +34,8 @@ exec-once = mpd # Pyprland (scratchpads, magnify, etc.) exec-once = pypr -# Apps that can start later -exec-once = signal-desktop --start-in-tray --ozone-platform=wayland +# Apps that can start later (sleep ensures waybar tray is registered) +exec-once = sleep 1 && signal-desktop --start-in-tray --ozone-platform=wayland exec-once = protonmail-bridge --no-window exec-once = insync start diff --git a/dotfiles/hyprland/.config/waypaper/config.ini b/dotfiles/hyprland/.config/waypaper/config.ini index 12e60fd..c459641 100644 --- a/dotfiles/hyprland/.config/waypaper/config.ini +++ b/dotfiles/hyprland/.config/waypaper/config.ini @@ -2,12 +2,12 @@ language = en folder = ~/pictures/wallpaper monitors = All -wallpaper = ~/pictures/wallpaper/dark-lion.jpg +wallpaper = ~/pictures/wallpaper/my-summer-home-denmark.png show_path_in_tooltip = True backend = swww fill = fill sort = name -color = #ffffff +color = #3D3846 subfolders = False all_subfolders = False show_hidden = False @@ -15,7 +15,7 @@ show_gifs_only = False zen_mode = False post_command = number_of_columns = 3 -swww_transition_type = simple +swww_transition_type = none swww_transition_step = 63 swww_transition_angle = 0 swww_transition_duration = 2 diff --git a/dotfiles/hyprland/.local/share/applications/signal-desktop.desktop b/dotfiles/hyprland/.local/share/applications/signal-desktop.desktop new file mode 100644 index 0000000..834c510 --- /dev/null +++ b/dotfiles/hyprland/.local/share/applications/signal-desktop.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Type=Application +Name=Signal +Comment=Signal - Private Messenger +Icon=signal-desktop +Exec=signal-desktop --start-in-tray --ozone-platform=wayland -- %u +Terminal=false +Categories=Network;InstantMessaging; +StartupWMClass=signal +MimeType=x-scheme-handler/sgnl;x-scheme-handler/signalcaptcha; +Keywords=sgnl;chat;im;messaging;messenger;security;privat; +X-GNOME-UsesNotifications=true -- cgit v1.2.3