diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-05-28 21:43:34 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-05-28 21:43:58 +0200 |
| commit | 8e168b3b8d5e1c4d56dee4af671b19c8bea1b4d1 (patch) | |
| tree | e2b36a26e9d8083e8668dd37f60ace0fa15fb38b | |
| parent | pkgs/{fupdate,lf-make-map,mpdpopm,river-mk-keymap,tskm}: Update (diff) | |
| download | nixos-config-8e168b3b8d5e1c4d56dee4af671b19c8bea1b4d1.zip | |
modules/foot: Init
Diffstat (limited to '')
| -rw-r--r-- | modules/by-name/fo/foot/module.nix | 82 | ||||
| -rw-r--r-- | modules/common/default.nix | 1 |
2 files changed, 82 insertions, 1 deletions
diff --git a/modules/by-name/fo/foot/module.nix b/modules/by-name/fo/foot/module.nix new file mode 100644 index 00000000..d818aac0 --- /dev/null +++ b/modules/by-name/fo/foot/module.nix @@ -0,0 +1,82 @@ +# nixos-config - My current NixOS configuration +# +# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de> +# 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 <https://www.gnu.org/licenses/gpl-3.0.txt>. +{ + 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]; + }; + }; + }; + }; + }; +} diff --git a/modules/common/default.nix b/modules/common/default.nix index 40c08378..c504e5fe 100644 --- a/modules/common/default.nix +++ b/modules/common/default.nix @@ -218,7 +218,6 @@ ["${lib.getExe pkgs.swaybg}" "--image" "${./abstract-nord.png}"] pkgs.swayidle - pkgs.alacritty ]; }; }; |
