From 5a36ba87fdcc792a63712b50518a52bb0c50417c Mon Sep 17 00:00:00 2001 From: Christoph Schmatzler Date: Tue, 5 Aug 2025 14:40:28 +0200 Subject: [PATCH] nvim --- flake.nix | 4 ++ profiles/base/home-manager/neovim/default.nix | 22 ++++++++++ profiles/base/home-manager/neovim/options.nix | 5 +++ .../home-manager/neovim/plugins/default.nix | 5 +++ .../base/home-manager/neovim/plugins/oil.nix | 40 +++++++++++++++++++ profiles/base/home-manager/zellij.nix | 3 ++ profiles/base/packages.nix | 2 +- profiles/darwin/home-manager/ghostty.nix | 2 +- 8 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 profiles/base/home-manager/neovim/default.nix create mode 100644 profiles/base/home-manager/neovim/options.nix create mode 100644 profiles/base/home-manager/neovim/plugins/default.nix create mode 100644 profiles/base/home-manager/neovim/plugins/oil.nix diff --git a/flake.nix b/flake.nix index be57b1b..146776e 100644 --- a/flake.nix +++ b/flake.nix @@ -31,6 +31,10 @@ url = "git+ssh://git@github.com/cschmatzler/nixos-config-secrets.git"; flake = false; }; + nixvim = { + url = "github:nix-community/nixvim"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { diff --git a/profiles/base/home-manager/neovim/default.nix b/profiles/base/home-manager/neovim/default.nix new file mode 100644 index 0000000..fc0a182 --- /dev/null +++ b/profiles/base/home-manager/neovim/default.nix @@ -0,0 +1,22 @@ +{ inputs, ... }: +{ + imports = [ + inputs.nixvim.homeManagerModules.nixvim + ./options.nix + ./plugins + ]; + + home.shellAliases.v = "nvim"; + + programs.nixvim = { + enable = true; + defaultEditor = true; + + nixpkgs.useGlobalPackages = true; + + viAlias = true; + vimAlias = true; + + luaLoader.enable = true; + }; +} diff --git a/profiles/base/home-manager/neovim/options.nix b/profiles/base/home-manager/neovim/options.nix new file mode 100644 index 0000000..ca71744 --- /dev/null +++ b/profiles/base/home-manager/neovim/options.nix @@ -0,0 +1,5 @@ +{ + programs.nixvim = { + colorschemes.catppuccin.enable = true; + }; +} diff --git a/profiles/base/home-manager/neovim/plugins/default.nix b/profiles/base/home-manager/neovim/plugins/default.nix new file mode 100644 index 0000000..b1bf589 --- /dev/null +++ b/profiles/base/home-manager/neovim/plugins/default.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ./oil.nix + ]; +} diff --git a/profiles/base/home-manager/neovim/plugins/oil.nix b/profiles/base/home-manager/neovim/plugins/oil.nix new file mode 100644 index 0000000..f147672 --- /dev/null +++ b/profiles/base/home-manager/neovim/plugins/oil.nix @@ -0,0 +1,40 @@ +{ + programs.nixvim.plugins.oil = { + enable = true; + autoLoad = true; + settings = { + columns = [ + "icon" + ]; + keymaps = { + "" = "actions.refresh"; + "qq" = "actions.close"; + }; + skip_confirm_for_simple_edits = true; + constrain_cursor = "editable"; + default_file_explorer = true; + view_options = { + show_hidden = true; + }; + win_options = { + concealcursor = "ncv"; + conceallevel = 3; + cursorcolumn = false; + foldcolumn = "0"; + list = false; + signcolumn = "no"; + spell = false; + wrap = false; + }; + }; + }; + + programs.nixvim.keymaps = [ + { + mode = "n"; + key = "e"; + action = ":Oil"; + options.desc = "File browser"; + } + ]; +} diff --git a/profiles/base/home-manager/zellij.nix b/profiles/base/home-manager/zellij.nix index 2a59a3a..28a3c8a 100644 --- a/profiles/base/home-manager/zellij.nix +++ b/profiles/base/home-manager/zellij.nix @@ -4,6 +4,9 @@ enableFishIntegration = true; settings = { theme = "catppuccin-latte"; + default_layout = "compact"; + show_startup_tips = false; + show_release_notes = false; }; }; } diff --git a/profiles/base/packages.nix b/profiles/base/packages.nix index b5f6ecb..4453a72 100644 --- a/profiles/base/packages.nix +++ b/profiles/base/packages.nix @@ -10,11 +10,11 @@ with pkgs; git gnupg jjui - nerd-fonts.fira-code jq killall libfido2 neovim + nerd-fonts.iosevka nixfmt nodejs_24 opencode diff --git a/profiles/darwin/home-manager/ghostty.nix b/profiles/darwin/home-manager/ghostty.nix index bf5e761..de9ce55 100644 --- a/profiles/darwin/home-manager/ghostty.nix +++ b/profiles/darwin/home-manager/ghostty.nix @@ -13,7 +13,7 @@ window-padding-x = 8; window-padding-y = 2; window-padding-balance = true; - font-family = "FiraCode Nerd Font"; + font-family = "Iosevka Nerd Font"; font-size = 15.5; font-feature = [ "-calt"