chore(todo): add project TODO list and improve Plymouth LUKS support
This commit is contained in:
30
TODO.md
Normal file
30
TODO.md
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
# Nomarchy Distribution - TODO List
|
||||||
|
|
||||||
|
## 1. Professional Installer [IN PROGRESS]
|
||||||
|
- [x] Refactor with `gum` for stylized UI.
|
||||||
|
- [x] Add clear section headers and environment checks.
|
||||||
|
- [x] Implement software profile selection.
|
||||||
|
- [ ] Add "Pre-flight Check" summary screen showing all selected options (disk, user, profiles) before proceeding.
|
||||||
|
- [ ] Implement post-install "Success" dashboard with next steps.
|
||||||
|
- [ ] Improve disk selection to show more metadata (vendor, model, serial).
|
||||||
|
|
||||||
|
## 2. Nomarchy Plymouth Theme [IN PROGRESS]
|
||||||
|
- [x] Create custom theme assets in `assets/plymouth/`.
|
||||||
|
- [x] Center official logo on splash screen.
|
||||||
|
- [x] Declarative integration in `modules/system/plymouth.nix`.
|
||||||
|
- [ ] Implement full LUKS password entry support (password prompt, bullet indicators).
|
||||||
|
- [ ] Add smooth fade-in/fade-out animations for the logo.
|
||||||
|
- [ ] Add system message display (e.g., "Rebooting...", "Checking Disk...").
|
||||||
|
|
||||||
|
## 3. System Branding (Fastfetch & Terminal) [DONE]
|
||||||
|
- [x] Restore and optimize official ASCII logo (`logo.txt`).
|
||||||
|
- [x] Update `config/fastfetch/config.jsonc` to use new logo and declarative stats.
|
||||||
|
- [x] Update `nomarchy-show-logo` to use centralized branding path.
|
||||||
|
- [x] Declaratively map all branding assets via Home Manager.
|
||||||
|
|
||||||
|
## 4. Repo Hygiene & Consistency [DONE]
|
||||||
|
- [x] Remove legacy Arch Linux imperative scripts.
|
||||||
|
- [x] Move all dynamic state to unified `state.json`.
|
||||||
|
- [x] Implement professional state migration via Home Manager activation.
|
||||||
|
- [x] Declaratively link all `config/` directories with `recursive = true`.
|
||||||
|
- [x] Transition to Remote-First Upstream model.
|
||||||
@@ -1,21 +1,40 @@
|
|||||||
|
# Set background to black
|
||||||
|
Window.SetBackgroundTopColor(0, 0, 0);
|
||||||
|
Window.SetBackgroundBottomColor(0, 0, 0);
|
||||||
|
|
||||||
|
# Logo
|
||||||
logo_image = Image("logo.png");
|
logo_image = Image("logo.png");
|
||||||
|
|
||||||
screen_width = Window.GetWidth();
|
|
||||||
screen_height = Window.GetHeight();
|
|
||||||
|
|
||||||
logo_width = logo_image.GetWidth();
|
|
||||||
logo_height = logo_image.GetHeight();
|
|
||||||
|
|
||||||
logo_x = screen_width / 2 - logo_width / 2;
|
|
||||||
logo_y = screen_height / 2 - logo_height / 2;
|
|
||||||
|
|
||||||
logo_sprite = Sprite(logo_image);
|
logo_sprite = Sprite(logo_image);
|
||||||
logo_sprite.SetX(logo_x);
|
logo_sprite.SetX(Window.GetWidth() / 2 - logo_image.GetWidth() / 2);
|
||||||
logo_sprite.SetY(logo_y);
|
logo_sprite.SetY(Window.GetHeight() / 3 - logo_image.GetHeight() / 2);
|
||||||
logo_sprite.SetOpacity(1);
|
logo_sprite.SetOpacity(1);
|
||||||
|
|
||||||
|
# Message Display (for LUKS password, etc)
|
||||||
|
message_sprite = Sprite();
|
||||||
|
message_sprite.SetX(Window.GetWidth() / 2);
|
||||||
|
message_sprite.SetY(Window.GetHeight() * 0.6);
|
||||||
|
|
||||||
|
fun display_message_callback(text) {
|
||||||
|
my_image = Image.Text(text, 1, 1, 1); # White text
|
||||||
|
message_sprite.SetImage(my_image);
|
||||||
|
message_sprite.SetX(Window.GetWidth() / 2 - my_image.GetWidth() / 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
# Password Entry
|
||||||
|
status = "normal";
|
||||||
|
|
||||||
|
fun password_callback(text, bullet_count) {
|
||||||
|
# When typing password, show bullets
|
||||||
|
bullets = "";
|
||||||
|
for (i = 0; i < bullet_count; i++) bullets += "*";
|
||||||
|
display_message_callback(bullets);
|
||||||
|
}
|
||||||
|
|
||||||
|
Plymouth.SetDisplayPasswordFunction(password_callback);
|
||||||
|
Plymouth.SetDisplayNormalFunction(fun() { status = "normal"; message_sprite.SetImage(NULL); });
|
||||||
|
Plymouth.SetDisplayMessageFunction(display_message_callback);
|
||||||
|
|
||||||
fun refresh_callback () {
|
fun refresh_callback () {
|
||||||
# Simple rotation or pulse could go here
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Plymouth.SetRefreshFunction (refresh_callback);
|
Plymouth.SetRefreshFunction (refresh_callback);
|
||||||
|
|||||||
Reference in New Issue
Block a user