Skip to content

Latest commit

 

History

History

nix

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

This directory contains the internals of nixCats.

Packages or modules require nixpkgs to make.

But nixCats is simply a utils set and does not directly depend on nixpkgs.

It contains the nixCats builder function nixCats.utils.baseBuilder, and helper functions for using it, such as a helper to import plugins automatically from inputs, or ones that generate a module based on an existing nixCats configuration.

This directory is imported from github by the templates under inputs.nixCats.utils and does not need to be present in your personal config.

Everything you need is in the utils set.

If you used the default, or nixExpressionFlakeOutputs template, your template will instruct you to use this flake as follows:

inputs.nixCats.url = "github:BirdeeHub/nixCats-nvim?dir=nix";
# or
inputs.nixCats.url = "github:BirdeeHub/nixCats-nvim/<ref_or_rev>?dir=nix";

# note, this makes the following no longer relevant:
# inputs.nixCats.inputs.nixpkgs.follows = "nixpkgs";

./builder and ./utils contain the implementation of the nixCats wrapper.

./templates contains the starter templates, and some examples of various aspects of nix, neovim, or this project. You can initialize them into a directory with nix flake init -t github:BirdeeHub/nixCats#<templatename>

./nixCatsHelp contains the in-editor documentation.

Everything you may need is exported by the utils set within ./utils/default.nix and documented at :h nixCats.flake.outputs.exports

Everything outside of this directory is the example config of nixCats, runnable with nix run github:BirdeeHub/nixCats.

You should look through it to see examples of things you may have questions about.


Usage of the things exported in this directory is in the templates listed in :h nixCats.installation_options, the help at :help nixCats.*, as well as the rest of this repository.

The starter templates mentioned in :h nixCats.installation_options all consist of a single nix file (or 2 for the modules template, one for home manager and one for nixos), and an empty skeleton of an overlays directory should it ever be required.

There is also an optional luaUtils template containing tools to check if nix was used to load your configuration, as well as a wrapper for lazy.nvim and pckr. There is help for this feature at :h nixCats.luaUtils

For other plugin managers, look at the example in the pckr wrapper. I promise you can replicate. lazy.nvim is the only notable one that parts with the normal plugin management scheme.

The templates and the example config (the top level of the repo minus the nix directory) and the :help are there to guide you along the way!