summary refs log tree commit diff
path: root/nixos/modules/services/home-automation
diff options
context:
space:
mode:
authorpiegames <git@piegames.de>2022-02-12 19:47:47 +0100
committerMartin Weinelt <hexa@darmstadt.ccc.de>2022-02-15 23:41:51 +0100
commitc1d2042219f20d169c415096aa1228162433ba77 (patch)
treeb8048e9c6f9935f691527318a277a40143a1b87c /nixos/modules/services/home-automation
parent2f644fd3e6e0e553b2a215b832128dcd2332f61c (diff)
downloadnixpkgs-c1d2042219f20d169c415096aa1228162433ba77.tar
nixpkgs-c1d2042219f20d169c415096aa1228162433ba77.tar.gz
nixpkgs-c1d2042219f20d169c415096aa1228162433ba77.tar.bz2
nixpkgs-c1d2042219f20d169c415096aa1228162433ba77.tar.lz
nixpkgs-c1d2042219f20d169c415096aa1228162433ba77.tar.xz
nixpkgs-c1d2042219f20d169c415096aa1228162433ba77.tar.zst
nixpkgs-c1d2042219f20d169c415096aa1228162433ba77.zip
home-assistant: clean up preStart
Co-Authored-By: Martin Weinelt <hexa@darmstadt.ccc.de>
Diffstat (limited to 'nixos/modules/services/home-automation')
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix28
1 files changed, 17 insertions, 11 deletions
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index 802a98b7c7d..bdd5e82bd26 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -375,17 +375,23 @@ in {
         "mysql.service"
         "postgresql.service"
       ];
-      preStart = optionalString (cfg.config != null) (if cfg.configWritable then ''
-        cp --no-preserve=mode ${configFile} "${cfg.configDir}/configuration.yaml"
-      '' else ''
-        rm -f "${cfg.configDir}/configuration.yaml"
-        ln -s ${configFile} "${cfg.configDir}/configuration.yaml"
-      '') + optionalString (cfg.lovelaceConfig != null) (if cfg.lovelaceConfigWritable then ''
-        cp --no-preserve=mode ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
-      '' else ''
-        rm -f "${cfg.configDir}/ui-lovelace.yaml"
-        ln -s ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
-      '');
+      preStart = let
+        copyConfig = if cfg.configWritable then ''
+          cp --no-preserve=mode ${configFile} "${cfg.configDir}/configuration.yaml"
+        '' else ''
+          rm -f "${cfg.configDir}/configuration.yaml"
+          ln -s ${configFile} "${cfg.configDir}/configuration.yaml"
+        '';
+        copyLovelaceConfig = if cfg.lovelaceConfigWritable then ''
+          cp --no-preserve=mode ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
+        '' else ''
+          rm -f "${cfg.configDir}/ui-lovelace.yaml"
+          ln -s ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
+        '';
+      in
+        (optionalString (cfg.config != null) copyConfig) +
+        (optionalString (cfg.lovelaceConfig != null) copyLovelaceConfig)
+      ;
       serviceConfig = let
         # List of capabilities to equip home-assistant with, depending on configured components
         capabilities = [