Browse Source

* Include only the en_US locale on the CD. This saves 75 MiB or so.

svn path=/nixos/branches/modular-nixos/; revision=15883
nsd-state-dir
Eelco Dolstra 14 years ago
parent
commit
eb8b534173
  1. 33
      modules/config/i18n.nix
  2. 1
      modules/config/system-path.nix
  3. 20
      modules/installer/cd-dvd/installation-cd.nix
  4. 1
      modules/programs/bash/bash.nix
  5. 3
      modules/programs/bash/bashrc.sh
  6. 5
      modules/programs/info.nix

33
modules/config/i18n.nix

@ -16,6 +16,18 @@ let
";
};
supportedLocales = mkOption {
default = ["all"];
example = ["en_US.UTF-8/UTF-8" "nl_NL.UTF-8/UTF-8" "nl_NL/ISO-8859-1"];
description = ''
List of locales that the system should support. The value
<literal>"all"</literal> means that all locales supported by
Glibc will be installed. A full list of supported locales
can be found at <link
xlink:href="http://sourceware.org/cgi-bin/cvsweb.cgi/libc/localedata/SUPPORTED?cvsroot=glibc"/>.
'';
};
consoleFont = mkOption {
default = "lat9w-16";
example = "LatArCyrHeb-16";
@ -39,8 +51,23 @@ in
###### implementation
let
glibcLocales = pkgs.glibcLocales.override {
allLocales = pkgs.lib.any (x: x == "all") config.i18n.supportedLocales;
locales = config.i18n.supportedLocales;
};
in
{
require = [
options
];
require = options;
environment.systemPackages = [glibcLocales];
environment.shellInit =
''
export LANG=${config.i18n.defaultLocale}
export LOCALE_ARCHIVE=/var/run/current-system/sw/lib/locale/locale-archive
'';
}

1
modules/config/system-path.nix

@ -21,7 +21,6 @@ let
pkgs.e2fsprogs
pkgs.findutils
pkgs.glibc # for ldd, getent
pkgs.glibcLocales
pkgs.gnugrep
pkgs.gnused
pkgs.gnutar

20
modules/installer/cd-dvd/installation-cd.nix

@ -18,6 +18,10 @@
# Disable some other stuff we don't need.
security.sudo.enable = false;
# Include only the en_US locale. This saves 75 MiB or so compared to
# the full glibcLocales package.
i18n.supportedLocales = ["en_US.UTF-8/UTF-8" "en_US/ISO-8859-1"];
# Include some utilities that are useful for installing or repairing
# the system.
environment.systemPackages =
@ -77,4 +81,20 @@
# nixos-install will do a pull from this channel to speed up the
# installation.
installer.nixpkgsURL = http://nixos.org/releases/nixpkgs/channels/nixpkgs-unstable;
# Provide the NixOS/Nixpkgs sources in /etc/nixos. This is required
# for nixos-install.
boot.postBootCommands =
''
export PATH=${pkgs.gnutar}/bin:${pkgs.bzip2}/bin:$PATH
mkdir -p /mnt
echo "unpacking the NixOS/Nixpkgs sources..."
mkdir -p /etc/nixos/nixos
tar xjf /install/nixos.tar.bz2 -C /etc/nixos/nixos
mkdir -p /etc/nixos/nixpkgs
tar xjf /install/nixpkgs.tar.bz2 -C /etc/nixos/nixpkgs
chown -R root.root /etc/nixos
'';
}

1
modules/programs/bash/bash.nix

@ -33,7 +33,6 @@ in
systemPath = config.system.path;
wrapperDir = config.security.wrapperDir;
modulesTree = config.system.modulesTree;
defaultLocale = config.i18n.defaultLocale;
shellInit = config.environment.shellInit;
};
target = "bashrc";

3
modules/programs/bash/bashrc.sh

@ -5,11 +5,8 @@ export MODULE_DIR=@modulesTree@/lib/modules
export NIXPKGS_CONFIG=/nix/etc/config.nix
export NIXPKGS_ALL=/etc/nixos/nixpkgs
export PAGER="less -R"
export LANG=@defaultLocale@
export EDITOR=nano
export INFOPATH=/var/run/current-system/sw/info:/var/run/current-system/sw/share/info
export LOCATE_PATH=/var/cache/locatedb
export LOCALE_ARCHIVE=/var/run/current-system/sw/lib/locale/locale-archive
@shellInit@

5
modules/programs/info.nix

@ -33,4 +33,9 @@ in
{
environment.systemPackages = [infoWrapper];
environment.shellInit =
''
export INFOPATH=/var/run/current-system/sw/info:/var/run/current-system/sw/share/info
'';
}
Loading…
Cancel
Save