Merge pull request #12152 from dpausp/fix-nixos-networking

Fix network config for recent NixOS releases
This commit is contained in:
Sophia Castellarin 2021-03-08 15:42:10 -06:00 committed by GitHub
commit 990d94ed9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 6 deletions

View File

@ -1,16 +1,15 @@
{ config, pkgs, ... }:
{
networking.interfaces = [
networking.interfaces = {
<% networks.select {|n| n[:device]}.each do |network| %>
{
name = "<%= network[:device] %>";
<%= network[:device] %>.ipv4.addresses = [{
<% if network[:type] == :static %>
ipAddress = "<%= network[:ip] %>";
address = "<%= network[:ip] %>";
<% end %>
<% if network[:prefix_length] %>
prefixLength = <%= network[:prefix_length] %>;
<% end %>
}
}];
<% end %>
];
};
}

View File

@ -0,0 +1,27 @@
require_relative "../../../base"
require "vagrant/util/template_renderer"
describe "templates/guests/nixos/network" do
let(:template) { "guests/nixos/network" }
it "renders the template" do
result = Vagrant::Util::TemplateRenderer.render(template, networks: [{
device: "en0",
ip: "1.1.1.1",
prefix_length: "24",
type: :static,
}])
expect(result).to eq <<-EOH.gsub(/^ {6}/, "")
{ config, pkgs, ... }:
{
networking.interfaces = {
en0.ipv4.addresses = [{
address = "1.1.1.1";
prefixLength = 24;
}];
};
}
EOH
end
end