This commit is contained in:
mjallen18
2025-06-09 19:35:45 -05:00
parent 5939408bce
commit 20e2ec1edf
9 changed files with 58 additions and 25 deletions

28
flake.lock generated
View File

@@ -1614,6 +1614,27 @@
"type": "github" "type": "github"
} }
}, },
"pi5-disko": {
"inputs": {
"nixpkgs": [
"pi5-nixpkgs"
]
},
"locked": {
"lastModified": 1742690494,
"narHash": "sha256-SFacEbSRMoTyWG5VXh4ieofJGge+cLq9lH8ifB+zjBg=",
"owner": "nvmd",
"repo": "disko",
"rev": "9dc58d4d49c9f74623a06e2fc20cdfd8bb3cbe8b",
"type": "github"
},
"original": {
"owner": "nvmd",
"ref": "gpt-attrs",
"repo": "disko",
"type": "github"
}
},
"pi5-home-manager": { "pi5-home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -1621,11 +1642,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1749400020, "lastModified": 1749499854,
"narHash": "sha256-0nTmHO8AYgRYk5v6zw5oZ3x9nh+feb+Isn7WNe318M0=", "narHash": "sha256-V1BgwiX8NjbRreU6LC2EzmuqFSQAHhoSeNlYJyZ40NE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "2835e8ba0ad99ba86d4a5e497a962ec9fa35e48f", "rev": "1df816c407d3a5090c8496c9b00170af7891f021",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1868,6 +1889,7 @@
"pi4-nixos-raspberrypi": "pi4-nixos-raspberrypi", "pi4-nixos-raspberrypi": "pi4-nixos-raspberrypi",
"pi4-nixpkgs": "pi4-nixpkgs", "pi4-nixpkgs": "pi4-nixpkgs",
"pi4-sops-nix": "pi4-sops-nix", "pi4-sops-nix": "pi4-sops-nix",
"pi5-disko": "pi5-disko",
"pi5-home-manager": "pi5-home-manager", "pi5-home-manager": "pi5-home-manager",
"pi5-impermanence": "pi5-impermanence", "pi5-impermanence": "pi5-impermanence",
"pi5-nixos-hardware": "pi5-nixos-hardware", "pi5-nixos-hardware": "pi5-nixos-hardware",

View File

@@ -156,6 +156,13 @@
nas-nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions"; nas-nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions";
pi5-disko = {
# the fork is needed for partition attributes support
url = "github:nvmd/disko/gpt-attrs";
# url = "github:nix-community/disko";
inputs.nixpkgs.follows = "pi5-nixpkgs";
};
##################################################### #####################################################
# pi4 # # pi4 #
##################################################### #####################################################
@@ -321,6 +328,7 @@
pi5-nixos-hardware, pi5-nixos-hardware,
pi5-sops-nix, pi5-sops-nix,
nixos-raspberrypi, nixos-raspberrypi,
pi5-disko,
# pi4 # pi4
pi4-nixpkgs, pi4-nixpkgs,
@@ -510,6 +518,8 @@
modules = [ modules = [
./base/base-nogui ./base/base-nogui
./base/base-gui ./base/base-gui
pi5-disko.nixosModules.disko
./share/disko/pi-uefi-disko.nix
pi5-impermanence.nixosModules.impermanence pi5-impermanence.nixosModules.impermanence
pi5-sops-nix.nixosModules.sops pi5-sops-nix.nixosModules.sops
./hosts/pi5/configuration.nix ./hosts/pi5/configuration.nix

View File

@@ -5,19 +5,19 @@ in
{ {
boot = { boot = {
loader = { loader = {
systemd-boot.enable = lib.mkForce true; systemd-boot.enable = lib.mkForce false;
efi.canTouchEfiVariables = false; efi.canTouchEfiVariables = false;
generic-extlinux-compatible.enable = lib.mkForce false; generic-extlinux-compatible.enable = lib.mkForce true;
}; };
plymouth.enable = true; plymouth.enable = false;
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_rpi4;
kernelModules = [ "i2c-dev" "i2c-bcm2835" ]; kernelModules = [ "i2c-dev" "i2c-bcm2835" ];
initrd.kernelModules = [ "i2c-dev" "i2c-bcm2835" ]; initrd.kernelModules = [ "i2c-dev" "i2c-bcm2835" ];
}; };
environment.systemPackages = [ uefi_pi4 ]; # environment.systemPackages = [ uefi_pi4 ];
# Copy UEFI firmware files to the boot partition # Copy UEFI firmware files to the boot partition
system.activationScripts.installUEFIFirmware.text = '' # system.activationScripts.installUEFIFirmware.text = ''
cp -r ${uefi_pi4}/share/uefi_rpi4/* /boot/firmware/ # cp -r ${uefi_pi4}/share/uefi_rpi4/* /boot/firmware/
''; # '';
} }

View File

@@ -57,16 +57,17 @@ in
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = with pkgs; [
i2c-tools
libraspberrypi libraspberrypi
raspberrypi-eeprom raspberrypi-eeprom
raspberrypifw raspberrypifw
raspberrypiWirelessFirmware raspberrypiWirelessFirmware
raspberrypi-armstubs raspberrypi-armstubs
]; ];
etc = { # etc = {
"ssh/ssh_host_ed25519_key".source = config.sops.secrets."pi4/sys-priv-key".path; # "ssh/ssh_host_ed25519_key".source = config.sops.secrets."pi4/sys-priv-key".path;
"ssh/ssh_host_ed25519_key.pub".source = config.sops.secrets."pi4/sys-public-key".path; # "ssh/ssh_host_ed25519_key.pub".source = config.sops.secrets."pi4/sys-public-key".path;
}; # };
}; };
users = { users = {

View File

@@ -2,19 +2,19 @@
{ {
hardware = { hardware = {
raspberry-pi."4" = { raspberry-pi."4" = {
apply-overlays-dtmerge.enable = false; apply-overlays-dtmerge.enable = true;
audio.enable = false; audio.enable = false;
backlight.enable = false; backlight.enable = false;
bluetooth.enable = false; bluetooth.enable = true;
dwc2.enable = true; dwc2.enable = true;
i2c0.enable = false; i2c0.enable = true;
i2c1.enable = false; i2c1.enable = true;
leds = { leds = {
eth.disable = false; eth.disable = false;
act.disable = false; act.disable = false;
pwr.disable = false; pwr.disable = false;
}; };
fkms-3d.enable = false; fkms-3d.enable = true;
xhci.enable = true; xhci.enable = true;
}; };
deviceTree.filter = "bcm2711-rpi-4*.dtb"; deviceTree.filter = "bcm2711-rpi-4*.dtb";

View File

@@ -5,7 +5,6 @@ in
{ {
sops = { sops = {
defaultSopsFile = ../../secrets/pi4-secrets.yaml; defaultSopsFile = ../../secrets/pi4-secrets.yaml;
# age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
age = { age = {
generateKey = true; generateKey = true;
sshKeyPaths = [ "/etc/ssd/ssh_host_ed25519_key" ]; sshKeyPaths = [ "/etc/ssd/ssh_host_ed25519_key" ];

View File

@@ -11,13 +11,13 @@ in
{ {
imports = [ imports = [
./boot.nix ./boot.nix
./hardware-configuration.nix # ./hardware-configuration.nix
./impermanence.nix ./impermanence.nix
./networking.nix ./networking.nix
./services.nix ./services.nix
./sops.nix ./sops.nix
./hass.nix # ./hass.nix
]; ];
# Enable nix flakes and nix-command tools # Enable nix flakes and nix-command tools

View File

@@ -1,9 +1,9 @@
{ ... }: { ... }:
let let
rootDisk = "/dev/mmcblk0"; rootDisk = "/dev/nvme0n1";
in in
{ {
disko.devices.disk.main.imageSize = "32G"; disko.devices.disk.main.imageSize = "15G";
disko.devices = { disko.devices = {
nodev."/" = { nodev."/" = {
fsType = "tmpfs"; fsType = "tmpfs";

View File

@@ -43,6 +43,7 @@
java.enable = lib.mkDefault true; java.enable = lib.mkDefault true;
mangohud.enable = lib.mkDefault true; mangohud.enable = lib.mkDefault true;
password-store.enable = true; password-store.enable = true;
tmux.enable = true;
}; };
services = { services = {