{ lib, pkgs, config, ... }: let term = config.programs.terminal; termcmd = "${config.programs.terminal}/bin/${config.programs.terminal.pname}"; in { options.programs = { terminal = lib.mkPackageOption pkgs "foot" { example = "pkgs.alacritty"; }; }; config = { programs.foot = lib.mkIf (term == pkgs.foot) { enable = true; server.enable = true; }; home.packages = [term]; home.sessionVariables.TERMINAL = termcmd; }; }