Infrastructure as Code for our home servers
Find a file
2023-11-08 21:16:51 +01:00
ansible update README 2023-11-05 19:03:44 +01:00
hardware-configuration propagate system arch to hardware configuration 2023-11-05 20:14:19 +01:00
.gitignore update README 2023-11-05 19:03:44 +01:00
configuration.nix add firewall! 2023-11-08 21:16:51 +01:00
flake.lock init 2023-11-05 18:43:32 +01:00
flake.nix initial support for multiple servers 2023-11-05 20:11:51 +01:00
nftables.conf add firewall! 2023-11-08 21:16:51 +01:00
README.md Update README.md 2023-11-05 19:07:32 +01:00

nixos-servers

Nix definitions to configure our physical servers. Currently, only one physical server (named jefke) is implemented.

Deployment

Prerequisites

Before a NixOS definition can be deployed, some prerequite preparational steps must be performed.

  1. Manually install NixOS on the physical machine. This could potentially be automated in the future with nixos-anywhere, but for now this is a manual process.
  2. Enable SSH and install authorized keys.
  3. Ensure Python3 is installed for Ansible.
  4. Run Ansible playbook which deploys secrets ansible-playbook deploy_secrets.yml.

NixOS deployment

Finally, the NixOS definition can be deployed as follows: nixos-rebuild switch -j auto --target-host root@jefke.hyp --flake ".#jefke".