From 900094e45aa0b2634db458446a1e88ecb4064d6c Mon Sep 17 00:00:00 2001 From: 0xWheatyz Date: Thu, 19 Feb 2026 18:39:27 -0500 Subject: [PATCH] feat(nix): add home-manager module output MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add homeManagerModules output to enable easy integration with home-manager. Users can now add this to their home-manager config: inputs.kickstart-nvim.url = "github:0xWheatyz/kickstart.nvim"; programs.neovim-kickstart.enable = true; The module installs the Neovim package and copies the configuration files to ~/.config/nvim, along with recommended dependencies. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- flake.nix | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 19544397..59bb7786 100644 --- a/flake.nix +++ b/flake.nix @@ -7,6 +7,32 @@ }; outputs = { self, nixpkgs, flake-utils }: + let + # Home Manager module + homeManagerModule = { config, lib, pkgs, ... }: { + options.programs.neovim-kickstart = { + enable = lib.mkEnableOption "kickstart.nvim configuration"; + }; + + config = lib.mkIf config.programs.neovim-kickstart.enable { + home.packages = [ self.packages.${pkgs.system}.default ]; + + home.file.".config/nvim" = { + source = self; + recursive = true; + }; + + # Optional: Install recommended dependencies + home.packages = with pkgs; [ + ripgrep + fd + gcc + gnumake + git + ]; + }; + }; + in flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; @@ -45,5 +71,9 @@ neovim = neovim-kickstart; }; } - ); + ) // { + # Home Manager module (not system-specific) + homeManagerModules.default = homeManagerModule; + homeManagerModules.neovim-kickstart = homeManagerModule; + }; }