1
0
Fork 0

Try configuring builders-configurator

This commit is contained in:
Malte 2023-02-07 16:40:48 +01:00
parent becdb29c58
commit 3ab4a41285
6 changed files with 22 additions and 18 deletions

View file

@ -41,10 +41,10 @@ function title {
setopt prompt_subst
autoload -U colors && colors # Enable colors in prompt
alias nom-build-remote="nom build --builders '@/etc/nix/machines'"
alias nix-build-remote="nix build --builders '@/etc/nix/machines'"
alias nixpkgs-review-pr-remote='nixpkgs-review pr --build-args "--builders @/etc/nix/machines"'
alias nixpkgs-review-rev-remote='nixpkgs-review rev --build-args "--builders @/etc/nix/machines"'
alias nom-build-remote="nom build --builders $(builders-configurators)"
alias nix-build-remote="nix build --builders $(builders-configurators)"
alias nixpkgs-review-pr-remote='nixpkgs-review pr --build-args "--builders $(builders-configurators)'
alias nixpkgs-review-rev-remote='nixpkgs-review rev --build-args "--builders $(builders-configurators)'
alias accounting='f() { if [[ "$1" == "" ]]; then year="buchhaltung" else year="$1" fi; hledger -f ~/git/buchhaltung/$year.journal ui -- --watch --theme=terminal -X€ -t -E}; f'
alias o=xdg-open
alias sudo='sudo -A'

View file

@ -24,6 +24,8 @@ in {
age.identityPaths = ["/disk/persist/etc/ssh/ssh_host_ed25519_key"];
nix.distributedBuilds = false;
fileSystems = let
btrfsOptions = {options = ["compress=zstd" "autodefrag" "noatime"];};
in {

View file

@ -105,6 +105,7 @@
nix-output-monitor
jq
home-manager
builders-configurator
;
inherit (pkgs.python3Packages) qrcode;
};

View file

@ -11,11 +11,11 @@
export PATH=${lib.makeBinPath path}:$PATH
git clone git@localhost:${name} .
git show -q --oneline
export FLAGS="--builders @/etc/nix/machines -o /var/cache/gc-links/$JOB"
export FLAGS="--builders @$(${pkgs.builders-configurator}/bin/builders-configurators) -o /var/cache/gc-links/$JOB"
if [[ -e "flake.nix" ]]; then
echo "Flake detected."
echo "Running 'flake check'"
${pkgs.nix}/bin/nix flake check --builders @/etc/nix/machines
${pkgs.nix}/bin/nix flake check $FLAGS
echo "Running 'nix build'"
${pkgs.nix}/bin/nix build $FLAGS
else

View file

@ -1,6 +1,7 @@
{
pkgs,
config,
lib,
...
}: {
boot = {
@ -25,7 +26,7 @@
'');
nix = {
distributedBuilds = true;
distributedBuilds = lib.mkDefault true;
gc = {
automatic = false;
options = "-d";

View file

@ -65,8 +65,8 @@ builderConfigs =
Map.fromList
[ ("hera", [FirstOf ["zeus-builder"], Use "fluffy-builder", Use "remote-builder", Use "nixbuild.net"])
, ("apollo", [FirstOf ["zeus-builder-local", "zeus-builder"], FirstOfFinally ["fluffy-builder-local"] "fluffy-builder", Use "remote-builder", Use "nixbuild.net"])
, ("fluffy", [FirstOf ["zeus-builder-local"], Use "fluffy-builder-local", Use "remote-builder", Use "nixbuild.net"])
, ("zeus", [Use "zeus-builder-local", Use "fluffy-builder-local", Use "remote-builder", Use "nixbuild.net"])
, ("fluffy", [FirstOf ["zeus-builder-local"], Use "remote-builder", Use "nixbuild.net"])
, ("zeus", [Use "fluffy-builder-local", Use "remote-builder", Use "nixbuild.net"])
]
commaList :: [Text] -> Text
@ -93,15 +93,15 @@ printBuilders = Text.unlines . fmap builderLine . Foldable.foldr' folder []
main :: IO ()
main = do
host : args <- getArgs
let withoutConnection =
args & \case
[] -> False
["--without-connection"] -> True
_ -> error [i|Unknown arguments: #{args}|]
let
builder_tries :: Ping :> es => Eff es [Text]
builder_tries = testBuilders $ fromMaybe (error [i|#{host} not found in builderConfigs.|]) $ Map.lookup (into host) builderConfigs
args <- getArgs
env_host <- fromMaybe (error "accessed $HOST which is not set.") <$> lookupEnv "HOST"
let (host, withoutConnection) = case args of
[] -> (env_host, False)
[host'] -> (host', False)
[host', "--without-connection"] -> (host', True)
_ -> error [i|Unknown arguments: #{args}|]
builder_tries :: Ping :> es => Eff es [Text]
builder_tries = testBuilders $ fromMaybe (error [i|#{host} not found in builderConfigs.|]) $ Map.lookup (into host) builderConfigs
builders <-
if withoutConnection
then pure $ Eff.runPureEff $ runWithoutConnectivity builder_tries