Corrige le sélecteur de fond d'écran Cinnamon vide (mint-artwork + notre wallpaper)
Root cause identifiée : Cinnamon découvre les fonds d'écran sélectionnables via un XML gnome-background-properties (même mécanisme que nixos-artwork.wallpapers dans nixpkgs, vérifié dans son source). mint-artwork (déjà installé par défaut avec Cinnamon) ne fournit PAS ce XML -- ses images existent bien dans le store mais sont invisibles au clic droit > changer le fond d'écran. On génère ce XML nous-mêmes au build, à partir des fichiers réellement présents dans mint-artwork (pas de liste en dur) + notre propre wallpaper par défaut. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,39 @@
|
||||
# n'a qu'un seul endroit où la chercher.
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
# Cinnamon ne découvre les fonds d'écran "par défaut" sélectionnables
|
||||
# au clic droit que via un XML gnome-background-properties
|
||||
# (share/gnome-background-properties/*.xml -- même mécanisme que
|
||||
# nixos-artwork.wallpapers dans nixpkgs, vérifié dans son propre
|
||||
# source : pkgs/data/misc/nixos-artwork/wallpapers.nix). mint-artwork
|
||||
# (déjà installé par défaut avec Cinnamon, voir module
|
||||
# services.xserver.desktopManager.cinnamon) ne fournit PAS ce XML :
|
||||
# ses images sont bien sur le disque mais invisibles dans le
|
||||
# sélecteur sans lui. On le génère nous-mêmes à partir de ce que
|
||||
# mint-artwork contient réellement (pas de liste de fichiers en dur,
|
||||
# on énumère au build), plus notre propre fond d'écran par défaut.
|
||||
cinnamonDefaultWallpapers = pkgs.runCommand "cinnamon-default-wallpapers-properties" { } ''
|
||||
mkdir -p $out/share/gnome-background-properties
|
||||
{
|
||||
echo '<?xml version="1.0" encoding="UTF-8"?>'
|
||||
echo '<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">'
|
||||
echo '<wallpapers>'
|
||||
for f in ${pkgs.mint-artwork}/share/backgrounds/linuxmint/*.jpg \
|
||||
${pkgs.mint-artwork}/share/backgrounds/linuxmint/*.png \
|
||||
${./wallpaper/Nix/13977413.png}; do
|
||||
[ -e "$f" ] || continue
|
||||
name=$(basename "$f")
|
||||
echo " <wallpaper deleted=\"false\">"
|
||||
echo " <name>$name</name>"
|
||||
echo " <filename>$f</filename>"
|
||||
echo " <options>zoom</options>"
|
||||
echo " </wallpaper>"
|
||||
done
|
||||
echo '</wallpapers>'
|
||||
} > $out/share/gnome-background-properties/nixos-fleet-defaults.xml
|
||||
'';
|
||||
in
|
||||
{
|
||||
imports = [ ../../modules/anssi ];
|
||||
|
||||
@@ -207,6 +240,7 @@
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
cinnamonDefaultWallpapers
|
||||
git
|
||||
curl
|
||||
wget
|
||||
|
||||
Reference in New Issue
Block a user