From e4716ce3ef5c2c8bcbeecdb37098cb24000369bd Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 28 May 2009 12:43:54 +0000 Subject: [PATCH] * 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 --- etc/default.nix | 29 ++------------------- etc/hosts | 2 -- modules/config/networking.nix | 49 +++++++++++++++++++++++++++++++++++ modules/module-list.nix | 1 + system/options.nix | 8 ------ 5 files changed, 52 insertions(+), 37 deletions(-) delete mode 100644 etc/hosts create mode 100644 modules/config/networking.nix diff --git a/etc/default.nix b/etc/default.nix index ea37a91adb1f..42037c8d440d 100644 --- a/etc/default.nix +++ b/etc/default.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 { diff --git a/etc/hosts b/etc/hosts deleted file mode 100644 index 71dd03ed229e..000000000000 --- a/etc/hosts +++ /dev/null @@ -1,2 +0,0 @@ -@extraHosts@ -127.0.0.1 localhost diff --git a/modules/config/networking.nix b/modules/config/networking.nix new file mode 100644 index 000000000000..ff4d0f3fee4c --- /dev/null +++ b/modules/config/networking.nix @@ -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 /etc/hosts. + ''; + }; + + }; + +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"; + } + ]; +} diff --git a/modules/module-list.nix b/modules/module-list.nix index a8ca8a006b5c..2f72d14d2b73 100644 --- a/modules/module-list.nix +++ b/modules/module-list.nix @@ -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 diff --git a/system/options.nix b/system/options.nix index 8e3308174e73..eb51250d28e7 100644 --- a/system/options.nix +++ b/system/options.nix @@ -42,14 +42,6 @@ in "; }; - extraHosts = mkOption { - default = ""; - example = "192.168.0.1 lanlocalhost"; - description = '' - Additional entries to be appended to /etc/hosts. - ''; - }; - defaultGateway = mkOption { default = ""; example = "131.211.84.1";