aboutsummaryrefslogtreecommitdiff
path: root/home-manager/homeModules
diff options
context:
space:
mode:
authorspl3g <spleefer6@yandex.ru>2025-07-21 23:03:52 +0500
committerspl3g <spleefer6@yandex.ru>2025-08-22 22:38:35 +0500
commit47e63d8f111bd933ce5f42f0dc31ada473d74167 (patch)
treebd89bfc73b1b792cf57468d2ac782e4463585d1a /home-manager/homeModules
parentf5807ecd061b3dfe0581a7aca3828341b644e946 (diff)
feat: add nvf configs
Diffstat (limited to 'home-manager/homeModules')
-rw-r--r--home-manager/homeModules/nvf/default.nix60
-rw-r--r--home-manager/homeModules/nvf/lua/toggle.lua11
2 files changed, 71 insertions, 0 deletions
diff --git a/home-manager/homeModules/nvf/default.nix b/home-manager/homeModules/nvf/default.nix
new file mode 100644
index 0000000..b3c98cf
--- /dev/null
+++ b/home-manager/homeModules/nvf/default.nix
@@ -0,0 +1,60 @@
+{ pkgs, lib, config, ... }:
+
+{
+ options = {
+ nvf.enable = lib.mkEnableOption "enable bspwm";
+ };
+
+ config = lib.mkIf config.nvf.enable {
+ stylix.targets.nvf.enable = true;
+ programs.nvf = {
+ enable = true;
+ settings.vim = {
+ lsp = {
+ enable = true;
+ };
+
+ autocomplete.blink-cmp = {
+ enable = true;
+ mappings = {
+ next = "M-j";
+ previous = "M-k";
+ confirm = "M-i";
+ };
+ setupOpts = {
+ completion = {
+ menu.auto_show = false;
+ ghost_text = {
+ enabled = true;
+ show_with_menu = false;
+ };
+ };
+ };
+ };
+
+ languages = {
+ enableTreesitter = true;
+ enableFormat = true;
+
+ nix.enable = true;
+
+ ts.enable = true;
+ go.enable = true;
+ zig.enable = true;
+ };
+
+ binds.whichKey.enable = true;
+
+ globals.editorconfig = true;
+ };
+
+ keymaps = [
+ {
+ key = "C-\\";
+ action = ''vim.opt.keymap = vim.opt.keymap == "russian-juckenwin" and "" or "russian-juckenwin"'';
+ lua = true;
+ }
+ ];
+ };
+ };
+}
diff --git a/home-manager/homeModules/nvf/lua/toggle.lua b/home-manager/homeModules/nvf/lua/toggle.lua
new file mode 100644
index 0000000..971c80a
--- /dev/null
+++ b/home-manager/homeModules/nvf/lua/toggle.lua
@@ -0,0 +1,11 @@
+local function vim_opt_toggle(opt, on, off, name)
+ local message = name
+ if vim.opt[opt]:get() == off then
+ vim.opt[opt] = on
+ message = message .. " Enabled"
+ else
+ vim.opt[opt] = off
+ message = message .. " Disabled"
+ end
+ vim.notify(message)
+end