Commit 1a8e0e85ef12
Changed files (5)
lib/default.nix
@@ -78,7 +78,62 @@
self.nixosModules.gosmee
inputs.agenix.nixosModules.default
inputs.lanzaboote.nixosModules.lanzaboote
- inputs.vscode-server.nixosModules.default
+ homeInput.nixosModules.home-manager
+ { home-manager.extraSpecialArgs = specialArgs; }
+ ../systems
+ ];
+ };
+
+ # Function for generating host configs
+ mkRPIHost =
+ {
+ hostname,
+ desktop ? null,
+ hardwareType ? "",
+ pkgsInput ? inputs.nixpkgs-25_05,
+ homeInput ? inputs.home-manager-25_05,
+ nixos-raspberrypi ? inputs.nixos-raspberrypi,
+ }:
+ let
+ system = "aarch64-linux";
+ globals = import ../globals.nix {
+ inherit (pkgsInput) lib;
+ inherit hostname;
+ };
+ specialArgs = {
+ inherit
+ self
+ inputs
+ outputs
+ stateVersion
+ hostname
+ desktop
+ hardwareType
+ system
+ globals
+ nixos-raspberrypi
+ ;
+ };
+ in
+ inputs.nixos-raspberrypi.lib.nixosSystemFull {
+ inherit specialArgs;
+ inherit system;
+ modules = [
+ (
+ { ... }:
+ {
+ imports = with inputs.nixos-raspberrypi.nixosModules; [
+ raspberry-pi-5.base
+ raspberry-pi-5.bluetooth
+ ];
+ }
+ )
+ self.nixosModules.wireguard-client
+ self.nixosModules.wireguard-server
+ self.nixosModules.govanityurl
+ self.nixosModules.gosmee
+ inputs.agenix.nixosModules.default
+ inputs.lanzaboote.nixosModules.lanzaboote
homeInput.nixosModules.home-manager
{ home-manager.extraSpecialArgs = specialArgs; }
../systems
systems/nagoya/boot.nix
@@ -0,0 +1,15 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}:
+{
+ boot = {
+ loader = {
+ systemd-boot.enable = lib.mkForce false;
+ };
+ };
+ # nothing ?
+ # system.build.installBootLoader = config.boot.loader.raspberryPi;
+}
systems/nagoya/hardware.nix
@@ -0,0 +1,19 @@
+_: {
+ fileSystems = {
+ "/boot/firmware" = {
+ device = "/dev/disk/by-uuid/2175-794E";
+ fsType = "vfat";
+ options = [
+ "noatime"
+ "noauto"
+ "x-systemd.automount"
+ "x-systemd.idle-timeout=1min"
+ ];
+ };
+ "/" = {
+ device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
+ fsType = "ext4";
+ options = [ "noatime" ];
+ };
+ };
+}
systems/default.nix
@@ -88,6 +88,7 @@
"https://shortbrain.cachix.org"
"https://vdemeester.cachix.org"
"https://chapeau-rouge.cachix.org"
+ "https://nixos-raspberrypi.cachix.org"
];
trusted-public-keys = [
"r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c="
@@ -95,6 +96,7 @@
"mic92.cachix.org-1:gi8IhgiT3CYZnJsaW7fxznzTkMUOn1RY4GmXdT/nXYQ="
"chapeau-rouge.cachix.org-1:r34IG766Ez4Eeanr7Zx+egzXLE2Zgvc+XRspYZPDAn8="
"vdemeester.cachix.org-1:eZWNOrLR9A9szeMahn9ENaoT9DB3WgOos8va+d2CU44="
+ "nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
];
};
flake.nix
@@ -1,6 +1,15 @@
{
description = "System Config";
+ nixConfig = {
+ extra-substituters = [
+ "https://nixos-raspberrypi.cachix.org"
+ ];
+ extra-trusted-public-keys = [
+ "nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI="
+ ];
+ };
+
outputs =
{ self, ... }@inputs:
let
@@ -81,6 +90,10 @@
pkgsInput = inputs.nixpkgs-25_05;
homeInput = inputs.home-manager-25_05;
};
+ nagoya = libx.mkRPIHost {
+ hostname = "nagoya";
+ # hardwareType = "rpi4";
+ };
sakhalin = libx.mkHost {
hostname = "sakhalin";
pkgsInput = inputs.nixpkgs-25_05;
@@ -303,5 +316,6 @@
nix-github-actions.inputs.nixpkgs.follows = "nixpkgs";
vscode-server.url = "github:nix-community/nixos-vscode-server";
+ nixos-raspberrypi.url = "github:nvmd/nixos-raspberrypi/main";
};
}