Merge pull request #86163 from worldofpeace/wallpaper-refactor

Gnome and Pantheon: install nixos wallpapers
This commit is contained in:
worldofpeace 2020-06-07 14:44:59 -04:00 committed by GitHub
commit d508591039
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 28 additions and 9 deletions

View File

@ -37,10 +37,10 @@ let
chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides chmod -R a+w $out/share/gsettings-schemas/nixos-gsettings-overrides
cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF cat - > $out/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas/nixos-defaults.gschema.override <<- EOF
[org.gnome.desktop.background] [org.gnome.desktop.background]
picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png' picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}'
[org.gnome.desktop.screensaver] [org.gnome.desktop.screensaver]
picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png' picture-uri='file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath}'
[org.gnome.shell] [org.gnome.shell]
favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] favorite-apps=[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]
@ -320,6 +320,8 @@ in
gnome-shell gnome-shell
gnome-shell-extensions gnome-shell-extensions
gnome-themes-extra gnome-themes-extra
nixos-artwork.wallpapers.simple-dark-gray
nixos-artwork.wallpapers.simple-dark-gray-bottom
pkgs.gnome-user-docs pkgs.gnome-user-docs
pkgs.orca pkgs.orca
pkgs.glib # for gsettings pkgs.glib # for gsettings

View File

@ -180,6 +180,7 @@ in
gtk3.out gtk3.out
hicolor-icon-theme hicolor-icon-theme
lightlocker lightlocker
nixos-artwork.wallpapers.simple-dark-gray
onboard onboard
qgnomeplatform qgnomeplatform
shared-mime-info shared-mime-info

View File

@ -132,8 +132,9 @@ in
}; };
background = mkOption { background = mkOption {
type = types.str; type = types.path;
default = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bottom.png"; # Manual cannot depend on packages, we are actually setting the default in config below.
defaultText = "pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath";
description = '' description = ''
The background image or color to use. The background image or color to use.
''; '';
@ -212,6 +213,9 @@ in
} }
]; ];
# Keep in sync with the defaultText value from the option definition.
services.xserver.displayManager.lightdm.background = mkDefault pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath;
# Set default session in session chooser to a specified values basically ignore session history. # Set default session in session chooser to a specified values basically ignore session history.
# Auto-login is already covered by a config value. # Auto-login is already covered by a config value.
services.xserver.displayManager.job.preStart = optionalString (!cfg.autoLogin.enable && dmcfg.defaultSession != null) '' services.xserver.displayManager.job.preStart = optionalString (!cfg.autoLogin.enable && dmcfg.defaultSession != null) ''

View File

@ -83,7 +83,7 @@ let
] ++ (optional (cfg.fontSize!=null) "--size ${toString cfg.fontSize}"))) ] ++ (optional (cfg.fontSize!=null) "--size ${toString cfg.fontSize}")))
); );
defaultSplash = "${pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader}/share/artwork/gnome/nix-wallpaper-simple-dark-gray_bootloader.png"; defaultSplash = pkgs.nixos-artwork.wallpapers.simple-dark-gray-bootloader.gnomeFilePath;
in in
{ {

View File

@ -3,12 +3,18 @@
let let
mkNixBackground = { name, src, description }: mkNixBackground = { name, src, description }:
stdenv.mkDerivation { let
pkg = stdenv.mkDerivation {
inherit name src; inherit name src;
dontUnpack = true; dontUnpack = true;
installPhase = '' installPhase = ''
# GNOME
mkdir -p $out/share/backgrounds/nixos
ln -s $src $out/share/backgrounds/nixos/${src.name}
# TODO: is this path still needed?
mkdir -p $out/share/artwork/gnome mkdir -p $out/share/artwork/gnome
ln -s $src $out/share/artwork/gnome/${src.name} ln -s $src $out/share/artwork/gnome/${src.name}
@ -22,6 +28,11 @@ X-KDE-PluginInfo-Name=${name}
_EOF _EOF
''; '';
passthru = {
gnomeFilePath = "${pkg}/share/backgrounds/nixos/${src.name}";
kdeFilePath = "${pkg}/share/wallpapers/${name}/contents/images/${src.name}";
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
inherit description; inherit description;
homepage = "https://github.com/NixOS/nixos-artwork"; homepage = "https://github.com/NixOS/nixos-artwork";
@ -29,6 +40,7 @@ _EOF
platforms = platforms.all; platforms = platforms.all;
}; };
}; };
in pkg;
in in

View File

@ -62,7 +62,7 @@ stdenv.mkDerivation rec {
mesonFlags = [ mesonFlags = [
"--sysconfdir=${placeholder "out"}/etc" "--sysconfdir=${placeholder "out"}/etc"
"-Ddefault-wallpaper=${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png" "-Ddefault-wallpaper=${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}"
"-Dplank-dockitems=false" "-Dplank-dockitems=false"
]; ];

View File

@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
# Needed until https://github.com/elementary/greeter/issues/360 is fixed # Needed until https://github.com/elementary/greeter/issues/360 is fixed
(substituteAll { (substituteAll {
src = ./hardcode-fallback-background.patch; src = ./hardcode-fallback-background.patch;
default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png"; default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}";
}) })
]; ];
@ -113,7 +113,7 @@ stdenv.mkDerivation rec {
# Use NixOS default wallpaper # Use NixOS default wallpaper
substituteInPlace $out/etc/lightdm/io.elementary.greeter.conf \ substituteInPlace $out/etc/lightdm/io.elementary.greeter.conf \
--replace "#default-wallpaper=/usr/share/backgrounds/elementaryos-default" \ --replace "#default-wallpaper=/usr/share/backgrounds/elementaryos-default" \
"default-wallpaper=${nixos-artwork.wallpapers.simple-dark-gray}/share/artwork/gnome/nix-wallpaper-simple-dark-gray.png" "default-wallpaper=${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}"
substituteInPlace $out/share/xgreeters/io.elementary.greeter.desktop \ substituteInPlace $out/share/xgreeters/io.elementary.greeter.desktop \
--replace "Exec=io.elementary.greeter" "Exec=$out/bin/io.elementary.greeter" --replace "Exec=io.elementary.greeter" "Exec=$out/bin/io.elementary.greeter"