From c9e9ae3040ca6bf6ab4166a743cd0a35bef3a340 Mon Sep 17 00:00:00 2001 From: Tobias Happ Date: Wed, 8 Jan 2020 00:21:22 +0100 Subject: [PATCH] home-manager: Add backupFileExtension option --- modules/home-manager.nix | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/modules/home-manager.nix b/modules/home-manager.nix index adb5802..b9e5c62 100644 --- a/modules/home-manager.nix +++ b/modules/home-manager.nix @@ -28,6 +28,16 @@ in options = { home-manager = { + backupFileExtension = mkOption { + type = types.nullOr types.str; + default = null; + example = "backup"; + description = '' + On activation move existing files by appending the given + file extension rather than exiting with an error. + ''; + }; + config = mkOption { type = types.nullOr hmModule; default = null; @@ -58,9 +68,12 @@ in ''; }; - activationAfter.homeManager = '' - ${cfg.config.home.activationPackage}/activate - ''; + activationAfter.homeManager = concatStringsSep " " ( + optional + (cfg.backupFileExtension != null) + "HOME_MANAGER_BACKUP_EXT='${cfg.backupFileExtension}'" + ++ [ "${cfg.config.home.activationPackage}/activate" ] + ); }; environment.packages = mkIf cfg.useUserPackages cfg.config.home.packages;