add boot splash screen

This commit is contained in:
Leonardo Eugênio 2022-12-14 01:05:27 -03:00
parent a8a31d7a91
commit d88b7bcefb
7 changed files with 90 additions and 7 deletions

View file

@ -263,6 +263,22 @@
"type": "github" "type": "github"
} }
}, },
"plymouth-themes": {
"flake": false,
"locked": {
"lastModified": 1626085315,
"narHash": "sha256-VNGvA8ujwjpC2rTVZKrXni2GjfiZk7AgAn4ZB4Baj2k=",
"owner": "adi1090x",
"repo": "plymouth-themes",
"rev": "bf2f570bee8e84c5c20caac353cbe1d811a4745f",
"type": "github"
},
"original": {
"owner": "adi1090x",
"repo": "plymouth-themes",
"type": "github"
}
},
"ranger-icons": { "ranger-icons": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -307,6 +323,7 @@
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur", "nur": "nur",
"plymouth-themes": "plymouth-themes",
"ranger-icons": "ranger-icons", "ranger-icons": "ranger-icons",
"ranger-sixel": "ranger-sixel", "ranger-sixel": "ranger-sixel",
"sea-orm-cli": "sea-orm-cli", "sea-orm-cli": "sea-orm-cli",

View file

@ -36,6 +36,9 @@
nil-lsp.url = "github:oxalica/nil"; nil-lsp.url = "github:oxalica/nil";
nil-lsp.inputs.nixpkgs.follows = "nixpkgs-unstable"; nil-lsp.inputs.nixpkgs.follows = "nixpkgs-unstable";
plymouth-themes.url = "github:adi1090x/plymouth-themes";
plymouth-themes.flake = false;
# my stuff # my stuff
dhist.url = "github:lelgenio/dhist"; dhist.url = "github:lelgenio/dhist";
}; };

View file

@ -29,7 +29,7 @@ in {
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=nixos" ]; options = [ "subvol=nixos" ];
}; };
boot.initrd.luks.reusePassphrases = true; # boot.initrd.luks.reusePassphrases = true;
boot.initrd.luks.devices = { boot.initrd.luks.devices = {
"main".device = "/dev/disk/by-label/CRYPT_ROOT"; "main".device = "/dev/disk/by-label/CRYPT_ROOT";
"data".device = "/dev/disk/by-label/CRYPT_DATA"; "data".device = "/dev/disk/by-label/CRYPT_DATA";

View file

@ -9,6 +9,7 @@
}) })
(import ./sixel-patches.nix (inputs // { inherit pkgs; })) (import ./sixel-patches.nix (inputs // { inherit pkgs; }))
(final: prev: { (final: prev: {
plymouth-theme-red = (import ./plymouth-theme-red.nix (inputs // { inherit pkgs; }));
uservars = import ../user/variables.nix; uservars = import ../user/variables.nix;
dhist = inputs.dhist.packages.${system}.dhist; dhist = inputs.dhist.packages.${system}.dhist;
mpvpaper = inputs.wegank.packages.${prev.system}.mpvpaper; mpvpaper = inputs.wegank.packages.${prev.system}.mpvpaper;

View file

@ -0,0 +1,25 @@
inputs@{ pkgs, ... }:
pkgs.stdenv.mkDerivation rec {
pname = "red-loader-plymouth";
version = "0.0.1";
src = inputs.plymouth-themes;
buildInputs = [
pkgs.git
];
configurePhase = ''
mkdir -p $out/share/plymouth/themes/
'';
buildPhase = ''
'';
installPhase = ''
cp -r pack_4/red_loader $out/share/plymouth/themes
cat pack_4/red_loader/red_loader.plymouth | sed "s@\/usr\/@$out\/@" > \
$out/share/plymouth/themes/red_loader/red_loader.plymouth
'';
}

42
system/boot.nix Normal file
View file

@ -0,0 +1,42 @@
{ config, pkgs, inputs, ... }: {
console = {
font = "ter-132n";
packages = [pkgs.terminus_font];
earlySetup = false;
};
boot = {
consoleLogLevel = 0;
initrd.verbose = false;
kernelParams = [
"quiet"
"splash"
"boot.shell_on_fail"
"loglevel=3"
"rd.systemd.show_status=false"
"rd.udev.log_level=3"
"udev.log_priority=3"
];
initrd.systemd.enable = true;
loader = {
# It's still possible to open the bootloader list by pressing any key
# It will just not appear on screen unless a key is pressed
timeout = 0;
efi.canTouchEfiVariables = true;
efi.efiSysMountPoint = "/boot/efi";
systemd-boot = {
enable = true;
# editor = false;
# configurationLimit = 100;
};
};
plymouth = {
enable = true;
theme = "red_loader";
themePackages = [
pkgs.plymouth-theme-red
];
};
};
}

View file

@ -2,14 +2,9 @@
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, inputs, ... }: { { config, pkgs, inputs, ... }: {
imports = [ ./gamemode.nix ./cachix.nix ./media-packages.nix ]; imports = [ ./gamemode.nix ./cachix.nix ./media-packages.nix ./boot.nix ];
packages.media-packages.enable = true; packages.media-packages.enable = true;
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot/efi";
boot.kernelPackages = pkgs.linuxPackages_latest; boot.kernelPackages = pkgs.linuxPackages_latest;
boot.kernel.sysctl = { boot.kernel.sysctl = {