Quickstart

Prerequisites

In order to use Ciri, you need to have home manager and nix flakes enabled. The following sections assume you have set these up.

Setting up the flake input

The first thing we need to do is add ciri to your flake inputs so that we can use the options.

In your flake.nix add ciri to your inputs

inputs = {
    ciri.url = "github:myume/ciri";
};

Importing the options

Now that we have the input, we need to import the home manager module so that we can use the options. You can do that by importing the following module somewhere in your configuration.

imports = [ inputs.ciri.homeManagerModules.default ]; # this imports the options

Now all the nix options should be available to you.

{
    # now we can use the options
    programs.niri = {
        enable = true;
        settings = {
            # your nix configuration here
        };
    };
}

Note

Make sure you can access your flake inputs in home manager. You may need to inherit the flake inputs in your home manager's extraSpecialArgs.

Configuring niri

And that's it! You're ready to start configuring niri in nix.

All the options available to you can be found in the options search. For more information on each option, you can visit the niri wiki. The name of the options should generally be identical to what it is in niri.

An example configuration can also be found here.