|
|
|
@ -6,7 +6,7 @@ let |
|
|
|
|
bootScript = pkgs.writeScript "bootscript.sh" '' |
|
|
|
|
#!${pkgs.stdenv.shell} -eux |
|
|
|
|
|
|
|
|
|
echo "attempting to fetch configuration from user-data..." |
|
|
|
|
echo "attempting to fetch configuration from EC2 user data..." |
|
|
|
|
|
|
|
|
|
export PATH=${config.nix.package}/bin:${pkgs.wget}/bin:${pkgs.systemd}/bin:${pkgs.gnugrep}/bin:${pkgs.gnused}/bin:${config.system.build.nixos-rebuild}/bin:$PATH |
|
|
|
|
export NIX_PATH=/nix/var/nix/profiles/per-user/root/channels/nixos:nixos-config=/etc/nixos/configuration.nix:/nix/var/nix/profiles/per-user/root/channels |
|
|
|
@ -15,7 +15,7 @@ let |
|
|
|
|
wget -q --wait=1 --tries=0 --retry-connrefused -O - http://169.254.169.254/2011-01-01/user-data > "$userData" |
|
|
|
|
|
|
|
|
|
if [[ $? -eq 0 ]]; then |
|
|
|
|
echo "user-data fetched" |
|
|
|
|
|
|
|
|
|
# If the user-data looks like it could be a nix expression, |
|
|
|
|
# copy it over. Also, look for a magic three-hash comment and set |
|
|
|
|
# that as the channel. |
|
|
|
@ -30,17 +30,17 @@ let |
|
|
|
|
nix-channel --update |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
echo "setting configuration" |
|
|
|
|
echo "setting configuration from EC2 user data" |
|
|
|
|
cp "$userData" /etc/nixos/configuration.nix |
|
|
|
|
else |
|
|
|
|
echo "user-data does not appear to be a nix expression; ignoring" |
|
|
|
|
echo "user data does not appear to be a Nix expression; ignoring" |
|
|
|
|
exit |
|
|
|
|
fi |
|
|
|
|
else |
|
|
|
|
echo "failed to fetch user-data" |
|
|
|
|
echo "failed to fetch user data" |
|
|
|
|
exit |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
type -f nixos-rebuild |
|
|
|
|
|
|
|
|
|
nixos-rebuild switch |
|
|
|
|
''; |
|
|
|
|
in { |
|
|
|
|