diff --git a/assets/blank-plymouth-logo.png b/assets/blank-plymouth-logo.png deleted file mode 100644 index 30dddc7..0000000 Binary files a/assets/blank-plymouth-logo.png and /dev/null differ diff --git a/modules/desk-os/default.nix b/modules/desk-os/default.nix index 0cf4967..716e9b4 100644 --- a/modules/desk-os/default.nix +++ b/modules/desk-os/default.nix @@ -20,7 +20,8 @@ loader.efi.canTouchEfiVariables = true; plymouth = { enable = true; - logo = ../../assets/blank-plymouth-logo.png; + theme = "desk-os"; + themePackages = [ (pkgs.callPackage ../../packages/desk-os-plymouth {}) ]; }; }; diff --git a/modules/installer/default.nix b/modules/installer/default.nix index 7a20f86..5af9b30 100644 --- a/modules/installer/default.nix +++ b/modules/installer/default.nix @@ -47,8 +47,11 @@ in { initrd.verbose = false; loader.systemd-boot.enable = true; loader.timeout = lib.mkForce 0; - plymouth.enable = true; - + plymouth = { + enable = true; + theme = "desk-os"; + themePackages = [ (pkgs.callPackage ../../packages/desk-os-plymouth {}) ]; + }; # NOTE(m): Enable kernel modules that improve wifi support on # Macbooks during installation. # See https://nixos.org/manual/nixos/stable/#sec-building-image-drivers diff --git a/packages/desk-os-plymouth/default.nix b/packages/desk-os-plymouth/default.nix new file mode 100644 index 0000000..f48adb1 --- /dev/null +++ b/packages/desk-os-plymouth/default.nix @@ -0,0 +1,16 @@ +{stdenv}: +stdenv.mkDerivation { + pname = "desk-os-plymouth"; + version = "0.0.1"; + + src = ./src; + + installPhase = '' + runHook preInstall + sed -i 's:\(^ImageDir=\)/usr:\1'"$out"':' desk-os.plymouth + sed -i 's:\(^ScriptFile=\)/usr:\1'"$out"':' desk-os.plymouth + mkdir -p $out/share/plymouth/themes/desk-os + cp * $out/share/plymouth/themes/desk-os + runHook postInstall + ''; +} diff --git a/packages/desk-os-plymouth/src/desk-os.plymouth b/packages/desk-os-plymouth/src/desk-os.plymouth new file mode 100644 index 0000000..8249775 --- /dev/null +++ b/packages/desk-os-plymouth/src/desk-os.plymouth @@ -0,0 +1,8 @@ +[Plymouth Theme] +Name=deskOS +Description=A theme that displays the deskOS logo +ModuleName=script + +[script] +ImageDir=/usr/share/plymouth/themes/desk-os +ScriptFile=/usr/share/plymouth/themes/desk-os/desk-os.script diff --git a/packages/desk-os-plymouth/src/desk-os.png b/packages/desk-os-plymouth/src/desk-os.png new file mode 100644 index 0000000..7c8d8dd Binary files /dev/null and b/packages/desk-os-plymouth/src/desk-os.png differ diff --git a/packages/desk-os-plymouth/src/desk-os.script b/packages/desk-os-plymouth/src/desk-os.script new file mode 100644 index 0000000..b4a093e --- /dev/null +++ b/packages/desk-os-plymouth/src/desk-os.script @@ -0,0 +1,8 @@ +image = Image("desk-os.png"); + +pos_x = Window.GetWidth()/2 - image.GetWidth()/2; +pos_y = Window.GetHeight()/2 - image.GetHeight()/2; + +sprite = Sprite(image); +sprite.SetX(pos_x); +sprite.SetY(pos_y);