From 8e7fca3a5ce218f61728a2d9af688c41d1f5c972 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 9 Nov 2020 14:00:18 +0100 Subject: nixos/plymouth: fix eval with aliases disabled Fallout from https://github.com/NixOS/nixpkgs/pull/101369 --- nixos/modules/system/boot/plymouth.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nixos/modules/system/boot/plymouth.nix') diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 55e5b07ed61..ddf5ef8a0a6 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -9,7 +9,7 @@ let cfg = config.boot.plymouth; - nixosBreezePlymouth = pkgs.breeze-plymouth.override { + nixosBreezePlymouth = pkgs.plasma5.breeze-plymouth.override { logoFile = cfg.logo; logoName = "nixos"; osName = "NixOS"; -- cgit 1.4.1 From b209617ff0a8f26ea1d1fe3716a7fa717a50dd95 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Fri, 11 Dec 2020 19:52:16 +0100 Subject: plasma5Packages: alias to the libsForQt5 used to build the plasma5 desktop For in NixOS it is beneficial if both plasma5 and pam use the same Qt5 version. Because the plasma5 desktop may use a different version as the default Qt5 version, we introduce plasma5Packages. --- nixos/modules/i18n/input-method/ibus.nix | 2 +- nixos/modules/security/pam.nix | 8 ++++---- nixos/modules/services/x11/desktop-managers/plasma5.nix | 10 +++++----- nixos/modules/system/boot/plymouth.nix | 2 +- pkgs/applications/networking/browsers/firefox/wrapper.nix | 4 ++-- pkgs/top-level/aliases.nix | 10 +++++----- pkgs/top-level/all-packages.nix | 11 ++++------- 7 files changed, 22 insertions(+), 25 deletions(-) (limited to 'nixos/modules/system/boot/plymouth.nix') diff --git a/nixos/modules/i18n/input-method/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix index cf24ecf5863..1aaa5a952be 100644 --- a/nixos/modules/i18n/input-method/ibus.nix +++ b/nixos/modules/i18n/input-method/ibus.nix @@ -48,7 +48,7 @@ in panel = mkOption { type = with types; nullOr path; default = null; - example = literalExample "''${pkgs.plasma5.plasma-desktop}/lib/libexec/kimpanel-ibus-panel"; + example = literalExample "''${pkgs.plasma5Packages.plasma-desktop}/lib/libexec/kimpanel-ibus-panel"; description = "Replace the IBus panel with another panel."; }; }; diff --git a/nixos/modules/security/pam.nix b/nixos/modules/security/pam.nix index 1522111dbdd..103cf205012 100644 --- a/nixos/modules/security/pam.nix +++ b/nixos/modules/security/pam.nix @@ -430,8 +430,8 @@ let ${optionalString cfg.pamMount "auth optional ${pkgs.pam_mount}/lib/security/pam_mount.so"} ${optionalString cfg.enableKwallet - ("auth optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" + - " kwalletd=${pkgs.kdeFrameworks.kwallet.bin}/bin/kwalletd5")} + ("auth optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so" + + " kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5")} ${optionalString cfg.enableGnomeKeyring "auth optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so"} ${optionalString cfg.gnupg.enable @@ -509,8 +509,8 @@ let ${optionalString (cfg.enableAppArmor && config.security.apparmor.enable) "session optional ${pkgs.apparmor-pam}/lib/security/pam_apparmor.so order=user,group,default debug"} ${optionalString (cfg.enableKwallet) - ("session optional ${pkgs.plasma5.kwallet-pam}/lib/security/pam_kwallet5.so" + - " kwalletd=${pkgs.kdeFrameworks.kwallet.bin}/bin/kwalletd5")} + ("session optional ${pkgs.plasma5Packages.kwallet-pam}/lib/security/pam_kwallet5.so" + + " kwalletd=${pkgs.plasma5Packages.kwallet.bin}/bin/kwalletd5")} ${optionalString (cfg.enableGnomeKeyring) "session optional ${pkgs.gnome3.gnome-keyring}/lib/security/pam_gnome_keyring.so auto_start"} ${optionalString cfg.gnupg.enable diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index 5f1c099c283..d6cf86d3a2e 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -7,8 +7,8 @@ let xcfg = config.services.xserver; cfg = xcfg.desktopManager.plasma5; - inherit (pkgs) kdeApplications kdeFrameworks plasma5; - inherit (pkgs) qt5 libsForQt5; + libsForQt5 = pkgs.plasma5Packages; + inherit (libsForQt5) kdeApplications kdeFrameworks plasma5; inherit (pkgs) writeText; pulseaudio = config.hardware.pulseaudio; @@ -198,8 +198,8 @@ in }; security.wrappers = { - kcheckpass.source = "${lib.getBin plasma5.kscreenlocker}/libexec/kcheckpass"; - start_kdeinit.source = "${lib.getBin pkgs.kdeFrameworks.kinit}/libexec/kf5/start_kdeinit"; + kcheckpass.source = "${lib.getBin libsForQt5.kscreenlocker}/libexec/kcheckpass"; + start_kdeinit.source = "${lib.getBin libsForQt5.kinit}/libexec/kf5/start_kdeinit"; kwin_wayland = { source = "${lib.getBin plasma5.kwin}/bin/kwin_wayland"; capabilities = "cap_sys_nice+ep"; @@ -213,7 +213,7 @@ in ''; environment.systemPackages = - with qt5; with libsForQt5; + with libsForQt5; with plasma5; with kdeApplications; with kdeFrameworks; [ frameworkintegration diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index ddf5ef8a0a6..662576888fc 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -9,7 +9,7 @@ let cfg = config.boot.plymouth; - nixosBreezePlymouth = pkgs.plasma5.breeze-plymouth.override { + nixosBreezePlymouth = pkgs.plasma5Packages.breeze-plymouth.override { logoFile = cfg.logo; logoName = "nixos"; osName = "NixOS"; diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index 88fb6af4b01..907f3e495d4 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -5,7 +5,7 @@ , flashplayer, hal-flash , ffmpeg, xorg, alsaLib, libpulseaudio, libcanberra-gtk2, libglvnd , gnome3/*.gnome-shell*/ -, browserpass, chrome-gnome-shell, uget-integrator, plasma5, bukubrow +, browserpass, chrome-gnome-shell, uget-integrator, plasma5Packages, bukubrow , tridactyl-native , fx_cast_bridge , udev @@ -76,7 +76,7 @@ let ++ lib.optional (cfg.enableTridactylNative or false) tridactyl-native ++ lib.optional (cfg.enableGnomeExtensions or false) chrome-gnome-shell ++ lib.optional (cfg.enableUgetIntegrator or false) uget-integrator - ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma5.plasma-browser-integration + ++ lib.optional (cfg.enablePlasmaBrowserIntegration or false) plasma5Packages.plasma-browser-integration ++ lib.optional (cfg.enableFXCastBridge or false) fx_cast_bridge ++ extraNativeMessagingHosts ); diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 7cd8397112a..960cd7a5bee 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -251,7 +251,7 @@ mapAliases ({ k9copy = throw "k9copy has been removed from nixpkgs, as there is no upstream activity"; # 2020-11-06 julia_07 = throw "julia_07 is deprecated in favor of julia_10 LTS"; # added 2020-09-15 julia_11 = throw "julia_11 is deprecated in favor of latest Julia version"; # added 2020-09-15 - kdeconnect = kdeApplications.kdeconnect-kde; # added 2020-10-28 + kdeconnect = plasma5Packages.kdeconnect-kde; # added 2020-10-28 kdiff3-qt5 = kdiff3; # added 2017-02-18 keepass-keefox = keepass-keepassrpc; # backwards compatibility alias, added 2018-02 keepassx-community = keepassxc; # added 2017-11 @@ -808,8 +808,8 @@ mapAliases ({ between mixed versions of qt. See: https://github.com/NixOS/nixpkgs/pull/101369 */ - inherit (kdeFrameworks) breeze-icons oxygen-icons5; - inherit (kdeApplications) + inherit (plasma5Packages) breeze-icons oxygen-icons5; + inherit (plasma5Packages) akonadi akregator ark bomber bovo dolphin dragon @@ -841,7 +841,7 @@ mapAliases ({ spectacle yakuake ; - inherit (plasma5) + inherit (plasma5Packages) bluedevil breeze-gtk breeze-qt5 breeze-grub breeze-plymouth discover kactivitymanagerd kde-cli-tools kde-gtk-config kdeplasma-addons kgamma5 kinfocenter kmenuedit kscreen kscreenlocker ksshaskpass ksysguard @@ -850,7 +850,7 @@ mapAliases ({ plasma-workspace-wallpapers polkit-kde-agent powerdevil sddm-kcm systemsettings xdg-desktop-portal-kde ; - inherit (plasma5.thirdParty) + inherit (plasma5Packages.thirdParty) plasma-applet-caffeine-plus kwin-dynamic-workspaces kwin-tiling diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d1bb890768e..9cd1c79dbe9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11510,7 +11510,7 @@ in }; # Does not actually depend on Qt 5 - inherit (kdeFrameworks) extra-cmake-modules; + inherit (plasma5Packages) extra-cmake-modules; coccinelle = callPackage ../development/tools/misc/coccinelle { ocamlPackages = ocaml-ng.ocamlPackages_4_05; @@ -13920,8 +13920,6 @@ in judy = callPackage ../development/libraries/judy { }; - inherit (libsForQt5) kdeFrameworks; - keybinder = callPackage ../development/libraries/keybinder { automake = automake111x; lua = lua5_1; @@ -15836,6 +15834,9 @@ in qt5 = if stdenv.hostPlatform.isDarwin then qt512 else qt515; libsForQt5 = if stdenv.hostPlatform.isDarwin then libsForQt512 else libsForQt515; + # plasma5Packages maps to the Qt5 packages set that is used to build the plasma5 desktop + plasma5Packages = libsForQt515; + qt5ct = libsForQt5.callPackage ../tools/misc/qt5ct { }; qtEnv = qt5.env; @@ -22444,8 +22445,6 @@ in kapow = libsForQt5.callPackage ../applications/misc/kapow { }; - inherit (libsForQt514) kdeApplications; - okteta = libsForQt5.callPackage ../applications/editors/okteta { }; k4dirstat = libsForQt5.callPackage ../applications/misc/k4dirstat { }; @@ -26732,8 +26731,6 @@ in pantheon = recurseIntoAttrs (callPackage ../desktops/pantheon { }); - inherit (libsForQt5) plasma5; - plasma-applet-volumewin7mixer = libsForQt5.callPackage ../applications/misc/plasma-applet-volumewin7mixer { }; inherit (callPackages ../applications/misc/redshift { -- cgit 1.4.1 From 9d21f1dfabe0d9be680c1b923c42155f482df30d Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Mon, 28 Sep 2020 06:29:27 -0700 Subject: nixos/plymouth: Add label plugin and a font to the initrd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows Plymouth to show the “NixOS 21.03” label under the logo at startup like it already does at shutdown. Fixes #59992. Signed-off-by: Anders Kaseorg --- nixos/modules/system/boot/plymouth.nix | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'nixos/modules/system/boot/plymouth.nix') diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 55e5b07ed61..d6d3f7a3b44 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -38,6 +38,14 @@ in enable = mkEnableOption "Plymouth boot splash screen"; + font = mkOption { + default = "${pkgs.dejavu_fonts.minimal}/share/fonts/truetype/DejaVuSans.ttf"; + type = types.path; + description = '' + Font file made available for displaying text on the splash screen. + ''; + }; + themePackages = mkOption { default = [ nixosBreezePlymouth ]; type = types.listOf types.package; @@ -113,7 +121,7 @@ in mkdir -p $out/lib/plymouth/renderers # module might come from a theme - cp ${themesEnv}/lib/plymouth/{text,details,$moduleName}.so $out/lib/plymouth + cp ${themesEnv}/lib/plymouth/{text,details,label,$moduleName}.so $out/lib/plymouth cp ${plymouth}/lib/plymouth/renderers/{drm,frame-buffer}.so $out/lib/plymouth/renderers mkdir -p $out/share/plymouth/themes @@ -133,6 +141,17 @@ in cp -r themes/* $out/share/plymouth/themes cp ${cfg.logo} $out/share/plymouth/logo.png + + mkdir -p $out/share/fonts + cp ${cfg.font} $out/share/fonts + mkdir -p $out/etc/fonts + cat > $out/etc/fonts/fonts.conf < + + + $out/share/fonts + + EOF ''; boot.initrd.extraUtilsCommandsTest = '' @@ -154,6 +173,7 @@ in ln -s $extraUtils/share/plymouth/logo.png /etc/plymouth/logo.png ln -s $extraUtils/share/plymouth/themes /etc/plymouth/themes ln -s $extraUtils/lib/plymouth /etc/plymouth/plugins + ln -s $extraUtils/etc/fonts /etc/fonts plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session plymouth show-splash -- cgit 1.4.1 From f4208fe9f91ece19e4ecfe040400bb245d26c408 Mon Sep 17 00:00:00 2001 From: Edmund Wu Date: Wed, 8 Apr 2020 17:04:57 -0400 Subject: nixos/plymouth: use upstream defaults https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/101 https://gitlab.freedesktop.org/plymouth/plymouth/-/blob/75204a2517658c01bd1d39f2dff845512c9cab12/src/plymouthd.defaults --- nixos/modules/system/boot/plymouth.nix | 1 + 1 file changed, 1 insertion(+) (limited to 'nixos/modules/system/boot/plymouth.nix') diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index ef916899944..f16ff26a672 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -24,6 +24,7 @@ let configFile = pkgs.writeText "plymouthd.conf" '' [Daemon] ShowDelay=0 + DeviceTimeout=8 Theme=${cfg.theme} ${cfg.extraConfig} ''; -- cgit 1.4.1 From 726dd9804ef249d8d20832e37b9e52caf340c534 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Mon, 22 Feb 2021 07:35:00 -0500 Subject: nixos/plymouth: exit on missing theme Much better to provide a helpful message than to get an obscure sed message. --- nixos/modules/system/boot/plymouth.nix | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'nixos/modules/system/boot/plymouth.nix') diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index f16ff26a672..554e8bf375d 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -118,6 +118,12 @@ in copy_bin_and_libs ${pkgs.plymouth}/bin/plymouthd copy_bin_and_libs ${pkgs.plymouth}/bin/plymouth + # Check if the actual requested theme is here + if [[ ! -d ${themesEnv}/share/plymouth/themes/${cfg.theme} ]]; then + echo "The requested theme: ${cfg.theme} is not provided by any of the packages in boot.plymouth.themePackages" + exit 1 + fi + moduleName="$(sed -n 's,ModuleName *= *,,p' ${themesEnv}/share/plymouth/themes/${cfg.theme}/${cfg.theme}.plymouth)" mkdir -p $out/lib/plymouth/renderers -- cgit 1.4.1 From 6bd4f9a3c5f4c814f3d0eac5f89deacc97fbb360 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Mon, 22 Feb 2021 07:40:00 -0500 Subject: nixos/plymouth: use bgrt theme The BGRT theme is probably a close as to "FlickerFree" we can get without https://github.com/NixOS/nixpkgs/pull/74842. It's more agnostic than the Breeze theme. We also install all of themes provided by the packages, as it's possible that one theme needs the ImageDir of another, and they're small files anyways. Lastly, how plymouth handles logo and header files is a total mess, so hopefully when they have an actual release we won't need to do all this symlinking. --- nixos/modules/system/boot/plymouth.nix | 57 +++++++++++++++++++++++++--------- 1 file changed, 43 insertions(+), 14 deletions(-) (limited to 'nixos/modules/system/boot/plymouth.nix') diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 554e8bf375d..35af20030cd 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -4,8 +4,7 @@ with lib; let - inherit (pkgs) plymouth; - inherit (pkgs) nixos-icons; + inherit (pkgs) plymouth nixos-icons; cfg = config.boot.plymouth; @@ -16,9 +15,31 @@ let osVersion = config.system.nixos.release; }; + plymouthLogos = pkgs.runCommand "plymouth-logos" { inherit (cfg) logo; } '' + mkdir -p $out + + # For themes that are compiled with PLYMOUTH_LOGO_FILE + mkdir -p $out/etc/plymouth + ln -s $logo $out/etc/plymouth/logo.png + + # Logo for bgrt theme + # Note this is technically an abuse of watermark for the bgrt theme + # See: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/95#note_813768 + mkdir -p $out/share/plymouth/themes/spinner + ln -s $logo $out/share/plymouth/themes/spinner/watermark.png + + # Logo for spinfinity theme + # See: https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/106 + mkdir -p $out/share/plymouth/themes/spinfinity + ln -s $logo $out/share/plymouth/themes/spinfinity/header-image.png + ''; + themesEnv = pkgs.buildEnv { name = "plymouth-themes"; - paths = [ plymouth ] ++ cfg.themePackages; + paths = [ + plymouth + plymouthLogos + ] ++ cfg.themePackages; }; configFile = pkgs.writeText "plymouthd.conf" '' @@ -48,7 +69,7 @@ in }; themePackages = mkOption { - default = [ nixosBreezePlymouth ]; + default = lib.optional (cfg.theme == "breeze") nixosBreezePlymouth; type = types.listOf types.package; description = '' Extra theme packages for plymouth. @@ -56,7 +77,7 @@ in }; theme = mkOption { - default = "breeze"; + default = "bgrt"; type = types.str; description = '' Splash screen theme. @@ -111,12 +132,12 @@ in systemd.services.plymouth-poweroff.wantedBy = [ "poweroff.target" ]; systemd.services.plymouth-reboot.wantedBy = [ "reboot.target" ]; systemd.services.plymouth-read-write.wantedBy = [ "sysinit.target" ]; - systemd.services.systemd-ask-password-plymouth.wantedBy = ["multi-user.target"]; - systemd.paths.systemd-ask-password-plymouth.wantedBy = ["multi-user.target"]; + systemd.services.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ]; + systemd.paths.systemd-ask-password-plymouth.wantedBy = [ "multi-user.target" ]; boot.initrd.extraUtilsCommands = '' - copy_bin_and_libs ${pkgs.plymouth}/bin/plymouthd - copy_bin_and_libs ${pkgs.plymouth}/bin/plymouth + copy_bin_and_libs ${plymouth}/bin/plymouth + copy_bin_and_libs ${plymouth}/bin/plymouthd # Check if the actual requested theme is here if [[ ! -d ${themesEnv}/share/plymouth/themes/${cfg.theme} ]]; then @@ -134,21 +155,29 @@ in mkdir -p $out/share/plymouth/themes cp ${plymouth}/share/plymouth/plymouthd.defaults $out/share/plymouth - # copy themes into working directory for patching + # Copy themes into working directory for patching mkdir themes - # use -L to copy the directories proper, not the symlinks to them - cp -r -L ${themesEnv}/share/plymouth/themes/{text,details,${cfg.theme}} themes - # patch out any attempted references to the theme or plymouth's themes directory + # Use -L to copy the directories proper, not the symlinks to them. + # Copy all themes because they're not large assets, and bgrt depends on the ImageDir of + # the spinner theme. + cp -r -L ${themesEnv}/share/plymouth/themes/* themes + + # Patch out any attempted references to the theme or plymouth's themes directory chmod -R +w themes find themes -type f | while read file do sed -i "s,/nix/.*/share/plymouth/themes,$out/share/plymouth/themes,g" $file done + # Install themes cp -r themes/* $out/share/plymouth/themes - cp ${cfg.logo} $out/share/plymouth/logo.png + # Install logo + mkdir -p $out/etc/plymouth + cp -r -L ${themesEnv}/etc/plymouth $out + + # Setup font mkdir -p $out/share/fonts cp ${cfg.font} $out/share/fonts mkdir -p $out/etc/fonts -- cgit 1.4.1 From 9e84dc00b00748abdad66812c2464fac189bad44 Mon Sep 17 00:00:00 2001 From: WORLDofPEACE Date: Thu, 25 Feb 2021 13:50:04 -0500 Subject: nixos/plymouth: use white nixos logo This looks cohesive with the spinner in the bgrt theme. --- nixos/modules/system/boot/plymouth.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'nixos/modules/system/boot/plymouth.nix') diff --git a/nixos/modules/system/boot/plymouth.nix b/nixos/modules/system/boot/plymouth.nix index 35af20030cd..2a545e55251 100644 --- a/nixos/modules/system/boot/plymouth.nix +++ b/nixos/modules/system/boot/plymouth.nix @@ -86,7 +86,8 @@ in logo = mkOption { type = types.path; - default = "${nixos-icons}/share/icons/hicolor/128x128/apps/nix-snowflake.png"; + # Dimensions are 48x48 to match GDM logo + default = "${nixos-icons}/share/icons/hicolor/48x48/apps/nix-snowflake-white.png"; defaultText = ''pkgs.fetchurl { url = "https://nixos.org/logo/nixos-hires.png"; sha256 = "1ivzgd7iz0i06y36p8m5w48fd8pjqwxhdaavc0pxs7w1g7mcy5si"; -- cgit 1.4.1