switch to gortium/nixos-uconsole fork

This commit is contained in:
2026-06-13 23:15:53 -04:00
parent 6543de3a45
commit 3f985c72de

View File

@@ -12,11 +12,9 @@
url = "git+https://git.lix.systems/lix-project/lix?ref=main"; url = "git+https://git.lix.systems/lix-project/lix?ref=main";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
# uConsole CM5 — pinned nixpkgs for kernel patch compatibility
nixpkgs-uconsole.url = "github:NixOS/nixpkgs/nixos-25.11"; nixpkgs-uconsole.url = "github:NixOS/nixpkgs/nixos-25.11";
nixos-uconsole = { nixos-uconsole = {
url = "github:nixos-uconsole/nixos-uconsole/v1.1.0"; url = "github:gortium/nixos-uconsole/cm5_fix";
inputs.nixpkgs.follows = "nixpkgs-uconsole"; inputs.nixpkgs.follows = "nixpkgs-uconsole";
inputs.nixos-raspberrypi.follows = "nixos-raspberrypi"; inputs.nixos-raspberrypi.follows = "nixos-raspberrypi";
}; };
@@ -43,16 +41,12 @@
pkgs = import nixpkgs { pkgs = import nixpkgs {
inherit system overlays; inherit system overlays;
config.allowUnfree = true; config.allowUnfree = true;
config.permittedInsecurePackages = [ config.permittedInsecurePackages = [ "openclaw-2026.3.12" ];
"openclaw-2026.3.12"
];
}; };
devShell = import ./shells/nix_dev.nix { devShell = import ./shells/nix_dev.nix {
inherit pkgs system agenix; inherit pkgs system agenix;
}; };
in in {
{
nixosConfigurations = { nixosConfigurations = {
lazyworkhorse = nixpkgs.lib.nixosSystem { lazyworkhorse = nixpkgs.lib.nixosSystem {
specialArgs = { inherit system self keys paths inputs; }; specialArgs = { inherit system self keys paths inputs; };
@@ -61,9 +55,7 @@
nixpkgs.overlays = overlays; nixpkgs.overlays = overlays;
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nixpkgs.config.rocmSupport = true; nixpkgs.config.rocmSupport = true;
nixpkgs.config.permittedInsecurePackages = [ nixpkgs.config.permittedInsecurePackages = [ "openclaw-2026.3.12" ];
"openclaw-2026.3.12"
];
nix.package = lix.packages.${system}.default; nix.package = lix.packages.${system}.default;
} }
agenix.nixosModules.default agenix.nixosModules.default
@@ -94,10 +86,6 @@
]; ];
}; };
# ============================================================
# uConsole CM5 — cross-compilé (build sur x86_64, run sur ARM)
# Approche incrémentale pour fixer l'écran
# ============================================================
uconsole-cm5 = nixpkgs-uconsole.lib.nixosSystem { uconsole-cm5 = nixpkgs-uconsole.lib.nixosSystem {
system = "aarch64-linux"; system = "aarch64-linux";
specialArgs = { specialArgs = {
@@ -107,22 +95,17 @@
}; };
modules = [ modules = [
{ {
# Cross-compile : build sur x86_64, run sur aarch64
nixpkgs.buildPlatform = "x86_64-linux"; nixpkgs.buildPlatform = "x86_64-linux";
nixpkgs.hostPlatform = "aarch64-linux"; nixpkgs.hostPlatform = "aarch64-linux";
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
boot.loader.raspberry-pi.bootloader = "kernel"; boot.loader.raspberry-pi.bootloader = "kernel";
} }
# nixos-raspberrypi — pkgs.rpi + overlays standardisés
nixos-raspberrypi.nixosModules.nixpkgs-rpi nixos-raspberrypi.nixosModules.nixpkgs-rpi
# Patches are now in gortium/nixos-uconsole fork (cm5_fix branch)
nixos-raspberrypi.nixosModules.raspberry-pi-5.base nixos-raspberrypi.nixosModules.raspberry-pi-5.base
nixos-raspberrypi.lib.inject-overlays nixos-raspberrypi.lib.inject-overlays
nixos-raspberrypi.lib.inject-overlays-global nixos-raspberrypi.lib.inject-overlays-global
# nixos-uconsole CM5 modules nixos-uconsole.nixosModules.uconsole-cm5
nixos-uconsole.nixosModules.kernel
(nixos-uconsole.nixosModules.cm { lib = nixpkgs-uconsole.lib; isCM4 = false; })
nixos-uconsole.nixosModules.base
# Lix cross-compilé (lix.packages.aarch64-linux est natif → QEMU)
({ config, lib, pkgs, inputs, ... }: let ({ config, lib, pkgs, inputs, ... }: let
lix-cross = import inputs.nixpkgs-uconsole { lix-cross = import inputs.nixpkgs-uconsole {
localSystem = { system = "x86_64-linux"; }; localSystem = { system = "x86_64-linux"; };
@@ -130,18 +113,16 @@
overlays = [ inputs.lix.overlays.default ]; overlays = [ inputs.lix.overlays.default ];
}; };
in { nix.package = lix-cross.lix; }) in { nix.package = lix-cross.lix; })
# agenix
agenix.nixosModules.default agenix.nixosModules.default
# Notre config
./hosts/uconsole-cm5/configuration.nix ./hosts/uconsole-cm5/configuration.nix
./hosts/uconsole-cm5/hardware-configuration.nix ./hosts/uconsole-cm5/hardware-configuration.nix
]; ];
}; };
}; };
devShells.${system}.default = devShell; devShells.${system}.default = devShell;
packages.${system} = { packages.${system} = {
# Image SD flashable pour uConsole CM5 (SSH + WiFi + clés)
# Usage : dd if=result of=/dev/sda bs=4M status=progress conv=fsync
uconsole-cm5-image = (nixos-raspberrypi.lib.nixosSystem { uconsole-cm5-image = (nixos-raspberrypi.lib.nixosSystem {
system = "aarch64-linux"; system = "aarch64-linux";
specialArgs = { specialArgs = {
@@ -158,9 +139,7 @@
nixos-raspberrypi.nixosModules.raspberry-pi-5.base nixos-raspberrypi.nixosModules.raspberry-pi-5.base
nixos-raspberrypi.lib.inject-overlays-global nixos-raspberrypi.lib.inject-overlays-global
nixos-raspberrypi.nixosModules.sd-image nixos-raspberrypi.nixosModules.sd-image
nixos-uconsole.nixosModules.kernel nixos-uconsole.nixosModules.uconsole-cm5
(nixos-uconsole.nixosModules.cm { lib = nixpkgs-uconsole.lib; isCM4 = false; })
nixos-uconsole.nixosModules.base
agenix.nixosModules.default agenix.nixosModules.default
./hosts/uconsole-cm5/configuration.nix ./hosts/uconsole-cm5/configuration.nix
]; ];