diff options
Diffstat (limited to 'modules/by-name/fo')
| -rw-r--r-- | modules/by-name/fo/fonts/emoji_font.xml | 13 | ||||
| -rw-r--r-- | modules/by-name/fo/fonts/module.nix | 26 | ||||
| -rw-r--r-- | modules/by-name/fo/foot/module.nix | 82 |
3 files changed, 115 insertions, 6 deletions
diff --git a/modules/by-name/fo/fonts/emoji_font.xml b/modules/by-name/fo/fonts/emoji_font.xml index f3f6bb3e..8a922f61 100644 --- a/modules/by-name/fo/fonts/emoji_font.xml +++ b/modules/by-name/fo/fonts/emoji_font.xml @@ -1,4 +1,17 @@ <?xml version="1.0"?> + +<!-- +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>. +--> + <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias binding="weak"> diff --git a/modules/by-name/fo/fonts/module.nix b/modules/by-name/fo/fonts/module.nix index 057c3f36..f05cae5a 100644 --- a/modules/by-name/fo/fonts/module.nix +++ b/modules/by-name/fo/fonts/module.nix @@ -1,3 +1,12 @@ +# 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, @@ -11,10 +20,15 @@ in { fonts = lib.mkOption { type = lib.types.listOf lib.types.package; - example = lib.literalExpression ''with pkgs.nerdfonts; [SourceCodePro Overpass FiraCode]''; - default = with pkgs.nerd-fonts; [ - sauce-code-pro - overpass + example = lib.literalExpression '' + [ + pkgs.nerd-fonts.source-code-pro + pkgs.nerd-fonts.overpass + pkgs.nerd-fonts.fira-code + ]''; + default = [ + pkgs.nerd-fonts.sauce-code-pro + pkgs.nerd-fonts.overpass ]; description = "The nerd-fonts to install"; }; @@ -26,8 +40,8 @@ in { fonts = { packages = cfg.fonts - ++ (with pkgs; [liberation_ttf]) - ++ lib.optional cfg.enableEmoji pkgs.noto-fonts-emoji; + ++ [pkgs.liberation_ttf] + ++ lib.optional cfg.enableEmoji pkgs.noto-fonts-color-emoji; fontconfig = { # NOTE: This is responsible for color emoji support <2023-08-28> 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]; + }; + }; + }; + }; + }; +} |
