mirror of
https://github.com/nix-community/home-manager.git
synced 2024-12-14 11:57:55 +00:00
systemd: accept derivations as values for systemd options (#3974)
This commit is contained in:
parent
6be873663e
commit
d97e8f8861
2 changed files with 10 additions and 6 deletions
|
@ -51,7 +51,7 @@ let
|
|||
|
||||
unitType = unitKind:
|
||||
with types;
|
||||
let primitive = either bool (either int str);
|
||||
let primitive = oneOf [ bool int str path ];
|
||||
in attrsOf (attrsOf (attrsOf (either primitive (listOf primitive)))) // {
|
||||
description = "systemd ${unitKind} unit configuration";
|
||||
};
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{ pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
let
|
||||
drvScript = pkgs.writeShellScript "drv-script.sh" ''
|
||||
echo "Just a test"
|
||||
'';
|
||||
in {
|
||||
config = {
|
||||
systemd.user.services."test-service@" = {
|
||||
Unit = { Description = "A basic test service"; };
|
||||
|
||||
Service = {
|
||||
Environment = [ "VAR1=1" "VAR2=2" ];
|
||||
ExecStartPre = drvScript;
|
||||
ExecStart = ''/some/exec/start/command --with-arguments "%i"'';
|
||||
};
|
||||
};
|
||||
|
@ -18,11 +21,12 @@ with lib;
|
|||
assertFileExists $serviceFile
|
||||
assertFileContent $serviceFile \
|
||||
${
|
||||
builtins.toFile "services-expected.conf" ''
|
||||
pkgs.writeText "services-expected.conf" ''
|
||||
[Service]
|
||||
Environment=VAR1=1
|
||||
Environment=VAR2=2
|
||||
ExecStart=/some/exec/start/command --with-arguments "%i"
|
||||
ExecStartPre=${drvScript}
|
||||
|
||||
[Unit]
|
||||
Description=A basic test service
|
||||
|
|
Loading…
Reference in a new issue