* Move global networking data (/etc/services, /etc/protocols,

/etc/rpc, /etc/hosts) to modules/config/networking.nix.

svn path=/nixos/branches/modular-nixos/; revision=15764
wip/yesman
Eelco Dolstra 15 years ago
parent d1fd51136f
commit e4716ce3ef
  1. 29
      etc/default.nix
  2. 2
      etc/hosts
  3. 49
      modules/config/networking.nix
  4. 1
      modules/module-list.nix
  5. 8
      system/options.nix

@ -47,35 +47,10 @@ let
pamConsolePerms = ./security/console.perms;
# These should be moved into the corresponding configuration files.
configFiles = [
{ # TCP/UDP port assignments.
source = pkgs.iana_etc + "/etc/services";
target = "services";
}
{ # IP protocol numbers.
source = pkgs.iana_etc + "/etc/protocols";
target = "protocols";
}
{ # RPC program numbers.
source = pkgs.glibc + "/etc/rpc";
target = "rpc";
}
{ # Hostname-to-IP mappings.
source = pkgs.substituteAll {
src = ./hosts;
extraHosts = config.networking.extraHosts;
};
target = "hosts";
}
]
configFiles =
# A bunch of PAM configuration files for various programs.
++ (map
(map
(program:
let isLDAPEnabled = config.users.ldap.enable; in
{ source = pkgs.substituteAll {

@ -1,2 +0,0 @@
@extraHosts@
127.0.0.1 localhost

@ -0,0 +1,49 @@
# /etc files related to networking, such as /etc/services.
{config, pkgs, ...}:
let
options = {
networking.extraHosts = pkgs.lib.mkOption {
default = "";
example = "192.168.0.1 lanlocalhost";
description = ''
Additional entries to be appended to <filename>/etc/hosts</filename>.
'';
};
};
in
{
require = [options];
environment.etc =
[ { # /etc/services: TCP/UDP port assignments.
source = pkgs.iana_etc + "/etc/services";
target = "services";
}
{ # /etc/protocols: IP protocol numbers.
source = pkgs.iana_etc + "/etc/protocols";
target = "protocols";
}
{ # /etc/rpc: RPC program numbers.
source = pkgs.glibc + "/etc/rpc";
target = "rpc";
}
{ # /etc/hosts: Hostname-to-IP mappings.
source = pkgs.writeText "hosts"
''
${config.networking.extraHosts}
127.0.0.1 localhost
'';
target = "hosts";
}
];
}

@ -1,6 +1,7 @@
[ # This file has been generated by gen-module-list.sh
./config/fonts.nix
./config/i18n.nix
./config/networking.nix
./config/nsswitch.nix
./config/system-path.nix
./config/timezone.nix

@ -42,14 +42,6 @@ in
";
};
extraHosts = mkOption {
default = "";
example = "192.168.0.1 lanlocalhost";
description = ''
Additional entries to be appended to <filename>/etc/hosts</filename>.
'';
};
defaultGateway = mkOption {
default = "";
example = "131.211.84.1";

Loading…
Cancel
Save