desktop: drop hyprpaper + speechd, quickshell draws wallpaper

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
rope 2026-07-08 10:13:14 +01:00
parent b2ee737f97
commit eb80358748
3 changed files with 29 additions and 6 deletions

View file

@ -15,7 +15,7 @@ in
'';
# Wallpaper source — consumed by stylix's image option (set in
# settings/stylix.nix) and by hyprpaper at session start.
# settings/stylix.nix) and by quickshell's wallpaper layer.
home.file.".local/share/backgrounds/wallpaper.png".source =
"${inputs.self}/walls/wallpaper.png";

View file

@ -25,6 +25,10 @@ in
security.polkit.enable = true;
# graphical-desktop.nix mkDefault-enables this; unused (no screen reader,
# no Discord TTS).
services.speechd.enable = false;
# Polkit GUI agent for GUI sudo prompts under Hyprland
systemd.user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
@ -48,7 +52,6 @@ in
brightnessctl
swayosd
playerctl
hyprpaper
hyprlock
hypridle
hyprshot
@ -72,10 +75,9 @@ in
# into settings.config below.
stylix.targets.hyprland.enable = false;
# The disabled Hyprland target would normally enable this; do it
# manually. Stylix's hyprpaper target (auto-enabled) still handles
# preload/wallpaper settings.
services.hyprpaper.enable = true;
# Wallpaper is drawn by quickshell (settings/quickshell.nix); no
# separate hyprpaper daemon.
stylix.targets.hyprpaper.enable = false;
wayland.windowManager.hyprland = {
enable = true;

View file

@ -214,6 +214,7 @@ in
//@ pragma UseQApplication
import Quickshell
import Quickshell.Io
import Quickshell.Wayland
import Quickshell.Services.Notifications
import QtQuick
@ -262,6 +263,26 @@ in
}
}
// Wallpaper replaces the hyprpaper daemon.
Variants {
model: Quickshell.screens
PanelWindow {
required property var modelData
screen: modelData
WlrLayershell.layer: WlrLayer.Background
exclusionMode: ExclusionMode.Ignore
anchors { top: true; bottom: true; left: true; right: true }
color: "black"
Image {
anchors.fill: parent
source: "file://" + Quickshell.env("HOME") + "/.local/share/backgrounds/wallpaper.png"
fillMode: Image.PreserveAspectCrop
}
}
}
Variants {
model: Quickshell.screens