Make BOS a complete, bootable, themed desktop OS
Install/boot reliability: - Use native Calamares initcpiocfg/initcpio + explicit grub-install (nvram + --removable) in post-install; drop the flaky native bootloader/grubcfg modules. - mount.conf: bind /proc /sys /dev (devtmpfs) /run + efivars into the chroot. - bos-copy-kernel: stage kernel + write a stock mkinitcpio preset (replace the archiso preset). Per-service systemctl enable (fixes NetworkManager et al. silently not enabling due to the all-or-nothing grub-btrfs.path name). System completeness: - greetd + tuigreet graphical login; installed pacman.conf + working mirrorlist; base CLI tools (nano, micro, vim, htop, …); amd/intel-ucode; tlp + hypridle power management; systemd-timesyncd, fstrim.timer; wpa_supplicant wifi; Zen browser (republished to the [Breadway] repo). Desktop + theming: - Native Lua Hyprland config (hyprland.lua) with curated standard binds; kitty (blur) replaces foot; awww wallpaper + pywal palette (tamed to a black base with warm accents); GTK dark mode. - Plymouth boot splash (bos theme: logo + spinner + status) via plymouthcfg. - Varela Round font; Calamares bread-palette sidebar (logo/black-region polish still pending).
This commit is contained in:
parent
787cc0e4c5
commit
f8ae8fe125
35 changed files with 787 additions and 180 deletions
BIN
iso/airootfs/usr/share/backgrounds/bos/bread-background.png
Normal file
BIN
iso/airootfs/usr/share/backgrounds/bos/bread-background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.9 MiB |
BIN
iso/airootfs/usr/share/fonts/TTF/VarelaRound-Regular.ttf
Normal file
BIN
iso/airootfs/usr/share/fonts/TTF/VarelaRound-Regular.ttf
Normal file
Binary file not shown.
8
iso/airootfs/usr/share/plymouth/themes/bos/bos.plymouth
Normal file
8
iso/airootfs/usr/share/plymouth/themes/bos/bos.plymouth
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
[Plymouth Theme]
|
||||
Name=BOS
|
||||
Description=Bread Operating System boot splash — logo, spinner, status
|
||||
ModuleName=script
|
||||
|
||||
[script]
|
||||
ImageDir=/usr/share/plymouth/themes/bos
|
||||
ScriptFile=/usr/share/plymouth/themes/bos/bos.script
|
||||
49
iso/airootfs/usr/share/plymouth/themes/bos/bos.script
Normal file
49
iso/airootfs/usr/share/plymouth/themes/bos/bos.script
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
# BOS Plymouth boot splash (script module).
|
||||
# Bread-brown background, centred white BOS logo, a spinning accent ring, and a
|
||||
# status line at the bottom. Colours match the bread palette.
|
||||
|
||||
# --- background (#230b00) ---
|
||||
Window.SetBackgroundTopColor(0.137, 0.043, 0.0);
|
||||
Window.SetBackgroundBottomColor(0.137, 0.043, 0.0);
|
||||
|
||||
screen_w = Window.GetWidth();
|
||||
screen_h = Window.GetHeight();
|
||||
|
||||
# --- logo (centred, slightly above the middle) ---
|
||||
logo.image = Image("logo.png");
|
||||
logo.sprite = Sprite(logo.image);
|
||||
logo.x = screen_w / 2 - logo.image.GetWidth() / 2;
|
||||
logo.y = screen_h / 2 - logo.image.GetHeight() / 2 - 40;
|
||||
logo.sprite.SetX(logo.x);
|
||||
logo.sprite.SetY(logo.y);
|
||||
logo.sprite.SetZ(1);
|
||||
|
||||
# --- spinner (rotating accent ring, below the logo) ---
|
||||
spinner.image = Image("spinner.png");
|
||||
spinner.sprite = Sprite();
|
||||
spinner.cx = screen_w / 2;
|
||||
spinner.cy = logo.y + logo.image.GetHeight() + 60;
|
||||
spinner.angle = 0;
|
||||
|
||||
fun refresh_callback() {
|
||||
spinner.angle += 0.10;
|
||||
if (spinner.angle > 6.28318) spinner.angle -= 6.28318;
|
||||
rotated = spinner.image.Rotate(spinner.angle);
|
||||
spinner.sprite.SetImage(rotated);
|
||||
spinner.sprite.SetX(spinner.cx - rotated.GetWidth() / 2);
|
||||
spinner.sprite.SetY(spinner.cy - rotated.GetHeight() / 2);
|
||||
spinner.sprite.SetZ(2);
|
||||
}
|
||||
Plymouth.SetRefreshFunction(refresh_callback);
|
||||
|
||||
# --- status line (cream text, near the bottom) ---
|
||||
status.sprite = Sprite();
|
||||
fun show_status(text) {
|
||||
status.image = Image.Text(text, 0.945, 0.863, 0.741);
|
||||
status.sprite.SetImage(status.image);
|
||||
status.sprite.SetX(screen_w / 2 - status.image.GetWidth() / 2);
|
||||
status.sprite.SetY(screen_h * 0.84);
|
||||
status.sprite.SetZ(2);
|
||||
}
|
||||
Plymouth.SetMessageFunction(show_status);
|
||||
Plymouth.SetUpdateStatusFunction(show_status);
|
||||
BIN
iso/airootfs/usr/share/plymouth/themes/bos/logo.png
Normal file
BIN
iso/airootfs/usr/share/plymouth/themes/bos/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
BIN
iso/airootfs/usr/share/plymouth/themes/bos/spinner.png
Normal file
BIN
iso/airootfs/usr/share/plymouth/themes/bos/spinner.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1 KiB |
Loading…
Add table
Add a link
Reference in a new issue