diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2016-05-13 10:14:53 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2016-05-13 10:14:53 +0200 |
commit | 3e387c3e005c87566b5403d24c86f71f4945a79b (patch) | |
tree | 6ddd883a2e405850093d1f19cd18bb9b712e7c01 /nixos/modules | |
parent | df8958435e1fd0c6d55394e95d3d3d2e0edca474 (diff) | |
parent | 6c2fbfbd7720446821be2a506cefcd1e0ff3b42d (diff) | |
download | nixlib-3e387c3e005c87566b5403d24c86f71f4945a79b.tar nixlib-3e387c3e005c87566b5403d24c86f71f4945a79b.tar.gz nixlib-3e387c3e005c87566b5403d24c86f71f4945a79b.tar.bz2 nixlib-3e387c3e005c87566b5403d24c86f71f4945a79b.tar.lz nixlib-3e387c3e005c87566b5403d24c86f71f4945a79b.tar.xz nixlib-3e387c3e005c87566b5403d24c86f71f4945a79b.tar.zst nixlib-3e387c3e005c87566b5403d24c86f71f4945a79b.zip |
Merge branch 'staging'
Darwin isn't in a perfect state, in particular its bootstrap tools won't build which will block nixpkgs channel. But on the whole it seems acceptable.
Diffstat (limited to 'nixos/modules')
21 files changed, 131 insertions, 129 deletions
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix index f2db428a4441..a964e04531c1 100644 --- a/nixos/modules/config/pulseaudio.nix +++ b/nixos/modules/config/pulseaudio.nix @@ -98,9 +98,9 @@ in { package = mkOption { type = types.package; - default = pulseaudioLight.out; - defaultText = "pkgs.pulseaudioLight.out"; - example = literalExample "pkgs.pulseaudioFull.out"; + default = pulseaudioLight; + defaultText = "pkgs.pulseaudioLight"; + example = literalExample "pkgs.pulseaudioFull"; description = '' The PulseAudio derivation to use. This can be used to enable features (such as JACK support, Bluetooth) via the @@ -130,7 +130,7 @@ in { source = clientConf; }; - hardware.pulseaudio.configFile = mkDefault "${cfg.package.out}/etc/pulse/default.pa"; + hardware.pulseaudio.configFile = mkDefault "${getBin cfg.package}/etc/pulse/default.pa"; } (mkIf cfg.enable { @@ -158,7 +158,7 @@ in { wantedBy = [ "default.target" ]; serviceConfig = { Type = "notify"; - ExecStart = "${cfg.package.out}/bin/pulseaudio --daemonize=no"; + ExecStart = "${getBin cfg.package}/bin/pulseaudio --daemonize=no"; Restart = "on-failure"; }; }; @@ -195,7 +195,7 @@ in { environment.PULSE_RUNTIME_PATH = stateDir; serviceConfig = { Type = "notify"; - ExecStart = "${cfg.package.out}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}"; + ExecStart = "${getBin cfg.package}/bin/pulseaudio --daemonize=no --log-level=${cfg.daemon.logLevel} --system -n --file=${cfg.configFile}"; Restart = "on-failure"; }; }; diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 0e0a9203d383..3054439da655 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -103,6 +103,8 @@ in environment.pathsToLink = [ "/bin" "/etc/xdg" + "/etc/gtk-2.0" + "/etc/gtk-3.0" "/info" "/lib" # FIXME: remove and update debug-info.nix "/sbin" diff --git a/nixos/modules/i18n/input-method/default.nix b/nixos/modules/i18n/input-method/default.nix index 7e6a25bfb084..5d57a7f99666 100644 --- a/nixos/modules/i18n/input-method/default.nix +++ b/nixos/modules/i18n/input-method/default.nix @@ -1,10 +1,32 @@ { config, pkgs, lib, ... }: with lib; - +let + cfg = config.i18n.inputMethod; + gtk2_cache = pkgs.stdenv.mkDerivation { + preferLocalBuild = true; + allowSubstitutes = false; + name = "gtk2-immodule.cache"; + buildInputs = [ pkgs.gtk cfg.package ]; + buildCommand = '' + mkdir -p $out/etc/gtk-2.0/ + GTK_PATH=${cfg.package}/lib/gtk-2.0/ gtk-query-immodules-2.0 > $out/etc/gtk-2.0/immodules.cache + ''; + }; + gtk3_cache = pkgs.stdenv.mkDerivation { + preferLocalBuild = true; + allowSubstitutes = false; + name = "gtk3-immodule.cache"; + buildInputs = [ pkgs.gtk3 cfg.package ]; + buildCommand = '' + mkdir -p $out/etc/gtk-3.0/ + GTK_PATH=${cfg.package}/lib/gtk-3.0/ gtk-query-immodules-3.0 > $out/etc/gtk-3.0/immodules.cache + ''; + }; +in { - options = { - i18n.inputMethod = { + options.i18n = { + inputMethod = { enabled = mkOption { type = types.nullOr (types.enum [ "ibus" "fcitx" "nabi" "uim" ]); default = null; @@ -24,6 +46,20 @@ with lib; </itemizedlist> ''; }; + + package = mkOption { + internal = true; + type = types.path; + default = null; + description = '' + The input method method package. + ''; + }; }; }; + + config = mkIf (cfg.enabled != null) { + environment.systemPackages = [ cfg.package gtk2_cache gtk3_cache ]; + }; + } diff --git a/nixos/modules/i18n/input-method/fcitx.nix b/nixos/modules/i18n/input-method/fcitx.nix index 8e31743504f1..bdefd2d2d596 100644 --- a/nixos/modules/i18n/input-method/fcitx.nix +++ b/nixos/modules/i18n/input-method/fcitx.nix @@ -32,7 +32,7 @@ in }; config = mkIf (config.i18n.inputMethod.enabled == "fcitx") { - environment.systemPackages = [ fcitxPackage ]; + i18n.inputMethod.package = fcitxPackage; environment.variables = { GTK_IM_MODULE = "fcitx"; diff --git a/nixos/modules/i18n/input-method/ibus.nix b/nixos/modules/i18n/input-method/ibus.nix index bb80f43634d3..097a662c3c6d 100644 --- a/nixos/modules/i18n/input-method/ibus.nix +++ b/nixos/modules/i18n/input-method/ibus.nix @@ -41,9 +41,11 @@ in }; config = mkIf (config.i18n.inputMethod.enabled == "ibus") { + i18n.inputMethod.package = ibusPackage; + # Without dconf enabled it is impossible to use IBus environment.systemPackages = with pkgs; [ - ibusPackage ibus-qt gnome3.dconf ibusAutostart + ibus-qt gnome3.dconf ibusAutostart ]; environment.variables = { diff --git a/nixos/modules/i18n/input-method/nabi.nix b/nixos/modules/i18n/input-method/nabi.nix index c6708365effa..87620ae4e7b2 100644 --- a/nixos/modules/i18n/input-method/nabi.nix +++ b/nixos/modules/i18n/input-method/nabi.nix @@ -3,7 +3,7 @@ with lib; { config = mkIf (config.i18n.inputMethod.enabled == "nabi") { - environment.systemPackages = [ pkgs.nabi ]; + i18n.inputMethod.package = pkgs.nabi; environment.variables = { GTK_IM_MODULE = "nabi"; diff --git a/nixos/modules/i18n/input-method/uim.nix b/nixos/modules/i18n/input-method/uim.nix index f8a3e560656d..7ad68bf851fe 100644 --- a/nixos/modules/i18n/input-method/uim.nix +++ b/nixos/modules/i18n/input-method/uim.nix @@ -22,7 +22,7 @@ in }; config = mkIf (config.i18n.inputMethod.enabled == "uim") { - environment.systemPackages = [ pkgs.uim ]; + i18n.inputMethod.package = pkgs.uim; environment.variables = { GTK_IM_MODULE = "uim"; diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix index fc95c4910bf7..2c271b328179 100644 --- a/nixos/modules/services/hardware/bluetooth.nix +++ b/nixos/modules/services/hardware/bluetooth.nix @@ -9,7 +9,7 @@ let serviceConfig = { Type = "dbus"; BusName = "org.bluez"; - ExecStart = "${bluez-bluetooth}/sbin/bluetoothd -n"; + ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n"; }; wantedBy = [ "bluetooth.target" ]; }; @@ -19,7 +19,7 @@ let serviceConfig = { Type = "dbus"; BusName = "org.bluez"; - ExecStart = "${bluez-bluetooth}/sbin/bluetoothd -n"; + ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n"; NotifyAccess="main"; CapabilityBoundingSet="CAP_NET_ADMIN CAP_NET_BIND_SERVICE"; LimitNPROC=1; @@ -32,7 +32,7 @@ let serviceConfig = { Type = "dbus"; BusName = "org.bluez.obex"; - ExecStart = "${bluez-bluetooth}/sbin/obexd"; + ExecStart = "${getBin bluez-bluetooth}/bin/obexd"; }; }; diff --git a/nixos/modules/services/misc/octoprint.nix b/nixos/modules/services/misc/octoprint.nix index 8d46bca99f99..c2b3f63be7d4 100644 --- a/nixos/modules/services/misc/octoprint.nix +++ b/nixos/modules/services/misc/octoprint.nix @@ -102,7 +102,7 @@ in wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; path = [ pluginsEnv ]; - environment.PYTHONPATH = makeSearchPathOutputs pkgs.python.sitePackages ["lib"] [ pluginsEnv ]; + environment.PYTHONPATH = makeSearchPathOutput "lib" pkgs.python.sitePackages [ pluginsEnv ]; preStart = '' mkdir -p "${cfg.stateDir}" diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix index 9912ad9ae3fc..e9eea6a2cae1 100644 --- a/nixos/modules/services/networking/networkmanager.nix +++ b/nixos/modules/services/networking/networkmanager.nix @@ -114,10 +114,12 @@ in { # Ugly hack for using the correct gnome3 packageSet basePackages = mkOption { type = types.attrsOf types.package; - default = { inherit networkmanager modemmanager wpa_supplicant + default = { inherit modemmanager wpa_supplicant networkmanager_openvpn networkmanager_vpnc networkmanager_openconnect - networkmanager_pptp networkmanager_l2tp; }; + networkmanager_pptp networkmanager_l2tp; + networkmanager = networkmanager.out; + }; internal = true; }; @@ -187,7 +189,7 @@ in { boot.kernelModules = [ "ppp_mppe" ]; # Needed for most (all?) PPTP VPN connections. - environment.etc = with cfg.basePackages; [ + environment.etc = with mapAttrs (name: getBin) cfg.basePackages; [ { source = ipUpScript; target = "NetworkManager/dispatcher.d/01nixos-ip-up"; } diff --git a/nixos/modules/services/system/dbus-session-local.conf.in b/nixos/modules/services/system/dbus-session-local.conf.in new file mode 100644 index 000000000000..5fd6f80a3539 --- /dev/null +++ b/nixos/modules/services/system/dbus-session-local.conf.in @@ -0,0 +1,5 @@ +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + @extra@ +</busconfig> diff --git a/nixos/modules/services/system/dbus-system-local.conf.in b/nixos/modules/services/system/dbus-system-local.conf.in new file mode 100644 index 000000000000..edbb476f585a --- /dev/null +++ b/nixos/modules/services/system/dbus-system-local.conf.in @@ -0,0 +1,6 @@ +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <servicehelper>@servicehelper@</servicehelper> + @extra@ +</busconfig> diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix index 59c2e482e1ad..434211aaac41 100644 --- a/nixos/modules/services/system/dbus.nix +++ b/nixos/modules/services/system/dbus.nix @@ -10,6 +10,16 @@ let homeDir = "/var/run/dbus"; + systemExtraxml = concatStrings (flip concatMap cfg.packages (d: [ + "<servicedir>${d}/share/dbus-1/system-services</servicedir>" + "<includedir>${d}/etc/dbus-1/system.d</includedir>" + ])); + + sessionExtraxml = concatStrings (flip concatMap cfg.packages (d: [ + "<servicedir>${d}/share/dbus-1/services</servicedir>" + "<includedir>${d}/etc/dbus-1/session.d</includedir>" + ])); + configDir = pkgs.stdenv.mkDerivation { name = "dbus-conf"; @@ -19,47 +29,17 @@ let buildCommand = '' mkdir -p $out - cp -v ${pkgs.dbus.daemon}/etc/dbus-1/system.conf $out/system.conf - - # !!! Hm, these `sed' calls are rather error-prone... - - # Tell the daemon where the setuid wrapper around - # dbus-daemon-launch-helper lives. - sed -i $out/system.conf \ - -e 's|<servicehelper>.*/libexec/dbus-daemon-launch-helper|<servicehelper>${config.security.wrapperDir}/dbus-daemon-launch-helper|' - - # Add the system-services and system.d directories to the system - # bus search path. - sed -i $out/system.conf \ - -e 's|<standard_system_servicedirs/>|${systemServiceDirs}|' \ - -e 's|<includedir>system.d</includedir>|${systemIncludeDirs}|' + sed '${./dbus-system-local.conf.in}' \ + -e 's,@servicehelper@,${config.security.wrapperDir}/dbus-daemon-launch-helper,g' \ + -e 's,@extra@,${systemExtraxml},' \ + > "$out/system-local.conf" - cp ${pkgs.dbus.daemon}/etc/dbus-1/session.conf $out/session.conf - - # Add the services and session.d directories to the session bus - # search path. - sed -i $out/session.conf \ - -e 's|<standard_session_servicedirs />|${sessionServiceDirs}&|' \ - -e 's|<includedir>session.d</includedir>|${sessionIncludeDirs}|' - ''; # */ + sed '${./dbus-session-local.conf.in}' \ + -e 's,@extra@,${sessionExtraxml},' \ + > "$out/session-local.conf" + ''; }; - systemServiceDirs = concatMapStrings - (d: "<servicedir>${d}/share/dbus-1/system-services</servicedir> ") - cfg.packages; - - systemIncludeDirs = concatMapStrings - (d: "<includedir>${d}/etc/dbus-1/system.d</includedir> ") - cfg.packages; - - sessionServiceDirs = concatMapStrings - (d: "<servicedir>${d}/share/dbus-1/services</servicedir> ") - cfg.packages; - - sessionIncludeDirs = concatMapStrings - (d: "<includedir>${d}/etc/dbus-1/session.d</includedir> ") - cfg.packages; - in { @@ -72,7 +52,7 @@ in enable = mkOption { type = types.bool; - default = true; + default = false; internal = true; description = '' Whether to start the D-Bus message bus daemon, which is @@ -82,7 +62,7 @@ in packages = mkOption { type = types.listOf types.path; - default = []; + default = [ ]; description = '' Packages whose D-Bus configuration files should be included in the configuration of the D-Bus system-wide message bus. @@ -129,10 +109,10 @@ in permissions = "u+rx,g+rx,o-rx"; }; - services.dbus.packages = - [ "/nix/var/nix/profiles/default" - config.system.path - ]; + services.dbus.packages = [ + pkgs.dbus + config.system.path + ]; # Don't restart dbus-daemon. Bad things tend to happen if we do. systemd.services.dbus.reloadIfChanged = true; diff --git a/nixos/modules/services/web-servers/apache-httpd/trac.nix b/nixos/modules/services/web-servers/apache-httpd/trac.nix index c4aa6b6ad3a3..3196edc2838b 100644 --- a/nixos/modules/services/web-servers/apache-httpd/trac.nix +++ b/nixos/modules/services/web-servers/apache-httpd/trac.nix @@ -96,7 +96,7 @@ in globalEnvVars = singleton { name = "PYTHONPATH"; value = - makeSearchPathOutputs "lib/${pkgs.python.libPrefix}/site-packages" ["lib"] + makeSearchPathOutput "lib" "lib/${pkgs.python.libPrefix}/site-packages" [ pkgs.mod_python pkgs.pythonPackages.trac pkgs.setuptools diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index 11df7297833b..2e788d869607 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -7,7 +7,7 @@ let e = pkgs.enlightenment; xcfg = config.services.xserver; cfg = xcfg.desktopManager.enlightenment; - GST_PLUGIN_PATH = lib.makeSearchPathOutputs "lib/gstreamer-1.0" ["lib"] [ + GST_PLUGIN_PATH = lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ pkgs.gst_all_1.gst-plugins-base pkgs.gst_all_1.gst-plugins-good pkgs.gst_all_1.gst-plugins-bad diff --git a/nixos/modules/services/x11/desktop-managers/kde4.nix b/nixos/modules/services/x11/desktop-managers/kde4.nix index 80e408be4923..1927341e45d4 100644 --- a/nixos/modules/services/x11/desktop-managers/kde4.nix +++ b/nixos/modules/services/x11/desktop-managers/kde4.nix @@ -29,7 +29,7 @@ let phononBackends = { gstreamer = [ - pkgs.phonon_backend_gstreamer + pkgs.phonon-backend-gstreamer pkgs.gst_all.gstPluginsBase pkgs.gst_all.gstPluginsGood pkgs.gst_all.gstPluginsUgly @@ -38,7 +38,7 @@ let pkgs.gst_all.gstreamer # needed? ]; - vlc = [pkgs.phonon_backend_vlc]; + vlc = [pkgs.phonon-backend-vlc]; }; phononBackendPackages = flip concatMap cfg.phononBackends @@ -111,7 +111,7 @@ in # Load PulseAudio module for routing support. # See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/ ${optionalString config.hardware.pulseaudio.enable '' - ${config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1" + ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1" ''} # Start KDE. diff --git a/nixos/modules/services/x11/desktop-managers/kde5.nix b/nixos/modules/services/x11/desktop-managers/kde5.nix index 70dc1ac2a26a..2e9183da970a 100644 --- a/nixos/modules/services/x11/desktop-managers/kde5.nix +++ b/nixos/modules/services/x11/desktop-managers/kde5.nix @@ -22,26 +22,6 @@ in description = "Enable the Plasma 5 (KDE 5) desktop environment."; }; - phonon = { - - gstreamer = { - enable = mkOption { - type = types.bool; - default = true; - description = "Enable the GStreamer Phonon backend (recommended)."; - }; - }; - - vlc = { - enable = mkOption { - type = types.bool; - default = false; - description = "Enable the VLC Phonon backend."; - }; - }; - - }; - }; }; @@ -59,7 +39,7 @@ in # Load PulseAudio module for routing support. # See http://colin.guthr.ie/2009/10/so-how-does-the-kde-pulseaudio-support-work-anyway/ ${optionalString config.hardware.pulseaudio.enable '' - ${config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1" + ${getBin config.hardware.pulseaudio.package}/bin/pactl load-module module-device-manager "do_routing=1" ''} exec "${kde5.startkde}" @@ -122,6 +102,9 @@ in pkgs.hicolor_icon_theme kde5.kde-gtk-config + + pkgs.phonon-backend-gstreamer + pkgs.kde5.phonon-backend-gstreamer ] # Plasma 5.5 and later has a Breeze GTK theme. @@ -131,37 +114,16 @@ in # Install Breeze icons if available ++ lib.optional (lib.hasAttr "breeze-icons" kde5) kde5.breeze-icons + # Install activity manager if available + ++ lib.optional (lib.hasAttr "kactivitymanagerd" kde5) kde5.kactivitymanagerd + # Optional hardware support features ++ lib.optional config.hardware.bluetooth.enable kde5.bluedevil ++ lib.optional config.networking.networkmanager.enable kde5.plasma-nm ++ lib.optional config.hardware.pulseaudio.enable kde5.plasma-pa ++ lib.optional config.powerManagement.enable kde5.powerdevil ++ lib.optional config.services.colord.enable kde5.colord-kde - ++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ] - - ++ lib.optionals cfg.phonon.gstreamer.enable - [ - pkgs.phonon_backend_gstreamer - pkgs.gst_all.gstreamer - pkgs.gst_all.gstPluginsBase - pkgs.gst_all.gstPluginsGood - pkgs.gst_all.gstPluginsUgly - pkgs.gst_all.gstPluginsBad - pkgs.gst_all.gstFfmpeg # for mp3 playback - pkgs.qt55.phonon-backend-gstreamer - pkgs.gst_all_1.gstreamer - pkgs.gst_all_1.gst-plugins-base - pkgs.gst_all_1.gst-plugins-good - pkgs.gst_all_1.gst-plugins-ugly - pkgs.gst_all_1.gst-plugins-bad - pkgs.gst_all_1.gst-libav # for mp3 playback - ] - - ++ lib.optionals cfg.phonon.vlc.enable - [ - pkgs.phonon_qt5_backend_vlc - pkgs.qt55.phonon-backend-vlc - ]; + ++ lib.optionals config.services.samba.enable [ kde5.kdenetwork-filesharing pkgs.samba ]; environment.pathsToLink = [ "/share" ]; @@ -170,17 +132,23 @@ in target = "X11/xkb"; }; - environment.profileRelativeEnvVars = - mkIf cfg.phonon.gstreamer.enable - { - GST_PLUGIN_SYSTEM_PATH = [ "/lib/gstreamer-0.10" ]; - GST_PLUGIN_SYSTEM_PATH_1_0 = [ "/lib/gstreamer-1.0" ]; - }; - # Enable GTK applications to load SVG icons - environment.variables = mkIf (lib.hasAttr "breeze-icons" kde5) { - GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; - }; + environment.variables = + { + GST_PLUGIN_SYSTEM_PATH_1_0 = + lib.makeSearchPath "/lib/gstreamer-1.0" + (builtins.map (pkg: pkg.out) (with pkgs.gst_all_1; [ + gstreamer + gst-plugins-base + gst-plugins-good + gst-plugins-ugly + gst-plugins-bad + gst-libav # for mp3 playback + ])); + } + // (if (lib.hasAttr "breeze-icons" kde5) + then { GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"; } + else { }); fonts.fonts = [ (kde5.oxygen-fonts or pkgs.noto-fonts) ]; diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix index 9d61d64f7553..4489e34831da 100644 --- a/nixos/modules/system/activation/activation-script.nix +++ b/nixos/modules/system/activation/activation-script.nix @@ -12,8 +12,7 @@ let ''; }); - path = map # outputs TODO? - (pkg: (pkg.bin or (pkg.out or pkg))) + path = map getBin [ pkgs.coreutils pkgs.gnugrep pkgs.findutils pkgs.glibc # needed for getent pkgs.shadow diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix index 289405f93195..7fc467b60f7b 100644 --- a/nixos/modules/system/boot/loader/grub/grub.nix +++ b/nixos/modules/system/boot/loader/grub/grub.nix @@ -58,7 +58,7 @@ let path = (makeBinPath ([ pkgs.coreutils pkgs.gnused pkgs.gnugrep pkgs.findutils pkgs.diffutils pkgs.btrfs-progs pkgs.utillinux ] ++ (if cfg.efiSupport && (cfg.version == 2) then [pkgs.efibootmgr ] else []) - )) + ":" + (makeSearchPathOutputs "sbin" ["bin"] [ + )) + ":" + (makeSearchPathOutput "bin" "sbin" [ pkgs.mdadm pkgs.utillinux ]); }); diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix index c8c9cda913c0..f2a22e4ada8a 100644 --- a/nixos/modules/system/boot/systemd-unit-options.nix +++ b/nixos/modules/system/boot/systemd-unit-options.nix @@ -193,7 +193,7 @@ in rec { path = mkOption { default = []; - apply = ps: "${makeBinPath ps}:${makeSearchPathOutputs "sbin" ["bin"] ps}"; + apply = ps: "${makeBinPath ps}:${makeSearchPathOutput "bin" "sbin" ps}"; description = '' Packages added to the service's <envar>PATH</envar> environment variable. Both the <filename>bin</filename> diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index 3f497566ff11..e7f892945315 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -689,6 +689,8 @@ in "systemd/system-generators" = { source = generators; }; }); + services.dbus.enable = true; + system.activationScripts.systemd = stringAfter [ "groups" ] '' mkdir -m 0755 -p /var/lib/udev |