diff --git a/README.md b/README.md new file mode 100644 index 0000000..47a72e1 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +This is a unified repo to contain my personal configurations for NixOS machines. + +# How To Use This + +Go through the normal process to setup a NixOS system during installation. + +1. Boot from an appropriate medium +2. Parition the drives +3. Mount them +4. Before you generate out the configuration, clone this repoistory to your + /etc/nixos folder +5. Run the configuration generator. It should only genreate the hardware-configuration.nix + file, which this repo gitignores +6. Symlink the folder for the appropriate host to the location 'host' as such: + `ln -s hosts/myhost host`. +7. Run the nixos installation command + +# Adding new hosts + +To add a new host, create a folder in the directory `hosts/` that matches the name of +the target system. Each host must contain, minimally, a `default.nix` file that serves +as the basis of configuring that host. + +## Profiles + +Certain shared characteristics can be created in the `profiles/` folder and included in +a particular host's configuration. For instance, any hosts that are running on a +Raspsberry Pi 4 should include the `profiles/rpi4.nix` file to properly configure things +like the kernel and boot parameters. Since I live in the "America/Chicago" timezone, hosts +that run in my home will also include `profiles/home.nix`. That file will also set the +domain that I use for my hosts at home. This allows shared content to be reused across +multiple machines without the need to repeat it. diff --git a/configuration.nix b/configuration.nix index fe109b7..34f76ec 100644 --- a/configuration.nix +++ b/configuration.nix @@ -9,6 +9,6 @@ [ # Include the results of the hardware scan. ./hardware-configuration.nix ./base.nix - ./host/default.nix + ./host ]; } diff --git a/hosts/2maccabees/default.nix b/hosts/2maccabees/default.nix index 0b429fe..1780298 100644 --- a/hosts/2maccabees/default.nix +++ b/hosts/2maccabees/default.nix @@ -5,9 +5,8 @@ ./networking.nix ./dnsmasq.nix ./home-assistant.nix - ../profiles/rpi4.nix - ../profiles/home.nix + ../../profiles/rpi4.nix + ../../profiles/home.nix ]; networking.hostName = "2maccabees"; - networking.domain = "home.thehellings.com"; } diff --git a/profiles/home.nix b/profiles/home.nix index 295a451..86bf6d3 100644 --- a/profiles/home.nix +++ b/profiles/home.nix @@ -2,4 +2,5 @@ { time.timeZone = "America/Chicago"; + networking.domain = "thehellings.lan"; }