diff options
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"; |
