mirror of
https://github.com/elitak/nixos-infect
synced 2024-11-10 05:54:20 +00:00
Improve providers fix dns (#58)
* remove digitalocean as default; fix digitalocean dns; update channels fixes #53 fixes #49 * fix doNetConf check
This commit is contained in:
parent
e65ec1dba5
commit
30441b1236
2 changed files with 8 additions and 9 deletions
|
@ -49,7 +49,7 @@ cat and EOF in the Digital Ocean Web UI (or HTTP API):
|
||||||
#cloud-config
|
#cloud-config
|
||||||
|
|
||||||
runcmd:
|
runcmd:
|
||||||
- curl https://raw.githubusercontent.com/elitak/nixos-infect/master/nixos-infect | PROVIDER=digitalocean NIX_CHANNEL=nixos-19.09 bash 2>&1 | tee /tmp/infect.log
|
- curl https://raw.githubusercontent.com/elitak/nixos-infect/master/nixos-infect | PROVIDER=digitalocean NIX_CHANNEL=nixos-20.03 bash 2>&1 | tee /tmp/infect.log
|
||||||
```
|
```
|
||||||
Potential tweaks:
|
Potential tweaks:
|
||||||
- `/etc/nixos/{,hardware-}configuration.nix`: rudimentary mostly static config
|
- `/etc/nixos/{,hardware-}configuration.nix`: rudimentary mostly static config
|
||||||
|
@ -67,7 +67,7 @@ write_files:
|
||||||
environment.systemPackages = with pkgs; [ vim ];
|
environment.systemPackages = with pkgs; [ vim ];
|
||||||
}
|
}
|
||||||
runcmd:
|
runcmd:
|
||||||
- curl https://raw.githubusercontent.com/elitak/nixos-infect/master/nixos-infect | PROVIDER=digitalocean NIXOS_IMPORT=./host.nix NIX_CHANNEL=nixos-19.09 bash 2>&1 | tee /tmp/infect.log
|
- curl https://raw.githubusercontent.com/elitak/nixos-infect/master/nixos-infect | PROVIDER=digitalocean NIXOS_IMPORT=./host.nix NIX_CHANNEL=nixos-20.03 bash 2>&1 | tee /tmp/infect.log
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ To set up a NixOS Vultr server, instantiate an Ubuntu box with the following "St
|
||||||
```bash
|
```bash
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
curl https://raw.githubusercontent.com/elitak/nixos-infect/master/nixos-infect | PROVIDER=vultr NIX_CHANNEL=nixos-19.09 bash
|
curl https://raw.githubusercontent.com/elitak/nixos-infect/master/nixos-infect | NIX_CHANNEL=nixos-20.03 bash
|
||||||
```
|
```
|
||||||
|
|
||||||
Allow for a few minutes over the usual Ubuntu deployment time for NixOS to download & install itself.
|
Allow for a few minutes over the usual Ubuntu deployment time for NixOS to download & install itself.
|
||||||
|
|
11
nixos-infect
11
nixos-infect
|
@ -18,7 +18,7 @@ makeConf() {
|
||||||
done
|
done
|
||||||
local network_import=""
|
local network_import=""
|
||||||
|
|
||||||
[ "$PROVIDER" = "digitalocean" ] && network_import="./networking.nix # generated at runtime by nixos-infect"
|
[ ! -z "$doNetConf" ] && network_import="./networking.nix # generated at runtime by nixos-infect"
|
||||||
cat > /etc/nixos/configuration.nix << EOF
|
cat > /etc/nixos/configuration.nix << EOF
|
||||||
{ ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
|
@ -46,7 +46,7 @@ EOF
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
if [ "$PROVIDER" = "digitalocean" ]
|
if [ ! -z "$doNetConf" ]
|
||||||
then
|
then
|
||||||
makeNetworkingConf
|
makeNetworkingConf
|
||||||
else
|
else
|
||||||
|
@ -95,9 +95,7 @@ EOF
|
||||||
# This file was populated at runtime with the networking
|
# This file was populated at runtime with the networking
|
||||||
# details gathered from the active system.
|
# details gathered from the active system.
|
||||||
networking = {
|
networking = {
|
||||||
nameservers = [$(for a in "${nameservers[@]}"; do echo -n "
|
nameservers = [ "8.8.8.8" ];
|
||||||
\"$a\""; done)
|
|
||||||
];
|
|
||||||
defaultGateway = "${gateway}";
|
defaultGateway = "${gateway}";
|
||||||
defaultGateway6 = "${gateway6}";
|
defaultGateway6 = "${gateway6}";
|
||||||
dhcpcd.enable = false;
|
dhcpcd.enable = false;
|
||||||
|
@ -268,7 +266,8 @@ infect() {
|
||||||
/nix/var/nix/profiles/system/bin/switch-to-configuration boot
|
/nix/var/nix/profiles/system/bin/switch-to-configuration boot
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -z "$PROVIDER" ] && PROVIDER="digitalocean" # you may also prepend PROVIDER=vultr to your call instead
|
[ "$PROVIDER" = "digitalocean" ] && doNetConf=y # digitalocean requires detailed network config to be generated
|
||||||
|
|
||||||
|
|
||||||
prepareEnv
|
prepareEnv
|
||||||
makeSwap # smallest (512MB) droplet needs extra memory!
|
makeSwap # smallest (512MB) droplet needs extra memory!
|
||||||
|
|
Loading…
Reference in a new issue