aboutsummaryrefslogtreecommitdiffstats
path: root/modules/desktop/application-launcher/fzf/default.nix
blob: 0196a2b26029e58c2ea5d2dd8aca826ee732e3f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{ config, lib, pkgs, ... }:

{
	options.desktop.application-launcher.fzf = {
		enable = lib.mkEnableOption "Enables fzf to be used as a application launcher.";
	};

	config = lib.mkIf config.desktop.application-launcher.fzf.enable {
		assertions = [
			{
				assertion = config.tools.fzf.enable;
				message ="Module desktop.application-launcher.fzf requires tools.fzf module to be enabled.";
			}
		];

		desktop.application-launcher.default = lib.mkDefault "fzf";
		desktop.application-launcher.command =
			if config.desktop.application-launcher.default == "fzf" then
				lib.mkForce "${config.desktop.terminal.command} --title 'Application Launcher' --class floating-termial -e ${(pkgs.writeShellScript "fzf-launch.sh" (builtins.readFile ./launch.sh))}"
			else "";
	};
}