diff options
Diffstat (limited to 'nixos')
22 files changed, 334 insertions, 113 deletions
diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml index 177010e2a322..09358f3af231 100644 --- a/nixos/doc/manual/release-notes/rl-1703.xml +++ b/nixos/doc/manual/release-notes/rl-1703.xml @@ -46,7 +46,14 @@ following incompatible changes:</para> for what those parameters represent. </para> </listitem> - + <listitem> + <para> + <literal>ansible</literal> now defaults to ansible version 2 as version 1 + has been removed due to a serious <link + xlink:href="https://www.computest.nl/advisories/CT-2017-0109_Ansible.txt"> + vulnerability</link> unpatched by upstream. + </para> + </listitem> <listitem> <para> <literal>gnome</literal> alias has been removed along with diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index d5cb4fce0f9d..eee8db376c84 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -108,7 +108,7 @@ in { type = types.bool; default = false; description = '' - Whether to include the 32-bit pulseaudio libraries in the systemn or not. + Whether to include the 32-bit pulseaudio libraries in the system or not. This is only useful on 64-bit systems and currently limited to x86_64-linux. ''; }; diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix index 5e38a9880961..486fe7c1cd8f 100644 --- a/nixos/modules/hardware/opengl.nix +++ b/nixos/modules/hardware/opengl.nix @@ -133,13 +133,10 @@ in ''; environment.sessionVariables.LD_LIBRARY_PATH = - [ "/run/opengl-driver/lib" "/run/opengl-driver-32/lib" ]; + [ "/run/opengl-driver/lib" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/lib"; - environment.extraInit = '' - export XDG_DATA_DIRS=$XDG_DATA_DIRS:/run/opengl-driver/share - '' + optionalString cfg.driSupport32Bit '' - export XDG_DATA_DIRS=$XDG_DATA_DIRS:/run/opengl-driver-32/share - ''; + environment.variables.XDG_DATA_DIRS = + [ "/run/opengl-driver/share" ] ++ optional cfg.driSupport32Bit "/run/opengl-driver-32/share"; hardware.opengl.package = mkDefault (makePackage pkgs); hardware.opengl.package32 = mkDefault (makePackage pkgs_i686); diff --git a/nixos/modules/hardware/video/amdgpu-pro.nix b/nixos/modules/hardware/video/amdgpu-pro.nix index 979810abf90a..06a405ee057f 100644 --- a/nixos/modules/hardware/video/amdgpu-pro.nix +++ b/nixos/modules/hardware/video/amdgpu-pro.nix @@ -44,9 +44,6 @@ in "amd/amdrc".source = package + "/etc/amd/amdrc"; "amd/amdapfxx.blb".source = package + "/etc/amd/amdapfxx.blb"; "gbm/gbm.conf".source = package + "/etc/gbm/gbm.conf"; - "OpenCL/vendors/amdocl64.icd".source = package + "/etc/OpenCL/vendors/amdocl64.icd"; - } // optionalAttrs opengl.driSupport32Bit { - "OpenCL/vendors/amdocl32.icd".source = package32 + "/etc/OpenCL/vendors/amdocl32.icd"; }; }; diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix index 8514f765e610..b604d645132d 100644 --- a/nixos/modules/hardware/video/nvidia.nix +++ b/nixos/modules/hardware/video/nvidia.nix @@ -62,8 +62,6 @@ in services.acpid.enable = true; - environment.etc."OpenCL/vendors/nvidia.icd".source = "${nvidia_x11}/lib/vendors/nvidia.icd"; - }; } diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix index 2005f2518ba0..0ed44f9d3d15 100644 --- a/nixos/modules/misc/ids.nix +++ b/nixos/modules/misc/ids.nix @@ -206,7 +206,7 @@ ripple-data-api = 186; mediatomb = 187; rdnssd = 188; - ihaskell = 189; + # ihaskell = 189; # unused i2p = 190; lambdabot = 191; asterisk = 192; @@ -469,7 +469,7 @@ #ripple-data-api = 186; #unused mediatomb = 187; #rdnssd = 188; # unused - ihaskell = 189; + # ihaskell = 189; # unused i2p = 190; lambdabot = 191; asterisk = 192; diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix index 7451888484f7..b8824e6374b3 100644 --- a/nixos/modules/misc/nixpkgs.nix +++ b/nixos/modules/misc/nixpkgs.nix @@ -45,9 +45,8 @@ let in { - options = { - - nixpkgs.config = mkOption { + options.nixpkgs = { + config = mkOption { default = {}; example = literalExample '' @@ -61,7 +60,7 @@ in ''; }; - nixpkgs.overlays = mkOption { + overlays = mkOption { default = []; example = literalExample '' @@ -85,7 +84,7 @@ in ''; }; - nixpkgs.system = mkOption { + system = mkOption { type = types.str; example = "i686-linux"; description = '' @@ -95,14 +94,9 @@ in multi-platform deployment, or when building virtual machines. ''; }; - }; config = { - _module.args.pkgs = import ../../.. { - system = config.nixpkgs.system; - - inherit (config.nixpkgs) config; - }; + _module.args.pkgs = import ../../.. config.nixpkgs; }; } diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 9100f5b27a04..23acc11db238 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -261,7 +261,7 @@ ./services/misc/gitolite.nix ./services/misc/gogs.nix ./services/misc/gpsd.nix - ./services/misc/ihaskell.nix + #./services/misc/ihaskell.nix ./services/misc/leaps.nix ./services/misc/mantisbt.nix ./services/misc/mathics.nix @@ -328,6 +328,7 @@ ./services/monitoring/scollector.nix ./services/monitoring/smartd.nix ./services/monitoring/statsd.nix + ./services/monitoring/sysstat.nix ./services/monitoring/systemhealth.nix ./services/monitoring/teamviewer.nix ./services/monitoring/telegraf.nix @@ -521,6 +522,7 @@ ./services/web-apps/atlassian/confluence.nix ./services/web-apps/atlassian/crowd.nix ./services/web-apps/atlassian/jira.nix + ./services/web-apps/frab.nix ./services/web-apps/mattermost.nix ./services/web-apps/nixbot.nix ./services/web-apps/pump.io.nix diff --git a/nixos/modules/services/logging/fluentd.nix b/nixos/modules/services/logging/fluentd.nix index 3aa27a152669..e56a9a4e9afb 100644 --- a/nixos/modules/services/logging/fluentd.nix +++ b/nixos/modules/services/logging/fluentd.nix @@ -21,6 +21,12 @@ in { default = ""; description = "Fluentd config."; }; + + package = mkOption { + type = types.path; + default = pkgs.fluentd; + description = "The fluentd package to use."; + }; }; }; @@ -32,7 +38,7 @@ in { description = "Fluentd Daemon"; wantedBy = [ "multi-user.target" ]; serviceConfig = { - ExecStart = "${pkgs.fluentd}/bin/fluentd -c ${pkgs.writeText "fluentd.conf" cfg.config}"; + ExecStart = "${cfg.package}/bin/fluentd -c ${pkgs.writeText "fluentd.conf" cfg.config}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; }; }; diff --git a/nixos/modules/services/misc/ihaskell.nix b/nixos/modules/services/misc/ihaskell.nix index d0e9b839e754..df7b9be0db50 100644 --- a/nixos/modules/services/misc/ihaskell.nix +++ b/nixos/modules/services/misc/ihaskell.nix @@ -20,18 +20,6 @@ in description = "Autostart an IHaskell notebook service."; }; - haskellPackages = mkOption { - default = pkgs.haskellPackages; - defaultText = "pkgs.haskellPackages"; - example = literalExample "pkgs.haskell.packages.ghc784"; - description = '' - haskellPackages used to build IHaskell and other packages. - This can be used to change the GHC version used to build - IHaskell and the packages listed in - <varname>extraPackages</varname>. - ''; - }; - extraPackages = mkOption { default = self: []; example = literalExample '' diff --git a/nixos/modules/services/monitoring/arbtt.nix b/nixos/modules/services/monitoring/arbtt.nix index 27d59e367d5c..1135c2c441cb 100644 --- a/nixos/modules/services/monitoring/arbtt.nix +++ b/nixos/modules/services/monitoring/arbtt.nix @@ -49,7 +49,7 @@ in { config = mkIf cfg.enable { systemd.user.services.arbtt = { description = "arbtt statistics capture service"; - wantedBy = [ "multi-user.target" ]; + wantedBy = [ "default.target" ]; serviceConfig = { Type = "simple"; diff --git a/nixos/modules/services/networking/i2pd.nix b/nixos/modules/services/networking/i2pd.nix index abb7a4e9137c..c5b27350b3c2 100644 --- a/nixos/modules/services/networking/i2pd.nix +++ b/nixos/modules/services/networking/i2pd.nix @@ -8,7 +8,7 @@ let homeDir = "/var/lib/i2pd"; - extip = "EXTIP=\$(${pkgs.curl.bin}/bin/curl -sf \"http://jsonip.com\" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')"; + extip = "EXTIP=\$(${pkgs.curl.bin}/bin/curl -sLf \"http://jsonip.com\" | ${pkgs.gawk}/bin/awk -F'\"' '{print $4}')"; toYesNo = b: if b then "true" else "false"; diff --git a/nixos/modules/services/networking/nylon.nix b/nixos/modules/services/networking/nylon.nix index da6487dbd499..4864ecf3f92f 100644 --- a/nixos/modules/services/networking/nylon.nix +++ b/nixos/modules/services/networking/nylon.nix @@ -8,7 +8,7 @@ let homeDir = "/var/lib/nylon"; - configFile = pkgs.writeText "nylon.conf" '' + configFile = cfg: pkgs.writeText "nylon-${cfg.name}.conf" '' [General] No-Simultaneous-Conn=${toString cfg.nrConnections} Log=${if cfg.logging then "1" else "0"} @@ -22,15 +22,9 @@ let Deny-IP=${concatStringsSep " " cfg.deniedIPRanges} ''; -in - -{ - - ###### interface - - options = { + nylonOpts = { name, config, ... }: { - services.nylon = { + options = { enable = mkOption { type = types.bool; @@ -40,6 +34,12 @@ in ''; }; + name = mkOption { + type = types.str; + default = ""; + description = "The name of this nylon instance."; + }; + nrConnections = mkOption { type = types.int; default = 10; @@ -107,13 +107,51 @@ in ''; }; }; + config = { name = mkDefault name; }; + }; + + mkNamedNylon = cfg: { + "nylon-${cfg.name}" = { + description = "Nylon, a lightweight SOCKS proxy server"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = + { + User = "nylon"; + Group = "nylon"; + WorkingDirectory = homeDir; + ExecStart = "${pkgs.nylon}/bin/nylon -f -c ${configFile cfg}"; + }; + }; + }; + + anyNylons = collect (p: p ? enable) cfg; + enabledNylons = filter (p: p.enable == true) anyNylons; + nylonUnits = map (nylon: mkNamedNylon nylon) enabledNylons; + +in + +{ + + ###### interface + + options = { + + services.nylon = mkOption { + default = {}; + description = "Collection of named nylon instances"; + type = with types; loaOf (submodule nylonOpts); + internal = true; + options = [ nylonOpts ]; + }; + }; ###### implementation - config = mkIf cfg.enable { + config = mkIf (length(enabledNylons) > 0) { - users.extraUsers.nylon= { + users.extraUsers.nylon = { group = "nylon"; description = "Nylon SOCKS Proxy"; home = homeDir; @@ -123,17 +161,7 @@ in users.extraGroups.nylon.gid = config.ids.gids.nylon; - systemd.services.nylon = { - description = "Nylon, a lightweight SOCKS proxy server"; - after = [ "network.target" ]; - wantedBy = [ "multi-user.target" ]; - serviceConfig = - { - User = "nylon"; - Group = "nylon"; - WorkingDirectory = homeDir; - ExecStart = "${pkgs.nylon}/bin/nylon -f -c ${configFile}"; - }; - }; + systemd.services = fold (a: b: a // b) {} nylonUnits; + }; } diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix index a7cf74c15cc5..bc91d1284a9f 100644 --- a/nixos/modules/services/system/dbus.nix +++ b/nixos/modules/services/system/dbus.nix @@ -31,9 +31,6 @@ let cp ${pkgs.dbus.out}/share/dbus-1/{system,session}.conf $out - # avoid circular includes - sed -ri 's@(<include ignore_missing="yes">/etc/dbus-1/(system|session)\.conf</include>)@<!-- \1 -->@g' $out/{system,session}.conf - # include by full path sed -ri "s@/etc/dbus-1/(system|session)-@$out/\1-@" $out/{system,session}.conf @@ -98,11 +95,6 @@ in environment.systemPackages = [ pkgs.dbus.daemon pkgs.dbus ]; - environment.etc = singleton - { source = configDir; - target = "dbus-1"; - }; - users.extraUsers.messagebus = { uid = config.ids.uids.messagebus; description = "D-Bus system message bus daemon user"; @@ -134,8 +126,8 @@ in reloadIfChanged = true; restartTriggers = [ configDir ]; serviceConfig.ExecStart = [ - "" - "${lib.getBin pkgs.dbus}/bin/dbus-daemon --config-file=${configDir}/system.conf ${daemonArgs}" + "" # Default dbus.service has two entries, we need to override both. + "${lib.getBin pkgs.dbus}/bin/dbus-daemon --config-file=/run/current-system/dbus/system.conf ${daemonArgs}" ]; }; @@ -145,13 +137,17 @@ in reloadIfChanged = true; restartTriggers = [ configDir ]; serviceConfig.ExecStart = [ - "" - "${lib.getBin pkgs.dbus}/bin/dbus-daemon --config-file=${configDir}/session.conf ${daemonArgs}" + "" # Default dbus.service has two entries, we need to override both. + "${lib.getBin pkgs.dbus}/bin/dbus-daemon --config-file=/run/current-system/dbus/session.conf ${daemonArgs}" ]; }; sockets.dbus.wantedBy = mkIf cfg.socketActivated [ "sockets.target" ]; }; environment.pathsToLink = [ "/etc/dbus-1" "/share/dbus-1" ]; + + system.extraSystemBuilderCmds = '' + ln -s ${configDir} $out/dbus + ''; }; } diff --git a/nixos/modules/services/web-apps/frab.nix b/nixos/modules/services/web-apps/frab.nix new file mode 100644 index 000000000000..d5329ef03c89 --- /dev/null +++ b/nixos/modules/services/web-apps/frab.nix @@ -0,0 +1,224 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.frab; + + package = pkgs.frab; + ruby = package.ruby; + + databaseConfig = builtins.toJSON { production = cfg.database; }; + + frabEnv = { + RAILS_ENV = "production"; + RACK_ENV = "production"; + SECRET_KEY_BASE = cfg.secretKeyBase; + FRAB_HOST = cfg.host; + FRAB_PROTOCOL = cfg.protocol; + FROM_EMAIL = cfg.fromEmail; + RAILS_SERVE_STATIC_FILES = "1"; + } // cfg.extraEnvironment; + + frab-rake = pkgs.stdenv.mkDerivation rec { + name = "frab-rake"; + buildInputs = [ package.env pkgs.makeWrapper ]; + phases = "installPhase fixupPhase"; + installPhase = '' + mkdir -p $out/bin + makeWrapper ${package.env}/bin/bundle $out/bin/frab-bundle \ + ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") frabEnv)} \ + --set PATH '${lib.makeBinPath (with pkgs; [ nodejs file imagemagick ])}:$PATH' \ + --set RAKEOPT '-f ${package}/share/frab/Rakefile' \ + --run 'cd ${package}/share/frab' + makeWrapper $out/bin/frab-bundle $out/bin/frab-rake \ + --add-flags "exec rake" + ''; + }; + +in + +{ + options = { + services.frab = { + enable = mkOption { + type = types.bool; + default = false; + description = '' + Enable the frab service. + ''; + }; + + host = mkOption { + type = types.str; + example = "frab.example.com"; + description = '' + Hostname under which this frab instance can be reached. + ''; + }; + + protocol = mkOption { + type = types.str; + default = "https"; + example = "http"; + description = '' + Either http or https, depending on how your Frab instance + will be exposed to the public. + ''; + }; + + fromEmail = mkOption { + type = types.str; + default = "frab@localhost"; + description = '' + Email address used by frab. + ''; + }; + + listenAddress = mkOption { + type = types.str; + default = "localhost"; + description = '' + Address or hostname frab should listen on. + ''; + }; + + listenPort = mkOption { + type = types.int; + default = 3000; + description = '' + Port frab should listen on. + ''; + }; + + statePath = mkOption { + type = types.str; + default = "/var/lib/frab"; + description = '' + Directory where frab keeps its state. + ''; + }; + + user = mkOption { + type = types.str; + default = "frab"; + description = '' + User to run frab. + ''; + }; + + group = mkOption { + type = types.str; + default = "frab"; + description = '' + Group to run frab. + ''; + }; + + secretKeyBase = mkOption { + type = types.str; + description = '' + Your secret key is used for verifying the integrity of signed cookies. + If you change this key, all old signed cookies will become invalid! + + Make sure the secret is at least 30 characters and all random, + no regular words or you'll be exposed to dictionary attacks. + ''; + }; + + database = mkOption { + type = types.attrs; + default = { + adapter = "sqlite3"; + database = "/var/lib/frab/db.sqlite3"; + pool = 5; + timeout = 5000; + }; + example = { + adapter = "postgresql"; + database = "frab"; + host = "localhost"; + username = "frabuser"; + password = "supersecret"; + encoding = "utf8"; + pool = 5; + }; + description = '' + Rails database configuration for Frab as Nix attribute set. + ''; + }; + + extraEnvironment = mkOption { + type = types.attrs; + default = {}; + example = { + FRAB_CURRENCY_UNIT = "€"; + FRAB_CURRENCY_FORMAT = "%n%u"; + EXCEPTION_EMAIL = "frab-owner@example.com"; + SMTP_ADDRESS = "localhost"; + SMTP_PORT = "587"; + SMTP_DOMAIN = "localdomain"; + SMTP_USER_NAME = "root"; + SMTP_PASSWORD = "toor"; + SMTP_AUTHENTICATION = "1"; + SMTP_NOTLS = "1"; + }; + description = '' + Additional environment variables to set for frab for further + configuration. See the frab documentation for more information. + ''; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ frab-rake ]; + + users.extraUsers = [ + { name = cfg.user; + group = cfg.group; + home = "${cfg.statePath}"; + } + ]; + + users.extraGroups = [ { name = cfg.group; } ]; + + systemd.services.frab = { + after = [ "network.target" "gitlab.service" ]; + wantedBy = [ "multi-user.target" ]; + environment = frabEnv; + + preStart = '' + mkdir -p ${cfg.statePath}/system/attachments + chown ${cfg.user}:${cfg.group} -R ${cfg.statePath} + + mkdir /run/frab -p + ln -sf ${pkgs.writeText "frab-database.yml" databaseConfig} /run/frab/database.yml + ln -sf ${cfg.statePath}/system /run/frab/system + + if ! test -e "${cfg.statePath}/db-setup-done"; then + ${frab-rake}/bin/frab-rake db:setup + touch ${cfg.statePath}/db-setup-done + else + ${frab-rake}/bin/frab-rake db:migrate + fi + ''; + + serviceConfig = { + PermissionsStartOnly = true; + PrivateTmp = true; + PrivateDevices = true; + Type = "simple"; + User = cfg.user; + Group = cfg.group; + TimeoutSec = "300s"; + Restart = "on-failure"; + RestartSec = "10s"; + WorkingDirectory = "${package}/share/frab"; + ExecStart = "${frab-rake}/bin/frab-bundle exec rails server " + + "--binding=${cfg.listenAddress} --port=${toString cfg.listenPort}"; + }; + }; + + }; +} diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index 7ea8b30d23d1..615504bab15f 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -64,10 +64,7 @@ in security.setuidPrograms = [ "e_freqset" ]; - environment.etc = singleton - { source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; - target = "X11/xkb"; - }; + services.xserver.exportConfiguration = true; fonts.fonts = [ pkgs.dejavu_fonts pkgs.ubuntu_font_family ]; diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 17e84b1d9a16..21453d1917e8 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -78,7 +78,7 @@ in { }; debug = mkEnableOption "gnome-session debug messages"; - }; + }; environment.gnome3.packageSet = mkOption { default = null; @@ -86,7 +86,7 @@ in { description = "Which GNOME 3 package set to use."; apply = p: if p == null then pkgs.gnome3 else p; }; - + environment.gnome3.excludePackages = mkOption { default = []; example = literalExample "[ pkgs.gnome3.totem ]"; @@ -125,6 +125,9 @@ in { services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center services.udev.packages = [ pkgs.gnome3.gnome_settings_daemon ]; + # If gnome3 is installed, build vim for gtk3 too. + nixpkgs.config.vim.gui = "gtk3"; + fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell_fonts ]; services.xserver.desktopManager.session = singleton diff --git a/nixos/modules/services/x11/desktop-managers/kde4.nix b/nixos/modules/services/x11/desktop-managers/kde4.nix index 3aa4821a0521..b551432bc27a 100644 --- a/nixos/modules/services/x11/desktop-managers/kde4.nix +++ b/nixos/modules/services/x11/desktop-managers/kde4.nix @@ -183,10 +183,7 @@ in GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ]; }; - environment.etc = singleton - { source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; - target = "X11/xkb"; - }; + services.xserver.exportConfiguration = true; # Enable helpful DBus services. services.udisks2.enable = true; diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 8f081a1e9d2a..ec85cf1d0bdc 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -199,10 +199,7 @@ in environment.pathsToLink = [ "/share" ]; - environment.etc = singleton { - source = "${pkgs.xkeyboard_config}/etc/X11/xkb"; - target = "X11/xkb"; - }; + services.xserver.exportConfiguration = true; environment.variables = { diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index f5ed52338182..8617a5fab03f 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -465,23 +465,15 @@ in } ]; - environment.etc = - (optionals cfg.exportConfiguration - [ { source = "${configFile}"; - target = "X11/xorg.conf"; - } - # -xkbdir command line option does not seems to be passed to xkbcomp. - { source = "${cfg.xkbDir}"; - target = "X11/xkb"; - } - ]) + environment.etc = mkMerge [ + (mkIf cfg.exportConfiguration { + "X11/xorg.conf".source = configFile; + "X11/xkb".source = cfg.xkbDir; + }) # Needed since 1.18; see https://bugs.freedesktop.org/show_bug.cgi?id=89023#c5 - ++ (let cfgPath = "/X11/xorg.conf.d/10-evdev.conf"; in - [{ - source = xorg.xf86inputevdev.out + "/share" + cfgPath; - target = cfgPath; - }] - ); + (let cfgPath = "X11/xorg.conf.d/10-evdev.conf"; in + { "${cfgPath}".source = xorg.xf86inputevdev.out + "/share" + cfgPath; }) + ]; environment.systemPackages = [ xorg.xorgserver.out diff --git a/nixos/release-small.nix b/nixos/release-small.nix index f6e7a65fbdea..28f1340caf8d 100644 --- a/nixos/release-small.nix +++ b/nixos/release-small.nix @@ -53,8 +53,7 @@ in rec { nixpkgs = { inherit (nixpkgs') - apacheHttpd_2_2 - apacheHttpd_2_4 + apacheHttpd cmake cryptsetup emacs @@ -63,13 +62,12 @@ in rec { imagemagick jdk linux - mysql55 + mysql nginx nodejs openssh php - postgresql92 - postgresql93 + postgresql python rsyslog stdenv diff --git a/nixos/tests/emacs-daemon.nix b/nixos/tests/emacs-daemon.nix index a4d63bdb7e41..466e772a881f 100644 --- a/nixos/tests/emacs-daemon.nix +++ b/nixos/tests/emacs-daemon.nix @@ -1,7 +1,7 @@ import ./make-test.nix ({ pkgs, ...} : { name = "emacs-daemon"; meta = with pkgs.stdenv.lib.maintainers; { - maintainers = [ DamienCassou ]; + maintainers = [ ]; }; enableOCR = true; |