# Catppuccin for Nix: a pastel theme set for NixOS and Home Manager

> catppuccin/nix is a port of the Catppuccin pastel palette to the Nix ecosystem, shipping theme modules alongside the documentation site that explains how to use it. It is a styling layer, not a functional one, and the README deliberately keeps the instructions on a separate website.

**catppuccin/nix** — ❄️ Soothing pastel theme for Nix

- Repository: https://github.com/catppuccin/nix
- Website: https://nix.catppuccin.com/
- Stars: 772 · Forks: 118
- Language: Nix
- License: MIT
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/catppuccin-nix

## What catppuccin/nix actually contains

The repository description calls it a soothing pastel theme for Nix, and the project topics narrow the scope: catppuccin, nix, nixos, nix-flake, home-manager, theme and hacktoberfest. The topic list is the most informative thing about the project, because it says the same port has to work across three different surfaces, a NixOS system configuration module, a Home Manager module for user-level programs, and a flake for reproducible input.

The four flavours come straight from the README, which shows previews for Latte, Frappé, Macchiato and Mocha. The README then hands the reader over: it says this port is documented on the website nix.catppuccin.com, and lists what is there, a Getting Started guide, release changelogs, a frequently asked questions page and an Options List. Everything a user needs beyond the palette definitions lives outside the repository.

The repository itself holds the implementation and the documentation source side by side. Top level entries include flake.nix and flake.lock for the flake interface, a modules/ directory, a pkgs/ directory, default.nix and shell.nix for the non-flake path, plus a dev/ directory, a docs/ directory and an assets/ folder with the preview images used in the README.

## The documentation site is part of the same repository

A detail worth flagging: the website that documents the theme is built from this repository. The package.json is named catppuccin-nix-website and is marked private, and the toolchain is Astro with the Starlight documentation framework, including the @catppuccin/starlight package for the Catppuccin flavour of that framework. The scripts give the working commands: astro check and astro build for the build, astro dev for the local server, astro preview to check the built output, and prettier --write . for formatting with the prettier-plugin-astro plugin.

The build script is a two step, check then build, so a documentation change that fails the type check does not reach a deployed site. The package manager is pinned through the packageManager field to pnpm 11.21.0 with an integrity hash, and a pnpm-lock.yaml and pnpm-workspace.yaml are committed, which means the documentation build is reproducible rather than depending on whatever versions resolve at the time.

The practical implication for a user is that the Getting Started guide and the Options List are generated from source in this same tree, so a change in a theme option shows up in the documentation and the changelog together.

## No installation commands in the README, and where to find them

This repository does not print a single command for installing the theme. The README contains no fenced code block at all, which is unusual for a Nix project and is a deliberate choice: the installation instructions live on the site, under Getting Started, and the option names live under the Options List.

So the honest workflow is: open the Getting Started guide at nix.catppuccin.com, follow the NixOS module or Home Manager module steps for the flavour you want, and consult the Options List to see which settings the theme exposes for that platform. The Options List link in the README is scoped to the NixOS module, which suggests the options differ between the system-wide module and the Home Manager module, so a reader working on a home configuration should expect a different option set than the one shown for NixOS.

The repository gives you two ways to reach the code. The flake.nix and flake.lock pair is the reproducible path, and default.nix and shell.nix cover the classic channel-free expression. The presence of both means the project supports users who have adopted flakes and users who have not, rather than pushing one interface over the other.

## Release tags and how the version cadence works

The repository publishes release tags. Recent tags are v26.05 dated 2026-05-30, v25.11 dated 2026-01-06 and v25.05 dated 2025-08-02. The naming follows the Nix release calendar rather than a semantic versioning scheme, so v26.05 lines up with the NixOS 26.05 release and v25.11 with 25.11.

That naming choice has a practical consequence for anyone pinning. A tag like v26.05 is not a package version in the usual sense, so there is no patch level to select, and the choice is between release lines. The README points to release changelogs on the site, which is where the detail for a given line should be looked up.

The repository is not archived, and the last push was on 2026-10-22, so the port is being worked on. The CHANGELOG.md file at the root, together with a cliff.toml configuration for the changelog generator, suggests the changelog is generated from commit history rather than written by hand.

## Where the theme port is the wrong tool

The first limitation is obvious but worth stating plainly: this project changes colours and nothing else. It does not add configuration options to your system, it does not manage packages, and it does not touch anything in a Home Manager configuration other than the colour values it sets. If the goal is to reduce configuration duplication, a different tool is needed.

The second limitation is the split surface area. A single port has to keep a NixOS module, a Home Manager module and a flake interface in step, and the options are not identical across them. The Options List in the README is scoped to the NixOS module, so anyone working purely at the user level is working from a different set of knobs. That is exactly the kind of thing that turns into an afternoon lost to a configuration error.

The third is the documentation dependency. Since the instructions are not in the README, an offline or archived copy of the repository is not enough to configure the theme. You need the site, and the site moves with its own release cycle rather than with the tags in this repository. A pin to a specific tag in a configuration file does not freeze the wording of the page that told you what to write.

## Licence, home manager usage and the upgrade path

The project is under the MIT licence, with the LICENSE file at the root of the repository and the README carrying an MIT licence badge. The footer credits the Catppuccin Org and the copyright runs from 2023 to the present. MIT licensing means the palette values and the module code can be copied and modified, with the licence and copyright notice retained.

For Home Manager users, the theme is applied at the user level, so the update path is a version bump in the flake input followed by a rebuild of the home configuration. For NixOS users, the theme is a system module, and the update path runs through the system configuration. Either way the cost is a rebuild rather than a migration, since the theme only writes colour values, and the changelog on the site is the place to see whether a given line changed an option name.

Two files in the repository point at how the project is maintained. renovate.json indicates dependency updates are automated, and the hacktoberfest topic shows the project takes outside contributions, with CHANGELOG.md and cliff.toml recording what those contributions changed.

## Conclusion

Catppuccin for Nix suits people who already run NixOS or Home Manager and want a consistent pastel palette across their tools without hand-picking colours per program. It is not useful to you if you are looking for new configuration features, since it only changes colours. Verify the flavour list and the option names on nix.catppuccin.com before you write them into your configuration, then check which release tag, v25.11 or v26.05, your configuration matches.

## FAQ

### How do I install the Catppuccin theme for NixOS?

The README does not give installation commands, it points to the Getting Started guide on nix.catppuccin.com. The repository itself provides flake.nix with flake.lock for the flake path and default.nix for the classic path, and the Options List on the site documents the settings for the NixOS module.

### What flavours does catppuccin/nix provide?

Four, matching the Catppuccin palette set: Latte, Frappé, Macchiato and Mocha. The README shows a preview image for each of them under the Previews section.

### Does catppuccin/nix work with Home Manager?

Yes. Home Manager is one of the repository topics and the modules/ directory holds the modules used across surfaces, and the README points to an Options List for the NixOS module, so the option names differ by surface. The site at nix.catppuccin.com carries the Getting Started guide for each case.

### What is the latest version of catppuccin/nix?

Recent tags are v26.05 dated 2026-05-30, v25.11 dated 2026-01-06 and v25.05 dated 2025-08-02. The tags follow the Nix release calendar, and the release changelogs are published on the Catppuccin documentation site.

## Sources

- [catppuccin/nix on GitHub](https://github.com/catppuccin/nix)
- [License: MIT](https://github.com/catppuccin/nix/blob/main/LICENSE)
- [Project website](https://nix.catppuccin.com/)
- [README](https://github.com/catppuccin/nix/blob/main/README.md)
- [Releases](https://github.com/catppuccin/nix/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/catppuccin-nix
