rpi4/chimchar wip

This commit is contained in:
James Andariese 2025-05-03 15:49:34 -05:00
parent fa43a72635
commit ae51494061
3 changed files with 78 additions and 1 deletions

View File

@ -66,6 +66,6 @@
};}; };};
}; };
} ( [] # lists to recursively merge into the config. } ( [] # lists to recursively merge into the config.
++ (map (h: buildMachine h "x86_64-linux") hosts) ++ (map (h: buildMachine h "aarch64-linux") hosts)
); );
} }

35
hosts/chimchar.nix Normal file
View File

@ -0,0 +1,35 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, lib, inputs, ... }:
{
imports =
[ # Include the results of the hardware scan.
../types/rpi4.nix
];
config = {
networking = {
hostName = "chimchar";
wireless = {
enable = true;
networks."STRUDEL7".psk = "1floopydroober";
interfaces = [ "wlan0" ];
};
};
fileSystems."/" =
{ device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
fsType = "ext4";
options = [ "noatime" ];
};
swapDevices = [ ];
services.xserver.enable = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.windowManager.fvwm3.enable = true;
networking.useDHCP = lib.mkDefault true;
};
}

42
types/rpi4.nix Normal file
View File

@ -0,0 +1,42 @@
{ config, pkgs, lib, flake-inputs, ... }:
{
imports = [
../modules/session.nix
../modules/users.nix
../modules/serial-console.nix
../modules/pragmatic-bin.nix
];
hardware.enableRedistributableFirmware = true;
boot.initrd.availableKernelModules = [ "xhci_pci" "usbhid" "usb_storage" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.kernelPackages = pkgs.linuxKernel.packages.linux_rpi4;
boot.extraModulePackages = [ ];
boot.loader = {
grub.enable = false;
generic-extlinux-compatible.enable = lib.mkForce true;
};
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
services.openssh.enable = true;
networking.firewall.enable = false;
environment.systemPackages = with pkgs; [
neovim
htop
];
systemd.network.wait-online.enable = lib.mkDefault false;
security.sudo = {
enable = true;
extraRules = [
{ users = [ "%wheel" ];
commands = [ { command = "ALL"; options = [ "NOPASSWD" ]; } ];
}
];
};
}