Merge Luma launcher fork into monorepo
Move trampoline files (boot-hook, watcher, overlay) into trampoline/ subdirectory. Add upstream Luma v2.3.1 source at repo root with our additions: - Page::Ha (4th nav tab) with placeholder empty state - HA tab config schema and default entity mapping (ha-home/) - Nav keys renamed: "home" → "start", new "ha" tab between Apps and Settings - All state.rs/view.rs/main.rs/tests.rs updated for 4-tab navigation Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
bc3ca0f3b9
commit
cbea5a322f
204 files changed
+25056
-65
No files matched your search
@@ -0,0 +1,86 @@
|
||||
{
|
||||
description = "Luma Rust/SDL2 development and packaging environment";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
rust-overlay = {
|
||||
url = "github:oxalica/rust-overlay";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ nixpkgs, rust-overlay, ... }:
|
||||
let
|
||||
systems = [
|
||||
"aarch64-darwin"
|
||||
"aarch64-linux"
|
||||
"x86_64-linux"
|
||||
];
|
||||
forEachSystem =
|
||||
f:
|
||||
nixpkgs.lib.genAttrs systems (
|
||||
system:
|
||||
f (
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ rust-overlay.overlays.default ];
|
||||
}
|
||||
)
|
||||
);
|
||||
project = builtins.fromJSON (builtins.readFile ./package.json);
|
||||
pnpmVersion = nixpkgs.lib.removePrefix "pnpm@" project.packageManager;
|
||||
in
|
||||
{
|
||||
devShells = forEachSystem (
|
||||
pkgs:
|
||||
let
|
||||
# Match the native CI toolchain and include the TV's soft-float Rust std.
|
||||
rust = pkgs.rust-bin.stable."1.93.0".minimal.override {
|
||||
extensions = [
|
||||
"clippy"
|
||||
"rustfmt"
|
||||
];
|
||||
targets = [ "armv7-unknown-linux-gnueabi" ];
|
||||
};
|
||||
pnpm =
|
||||
assert pkgs.lib.assertMsg (
|
||||
pkgs.pnpm_10.version == pnpmVersion
|
||||
) "The flake's pnpm must match package.json; update flake.lock and packageManager together.";
|
||||
pkgs.pnpm_10;
|
||||
in
|
||||
{
|
||||
default = pkgs.mkShell ({
|
||||
name = "luma";
|
||||
packages = [
|
||||
pkgs.nodejs_24
|
||||
pnpm
|
||||
rust
|
||||
pkgs.pkg-config
|
||||
pkgs.SDL2
|
||||
pkgs.woff2
|
||||
(pkgs.python3.withPackages (python: [ python.fonttools ]))
|
||||
pkgs.cmake
|
||||
pkgs.git
|
||||
]
|
||||
++ pkgs.lib.optionals pkgs.stdenv.hostPlatform.isLinux [
|
||||
pkgs.libGL
|
||||
pkgs.mesa
|
||||
pkgs.xvfb-run
|
||||
];
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
formatter = forEachSystem (
|
||||
pkgs:
|
||||
pkgs.writeShellApplication {
|
||||
name = "luma-nixfmt";
|
||||
runtimeInputs = [ pkgs.nixfmt ];
|
||||
text = ''
|
||||
exec nixfmt "$@" flake.nix
|
||||
'';
|
||||
}
|
||||
);
|
||||
};
|
||||
}
|
||||
Reference in new issue
Block a user