at 23.11-beta 1.5 kB view raw
1# Tracker daemon. 2 3{ config, pkgs, lib, ... }: 4 5with lib; 6 7let 8 cfg = config.services.gnome.tracker; 9in 10{ 11 12 meta = { 13 maintainers = teams.gnome.members; 14 }; 15 16 imports = [ 17 # Added 2021-05-07 18 (mkRenamedOptionModule 19 [ "services" "gnome3" "tracker" "enable" ] 20 [ "services" "gnome" "tracker" "enable" ] 21 ) 22 ]; 23 24 ###### interface 25 26 options = { 27 28 services.gnome.tracker = { 29 30 enable = mkOption { 31 type = types.bool; 32 default = false; 33 description = lib.mdDoc '' 34 Whether to enable Tracker services, a search engine, 35 search tool and metadata storage system. 36 ''; 37 }; 38 39 subcommandPackages = mkOption { 40 type = types.listOf types.package; 41 default = [ ]; 42 internal = true; 43 description = lib.mdDoc '' 44 List of packages containing tracker3 subcommands. 45 ''; 46 }; 47 48 }; 49 50 }; 51 52 53 ###### implementation 54 55 config = mkIf cfg.enable { 56 57 environment.systemPackages = [ pkgs.tracker ]; 58 59 services.dbus.packages = [ pkgs.tracker ]; 60 61 systemd.packages = [ pkgs.tracker ]; 62 63 environment.variables = { 64 TRACKER_CLI_SUBCOMMANDS_DIR = 65 let 66 subcommandPackagesTree = pkgs.symlinkJoin { 67 name = "tracker-with-subcommands-${pkgs.tracker.version}"; 68 paths = [ pkgs.tracker ] ++ cfg.subcommandPackages; 69 }; 70 in 71 "${subcommandPackagesTree}/libexec/tracker3"; 72 }; 73 74 }; 75 76}