diff --git a/homes/x86_64-linux/marley@nyx/default.nix b/homes/x86_64-linux/marley@nyx/default.nix index e397c25..22a1263 100644 --- a/homes/x86_64-linux/marley@nyx/default.nix +++ b/homes/x86_64-linux/marley@nyx/default.nix @@ -18,6 +18,7 @@ in bat = enabled; btop = enabled; cava = enabled; + cheat = enabled; fish = enabled; journalctl = enabled; neo = enabled; diff --git a/modules/home/programs/cheat/default.nix b/modules/home/programs/cheat/default.nix new file mode 100644 index 0000000..63a5c9c --- /dev/null +++ b/modules/home/programs/cheat/default.nix @@ -0,0 +1,51 @@ +{ + lib, + config, + namespace, + pkgs, + ... +}: +let + inherit (lib) mkIf; + inherit (lib.${namespace}) mkEnableModule; + + cfg = config.${namespace}.programs.cheat; + inherit (config.${namespace}) theme; + + toYAML = (pkgs.formats.yaml { }).generate; +in +{ + options = mkEnableModule "programs.cheat"; + + config = mkIf cfg.enable { + home.packages = with pkgs; [ + cheat + ]; + + xdg.configFile."cheat/conf.yml".source = toYAML "conf.yml" { + colorize = true; + style = "${theme.colors.base}"; + formatter = "terminal256"; + pager = "less -FRX"; + + cheatpaths = + let + cheatDir = "${config.xdg.configHome}/cheat/cheatsheets"; + in + [ + { + name = "community"; + path = "${cheatDir}/community"; + tags = [ "community" ]; + readonly = true; + } + { + name = "personal"; + path = "${cheatDir}/personal"; + tags = [ "personal" ]; + readonly = false; + } + ]; + }; + }; +} diff --git a/old/home/programs/cheat.nix b/old/home/programs/cheat.nix deleted file mode 100644 index ba1f35d..0000000 --- a/old/home/programs/cheat.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ pkgs, config, ... }: -let - toYaml = (pkgs.formats.yaml { }).generate; -in -{ - home.packages = with pkgs; [ - cheat - ]; - - xdg.configFile."cheat/conf.yml".source = toYaml "conf.yml" { - colorize = true; - # TODO set based on global color scheme - style = "rose-pine"; - formatter = "terminal256"; - pager = "less -FRX"; - - cheatpaths = - let - cheatDir = "${config.xdg.configHome}/cheat/cheatsheets"; - in - [ - { - name = "community"; - path = "${cheatDir}/community"; - tags = [ "community" ]; - readonly = true; - } - { - name = "personal"; - path = "${cheatDir}/personal"; - tags = [ "personal" ]; - readonly = false; - } - ]; - }; -}