diff options
| author | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2024-09-28 00:37:34 +0530 |
|---|---|---|
| committer | Arpit Chakladar <54011232+arpitchakladar@users.noreply.github.com> | 2024-09-28 00:37:34 +0530 |
| commit | bdf5331c964e80204caaa7e54a60ef69748f33ed (patch) | |
| tree | 2dd6d20d307951adc6647d999cc3351646b85f41 /modules/tools | |
| parent | 4d315448c08f98140229f006898dc408fcb6953e (diff) | |
| download | home-manager-config-bdf5331c964e80204caaa7e54a60ef69748f33ed.tar.gz home-manager-config-bdf5331c964e80204caaa7e54a60ef69748f33ed.zip | |
Added ability to change the default program if multiple programs for the same purpose are enabled.
Diffstat (limited to 'modules/tools')
| -rw-r--r-- | modules/tools/file-manager/default.nix | 10 | ||||
| -rw-r--r-- | modules/tools/file-manager/lf/default.nix | 7 | ||||
| -rw-r--r-- | modules/tools/file-manager/nnn/default.nix | 7 |
3 files changed, 21 insertions, 3 deletions
diff --git a/modules/tools/file-manager/default.nix b/modules/tools/file-manager/default.nix index 760584a..4889f5b 100644 --- a/modules/tools/file-manager/default.nix +++ b/modules/tools/file-manager/default.nix @@ -9,8 +9,16 @@ options.tools.file-manager = { default = lib.mkOption { + type = lib.types.enum [ + "nnn" + "lf" + ]; + description = "Default file manager."; + }; + + command = lib.mkOption { type = lib.types.str; - description = "Path to the default file manager program."; + description = "Command for the default file manager program."; }; }; } diff --git a/modules/tools/file-manager/lf/default.nix b/modules/tools/file-manager/lf/default.nix index 4cfbba2..bdbefbc 100644 --- a/modules/tools/file-manager/lf/default.nix +++ b/modules/tools/file-manager/lf/default.nix @@ -6,7 +6,12 @@ }; config = lib.mkIf config.tools.file-manager.lf.enable { - tools.file-manager.default = "${pkgs.nnn}/bin/lf"; + tools.file-manager.default = lib.mkDefault "lf"; + tools.file-manager.command = + if config.tools.file-manager.default == "lf" then + lib.mkForce "${pkgs.lf}/bin/lf" + else ""; + programs.lf.enable = true; programs.lf.settings = { hidden = true; diff --git a/modules/tools/file-manager/nnn/default.nix b/modules/tools/file-manager/nnn/default.nix index 6244d04..73b5c9d 100644 --- a/modules/tools/file-manager/nnn/default.nix +++ b/modules/tools/file-manager/nnn/default.nix @@ -6,7 +6,12 @@ }; config = lib.mkIf config.tools.file-manager.nnn.enable { - tools.file-manager.default = "${pkgs.nnn}/bin/nnn -H -d"; + tools.file-manager.default = lib.mkDefault "nnn"; + tools.file-manager.command = + if config.tools.file-manager.default == "nnn" then + lib.mkForce "${pkgs.nnn}/bin/nnn -H -d" + else ""; + programs.nnn.enable = true; programs.nnn.package = pkgs.nnn.override ({ withNerdIcons = true; }); programs.nnn.plugins.src = "${pkgs.nnn}/share/plugins"; |
