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/
|
## NOTE: These configs expect this repo to be cloned to /etc/nixos/git/
|
||||||
```
|
```
|
||||||
# First run as root:
|
# 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
|
ln -s /etc/nixos/git/flake.nix /etc/nixos/flake.nix
|
||||||
nixos-rebuild switch --flake '/etc/nixos#<HOSTNAME>'
|
nixos-rebuild switch --flake '/etc/nixos#<HOSTNAME>'
|
||||||
mkdir /nix/var/nix/profiles/per-user/<USERNAME>
|
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"; };
|
{ hostname = "nixos-framework"; username = "albert"; desktop = "hyprland"; gpu = "amd"; theme = "gruvbox"; };
|
||||||
nixos-rpi4-01 = libx.mkHost
|
nixos-rpi4-01 = libx.mkHost
|
||||||
{ hostname = "nixos-rpi4-01"; username = "albert"; platform = "aarch64-linux"; };
|
{ 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 = {
|
homeConfigurations = {
|
||||||
"albert@nixos-laptop" = libx.mkHome
|
"albert@nixos-laptop" = libx.mkHome
|
||||||
|
@ -33,6 +37,15 @@
|
||||||
{ hostname = "nixos-framework"; username = "albert"; desktop = "hyprland"; theme = "gruvbox"; };
|
{ hostname = "nixos-framework"; username = "albert"; desktop = "hyprland"; theme = "gruvbox"; };
|
||||||
"albert@nixos-rpi4-01" = libx.mkHome
|
"albert@nixos-rpi4-01" = libx.mkHome
|
||||||
{ hostname = "nixos-rpi4-01"; username = "albert"; platform = "aarch64-linux"; };
|
{ 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