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)

you are viewing a single comment's thread
view the rest of the comments
[+] 9 points 1 year ago (8 children)
  • [–] 6 points 1 year ago (4 children)

    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
            '';
          };
        };
    
    
  • source
  • parent
  • hideshow 4 child comments
  • [–] 5 points 1 year 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";
        };
      };
    }
    
  • source
  • parent
  • [–] 2 points 1 year ago (2 children)

    Why didn't they just go for JSON?

  • source
  • parent
  • hideshow 2 child comments