# nixos-config - My current NixOS configuration # # Copyright (C) 2025 Benedikt Peetz # SPDX-License-Identifier: GPL-3.0-or-later # # This file is part of my nixos-config. # # You should have received a copy of the License along with this program. # If not, see . { config, lib, libraries, ... }: let cfg = config.soispha.foot; in { options.soispha.foot = { enable = libraries.base.options.mkEnable "foot terminal"; }; config = lib.mkIf cfg.enable { home-manager.users.soispha = { programs.foot = { enable = true; server.enable = true; settings = { main = { font = "SauceCodePro Nerd Font Mono:size=12"; horizontal-letter-offset = -1; vertical-letter-offset = -1; }; # environment = { # COLORTERM = "truecolor"; # }; "regex:hashes" = { regex = "([a-fA-F0-9]{7,128})"; launch = "git show \${match}"; }; "regex:paths" = { regex = "([^ '\"`=:\\\\[\\\\(]*/)([^/: '\"`\\\\)\\\\]]*)"; launch = "ll \${match}"; }; key-bindings = { regex-launch = [ "[hashes] Control+h" "[paths] Control+t" ]; regex-copy = [ "[hashes] Control+Shift+h" "[paths] Control+Shift+t" ]; }; }; }; systemd.user.services = let footCfg = config.home-manager.users.soispha.programs.foot; inherit (footCfg.server) systemdTarget; in { foot-initial-term = { Unit = { Description = "Fast, lightweight and minimalistic Wayland terminal emulator."; Documentation = "man:foot(1)"; PartOf = [systemdTarget]; After = [systemdTarget]; ConditionEnvironment = "WAYLAND_DISPLAY"; }; Service = { ExecStart = "${lib.getExe' footCfg.package "footclient"}"; }; Install = { WantedBy = [systemdTarget]; }; }; }; }; }; }