about summary refs log tree commit diff stats
path: root/modules/by-name/le/less/module.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name/le/less/module.nix')
-rw-r--r--modules/by-name/le/less/module.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/by-name/le/less/module.nix b/modules/by-name/le/less/module.nix
new file mode 100644
index 00000000..f2475b73
--- /dev/null
+++ b/modules/by-name/le/less/module.nix
@@ -0,0 +1,32 @@
+{
+  config,
+  lib,
+  ...
+}: let
+  cfg = config.soispha.programs.less;
+in {
+  options.soispha.programs.less = {
+    enable = lib.mkEnableOption "less";
+  };
+
+  config = lib.mkIf cfg.enable {
+    home-manager.users.soispha = {
+      home.sessionVariables = {
+        PAGER = "less";
+        MANPAGER = "less --color=d+r --color=u+b";
+
+        # These are added here because adding them in the lesskey file somehow doesn't work.
+        LESSHISTSIZE = 10000;
+        LESSHISTFILE = "${config.home-manager.users.soispha.xdg.dataHome}/less/history";
+      };
+
+      programs.less = {
+        enable = true;
+        keys =
+          builtins.readFile ./command.less
+          + builtins.readFile ./line-edit.less
+          + builtins.readFile ./env.less;
+      };
+    };
+  };
+}