Get all lib functions from lib, not pkgs.lib, in modules

This commit is contained in:
Shea Levy 2014-05-05 14:58:51 -04:00
parent 80709b141c
commit b3cfb9084b
64 changed files with 135 additions and 132 deletions

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let

View File

@ -14,7 +14,7 @@ in
options = {
networking.extraHosts = pkgs.lib.mkOption {
networking.extraHosts = lib.mkOption {
type = types.lines;
default = "";
example = "192.168.0.1 lanlocalhost";
@ -23,7 +23,7 @@ in
'';
};
networking.dnsSingleRequest = pkgs.lib.mkOption {
networking.dnsSingleRequest = lib.mkOption {
type = types.bool;
default = false;
description = ''

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, utils, ... }:
with lib;
with utils;
with lib;
{

View File

@ -27,7 +27,7 @@ with lib;
environment.etc."odbcinst.ini".text =
let inis = config.environment.unixODBCDrivers;
in pkgs.lib.concatStringsSep "\n" inis;
in lib.concatStringsSep "\n" inis;
};

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
@ -6,9 +6,9 @@
options = {
networking.enableIntel2100BGFirmware = pkgs.lib.mkOption {
networking.enableIntel2100BGFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Turn on this option if you want firmware for the Intel
PRO/Wireless 2100BG to be loaded automatically. This is
@ -21,7 +21,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableIntel2100BGFirmware {
config = lib.mkIf config.networking.enableIntel2100BGFirmware {
hardware.enableAllFirmware = true;

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
@ -6,9 +6,9 @@
options = {
networking.enableIntel2200BGFirmware = pkgs.lib.mkOption {
networking.enableIntel2200BGFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Turn on this option if you want firmware for the Intel
PRO/Wireless 2200BG to be loaded automatically. This is
@ -21,7 +21,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableIntel2200BGFirmware {
config = lib.mkIf config.networking.enableIntel2200BGFirmware {
hardware.enableAllFirmware = true;

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
@ -6,9 +6,9 @@
options = {
networking.enableIntel3945ABGFirmware = pkgs.lib.mkOption {
networking.enableIntel3945ABGFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
This option enables automatic loading of the firmware for the Intel
PRO/Wireless 3945ABG.
@ -20,7 +20,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableIntel3945ABGFirmware {
config = lib.mkIf config.networking.enableIntel3945ABGFirmware {
hardware.enableAllFirmware = true;

View File

@ -1,4 +1,4 @@
{pkgs, config, ...}:
{pkgs, config, lib, ...}:
{
@ -6,9 +6,9 @@
options = {
networking.enableRalinkFirmware = pkgs.lib.mkOption {
networking.enableRalinkFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Turn on this option if you want firmware for the RT73 NIC.
'';
@ -19,7 +19,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableRalinkFirmware {
config = lib.mkIf config.networking.enableRalinkFirmware {
hardware.enableAllFirmware = true;
};

View File

@ -1,4 +1,4 @@
{pkgs, config, ...}:
{pkgs, config, lib, ...}:
{
@ -6,9 +6,9 @@
options = {
networking.enableRTL8192cFirmware = pkgs.lib.mkOption {
networking.enableRTL8192cFirmware = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Turn on this option if you want firmware for the RTL8192c (and related) NICs.
'';
@ -19,7 +19,7 @@
###### implementation
config = pkgs.lib.mkIf config.networking.enableRTL8192cFirmware {
config = lib.mkIf config.networking.enableRTL8192cFirmware {
hardware.enableAllFirmware = true;
};

View File

@ -1,9 +1,9 @@
{pkgs, config, ...}:
{lib, config, ...}:
{
hardware = {
pcmcia = {
firmware = [ (pkgs.lib.cleanSource ./firmware) ];
firmware = [ (lib.cleanSource ./firmware) ];
};
};
}

View File

@ -84,7 +84,7 @@ in
config = mkIf cfg.enable {
assertions = pkgs.lib.singleton {
assertions = lib.singleton {
assertion = cfg.driSupport32Bit -> pkgs.stdenv.isx86_64;
message = "Option driSupport32Bit only makes sense on a 64-bit system.";
};

View File

@ -152,7 +152,7 @@ in
# default root password is empty.
services.openssh.enable = true;
jobs.openssh.startOn = pkgs.lib.mkOverride 50 "";
jobs.openssh.startOn = lib.mkOverride 50 "";
boot.loader.grub.enable = false;
boot.loader.generationsDir.enable = false;

View File

@ -109,7 +109,7 @@ in
# not be started by default on the installation CD because the
# default root password is empty.
services.openssh.enable = true;
jobs.openssh.startOn = pkgs.lib.mkOverride 50 "";
jobs.openssh.startOn = lib.mkOverride 50 "";
# To be able to use the systemTarball to catch troubles.
boot.crashDump = {

View File

@ -165,7 +165,7 @@ in
# not be started by default on the installation CD because the
# default root password is empty.
services.openssh.enable = true;
jobs.openssh.startOn = pkgs.lib.mkOverride 50 "";
jobs.openssh.startOn = lib.mkOverride 50 "";
# cpufrequtils fails to build on non-pc
powerManagement.enable = false;

View File

@ -1,7 +1,7 @@
# This module generates nixos-install, nixos-rebuild,
# nixos-generate-config, etc.
{ config, pkgs, modulesPath, ... }:
{ config, pkgs, modulesPath, lib, ... }:
let
@ -65,7 +65,7 @@ let
test -e "$out/chrome/content/jquery-1.5.2.js" ||
cp -f "$jquery" "$out/chrome/content/jquery-1.5.2.js"
'';
gui = pkgs.lib.cleanSource "${modulesPath}/../gui";
gui = lib.cleanSource "${modulesPath}/../gui";
jquery = pkgs.fetchurl {
url = http://code.jquery.com/jquery-1.5.2.min.js;
sha256 = "8f0a19ee8c606b35a10904951e0a27da1896eafe33c6e88cb7bcbe455f05a24a";

View File

@ -1,19 +1,19 @@
# This module defines the global list of uids and gids. We keep a
# central list to prevent id collisions.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
options = {
ids.uids = pkgs.lib.mkOption {
ids.uids = lib.mkOption {
internal = true;
description = ''
The user IDs used in NixOS.
'';
};
ids.gids = pkgs.lib.mkOption {
ids.gids = lib.mkOption {
internal = true;
description = ''
The group IDs used in NixOS.

View File

@ -1,11 +1,11 @@
{ config, pkgs, ... }:
{ config, lib, ... }:
{
options = {
lib = pkgs.lib.mkOption {
lib = lib.mkOption {
default = {};
type = pkgs.lib.types.attrsOf pkgs.lib.types.attrs;
type = lib.types.attrsOf lib.types.attrs;
description = ''
This option allows modules to define helper functions, constants, etc.

View File

@ -1,11 +1,11 @@
# This module allows you to export something from configuration
# Use case: export kernel source expression for ease of configuring
{ config, pkgs, ... }:
{ config, lib, ... }:
{
options = {
passthru = pkgs.lib.mkOption {
passthru = lib.mkOption {
visible = false;
description = ''
This attribute set will be exported as a system attribute.

View File

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{ config, lib, ... }:
let
inherit (pkgs.lib) mkOption mkIf;
inherit (lib) mkOption mkIf;
cfg = config.environment.blcr;
blcrPkg = config.boot.kernelPackages.blcr;
in

View File

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{ config, lib, ... }:
let
inherit (pkgs.lib) mkOption mkIf types;
inherit (lib) mkOption mkIf types;
cfg = config.programs.screen;
in

View File

@ -40,7 +40,7 @@ in
options = {
users.defaultUserShell = pkgs.lib.mkOption {
users.defaultUserShell = lib.mkOption {
description = ''
This option defines the default shell assigned to user
accounts. This must not be a store path, since the path is
@ -60,7 +60,7 @@ in
config = {
environment.systemPackages =
pkgs.lib.optional config.users.mutableUsers pkgs.shadow;
lib.optional config.users.mutableUsers pkgs.shadow;
environment.etc =
[ { # /etc/login.defs: global configuration for pwdutils. You

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let

View File

@ -73,7 +73,7 @@ in
touch ${stateDir}/sitecopy.secrets
chown root ${stateDir}/sitecopy.secrets
${pkgs.lib.concatStrings (map ( b: ''
${lib.concatStrings (map ( b: ''
unset secrets
unset secret
secrets=`grep '^${b.server}' ${stateDir}/sitecopy.secrets | head -1`

View File

@ -85,7 +85,7 @@ in
Defines how users authenticate themselves to the server. By
default, "trust" access to local users will always be granted
along with any other custom options. If you do not want this,
set this option using "pkgs.lib.mkForce" to override this
set this option using "lib.mkForce" to override this
behaviour.
'';
};

View File

@ -1,8 +1,8 @@
# GNOME Documents daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# GNOME Keyring daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# GNOME Online Accounts daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# GNOME Online Miners daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# GNOME User Share daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# gvfs backends
{ config, pkgs, ... }:
{ config, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# Seahorse daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -1,8 +1,8 @@
# Tracker daemon.
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
gnome3 = config.environment.gnome3.packageSet;

View File

@ -16,7 +16,7 @@ let
echo "event=${event.event}" > $fn
echo "action=${pkgs.writeScript "${event.name}.sh" event.action}" >> $fn
'';
in pkgs.lib.concatMapStrings f events
in lib.concatMapStrings f events
}
'';

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
@ -6,9 +6,9 @@
options = {
hardware.amdHybridGraphics.disable = pkgs.lib.mkOption {
hardware.amdHybridGraphics.disable = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Completely disable the AMD graphics card and use the
integrated graphics processor instead.
@ -20,7 +20,7 @@
###### implementation
config = pkgs.lib.mkIf config.hardware.amdHybridGraphics.disable {
config = lib.mkIf config.hardware.amdHybridGraphics.disable {
systemd.services."amd-hybrid-graphics" = {
path = [ pkgs.bash ];
description = "Disable AMD Card";

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let kernel = config.boot.kernelPackages; in
@ -8,9 +8,9 @@ let kernel = config.boot.kernelPackages; in
options = {
hardware.nvidiaOptimus.disable = pkgs.lib.mkOption {
hardware.nvidiaOptimus.disable = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
Completely disable the NVIDIA graphics card and use the
integrated graphics processor instead.
@ -22,7 +22,7 @@ let kernel = config.boot.kernelPackages; in
###### implementation
config = pkgs.lib.mkIf config.hardware.nvidiaOptimus.disable {
config = lib.mkIf config.hardware.nvidiaOptimus.disable {
boot.blacklistedKernelModules = ["nouveau" "nvidia" "nvidiafb"];
boot.kernelModules = [ "bbswitch" ];
boot.extraModulePackages = [ kernel.bbswitch ];

View File

@ -1,9 +1,9 @@
# Monit system watcher
# http://mmonit.org/monit/
{config, pkgs, ...}:
{config, pkgs, lib, ...}:
let inherit (pkgs.lib) mkOption mkIf;
let inherit (lib) mkOption mkIf;
in
{

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
inherit (pkgs.lib) mkOption mkEnableOption mkIf mkMerge types optionalAttrs optional;
inherit (lib) mkOption mkEnableOption mkIf mkMerge types optionalAttrs optional;
cfg = config.services.uptime;

View File

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
inherit (pkgs.lib) mkOption mkIf;
inherit (lib) mkOption mkIf;
cfg = config.services.openafsClient;

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let
cfg = config.networking.connman;

View File

@ -1,8 +1,8 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
inherit (pkgs.lib) mkOption mkIf singleton;
inherit (lib) mkOption mkIf singleton;
inherit (pkgs) ddclient;

View File

@ -18,7 +18,7 @@ let
${cfg.extraConfig}
${pkgs.lib.concatMapStrings
${lib.concatMapStrings
(machine: ''
host ${machine.hostName} {
hardware ethernet ${machine.ethernetAddress};

View File

@ -1,9 +1,9 @@
# GNU Virtual Private Ethernet
{config, pkgs, ...}:
{config, pkgs, lib, ...}:
let
inherit (pkgs.lib) mkOption mkIf;
inherit (lib) mkOption mkIf;
cfg = config.services.gvpe;

View File

@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
with lib;
with pkgs;
with lib;
let
cfg = config.networking.networkmanager;
@ -151,7 +151,7 @@ in {
{ source = "${networkmanager_pptp}/etc/NetworkManager/VPN/nm-pptp-service.name";
target = "NetworkManager/VPN/nm-pptp-service.name";
}
] ++ pkgs.lib.optional (cfg.appendNameservers == [] || cfg.insertNameservers == [])
] ++ optional (cfg.appendNameservers == [] || cfg.insertNameservers == [])
{ source = overrideNameserversScript;
target = "NetworkManager/dispatcher.d/02overridedns";
};

View File

@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }:
with pkgs.lib;
with lib;
let
cfg = config.services.notbit;
varDir = "/var/lib/notbit";

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
cfg = config.services.nsd;

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, lib, pkgs, ... }:
with pkgs.lib;
with lib;
let
ts3 = pkgs.teamspeak_server;

View File

@ -15,7 +15,7 @@ let
MAILTO="${config.services.cron.mailto}"
''}
NIX_CONF_DIR=/etc/nix
${pkgs.lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)}
${lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)}
'';
# Vixie cron requires build-time configuration for the sendmail path.

View File

@ -17,7 +17,7 @@ let
MAILTO="${config.services.cron.mailto}"
''}
NIX_CONF_DIR=/etc/nix
${pkgs.lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)}
${lib.concatStrings (map (job: job + "\n") config.services.cron.systemCronJobs)}
'';
allowdeny = target: users:

View File

@ -1,4 +1,4 @@
{pkgs, config, ...}:
{lib, config, ...}:
let kernel = config.boot.kernelPackages;
in
@ -9,9 +9,9 @@ in
options = {
services.frandom.enable = pkgs.lib.mkOption {
services.frandom.enable = lib.mkOption {
default = false;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = ''
enable the /dev/frandom device (a very fast random number generator)
'';
@ -22,7 +22,7 @@ in
###### implementation
config = pkgs.lib.mkIf config.services.frandom.enable {
config = lib.mkIf config.services.frandom.enable {
boot.kernelModules = [ "frandom" ];
boot.extraModulePackages = [ kernel.frandom ];
services.udev.packages = [ kernel.frandom ];

View File

@ -1,8 +1,8 @@
{pkgs, config, ...}:
{pkgs, config, lib, ...}:
let
inherit (pkgs.lib) mkOption mkIf singleton;
inherit (lib) mkOption mkIf singleton;
inherit (pkgs) heimdal;
@ -36,7 +36,7 @@ in
environment.systemPackages = [ heimdal ];
services.xinetd.enable = true;
services.xinetd.services = pkgs.lib.singleton
services.xinetd.services = lib.singleton
{ name = "kerberos-adm";
flags = "REUSE NAMEINARGS";
protocol = "tcp";

View File

@ -7,7 +7,7 @@ let
nssModulesPath = config.system.nssModules.path;
cfg = config.services.nscd;
inherit (pkgs.lib) singleton;
inherit (lib) singleton;
cfgFile = pkgs.writeText "nscd.conf" cfg.config;

View File

@ -1,8 +1,8 @@
{pkgs, config, ...}:
{pkgs, config, lib, ...}:
let
inherit (pkgs.lib) mkOption mkIf singleton;
inherit (lib) mkOption mkIf singleton;
inherit (pkgs) uptimed;

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
inherit (pkgs.lib) mkOption types mkIf optionalString;
inherit (lib) mkOption types mkIf optionalString;
cfg = config.services.kmscon;

View File

@ -1,8 +1,8 @@
{ config, pkgs, serverInfo, ... }:
{ config, pkgs, serverInfo, lib, ... }:
let
inherit (pkgs) mercurial;
inherit (pkgs.lib) mkOption;
inherit (lib) mkOption;
urlPrefix = config.urlPrefix;

View File

@ -1,7 +1,7 @@
{ config, pkgs, serverInfo, ... }:
{ config, pkgs, serverInfo, lib, ... }:
let
extraWorkersProperties = pkgs.lib.optionalString (config ? extraWorkersProperties) config.extraWorkersProperties;
extraWorkersProperties = lib.optionalString (config ? extraWorkersProperties) config.extraWorkersProperties;
workersProperties = pkgs.writeText "workers.properties" ''
# Define list of workers that will be used

View File

@ -1,7 +1,7 @@
{pkgs, config, ...}:
{lib, pkgs, config, ...}:
let
inherit (pkgs.lib) mkOption mkIf;
inherit (lib) mkOption mkIf;
cfg = config.services.xserver.windowManager.openbox;
in

View File

@ -1,7 +1,7 @@
{pkgs, config, ...}:
{pkgs, lib, config, ...}:
let
inherit (pkgs.lib) mkOption mkIf optionals literalExample;
inherit (lib) mkOption mkIf optionals literalExample;
cfg = config.services.xserver.windowManager.xmonad;
xmonadEnv = cfg.haskellPackages.ghcWithPackages(self: [
self.xmonad
@ -48,7 +48,7 @@ in
enableContribAndExtras = mkOption {
default = false;
example = true;
type = pkgs.lib.types.bool;
type = lib.types.bool;
description = "Enable xmonad-{contrib,extras} in Xmonad.";
};
};

View File

@ -1,6 +1,6 @@
{ config, pkgs, modulesPath, ... }:
{ config, lib, ... }:
with pkgs.lib;
with lib;
let
fileSystems = attrValues config.fileSystems ++ config.swapDevices;

View File

@ -1,6 +1,6 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
with pkgs.lib;
with lib;
let
inInitrd = any (fs: fs == "f2fs") config.boot.initrd.supportedFilesystems;

View File

@ -1,8 +1,8 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
config = pkgs.lib.mkMerge [
(pkgs.lib.mkIf (pkgs.lib.any (fs: fs == "unionfs-fuse") config.boot.initrd.supportedFilesystems) {
config = lib.mkMerge [
(lib.mkIf (lib.any (fs: fs == "unionfs-fuse") config.boot.initrd.supportedFilesystems) {
boot.initrd.kernelModules = [ "fuse" ];
boot.initrd.extraUtilsCommands = ''
@ -17,7 +17,7 @@
ln -s $(which umount) /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-${pkgs.utillinux.name}/bin
'';
})
(pkgs.lib.mkIf (pkgs.lib.any (fs: fs == "unionfs-fuse") config.boot.supportedFilesystems) {
(lib.mkIf (lib.any (fs: fs == "unionfs-fuse") config.boot.supportedFilesystems) {
system.fsPackages = [ pkgs.unionfs-fuse ];
})
];

View File

@ -1,7 +1,7 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
let
configfile = builtins.storePath (builtins.toFile "config" (pkgs.lib.concatStringsSep "\n"
configfile = builtins.storePath (builtins.toFile "config" (lib.concatStringsSep "\n"
(map (builtins.getAttr "configLine") config.system.requiredKernelConfig))
);

View File

@ -11,7 +11,6 @@ let
in
optionalAttrs (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) # ugly...
{
###### interface
@ -33,6 +32,10 @@ optionalAttrs (pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64) # ugly...
###### implementation
config = mkIf cfg.enable {
assertions = [ {
assertion = pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64;
message = "Virtualbox not currently supported on ${pkgs.stdenv.system}";
} ];
environment.systemPackages = [ kernel.virtualboxGuestAdditions ];