override nix flake input

I had an flake input stylix that has a dependency to base16-kitty in order to generate some color scheme for my terminal emulator kitty: https://github.com/danth/stylix/blob/29148118cc33f08b71058e1cda7ca017f5300b51/flake.nix#L23-L26

base16-kitty = {
  flake = false;
  url = "github:kdrag0n/base16-kitty";
};

However, there was a missing property that was not set by base16-kitty: cursor_text_color. This property is used to set the color of the text under the cursor, especially when the cursor is a block-shaped, which is the case when using neovim in normal mode.

According to Kitty documentation, it’s set by default to the color #111111.

It’s not an issue if I’m using a dark theme, however, it’s not nicely rendered when using a light theme.

So I fixed it and sent a pull request to include this property cursor_text_color. In the meantime, I still want my fix to be included in my dotfiles. Thus I need to override the flake input in my flake.nix:

{
  inputs = {
    # add my custom input
    l-lin-base16-kitty = {
      flake = false;
      url = "github:l-lin/base16-kitty/feat/cursor_text_color";
    };
    
    stylix = {
      url = "github:danth/stylix";
      # override the inputs
      inputs.base16-kitty.follows = "l-lin-base16-kitty";
    };
  };
}

Then, update home-manager:

home-manager switch -b bak --flake '.#l-lin'

And voila!

Reference