diff --git a/flake.lock b/flake.lock index d145db5..ef80359 100644 --- a/flake.lock +++ b/flake.lock @@ -667,6 +667,26 @@ "type": "github" } }, + "nixos-hardware": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1784723954, + "narHash": "sha256-1CfD8ZUjCkTgjsneLZ/lxCHhgDfqxxE7/GX0MmsgiqA=", + "owner": "NixOS", + "repo": "nixos-hardware", + "rev": "a017f5b72210026af5b3ac5949f08d94380a6fbd", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixos-hardware", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1712920918, @@ -793,6 +813,7 @@ "home-manager": "home-manager", "import-tree": "import-tree", "liminix": "liminix", + "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs_2", "plasma-manager": "plasma-manager", "treefmt-nix": "treefmt-nix" diff --git a/flake.nix b/flake.nix index 0722b41..7ec827e 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,10 @@ inputs.nixpkgs.follows = "nixpkgs"; inputs.devshell.follows = "devshell"; }; + nixos-hardware = { + url = "github:NixOS/nixos-hardware"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { diff --git a/machines/anser/configuration.nix b/machines/anser/configuration.nix index 92f1ce3..ae61c44 100644 --- a/machines/anser/configuration.nix +++ b/machines/anser/configuration.nix @@ -1,3 +1,7 @@ +{ + inputs, + ... +}: { nixpkgs.hostPlatform = { system = "aarch64-linux"; @@ -7,28 +11,4 @@ clan.core.settings.name = "anser"; clan.core.settings.machine.description = ""; - boot.loader.grub.enable = false; - boot.loader.generic-extlinux-compatible.enable = true; - - hardware.enableRedistributableFirmware = true; - - boot.kernelParams = [ - "console=ttyS2,1500000n8" - "loglevel=4" - ]; - - hardware.deviceTree = { - enable = true; - filter = "*rk3566-radxa-zero-3*.dtb"; - overlays = [ - { - name = "disable-scmi"; - dtsFile = ./disable-scmi.dts; - } - { - name = "enable-uart3"; - dtsFile = ./enable-uart3.dts; - } - ]; - }; } diff --git a/machines/anser/disable-scmi.dts b/machines/anser/disable-scmi.dts deleted file mode 100644 index 9b76b18..0000000 --- a/machines/anser/disable-scmi.dts +++ /dev/null @@ -1,20 +0,0 @@ -/dts-v1/; -/plugin/; - -/ { - compatible = "radxa,zero-3w", "rockchip,rk3566"; - - fragment@0 { - target-path = "/firmware/scmi"; - __overlay__ { - status = "disabled"; - }; - }; - - fragment@1 { - target-path = "/gpu@fde60000"; - __overlay__ { - status = "disabled"; - }; - }; -}; diff --git a/machines/anser/disko.nix b/machines/anser/disko.nix new file mode 100644 index 0000000..9b68e3b --- /dev/null +++ b/machines/anser/disko.nix @@ -0,0 +1,14 @@ +{ inputs, ... }: { + disko = { + imageBuilder = { + # Avoid double emulation to significantly speed up image building process. + # Update the system according to your host system. + # See https://github.com/nix-community/disko/issues/856 + qemu = + inputs.nixpkgs.legacyPackages.x86_64-linux.qemu + + "/bin/qemu-system-aarch64 -M virt -cpu cortex-a57"; + }; + # Default image size is 2G for a small basic CLI system. + # devices.disk.main.imageSize = "2G"; + }; +} diff --git a/machines/anser/enable-uart3.dts b/machines/anser/enable-uart3.dts deleted file mode 100644 index 7bdf4ee..0000000 --- a/machines/anser/enable-uart3.dts +++ /dev/null @@ -1,16 +0,0 @@ -/dts-v1/; -/plugin/; - -/ { - compatible = "radxa,zero-3w", "rockchip,rk3566"; - - /* Enable UART3 on pins 3/5 (GPIO1_A0/A1) */ - fragment@0 { - target = <&uart3>; - __overlay__ { - status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&uart3m0_xfer>; - }; - }; -};