Browse Source
* Refactoring: moved some options out of system/options.nix (almost
* Refactoring: moved some options out of system/options.nix (almost
empty now), do more of bashrc.sh declaratively, and moved nsswitch generation to modules/config/nsswitch.nix. svn path=/nixos/branches/modular-nixos/; revision=15754nsd-state-dir
18 changed files with 363 additions and 349 deletions
-
6default.nix
-
6etc/bashrc.sh
-
5etc/default.nix
-
2maintainers/scripts/gen-module-list.sh
-
0modules/config/nsswitch-mdns.conf
-
0modules/config/nsswitch.conf
-
56modules/config/nsswitch.nix
-
25modules/config/timezone.nix
-
9modules/installer/grub/grub.nix
-
20modules/module-list.nix
-
13modules/services/hardware/udev.nix
-
16modules/services/networking/avahi-daemon.nix
-
10modules/system/boot/stage-1.nix
-
27modules/system/boot/stage-2.nix
-
8modules/system/upstart/upstart.nix
-
161system/options.nix
-
253upstart-jobs/filesystems.nix
-
95upstart-jobs/swap.nix
@ -0,0 +1,56 @@ |
|||
# Configuration for the Name Service Switch (/etc/nsswitch.conf). |
|||
|
|||
{config, pkgs, ...}: |
|||
|
|||
let |
|||
|
|||
options = { |
|||
|
|||
# NSS modules. Hacky! |
|||
system.nssModules = pkgs.lib.mkOption { |
|||
internal = true; |
|||
default = []; |
|||
description = " |
|||
Search path for NSS (Name Service Switch) modules. This allows |
|||
several DNS resolution methods to be specified via |
|||
<filename>/etc/nsswitch.conf</filename>. |
|||
"; |
|||
merge = pkgs.lib.mergeListOption; |
|||
apply = list: |
|||
let |
|||
list2 = |
|||
list |
|||
# !!! this should be in the LDAP module |
|||
++ pkgs.lib.optional config.users.ldap.enable pkgs.nss_ldap; |
|||
in { |
|||
list = list2; |
|||
path = pkgs.lib.makeLibraryPath list2; |
|||
}; |
|||
}; |
|||
|
|||
}; |
|||
|
|||
in |
|||
|
|||
{ |
|||
require = [options]; |
|||
|
|||
environment.etc = |
|||
[ # Name Service Switch configuration file. Required by the C library. |
|||
# !!! Factor out the mdns stuff. The avahi module should define |
|||
# an option used by this module. |
|||
{ source = |
|||
if config.services.avahi.nssmdns |
|||
then ./nsswitch-mdns.conf |
|||
else ./nsswitch.conf; |
|||
target = "nsswitch.conf"; |
|||
} |
|||
]; |
|||
|
|||
environment.shellInit = |
|||
if config.system.nssModules.path != "" then |
|||
'' |
|||
LD_LIBRARY_PATH=${config.system.nssModules.path}:$LD_LIBRARY_PATH |
|||
'' |
|||
else ""; |
|||
} |
@ -0,0 +1,25 @@ |
|||
{pkgs, config, ...}: |
|||
|
|||
let |
|||
|
|||
options = { |
|||
|
|||
time.timeZone = pkgs.lib.mkOption { |
|||
default = "CET"; |
|||
example = "America/New_York"; |
|||
description = "The time zone used when displaying times and dates."; |
|||
}; |
|||
|
|||
}; |
|||
|
|||
in |
|||
|
|||
{ |
|||
require = [options]; |
|||
|
|||
environment.shellInit = |
|||
'' |
|||
export TZ=${config.time.timeZone} |
|||
export TZDIR=${pkgs.glibc}/share/zoneinfo |
|||
''; |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue