From 166cb873067886cbd36e2eb994c2ade8b242b90d Mon Sep 17 00:00:00 2001 From: Sean Kovacs Date: Sat, 4 Apr 2026 15:23:42 -0400 Subject: [PATCH] peach: make boot logos seamless --- flake.lock | 69 +++++++++++++++++++++++++++ flake.nix | 3 ++ system/default.nix | 33 ++++++------- system/hosts/peach/apple-rainbow.png | Bin 0 -> 5152 bytes system/hosts/peach/default.nix | 35 +++++++++++++- 5 files changed, 123 insertions(+), 17 deletions(-) create mode 100644 system/hosts/peach/apple-rainbow.png diff --git a/flake.lock b/flake.lock index e30e694..01a13aa 100644 --- a/flake.lock +++ b/flake.lock @@ -160,6 +160,24 @@ "type": "github" } }, + "flake-parts_4": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "fromYaml": { "flake": false, "locked": { @@ -314,6 +332,21 @@ "type": "github" } }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "72716169fe93074c333e8d0173151350670b824c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1774388614, @@ -362,6 +395,22 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1770115704, + "narHash": "sha256-KHFT9UWOF2yRPlAnSXQJh6uVcgNcWlFqqiAZ7OVlHNc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e6eae2ee2110f3d31110d5c222cd395303343b08", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "flake-parts": "flake-parts_2", @@ -483,10 +532,30 @@ "noctalia": "noctalia", "nur": "nur", "openmw": "openmw", + "seamless-asahi-plymouth": "seamless-asahi-plymouth", "sops-nix": "sops-nix", "tt-schemes": "tt-schemes" } }, + "seamless-asahi-plymouth": { + "inputs": { + "flake-parts": "flake-parts_4", + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1770365598, + "narHash": "sha256-tjmDL8eaK2NIwWDho81GhygkBZoauiiiUqwV1VP1FwQ=", + "owner": "luca-schlecker", + "repo": "seamless-asahi-plymouth", + "rev": "e3f5517643f9c2021bee2870b55d8bd363763cd1", + "type": "github" + }, + "original": { + "owner": "luca-schlecker", + "repo": "seamless-asahi-plymouth", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index 55809e3..e35e4a6 100644 --- a/flake.nix +++ b/flake.nix @@ -10,6 +10,7 @@ nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release"; apple-silicon.url = "github:nix-community/nixos-apple-silicon"; + seamless-asahi-plymouth.url = "github:luca-schlecker/seamless-asahi-plymouth"; base16.url = "github:SenchoPens/base16.nix"; tt-schemes = { @@ -66,6 +67,7 @@ nixpkgs-unstable, nix-cachyos-kernel, apple-silicon, + seamless-asahi-plymouth, base16, tt-schemes, sops-nix, @@ -250,6 +252,7 @@ peach = mkNixosSystem { hostname = "peach"; system = "aarch64-linux"; + extraSpecialArgs = { inherit seamless-asahi-plymouth; }; extraModules = [ apple-silicon.nixosModules.default { nixpkgs.overlays = [ apple-silicon.overlays.apple-silicon-overlay ]; } diff --git a/system/default.nix b/system/default.nix index 0f96e81..f2e8dff 100755 --- a/system/default.nix +++ b/system/default.nix @@ -22,22 +22,23 @@ plymouth.logo = "${pkgs.nixos-icons}/share/icons/hicolor/64x64/apps/nix-snowflake-white.png"; loader = { timeout = 3; - limine = { - enable = true; - maxGenerations = 10; - extraConfig = '' - timeout: 3 - ''; - style = { - wallpapers = [ ]; - wallpaperStyle = "stretched"; - backdrop = "#1e1e2e"; - interface = { - branding = "kova's nixos!"; - brandingColor = 5; - }; - }; - }; + systemd-boot.enable = true; + # limine = { + # enable = true; + # maxGenerations = 10; + # extraConfig = '' + # timeout: 3 + # ''; + # style = { + # wallpapers = [ ]; + # wallpaperStyle = "stretched"; + # backdrop = "#1e1e2e"; + # interface = { + # branding = "kova's nixos!"; + # brandingColor = 5; + # }; + # }; + # }; }; kernelParams = [ "quiet" diff --git a/system/hosts/peach/apple-rainbow.png b/system/hosts/peach/apple-rainbow.png new file mode 100644 index 0000000000000000000000000000000000000000..84e7598d1f250ab5400a5add7ac8a42acd1aef6d GIT binary patch literal 5152 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 b9iXLj<&9es(M*&U9JqZ$PwTy=UBv$Y(ilv_ literal 0 HcmV?d00001 diff --git a/system/hosts/peach/default.nix b/system/hosts/peach/default.nix index 22394cc..a24c60b 100644 --- a/system/hosts/peach/default.nix +++ b/system/hosts/peach/default.nix @@ -2,6 +2,7 @@ config, pkgs, lib, + seamless-asahi-plymouth, ... }: let @@ -13,10 +14,42 @@ let }; in { + + nixpkgs.overlays = [ + (final: prev: { + uboot-asahi = prev.uboot-asahi.overrideAttrs (old: { + postConfigure = (old.postConfigure or "") + '' + cat >> .config <<'EOF' + # CONFIG_VIDEO_LOGO is not set + CONFIG_BOOTDELAY=0 + CONFIG_SILENT_CONSOLE=y + CONFIG_PREBOOT="setenv silent 1" + EOF + + # Regenerate the configuration with new flags + make olddefconfig + ''; + }); + }) + ]; + boot = { kernelParams = [ "appledrm.show_notch=1" ]; + # thank you to u/douv: + # https://www.reddit.com/r/AsahiLinux/comments/1sb8cby/retro_boot_logo/ m1n1CustomLogo = "${asahi-artwork}/logos/png_256/AsahiLinux_logomark.png"; - plymouth.logo = lib.mkForce "${asahi-artwork}/logos/png_64/AsahiLinux_logomark.png"; + plymouth = { + enable = true; + theme = "seamless-asahi"; + themePackages = [ + (seamless-asahi-plymouth.packages.${pkgs.system}.default.override { + logo = "${asahi-artwork}/logos/png_64/AsahiLinux_logomark.png"; + }) + ]; + extraConfig = '' + DeviceScale=1 + ''; + }; }; programs.dconf.profiles.gdm.databases = [