Merge master into staging-next
This commit is contained in:
@@ -155,6 +155,7 @@
|
||||
./programs/nm-applet.nix
|
||||
./programs/npm.nix
|
||||
./programs/oblogout.nix
|
||||
./programs/partition-manager.nix
|
||||
./programs/plotinus.nix
|
||||
./programs/proxychains.nix
|
||||
./programs/qt5ct.nix
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
meta.maintainers = [ maintainers.oxalica ];
|
||||
|
||||
###### interface
|
||||
options = {
|
||||
programs.partition-manager.enable = mkEnableOption "KDE Partition Manager";
|
||||
};
|
||||
|
||||
###### implementation
|
||||
config = mkIf config.programs.partition-manager.enable {
|
||||
services.dbus.packages = [ pkgs.libsForQt5.kpmcore ];
|
||||
# `kpmcore` need to be installed to pull in polkit actions.
|
||||
environment.systemPackages = [ pkgs.libsForQt5.kpmcore pkgs.partition-manager ];
|
||||
};
|
||||
}
|
||||
@@ -182,18 +182,7 @@ in rec {
|
||||
# upstream unit.
|
||||
for i in ${toString (mapAttrsToList (n: v: v.unit) units)}; do
|
||||
fn=$(basename $i/*)
|
||||
|
||||
case $fn in
|
||||
# if file name is a template specialization, use the template's name
|
||||
*@?*.service)
|
||||
# remove @foo.service and replace it with @.service
|
||||
ofn="''${fn%@*.service}@.service"
|
||||
;;
|
||||
*)
|
||||
ofn="$fn"
|
||||
esac
|
||||
|
||||
if [ -e $out/$ofn ]; then
|
||||
if [ -e $out/$fn ]; then
|
||||
if [ "$(readlink -f $i/$fn)" = /dev/null ]; then
|
||||
ln -sfn /dev/null $out/$fn
|
||||
else
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
import ./make-test-python.nix {
|
||||
name = "systemd-template-override";
|
||||
|
||||
machine = { pkgs, lib, ... }: let
|
||||
touchTmp = pkgs.writeTextFile {
|
||||
name = "touch-tmp@.service";
|
||||
text = ''
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=${pkgs.coreutils}/bin/touch /tmp/%I
|
||||
'';
|
||||
destination = "/etc/systemd/system/touch-tmp@.service";
|
||||
};
|
||||
in {
|
||||
systemd.packages = [ touchTmp ];
|
||||
|
||||
systemd.services."touch-tmp@forbidden" = {
|
||||
serviceConfig.ExecStart = [ "" ''
|
||||
${pkgs.coreutils}/bin/true
|
||||
''];
|
||||
};
|
||||
|
||||
systemd.services."touch-tmp@intercept" = {
|
||||
serviceConfig.ExecStart = [ "" ''
|
||||
${pkgs.coreutils}/bin/touch /tmp/renamed
|
||||
''];
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_unit("default.target")
|
||||
|
||||
machine.succeed("systemctl start touch-tmp@normal")
|
||||
machine.succeed("systemctl start touch-tmp@forbbidden")
|
||||
machine.succeed("systemctl start touch-tmp@intercept")
|
||||
|
||||
machine.succeed("[ -e /tmp/normal ]")
|
||||
machine.succeed("[ ! -e /tmp/forbidden ]")
|
||||
machine.succeed("[ -e /tmp/renamed ]")
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user