Files
moonarch/packages/official.txt
T
nevaforget 8d31ff26e0 feat(lock): gtklock replaces swaylock
moonix switched first; this follows so the two distributions agree again
and moonix can drop the two substitute derivations that were rewriting
these configs at deploy time.

Two things made it worth doing. gtklock's modules show an avatar, a clock
and power buttons, none of which swaylock can do at all. And the old
objection is gone: 4.0.0 links libgtk-session-lock.so.0, so it speaks
ext-session-lock-v1 exactly like swaylock and the compositor still holds
the lock if the process dies. Only the <=2.x versions used layer-shell,
where a crash unlocked the screen.

The config location is the real prize. gtklock searches $XDG_CONFIG_DIRS,
so defaults/xdg/gtklock/config.ini rides the generic sweep and takes effect
through the package alone. Everything built for swaylock in 2026-08-18 goes
with it: the explicit install line in the PKGBUILD, the pre_upgrade
retirement of seeded home copies, check_swaylock_config in moonarch-doctor,
the comment in post-install.sh. swaylock needed all of that because its
sysconfdir was not an XDG path.

The blur stays baked into the wallpaper. gtklock cannot blur either — GTK3
has no filter CSS property and it takes no screenshot of the session, so
there is nothing to blur at lock time.

playerctl-module is deliberately not installed; it needs playerctld, which
nothing here starts. The other two are named bare in modules= because
gtklock's compiled-in module directory really is /usr/lib/gtklock on Arch.
All three packages are in extra, so official.txt covers them.

Both callers keep spawning the locker directly. There is no Wayland
protocol for "lock the session" — ext-session-lock-v1 is how a client
becomes the lock — and no portal either; logind's Session.Lock only emits a
signal nothing here subscribes to. Routing the popout through `stasis
trigger lock-screen` would name the locker once instead of twice, at the
price of a Lock button that fails silently whenever stasis is down. The
reason to want it does not exist: the plan continues after a manual lock
anyway, because stasis takes the state from logind's LockedHint rather than
from having started the locker.

The PKGBUILD side of this is a separate commit in moonarch-pkgbuilds, and
it carries the part that fails silently if forgotten: pre_upgrade rewrites
already-seeded ~/.config/stasis/stasis.rune, which is copied once and never
overwritten. Without it an existing install keeps calling a locker that is
no longer there.
2026-09-12 02:25:00 +02:00

119 lines
1.3 KiB
Plaintext

# ABOUTME: List of official packages from Arch repos.
# ABOUTME: Used by archinstall and post-install.sh.
# Base
base
base-devel
linux-firmware
efibootmgr
btrfs-progs
man-db
cpio
unzip
zip
# Shell & Terminal
zsh
zsh-autosuggestions
zsh-syntax-highlighting
foot
foot-terminfo
bat
btop
eza
fastfetch
fd
fzf
jq
ripgrep
lazygit
# Network
networkmanager
network-manager-applet
networkmanager-openvpn
openvpn
smbclient
sshfs
nmap
wget
# Bluetooth
bluez
bluez-utils
# Audio (PipeWire)
pipewire
pipewire-alsa
pipewire-jack
pipewire-pulse
wireplumber
libpulse
gst-plugin-pipewire
alsa-utils
pavucontrol
# Wayland / Niri
niri
kanshi
xwayland-satellite
# Desktop Utilities
waybar
quickshell
swaync
cliphist
wl-clipboard
wlsunset
libnotify
upower
awww
brightnessctl
nwg-look
greetd
greetd-regreet
gtklock
gtklock-userinfo-module
gtklock-powerbar-module
polkit-gnome
# File Manager / XDG
thunar
thunar-volman
thunar-archive-plugin
tumbler
ffmpegthumbnailer
gvfs
gvfs-dnssd
gvfs-mtp
gvfs-smb
udisks2
ntfs-3g
xdg-desktop-portal-gnome
xdg-desktop-portal-gtk
qt6-5compat
# Themes & Fonts
ttf-ubuntusans-nerd
# Qt Theming (Catppuccin via Kvantum — see CLAUDE.md "Qt Theming")
kvantum
kvantum-qt5
qt6ct
# Applications
viewnior
# Development
git
neovim
# System
fwupd
plocate
power-profiles-daemon
rebuild-detector
snapper
snap-pac
ufw