{ lib, pkgs, config, inputs, ... }: let inherit (pkgs.checkpointBuildTools) prepareCheckpointBuild mkCheckpointBuild; linux-cached = prepareCheckpointBuild pkgs.linux-ptv; linux-changed = pkgs.linux-ptv; linux-ptv = pkgs.checkpointBuildTools.mkCheckpointBuild linux-changed linux-cached; in { # boot.kernelPackages = pkgs.linuxPackagesFor linux-ptv; boot.kernelParams = lib.mkDefault [ "console=tty0" "console=ttyS0" ]; systemd.services."getty@tty0".enable = lib.mkDefault true; systemd.services."getty@tty0".wantedBy = lib.mkDefault [ "getty.target" ]; system.stateVersion = "24.05"; nixpkgs.hostPlatform = "riscv64-linux"; networking.hostName = "ptv"; nix.registry.nixpkgs.flake = inputs.nixpkgs-stable; nix.settings.experimental-features = [ "nix-command" "flakes" ]; nixpkgs.overlays = [ (final: prev: { # https://github.com/starfive-tech/soft_3rdpart/tree/JH7110_VisionFive2_devel # Source of different firmware/3rd party sw and fw img-rogue-firmware = pkgs.stdenv.mkDerivation { pname = "img-gpu-powervr"; version = "36-working-on-it"; src = ./rgx-img-gpu-firmware.tar.gz; dontBuild = true; passthru = { compressFirmware = false; }; installPhase = '' runHook preInstall mkdir -p $out/lib/firmware cp * $out/lib/firmware runHook postInstall ''; }; }) (import ./pkgs) ]; imports = [ "${inputs.nixos-hardware}/pine64/pinetab-v/sd-image.nix" # ./ccache.nix ./native-bootstrap.nix ]; users.users = { pine64 = { isNormalUser = true; extraGroups = [ "wheel" ]; initialHashedPassword = "$y$j9T$cuXgVIPt3n1.v7GcoXiql1$4EBlHM7sYO.lL.DTDwQzTBqSYsD01WIDZQXleCeozl8"; }; root = { initialHashedPassword = "$y$j9T$cuXgVIPt3n1.v7GcoXiql1$4EBlHM7sYO.lL.DTDwQzTBqSYsD01WIDZQXleCeozl8"; }; }; networking.wireless.enable = true; networking.wireless.userControlled.enable = true; #programs.hyprland = { # Install the packages from nixpkgs # enable = true; # Whether to enable XWayland # xwayland.enable = true; #}; environment.systemPackages = with pkgs; [ dropbear busybox tmux git weston # ffmpeg # firefox ]; hardware.firmware = pkgs.lib.mkOrder 1000 [ pkgs.img-rogue-firmware ]; services.openssh.enable = true; }