feat(ops/nixos): Add generic rebuild-system script

This adds a first crack at one idea for a generic, non-user-specific
rebuild-system script to ops.nixos.rebuild-system. The idea here is that
we enumerate all the nixos systems stored in the monorepo (similarly to
what we do for ci-builds right now) then search through them by hostname
to find the one matching the hostname of the current system, which is an
attempt at a more generic version of tazjin's rebuilder script which
does the same thing but with an explicit case block.

As a caveat, it feels like there's a slight possibility that this way of
finding systems is going to get slow to evaluate - on my system it feels
fine but if it grows out of hand it's probably feasible to just bake
this into the built script as a dynamically generated case statement.

Change-Id: I2e4c5401913b6f4d936ab48ba2f95f96e0e78eb4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/894
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
This commit is contained in:
Griffin Smith 2020-07-03 00:26:33 -04:00 committed by glittershark
parent 8bcdff263c
commit a73714a93c
7 changed files with 63 additions and 21 deletions

View file

@ -1,9 +1,7 @@
{ depot, ... }:
rec {
chupacabra = (depot.third_party.nixos {
configuration = import ./machines/chupacabra.nix;
}).system;
chupacabra = import ./machines/chupacabra.nix;
rebuilder =
let