From 7d76c105c14db94fc17638d80fa405b6763d3dce Mon Sep 17 00:00:00 2001 From: "Wyatt J. Miller" Date: Sun, 10 Aug 2025 01:52:46 -0400 Subject: [PATCH] working declarative nvim need to add plugins --- flake.lock | 108 ++++++++++++++++++++++++++++++++++++++++++++++- flake.nix | 6 ++- home/default.nix | 3 +- home/neovim.nix | 32 ++++++++------ 4 files changed, 133 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index d1b8fb2..2d87ae8 100644 --- a/flake.lock +++ b/flake.lock @@ -37,6 +37,43 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1751685974, + "narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=", + "ref": "refs/heads/main", + "rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1", + "revCount": 92, + "type": "git", + "url": "https://git.lix.systems/lix-project/flake-compat.git" + }, + "original": { + "type": "git", + "url": "https://git.lix.systems/lix-project/flake-compat.git" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "nvf", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1753121425, + "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -98,6 +135,21 @@ "type": "github" } }, + "mnw": { + "locked": { + "lastModified": 1748710831, + "narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=", + "owner": "Gerg-L", + "repo": "mnw", + "rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d", + "type": "github" + }, + "original": { + "owner": "Gerg-L", + "repo": "mnw", + "type": "github" + } + }, "nix-flatpak": { "locked": { "lastModified": 1739444422, @@ -143,13 +195,52 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1753432016, + "narHash": "sha256-cnL5WWn/xkZoyH/03NNUS7QgW5vI7D1i74g48qplCvg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "6027c30c8e9810896b92429f0092f624f7b1aace", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nvf": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts", + "mnw": "mnw", + "nixpkgs": "nixpkgs_3", + "systems": "systems_2" + }, + "locked": { + "lastModified": 1754552918, + "narHash": "sha256-vbT+nGdMLNAeYZ1S5WBBLJTVWosGne2VRt46rqPfB2A=", + "owner": "notashelf", + "repo": "nvf", + "rev": "d61de135ce174f4e04b4e509de02e1afe040a834", + "type": "github" + }, + "original": { + "owner": "notashelf", + "repo": "nvf", + "type": "github" + } + }, "root": { "inputs": { "darwin": "darwin", "ghostty": "ghostty", "home-manager": "home-manager", "nix-flatpak": "nix-flatpak", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_2", + "nvf": "nvf" } }, "systems": { @@ -167,6 +258,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "zig": { "inputs": { "flake-compat": [ diff --git a/flake.nix b/flake.nix index 9b6f461..4fd8279 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; ghostty.url = "github:ghostty-org/ghostty"; + nvf.url = "github:notashelf/nvf"; }; outputs = inputs @ { @@ -21,12 +22,13 @@ darwin, home-manager, ghostty, + nvf, ... }: let userName = "wyatt"; userEmail = "wyatt@wyattjmiller.com"; extraSpecialArgs = { - inherit userName userEmail ghostty; + inherit userName userEmail ghostty nvf; }; in { meta = import ./meta; @@ -57,7 +59,7 @@ nixosConfigurations."cloud" = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { - inherit userName userEmail ghostty; + inherit userName userEmail; hostname = "cloud"; role = "devel"; }; diff --git a/home/default.nix b/home/default.nix index c463789..c500509 100644 --- a/home/default.nix +++ b/home/default.nix @@ -4,6 +4,7 @@ userName, userEmail, ghostty, + nvf, ... }: let # Have a file sturcture that holds all the configuration files that can't be configured by Nix @@ -13,7 +14,7 @@ }; in { # Import sub modules - imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty;}) [ + imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty nvf;}) [ ./atuin.nix ./shell.nix ./packages diff --git a/home/neovim.nix b/home/neovim.nix index 0efa653..0177dae 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -1,14 +1,22 @@ -{dirs, ...}: { - programs.neovim = { - enable = true; - defaultEditor = true; - vimAlias = true; - }; +{ nvf, ...}: { + imports = [ + nvf.homeManagerModules.default + ]; - xdg.configFile = { - nvim = { - onChange = "nvim --headless -c 'if exists(\":LuaCacheClear\") | :LuaCacheClear' +quitall"; - source = dirs.defaults + /nvim; - }; - }; + programs.nvf.enable = true; + + ### --- OLD NEOVIM CONFIG BASED ON LUA CONFIG --- + # + # programs.neovim = { + # enable = true; + # defaultEditor = true; + # vimAlias = true; + # }; + # + # xdg.configFile = { + # nvim = { + # onChange = "nvim --headless -c 'if exists(\":LuaCacheClear\") | :LuaCacheClear' +quitall"; + # source = dirs.defaults + /nvim; + # }; + # }; }