I’m really enjoying Pop!_OS, but their logo could use some workshopping imo. I’ve been considering trying an upstream distro as an educational experience anyway, yet somehow this is what I’m feeling excited about. I don’t know why - nobody but me is ever going to see my neofetch output. Lol

(NixOS isn’t really in the running… I just wanted a 3rd example and like the logo)

  • varnia@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    5
    ·
    21 hours ago

    This is an example how to define plymouth with your own logo derivation. Isn’t this the most beautiful?

      boot = {
        plymouth = {
          enable = true;
          theme = "breeze";
          logo = pkgs.stdenv.mkDerivation {
            name = "out.png";
            dontUnpack = true;
            src = pkgs.fetchurl {
              url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nix-snowflake-rainbow.svg";
              sha256 = "sha256-gMeJgiSSA5hFwtW3njZQAd4OHji6kbRCJKVoN6zsRbY=";
            };
            nativeBuildInputs = with pkgs; [imagemagick];
            buildPhase = ''
              magick -background none -size 200x200 $src nix-snowflake-rainbow.png
            '';
            installPhase = ''
              install -Dm0644 nix-snowflake-rainbow.png $out
            '';
          };
        };
    
    
    • jim3692@discuss.online
      link
      fedilink
      arrow-up
      3
      ·
      20 hours ago

      It can be simplified with the use of runCommand:

      {
        boot = {
          plymouth = {
            enable = true;
            theme = "breeze";
            logo =
              with pkgs;
              let
                src = fetchurl {
                  url = "https://raw.githubusercontent.com/NixOS/nixos-artwork/refs/heads/master/logo/nix-snowflake-rainbow.svg";
                  sha256 = "sha256-gMeJgiSSA5hFwtW3njZQAd4OHji6kbRCJKVoN6zsRbY=";
                };
              in
              runCommand "out.png" { } "${imagemagick}/bin/magick -background none -size 200x200 ${src} $out";
          };
        };
      }