Fleek Logo

Core Concepts

Overlays

For some programs, like emacs and firefox, the Nix community maintains a variety of builds outside of the main nixpkgs collection. To access these in your fleek flake, you need an to add an overlay and then apply a package override in your user.nix.

While there's no CLI for adding overlays, you can add a list of them to your .fleek.yml by adding an overlays key, like the below:

overlays:
    emacs:
        url: github:nix-community/emacs-overlay
        follow: true
    nur:
        url: github:nix-community/NUR
        follow: false

In the above, url is the URL of the overlay (as used in a flake), and follow will configure the overlay to follow nixpkgs (if set to true). With those lines in place, you can add sections like the following to your user.nix and configure programs to use alternative packages and other features the overlay provides:

programs.emacs = {
    package = pkgs.emacsPgtk;
    extraPackages = epkgs:
    with epkgs; [
        base16-theme
    ];
};
Previous
Programs