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.
|
# n'a qu'un seul endroit où la chercher.
|
||||||
{ pkgs, lib, ... }:
|
{ 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 ];
|
imports = [ ../../modules/anssi ];
|
||||||
|
|
||||||
@@ -207,6 +240,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
cinnamonDefaultWallpapers
|
||||||
git
|
git
|
||||||
curl
|
curl
|
||||||
wget
|
wget
|
||||||
|
|||||||
Reference in New Issue
Block a user