From ea90d2baf381b30f8ea4116438f2c04f61b5cc3b Mon Sep 17 00:00:00 2001 From: haskex Date: Mon, 28 Apr 2025 12:16:53 -0300 Subject: [PATCH] Added HardTime.nvim plugin and added vim.binds.hardtime.enable and .setupOpts options --- configuration.nix | 3 +++ modules/plugins/utility/binds/default.nix | 1 + .../plugins/utility/binds/hardtime/config.nix | 21 +++++++++++++++++++ .../utility/binds/hardtime/default.nix | 6 ++++++ .../utility/binds/hardtime/hardtime.nix | 10 +++++++++ npins/sources.json | 13 ++++++++++++ 6 files changed, 54 insertions(+) create mode 100644 modules/plugins/utility/binds/hardtime/config.nix create mode 100644 modules/plugins/utility/binds/hardtime/default.nix create mode 100644 modules/plugins/utility/binds/hardtime/hardtime.nix diff --git a/configuration.nix b/configuration.nix index 011d6fae..f48af0b4 100644 --- a/configuration.nix +++ b/configuration.nix @@ -142,6 +142,9 @@ isMaximal: { binds = { whichKey.enable = true; cheatsheet.enable = true; + + # Remove this after test + hardtime.enable = true; }; telescope.enable = true; diff --git a/modules/plugins/utility/binds/default.nix b/modules/plugins/utility/binds/default.nix index 229423b8..43666cc9 100644 --- a/modules/plugins/utility/binds/default.nix +++ b/modules/plugins/utility/binds/default.nix @@ -2,5 +2,6 @@ _: { imports = [ ./which-key ./cheatsheet + ./hardtime ]; } diff --git a/modules/plugins/utility/binds/hardtime/config.nix b/modules/plugins/utility/binds/hardtime/config.nix new file mode 100644 index 00000000..7f2cde73 --- /dev/null +++ b/modules/plugins/utility/binds/hardtime/config.nix @@ -0,0 +1,21 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.lua) toLuaObject; + inherit (lib.nvim.dag) entryAnywhere; + + cfg = config.vim.binds.hardtime; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["hardtime-nvim"]; + + pluginRC.hardtime = entryAnywhere '' + require("hardtime").setup (${toLuaObject cfg.setupOpts}) + ''; + }; + }; +} diff --git a/modules/plugins/utility/binds/hardtime/default.nix b/modules/plugins/utility/binds/hardtime/default.nix new file mode 100644 index 00000000..89aa11d3 --- /dev/null +++ b/modules/plugins/utility/binds/hardtime/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./hardtime.nix + ./config.nix + ]; +} diff --git a/modules/plugins/utility/binds/hardtime/hardtime.nix b/modules/plugins/utility/binds/hardtime/hardtime.nix new file mode 100644 index 00000000..c27c1c0d --- /dev/null +++ b/modules/plugins/utility/binds/hardtime/hardtime.nix @@ -0,0 +1,10 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.binds.hardtime = { + enable = mkEnableOption "enable hardtime"; + + setupOpts = mkPluginSetupOption "hardtime-nvim" {}; + }; +} diff --git a/npins/sources.json b/npins/sources.json index 90a54057..5fe087f5 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -614,6 +614,19 @@ "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/a933d8666dad9363dc6908ae72cfc832299c2f59.tar.gz", "hash": "02r2h0ip2vzmgmv9b36ff2r6br3ql0b9ggzl8ijsyjy7pgiij04y" }, + "hardtime-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "m4xshen", + "repo": "hardtime.nvim" + }, + "branch": "main", + "submodules": false, + "revision": "9aaec65de041bddfc4c0af66919030d2950bcea8", + "url": "https://github.com/m4xshen/hardtime.nvim/archive/9aaec65de041bddfc4c0af66919030d2950bcea8.tar.gz", + "hash": "1rmcl200a4m3ip3xjzhh7ghhh2961xj2mw7yf0w44jpvs98gqb18" + }, "harpoon": { "type": "Git", "repository": {