From ec16b01df82456a3e85c37059f02a08805816375 Mon Sep 17 00:00:00 2001 From: Roy Dumblauskas Date: Mon, 5 May 2025 13:20:07 -0500 Subject: [PATCH] update readme, delete floating hardware config file --- hardware-configuration.nix | 25 ------------------------- nixos/{script.sh => bootstrap.sh} | 0 readme.md | 10 ++++------ 3 files changed, 4 insertions(+), 31 deletions(-) delete mode 100644 hardware-configuration.nix rename nixos/{script.sh => bootstrap.sh} (100%) diff --git a/hardware-configuration.nix b/hardware-configuration.nix deleted file mode 100644 index 60e6ce9..0000000 --- a/hardware-configuration.nix +++ /dev/null @@ -1,25 +0,0 @@ -# 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" "ahci" "ehci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" "sr_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - # 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..useDHCP`. - networking.useDHCP = lib.mkDefault true; - # networking.interfaces.enp9s0f0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/nixos/script.sh b/nixos/bootstrap.sh similarity index 100% rename from nixos/script.sh rename to nixos/bootstrap.sh diff --git a/readme.md b/readme.md index 16dd799..e5025dc 100644 --- a/readme.md +++ b/readme.md @@ -1,17 +1,15 @@ # Roy's NixOS Homelab Config ### Assumptions - +- You're connected to wired internet (eth) +- You're me; To directly run/use this config, you have to be me (i.e. have my ssh private keys to pull in quasiSecrets and my age keys to decrypt with sops-nix) ### Setup Steps 1. Flash NixOS onto the server hardware 2. Create a sudo password for root ```sudo passwd``` 3. Get IP address with ```ip addr``` -4. Run the bash script ```homelab-config/nixos/script.sh``` using that IP address (```script.sh -h``` for options) +4. From the nixos directory, run the bash script ```bootstrap.sh``` using IP address from step 3 (```./bootstrap.sh -h``` for options) ### Random - Any time the quasiSecret repository is updated, run ```nix flake lock --update-input quasiSecrets``` to ensure you're using the most recent pushed commit - - +- If you aren't me, replace my quasiSecrets repo with your own, update the .sops.yaml file with your own age key to update the ```secrets/*``` files, place your own hashed user password into the ```users.users..hashedPassord```, and your own public key into ```users.users..openssh.authorizedKeys.keys```