Add NixOS configuration for ringtail workstation (#207)
## Summary - NixOS flake for ringtail (gaming/compute workstation, RTX 4080) in `nixos/ringtail/` - Declarative disk partitioning via disko (GPT, 512M EFI + ext4 root on NVMe) - NVIDIA proprietary drivers, sway/Wayland desktop, greetd, PipeWire, Steam - Tailscale integration for tailnet connectivity - Ansible playbook + `mise run provision-ringtail` for ongoing management - Pulumi auth key (`tag:homelab`, `tag:blumeops`) for tailnet bootstrap ## Deployment Order 1. **Merge PR** 2. `pulumi up` in tailscale stack → creates auth key 3. Retrieve auth key: `pulumi stack output ringtail_authkey --show-secrets` 4. On ringtail NixOS installer: - `nix run github:nix-community/disko -- --mode disko /tmp/disk-config.nix` (or from cloned repo) - `nixos-install --flake github:eblume/blumeops?dir=nixos/ringtail#ringtail` 5. Reboot, `tailscale up --auth-key=<key>` 6. Verify: `tailscale status`, SSH from gilbert ## Test plan - [ ] Review NixOS configuration for completeness - [ ] Verify disko partition layout matches ringtail hardware - [ ] Run `pulumi preview` for tailscale stack - [ ] Install NixOS on ringtail - [ ] Confirm tailscale connectivity - [ ] Confirm sway desktop works - [ ] Test `mise run provision-ringtail` for ongoing management 🤖 Generated with [Claude Code](https://claude.com/claude-code) Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/207
This commit is contained in:
parent
5f9b024b4a
commit
b9d813cde1
9 changed files with 281 additions and 1 deletions
|
|
@ -5,6 +5,9 @@ all:
|
|||
hosts:
|
||||
indri:
|
||||
ansible_host: indri
|
||||
ringtail:
|
||||
ansible_host: ringtail
|
||||
ansible_user: eblume
|
||||
workstations:
|
||||
hosts:
|
||||
gilbert:
|
||||
|
|
|
|||
25
ansible/playbooks/ringtail.yml
Normal file
25
ansible/playbooks/ringtail.yml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
- name: Configure ringtail (NixOS)
|
||||
hosts: ringtail
|
||||
become: true
|
||||
|
||||
tasks:
|
||||
- name: Ensure blumeops repo is present
|
||||
ansible.builtin.git:
|
||||
repo: "https://forge.ops.eblu.me/eblume/blumeops.git"
|
||||
dest: /etc/blumeops
|
||||
version: main
|
||||
register: _repo
|
||||
|
||||
- name: Rebuild NixOS
|
||||
ansible.builtin.command:
|
||||
cmd: nixos-rebuild switch --flake /etc/blumeops/nixos/ringtail#ringtail
|
||||
register: _rebuild
|
||||
changed_when: "'activating the configuration' in _rebuild.stdout"
|
||||
when: _repo.changed
|
||||
|
||||
- name: Verify tailscale is connected
|
||||
ansible.builtin.command: tailscale status --self --json
|
||||
register: _ts_status
|
||||
changed_when: false
|
||||
failed_when: "'Running' not in _ts_status.stdout"
|
||||
Loading…
Add table
Add a link
Reference in a new issue