summaryrefslogtreecommitdiff
path: root/modules/hm/editors
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
parentea3bf9c87ee72d6da5ea2316b229082c7fc9cdf6 (diff)
rewrite of system modules, hm modules are next
Diffstat (limited to 'modules/hm/editors')
-rw-r--r--modules/hm/editors/default.nix8
-rw-r--r--modules/hm/editors/helix.nix7
-rw-r--r--modules/hm/editors/nixvim.nix98
-rw-r--r--modules/hm/editors/nvf.nix42
4 files changed, 155 insertions, 0 deletions
diff --git a/modules/hm/editors/default.nix b/modules/hm/editors/default.nix
new file mode 100644
index 0000000..e990897
--- /dev/null
+++ b/modules/hm/editors/default.nix
@@ -0,0 +1,8 @@
+{ ... }:
+{
+ imports = [
+ ./nixvim.nix
+ # ./helix.nix
+ # ./nvf.nix
+ ];
+}
diff --git a/modules/hm/editors/helix.nix b/modules/hm/editors/helix.nix
new file mode 100644
index 0000000..0204f8d
--- /dev/null
+++ b/modules/hm/editors/helix.nix
@@ -0,0 +1,7 @@
+{ pkgs, ... }:
+{
+ programs.helix = {
+ enable = true;
+# package = pkgs.helix;
+ };
+}
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";
+ };
+ };
+ };
+}
diff --git a/modules/hm/editors/nvf.nix b/modules/hm/editors/nvf.nix
new file mode 100644
index 0000000..ab805ca
--- /dev/null
+++ b/modules/hm/editors/nvf.nix
@@ -0,0 +1,42 @@
+{ pkgs, neovim-nightly-overlay, ... }:
+
+{
+ programs.nvf = {
+ enable = true;
+
+ settings.vim = {
+ package = neovim-nightly-overlay.packages.${pkgs.stdenv.hostPlatform.system}.default;
+
+ viAlias = true;
+ vimAlias = true;
+
+ theme = {
+ enable = true;
+ name = "gruvbox";
+ style = "dark";
+ };
+
+ statusline = {
+ lualine = {
+ enable = true;
+ theme = "gruvbox-material";
+ };
+ };
+
+ autopairs.nvim-autopairs.enable = true;
+
+ lsp.enable = true;
+
+ languages = {
+ nix = {
+ enable = true;
+ format = {
+ enable = true;
+ type = "alejandra";
+ };
+ };
+ clang.enable = true;
+ };
+ };
+ };
+}