diff options
author | tv <tv@krebsco.de> | 2016-02-11 23:59:07 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2016-02-11 23:59:07 +0100 |
commit | 2b6a54c31c47667495187f9ff8f9a6009a2652ab (patch) | |
tree | ab00bc10716b73443dbe58d1279ce367e6cc71fc /krebs/3modules/fetchWallpaper.nix | |
parent | 8c87356aee561fd8bc50dc2b7029ab30118f0d2c (diff) | |
parent | e8a0058f8cd654247eb0b08326dd34c3ac9cff6a (diff) |
Merge remote-tracking branch 'gum/master'
Diffstat (limited to 'krebs/3modules/fetchWallpaper.nix')
-rw-r--r-- | krebs/3modules/fetchWallpaper.nix | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/krebs/3modules/fetchWallpaper.nix b/krebs/3modules/fetchWallpaper.nix index f320c7505..225f00803 100644 --- a/krebs/3modules/fetchWallpaper.nix +++ b/krebs/3modules/fetchWallpaper.nix @@ -12,10 +12,6 @@ let api = { enable = mkEnableOption "fetch wallpaper"; - predicate = mkOption { - type = with types; nullOr path; - default = null; - }; url = mkOption { type = types.str; }; @@ -33,16 +29,20 @@ let type = types.str; default = ":11"; }; + unitConfig = mkOption { + type = types.attrsOf types.str; + description = "Extra unit configuration for fetchWallpaper to define conditions and assertions for the unit"; + example = literalExample '' + # do not start when running on umts + { ConditionPathExists = "!/var/run/ppp0.pid"; } + ''; + default = {}; + }; }; fetchWallpaperScript = pkgs.writeScript "fetchWallpaper" '' #! ${pkgs.bash}/bin/bash - ${optionalString (cfg.predicate != null) '' - if ! ${cfg.predicate}; then - echo "predicate failed - will not fetch from remote" - exit 0 - fi - ''} + mkdir -p ${shell.escape cfg.stateDir} curl -s -o ${shell.escape cfg.stateDir}/wallpaper -z ${shell.escape cfg.stateDir}/wallpaper ${shell.escape cfg.url} feh --no-fehbg --bg-scale ${shell.escape cfg.stateDir}/wallpaper @@ -76,7 +76,6 @@ let URL = cfg.url; DISPLAY = cfg.display; }; - restartIfChanged = true; serviceConfig = { @@ -84,6 +83,8 @@ let ExecStart = fetchWallpaperScript; User = "fetchWallpaper"; }; + + unitConfig = cfg.unitConfig; }; }; in out |