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 = [ imports = [
./common.nix ./common.nix
../programs/neovim
../programs/rust.nix ../programs/rust.nix
]; ];

View file

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

21
flake.lock generated
View file

@ -125,6 +125,26 @@
"type": "github" "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": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -242,6 +262,7 @@
"crane": "crane", "crane": "crane",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"getchvim": "getchvim",
"home-manager": "home-manager", "home-manager": "home-manager",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"mystia": "mystia", "mystia": "mystia",

View file

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

View file

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