feat(programs/neovim): we getchoo. neovim. wrapper.

This commit is contained in:
uku 2025-04-17 11:09:39 +02:00
parent 0c69af81cc
commit 611371b56f
Signed by: uku
SSH key fingerprint: SHA256:4P0aN6M8ajKukNi6aPOaX0LacanGYtlfjmN+m/sHY/o
5 changed files with 66 additions and 34 deletions

View file

@ -7,7 +7,6 @@
imports = [
./common.nix
../programs/neovim
../programs/rust.nix
];

View file

@ -31,6 +31,7 @@ in
../programs/fish.nix
../programs/git.nix
../programs/neovim
];
age = {
@ -154,11 +155,6 @@ in
enable = true;
enableFishIntegration = true;
};
neovim = {
enable = true;
defaultEditor = true;
};
};
security = {

21
flake.lock generated
View file

@ -125,6 +125,26 @@
"type": "github"
}
},
"getchvim": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1744833748,
"narHash": "sha256-+kB8uBposUKOLL9wNOVySacNERmt0HOasg950YA0p94=",
"owner": "getchoo",
"repo": "getchvim",
"rev": "47f72d2e178a4b0d01ef7b1f9a742a86b4eb5dd8",
"type": "github"
},
"original": {
"owner": "getchoo",
"repo": "getchvim",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -242,6 +262,7 @@
"crane": "crane",
"flake-parts": "flake-parts",
"flake-utils": "flake-utils",
"getchvim": "getchvim",
"home-manager": "home-manager",
"lanzaboote": "lanzaboote",
"mystia": "mystia",

View file

@ -84,6 +84,11 @@
inputs.systems.follows = "systems";
};
getchvim = {
url = "github:getchoo/getchvim";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";

View file

@ -1,34 +1,45 @@
{ pkgs, ... }:
{
hm.programs.neovim = {
enable = true;
defaultEditor = true;
extraLuaConfig = builtins.readFile ./init.lua;
pkgs,
getchvim,
...
}:
let
inherit (pkgs.stdenv.hostPlatform) system;
inherit (getchvim.packages.${system}.getchvim) makeNeovimWrapper;
in
{
environment = {
variables.EDITOR = "nvim";
systemPackages = [
(makeNeovimWrapper {
pname = "ukuvim";
extraPackages = with pkgs; [
lua5_1
nixfmt-rfc-style
tree-sitter
];
luaRc = ./init.lua;
plugins = with pkgs.vimPlugins; [
barbar-nvim
catppuccin-nvim
cmp-async-path
cmp-buffer
cmp-nvim-lsp
direnv-vim
fidget-nvim
gitsigns-nvim
lsp-format-nvim
lualine-nvim
neo-tree-nvim
nvim-autopairs
nvim-cmp
nvim-lspconfig
nvim-treesitter.withAllGrammars
nvim-web-devicons # for lualine
vim-wakatime
runtimePrograms = with pkgs; [
nixfmt-rfc-style
];
vimPluginPackages = with pkgs.vimPlugins; [
barbar-nvim
catppuccin-nvim
cmp-async-path
cmp-buffer
cmp-nvim-lsp
direnv-vim
fidget-nvim
gitsigns-nvim
lsp-format-nvim
lualine-nvim
neo-tree-nvim
nvim-autopairs
nvim-cmp
nvim-lspconfig
nvim-treesitter.withAllGrammars
nvim-web-devicons # for lualine
vim-wakatime
];
})
];
};
}