rpi4 images
This commit is contained in:
parent
23ecd98c83
commit
ac86ac1cdc
4 changed files with 120 additions and 1 deletions
|
@ -2,7 +2,7 @@
|
|||
## NOTE: These configs expect this repo to be cloned to /etc/nixos/git/
|
||||
```
|
||||
# First run as root:
|
||||
git clone https://git.sysctl.io/albert/nix /etc/nixos/git
|
||||
nix-shell -p git --run git clone https://git.sysctl.io/albert/nix /etc/nixos/git
|
||||
ln -s /etc/nixos/git/flake.nix /etc/nixos/flake.nix
|
||||
nixos-rebuild switch --flake '/etc/nixos#<HOSTNAME>'
|
||||
mkdir /nix/var/nix/profiles/per-user/<USERNAME>
|
||||
|
|
13
flake.nix
13
flake.nix
|
@ -25,6 +25,10 @@
|
|||
{ hostname = "nixos-framework"; username = "albert"; desktop = "hyprland"; gpu = "amd"; theme = "gruvbox"; };
|
||||
nixos-rpi4-01 = libx.mkHost
|
||||
{ hostname = "nixos-rpi4-01"; username = "albert"; platform = "aarch64-linux"; };
|
||||
nixos-rpi4-02 = libx.mkHost
|
||||
{ hostname = "nixos-rpi4-02"; username = "albert"; platform = "aarch64-linux"; };
|
||||
nixos-rpi4-03 = libx.mkHost
|
||||
{ hostname = "nixos-rpi4-03"; username = "albert"; platform = "aarch64-linux"; };
|
||||
};
|
||||
homeConfigurations = {
|
||||
"albert@nixos-laptop" = libx.mkHome
|
||||
|
@ -33,6 +37,15 @@
|
|||
{ hostname = "nixos-framework"; username = "albert"; desktop = "hyprland"; theme = "gruvbox"; };
|
||||
"albert@nixos-rpi4-01" = libx.mkHome
|
||||
{ hostname = "nixos-rpi4-01"; username = "albert"; platform = "aarch64-linux"; };
|
||||
"albert@nixos-rpi4-02" = libx.mkHome
|
||||
{ hostname = "nixos-rpi4-01"; username = "albert"; platform = "aarch64-linux"; };
|
||||
"albert@nixos-rpi4-03" = libx.mkHome
|
||||
{ hostname = "nixos-rpi4-01"; username = "albert"; platform = "aarch64-linux"; };
|
||||
};
|
||||
images = {
|
||||
nixos-rpi4-01 = nixosConfigurations.nixos-rpi4-01.config.system.build.sdImage;
|
||||
nixos-rpi4-02 = nixosConfigurations.nixos-rpi4-02.config.system.build.sdImage;
|
||||
nixos-rpi4-03 = nixosConfigurations.nixos-rpi4-03.config.system.build.sdImage;
|
||||
};
|
||||
};
|
||||
}
|
53
nixos/hosts/nixos-rpi4-02/default.nix
Normal file
53
nixos/hosts/nixos-rpi4-02/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
|
||||
];
|
||||
#####################################################################################
|
||||
# BEGIN hardware config
|
||||
#####################################################################################
|
||||
|
||||
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
|
||||
boot.loader.grub.enable = false;
|
||||
# Enables the generation of /boot/extlinux/extlinux.conf
|
||||
boot.loader.generic-extlinux-compatible.enable = true;
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "usbhid" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
|
||||
networking.hostName = "nixos-rpi4-02";
|
||||
#####################################################################################
|
||||
# END hardware config
|
||||
#####################################################################################
|
||||
|
||||
# Generic Tailscale configs are in /nixos/common/services/tailscale.nix
|
||||
# Set up the secrets file:
|
||||
sops.secrets.nixos-rpi4-01_tailscale_key = {
|
||||
owner = "root";
|
||||
sopsFile = ../../../secrets/tailscale.yaml;
|
||||
restartUnits = [
|
||||
"tailscaled.service"
|
||||
"tailscaled-autoconnect.service"
|
||||
];
|
||||
};
|
||||
services.tailscale.authKeyFile = "/run/secrets/nixos-rpi4-02_tailscale_key";
|
||||
services.tailscale.extraUpFlags = [ "--advertise-exit-node" ];
|
||||
boot.kernel.sysctl = { "net.ipv4.ip_forward" = true; };
|
||||
|
||||
# Temporary
|
||||
networking.firewall.allowedTCPPorts = [ 22 ];
|
||||
}
|
53
nixos/hosts/nixos-rpi4-03/default.nix
Normal file
53
nixos/hosts/nixos-rpi4-03/default.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
|
||||
];
|
||||
#####################################################################################
|
||||
# BEGIN hardware config
|
||||
#####################################################################################
|
||||
|
||||
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
|
||||
boot.loader.grub.enable = false;
|
||||
# Enables the generation of /boot/extlinux/extlinux.conf
|
||||
boot.loader.generic-extlinux-compatible.enable = true;
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "usbhid" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
||||
powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
|
||||
networking.hostName = "nixos-rpi4-03";
|
||||
#####################################################################################
|
||||
# END hardware config
|
||||
#####################################################################################
|
||||
|
||||
# Generic Tailscale configs are in /nixos/common/services/tailscale.nix
|
||||
# Set up the secrets file:
|
||||
sops.secrets.nixos-rpi4-01_tailscale_key = {
|
||||
owner = "root";
|
||||
sopsFile = ../../../secrets/tailscale.yaml;
|
||||
restartUnits = [
|
||||
"tailscaled.service"
|
||||
"tailscaled-autoconnect.service"
|
||||
];
|
||||
};
|
||||
services.tailscale.authKeyFile = "/run/secrets/nixos-rpi4-03_tailscale_key";
|
||||
services.tailscale.extraUpFlags = [ "--advertise-exit-node" ];
|
||||
boot.kernel.sysctl = { "net.ipv4.ip_forward" = true; };
|
||||
|
||||
# Temporary
|
||||
networking.firewall.allowedTCPPorts = [ 22 ];
|
||||
}
|
Loading…
Reference in a new issue