Add Python modules that are needed for work and other things Move import of Bash into Xonsh to the head in order to avoid issues with being overwritten by Bash defaults
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.
- Boot from an appropriate medium
- Parition the drives
- Mount them
- Before you generate out the configuration, clone this repoistory to your /etc/nixos folder
- Run the configuration generator. It should only genreate the hardware-configuration.nix file, which this repo gitignores
- Symlink the folder for the appropriate host to the location 'host' as such:
ln -s hosts/myhost host. - 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.