rose-pine-nix/modules/home-manager/helix.nix
seth 298605b31e
feat(modules): add support for helix (#8)
Co-authored-by: Sam Nystrom <sam@samnystrom.dev>
2023-04-14 22:37:39 -04:00

30 lines
1 KiB
Nix

{ config, pkgs, lib, ... }:
let cfg = config.programs.helix.catppuccin;
in {
options.programs.helix.catppuccin = with lib; {
enable = mkEnableOption "Catppuccin theme";
flavour = mkOption {
type = types.enum [ "latte" "frappe" "macchiato" "mocha" ];
default = config.catppuccin.flavour;
description = "Catppuccin flavour for Helix";
};
useItalics = mkEnableOption "Italics in Catppuccin theme for Helix";
};
config.programs.helix = with builtins;
with lib;
with pkgs;
let subdir = if cfg.useItalics then "default" else "no_italics";
in mkIf cfg.enable {
settings = {
theme = "catppuccin-${cfg.flavour}";
editor.color-modes = mkDefault true;
};
themes."catppuccin-${cfg.flavour}" = fromTOML (readFile (fetchFromGitHub {
owner = "catppuccin";
repo = "helix";
rev = "5677c16dc95297a804caea9161072ff174018fdd";
sha256 = "sha256-aa8KZ7/1TXcBqaV/TYOZ8rpusOf5QeQ9i2Upnncbziw=";
} + "/themes/${subdir}/catppuccin_${cfg.flavour}.toml"));
};
}