diff options
| author | Mel <mel@rnrd.eu> | 2025-04-09 22:13:08 +0200 |
|---|---|---|
| committer | Mel <mel@rnrd.eu> | 2025-04-09 22:13:08 +0200 |
| commit | 75addcd6257f9f02669f3cf11422a61dea1c7323 (patch) | |
| tree | 5e25598b299fed9d1ffe2c1983ee673b28cb6dd3 /machines/fourmi | |
| parent | e27680dde6f8ecdf2db345cae4f165e68a2de8f3 (diff) | |
| download | network-75addcd6257f9f02669f3cf11422a61dea1c7323.tar.zst network-75addcd6257f9f02669f3cf11422a61dea1c7323.zip | |
Introduce new small-scale local 'fourmi' machine
Signed-off-by: Mel <mel@rnrd.eu>
Diffstat (limited to 'machines/fourmi')
| -rw-r--r-- | machines/fourmi/default.nix | 23 | ||||
| -rw-r--r-- | machines/fourmi/devices.nix | 38 | ||||
| -rw-r--r-- | machines/fourmi/hardware.nix | 32 | ||||
| -rw-r--r-- | machines/fourmi/home.nix | 9 |
4 files changed, 102 insertions, 0 deletions
diff --git a/machines/fourmi/default.nix b/machines/fourmi/default.nix new file mode 100644 index 0000000..780838d --- /dev/null +++ b/machines/fourmi/default.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: + +{ + imports = [ + ../../modules/common.nix + + ./hardware.nix + ./devices.nix + ]; + + foundation.monitoring = { + client.enable = false; + }; + + # extra packages for dealing with the device + # hardware. + environment.systemPackages = with pkgs; [ + libraspberrypi + raspberrypi-eeprom + ]; + + system.stateVersion = "24.11"; +} diff --git a/machines/fourmi/devices.nix b/machines/fourmi/devices.nix new file mode 100644 index 0000000..3738553 --- /dev/null +++ b/machines/fourmi/devices.nix @@ -0,0 +1,38 @@ +{ lib, nixos-hardware, ... }: + +{ + # correctly configure hardware in this pi server. + imports = [ + nixos-hardware.nixosModules.raspberry-pi-4 + ]; + + # boot settings + boot = { + loader = { + grub.enable = false; + generic-extlinux-compatible.enable = true; + }; + + kernelModules = [ "wireguard" ]; + }; + + # apply rpi4-specific device tree from nixos-hardware. + hardware = { + raspberry-pi."4".apply-overlays-dtmerge.enable = true; + deviceTree = { + enable = true; + filter = "*rpi-4-*.dtb"; + }; + }; + + networking = { + # todo: configure properly + firewall.enable = lib.mkForce false; + + useDHCP = true; + networkmanager = { + enable = false; + wifi.powersave = false; + }; + }; +} diff --git a/machines/fourmi/hardware.nix b/machines/fourmi/hardware.nix new file mode 100644 index 0000000..e3913be --- /dev/null +++ b/machines/fourmi/hardware.nix @@ -0,0 +1,32 @@ +# 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") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888"; + fsType = "ext4"; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.end0.useDHCP = lib.mkDefault true; + # networking.interfaces.wlan0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; +} diff --git a/machines/fourmi/home.nix b/machines/fourmi/home.nix new file mode 100644 index 0000000..be5d645 --- /dev/null +++ b/machines/fourmi/home.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: + +{ + imports = [ + ../../modules/home/common.nix + ]; + + home.stateVersion = "24.11"; +} |
