summaryrefslogtreecommitdiff
path: root/modules/hm/editors/nixvim.nix
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2025-12-18 21:04:00 +0100
committeradikro <adikro@disroot.org>2025-12-18 21:04:00 +0100
commite60410393cea222b16743a1a87f29c06b9b3543b (patch)
tree8a574048613f6b13024795bd710b824b40f5db18 /modules/hm/editors/nixvim.nix
parentea3bf9c87ee72d6da5ea2316b229082c7fc9cdf6 (diff)
rewrite of system modules, hm modules are next
Diffstat (limited to 'modules/hm/editors/nixvim.nix')
-rw-r--r--modules/hm/editors/nixvim.nix98
1 files changed, 98 insertions, 0 deletions
diff --git a/modules/hm/editors/nixvim.nix b/modules/hm/editors/nixvim.nix
new file mode 100644
index 0000000..b8a4e5a
--- /dev/null
+++ b/modules/hm/editors/nixvim.nix
@@ -0,0 +1,98 @@
+{ pkgs, inputs, ... }:
+{
+ imports = [ inputs.nixvim.homeModules.nixvim ];
+ programs.nixvim = {
+ enable = true;
+ package = inputs.neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default;
+
+ viAlias = true;
+ vimAlias = true;
+ defaultEditor = true;
+ waylandSupport = true;
+ colorschemes.gruvbox.enable = true;
+
+ plugins = {
+ lualine.enable = true;
+ oil.enable = true;
+ lazygit.enable = true;
+ persistence.enable = true;
+ nvim-autopairs.enable = true;
+ neoscroll.enable = true;
+ bufferline.enable = true;
+ web-devicons.enable = true;
+
+ treesitter = {
+ enable = true;
+ settings = {
+ indent.enable = true;
+ };
+ };
+
+ telescope = {
+ enable = true;
+ extensions = {
+ fzf-native = {
+ enable = true;
+ };
+ };
+ };
+
+ notify = {
+ enable = true;
+ settings = {
+ backgroundColour = "#1e1e2e";
+ fps = 60;
+ render = "default";
+ timeout = 500;
+ topDown = true;
+ };
+ };
+
+ hardtime = {
+ # enable = true;
+ settings = {
+ # disableMouse = true;
+ # enabled = false;
+ restrictionMode = "hint";
+ hint = true;
+ maxCount = 40;
+ maxTime = 1000;
+ };
+ };
+
+ nix.enable = true;
+ lsp = {
+ enable = true;
+ servers = {
+ nil_ls.enable = true;
+ clangd.enable = true;
+ };
+ };
+ };
+
+ opts = {
+ number = true;
+ relativenumber = true;
+ termguicolors = true;
+ # mouse = "a";
+ ignorecase = true;
+ smartcase = true;
+ expandtab = true;
+ shiftwidth = 2;
+ encoding = "utf-8";
+ fileencoding = "utf-8";
+ undofile = true;
+ swapfile = true;
+ backup = false;
+ autoread = true;
+ cursorline = true;
+ ruler = true;
+ gdefault = true;
+ scrolloff = 5;
+ clipboard = {
+ providers.wl-copy.enable = true;
+ register = "unnamedplus";
+ };
+ };
+ };
+}