summaryrefslogtreecommitdiffstats
path: root/bin/cacnixos-networking
blob: 4b246ebf1e032ace10fba01e9b132aa890bff639 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#! /bin/sh
# cacnixos-networking : cac-server x hostname -> nixos-module
# TODO use label for hostname
set -euf

server=$1
hostname=$2

address=$(echo $server | jq -r .ip)
gateway=$(echo $server | jq -r .gateway)
nameserver=8.8.8.8
netmask=$(echo $server | jq -r .netmask)
prefix=$(netmask-to-prefix $netmask)

printf '{...}:\n'
printf '{\n'
printf '  networking.hostName = "%s";\n' $hostname
printf '  networking.interfaces.enp2s1.ip4 = [\n'
printf '    {\n'
printf '      address = "%s";\n' $address
printf '      prefixLength = %d;\n' $prefix
printf '    }\n'
printf '  ];\n'
printf '  networking.defaultGateway = "%s";\n' $gateway
printf '  networking.nameservers = [\n'
printf '    "%s"\n' $nameserver
printf '  ];\n'
printf '}\n'