{ pkgs, config, lib, ... }: let cfg = config.xyno.desktop.foot; in { options.xyno.desktop.foot.enable = lib.mkEnableOption "enable foot terminal emulator"; options.xyno.desktop.foot.wantedBy = lib.mkOption { type = lib.types.str; default = "niri.service"; }; options.xyno.desktop.foot.package = lib.mkOption { type = lib.types.package; default = pkgs.foot; }; config = lib.mkIf cfg.enable { # should be socket activated tm # systemd.user.services.foot-server.wantedBy = lib.mkForce [ cfg.wantedBy ]; systemd.user.sockets.foot-server.wantedBy = lib.mkForce [ cfg.wantedBy ]; systemd.packages = [ cfg.package ]; xyno.desktop.niri.term = lib.mkDefault "footclient"; programs.foot = { enable = true; package = cfg.package; theme = "gruvbox-dark"; settings = { main = { font = "JetBrainsMono Nerd Font:size=11"; }; scrollback = { lines = 100000; }; }; }; }; }