feat: implement modular foundation and core system services

- Update flake.nix with 25.11 release and core inputs
- Add dedicated modules for audio (Pipewire), bluetooth, and networking
- Update GEMINI.md with the new Modular Merging Architecture blueprint
- Configure graphical installer ISO and test VM outputs
This commit is contained in:
Bernardo Magri
2026-04-03 21:06:42 +01:00
parent 33deeb494b
commit 29cc0d2547
49 changed files with 1628 additions and 855 deletions

View File

@@ -1,46 +1,43 @@
{
dracula = {
name = "dracula";
author = "dracula";
palette = {
base00 = "282a36";
base01 = "3a3c4e";
base02 = "4d4f68";
base03 = "6272a4";
base04 = "62d6e8";
base05 = "e9e9f4";
base06 = "f1f2f8";
base07 = "f8f8f2";
base08 = "ff5555";
base09 = "ffb86c";
base0A = "f1fa8c";
base0B = "50fa7b";
base0C = "8be9fd";
base0D = "bd93f9";
base0E = "ff79c6";
base0F = "bd93f9";
let
themesDir = ./.;
# Get all directories in the themes folder that have a colors.toml file
directories = builtins.attrNames (
builtins.filterAttrs (name: type: type == "directory" && builtins.pathExists (themesDir + "/${name}/colors.toml")) (builtins.readDir themesDir)
);
readTheme = name:
let
toml = builtins.fromTOML (builtins.readFile (themesDir + "/${name}/colors.toml"));
# Helper to strip '#' from color codes
stripHash = s: builtins.replaceStrings ["#"] [""] s;
in {
inherit name;
author = "nomarchy";
palette = {
base00 = stripHash toml.background;
base01 = stripHash toml.color0;
base02 = stripHash toml.color8;
base03 = stripHash toml.color8;
base04 = stripHash toml.color7;
base05 = stripHash toml.foreground;
base06 = stripHash toml.color15;
base07 = stripHash toml.color15;
base08 = stripHash toml.color1;
base09 = stripHash toml.color3;
base0A = stripHash toml.color3;
base0B = stripHash toml.color2;
base0C = stripHash toml.color6;
base0D = stripHash toml.color4;
base0E = stripHash toml.color5;
base0F = stripHash toml.color1;
};
};
};
nord = {
name = "nord";
author = "arcticicestudio";
palette = {
base00 = "2e3440";
base01 = "3b4252";
base02 = "434c5e";
base03 = "4c566a";
base04 = "d8dee9";
base05 = "e5e9f0";
base06 = "eceff4";
base07 = "8fbcbb";
base08 = "88c0d0";
base09 = "81a1c1";
base0A = "5e81ac";
base0B = "bf616a";
base0C = "d08770";
base0D = "ebcb8b";
base0E = "a3be8c";
base0F = "b48ead";
};
};
}
in
builtins.listToAttrs (map (name: {
inherit name;
value = readTheme name;
}) directories)