Files
NixMachines/machines/ptv/configuration.nix
2024-07-12 10:23:59 -04:00

92 lines
2.4 KiB
Nix

{ 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;
}