cab404 / plymouth-is-underrated

5 stars 0 forks source link

I was wondering if you can help me implement this theme! #1

Closed cig0 closed 6 months ago

cig0 commented 6 months ago

Hi,

I come from the thread on Discourse :wave:

As the title says, I'd love it if you could help me implement this theme!

I started using NixOS about a week ago, and I'm still trying to understand Flakes. For example, I already have my configuration.nix neatly split into several modules, so the next move is to embrace Flakes fully :)

Anyway, I love this evil theme 😈!

cab404 commented 6 months ago

Hi there! Glad you liked it :)

What exactly do you want to implement..?

cig0 commented 6 months ago

Oh, that's my limited English skills speaking for me :sweat_smile:

If it's not too much to ask, how do I use this flake? (I beg your patience with this flakes-n00b here).

I found a few posts on how to get Plymouth working on NixOS (there's no mention of it on the wiki), but again, I don't understand how to use your flake with my configuration.nix file.

I feel dumb; it is what it is.

cab404 commented 6 months ago

Oh, that's my limited English skills speaking for me 😅

If it's not too much to ask, how do I use this flake? (I beg your patience with this flakes-n00b here).

I found a few posts on how to get Plymouth working on NixOS (there's no mention of it on the wiki), but again, I don't understand how to use your flake with my configuration.nix file.

I feel dumb; it is what it is.

Oh!

Add it to inputs like this:

    plymouth-is-underrated.url = "/home/cab/data/cab/plymouth-is-underrated";
    plymouth-is-underrated.flake = false;

And you need to pass inputs in your specialArgs in nixosSystem.

And then you enable it like this:

  boot.initrd.systemd.enable = true;
  boot.plymouth.enable = true;
  boot.plymouth.theme = "evil-nixos";
  boot.plymouth.font = "${pkgs.fira-code}/share/fonts/truetype/FiraCode-VF.ttf";
  boot.plymouth.themePackages = [ (pkgs.callPackage inputs.plymouth-is-underrated.outPath {}) ];

I guess I'll add a flake with nixos module later, so it's a bit simpler

cig0 commented 6 months ago

The configuration compiles correctly, but I don't see the animation; maybe it doesn't work with systemd-boot?

I will try again with GRUB when I have some free time and report back =)

Thanks again, @cab404!

cab404 commented 6 months ago

The configuration compiles correctly, but I don't see the animation; maybe it doesn't work with systemd-boot?

I will try again with GRUB when I have some free time and report back =)

Thanks again, @cab404!

It most certainly should work with systemd-boot (I use it in this configuration), and here's my relevant config: https://github.com/cab404/home/blob/f51ac840b75360d2490bb3da963563ea0355cbe3/nodes/portables/eris/hardware-configuration.nix#L15

It might also be that you need splash kernel cmdline arg

cig0 commented 6 months ago

I totally forgot to add splash to my kernel arguments array!

This is how my configuration looks (I plan to move to flakes in the future):

/etc/nixos/configuration.nix

{
  imports =
    [ 
      ...

      # ===== ADDITIONAL CONFIGURATIONS
      # Kernel arguments
      ./modules/kernel.nix

      # Plymouth
      ./modules/plymouth.nix

      ...
    ];
}

/etc/nixos/modules/kernel.nix

{ ... }:

{
  # Kernel args
  ...

  boot.kernelParams = [
    ...
    "splash"
  ];
}

/etc/nixos/modules/plymouth.nix

{ pkgs, ... }:

{
  boot.initrd.systemd.enable = true;
  boot.plymouth.enable = true;
  boot.plymouth.theme = "evil-nixos";
  boot.plymouth.font = "${pkgs.fira-code}/share/fonts/truetype/FiraCode-VF.ttf";
  # boot.plymouth.themePackages = [ (pkgs.callPackage inputs.plymouth-is-underrated.outPath {}) ];
  boot.plymouth.themePackages = [ (pkgs.callPackage "/etc/nixos/modules/plymouth-is-underrated" {}) ];
}

Like you see in the code, your repository is cloned inside /etc/nixos/modules.

cig0 commented 6 months ago

Now, the fun part: the kernel in the unstable channel was updated a few days ago to 6.6.30 from 6.6.28.

When building the configuration with Plymouth, I get a bunch of errors, which I'm not sure if they are related to some kernel modules missing, i.e.:

...
depmod: WARNING: could not open modules.builtin.modinfo at /nix/store/fpv3capv57wn6i9mx59crs5vagibm64q-linux-6.6.30-modules-shrunk/lib/modules/6.6.30: No such file or directory
...
...
Warning: Couldn't satisfy dependency libc.so.6 for "/nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libnss_files.so.2"
Warning: Couldn't satisfy dependency libsystemd-shared-255.so for "/nix/store/7kq9hvrhcy8g1v0jd07nr54279asg9vc-systemd-255.4/lib/systemd/libsystemd-core-255.so"
Warning: Couldn't satisfy dependency ld-linux-x86-64.so.2 for "/nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libc.so.6"
Warning: Couldn't satisfy dependency libc.so.6 for "/nix/store/apab5i73dqa09wx0q27b6fbhd1r18ihl-glibc-2.39-31/lib/libdl.so.2"
created 44795 symlinks in user environment

This didn't happen last time. Can you reproduce the issue?

cig0 commented 6 months ago

By the way, thanks for sharing your configuration; I'm taking a bunch of helpful stuff from there, i.e., the systemd-resolver, the bits about usbguard, and a bit more :+1:

cab404 commented 6 months ago

Now, the fun part: the kernel in the unstable channel was updated a few days ago to 6.6.30 from 6.6.28.

When building the configuration with Plymouth, I get a bunch of errors, which I'm not sure if they are related to some kernel modules missing, i.e.:

Weird. That doesn't look plymouth-related — configuration doesn't use anything like this to build... Do you have a longer log?

cig0 commented 4 months ago

Hi again! I'm so sorry for not returning to you earlier [ but life happens :/ ].

As you correctly pointed out, the issue is unrelated to your code - not that I ever implied that! -but for some reason, my laptop can't switch to graphical mode at boot time. I discovered this when trying to show the Tux logo per CPU core when the system loads.

Anyway, thanks again for spending time with me.

Best!