Skip to content

catppuccin/nix

Repository files navigation

Logo
Catppuccin for Nix

Previews

🌻 Latte
🪴 Frappé
🌺 Macchiato
🌿 Mocha

Usage

  1. Import the NixOS and home-manager modules
With Flakes
{
  inputs = {
    nixpkgs.url = "nixpkgs/nixos-22.11";
    catppuccin.url = "github:catppuccin/nix";
    home-manager = {
      url = "github:nix-community/home-manager";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };

  outputs = { nixpkgs, catppuccin, home-manager }: let
    system = "x86_64-linux";
    pkgs = import nixpkgs {inherit system;};
  in {
    # for nixos module home-manager installations
    nixosConfigurations.host = pkgs.lib.nixosSystem {
      inherit system;
      modules = [
        catppuccin.nixosModules.catppuccin
        home-manager.nixosModules.home-manager
        {
          home-manager.users.user = {
            imports = [
              ./home.nix
              catppuccin.homeManagerModules.catppuccin
            ];
          };
        }
      ];
    };

    # for standalone home-manager installations
    homeConfigurations.user = home-manager.lib.homeManagerConfiguration {
      inherit pkgs;
      modules = [
        catppuccin.homeManagerModules.catppuccin
      ];
    };
  };
}
With Nix Channels
sudo nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
sudo nix-channel --add https://github.com/catppuccin/nix/archive/main.tar.gz catppuccin
sudo nix-channel --update

For NixOS module installations:

{
  imports = [
    <home-manager/nixos>
    <catppuccin/modules/nixos>
  ];

  home-manager.users.user = {
    imports = [
      <catppuccin/modules/home-manager>
    ];
  };
}

For standalone installations

{
  imports = [
    <catppuccin/modules/home-manager>
  ];

  home.username = "user";
  home.homeDirectory = "user";
  programs.home-manager.enable = true;
}
  1. Choose your desired flavour with catppuccin.flavour
{
  catppuccin.flavour = "mocha";
}
  1. Enable for supported programs with catppucin.enable = true;
{
  programs.starship = {
    enable = true;
    catppuccin.enable = true;
  };
}

🙋 FAQ

  • Q: "How do I know what programs are supported?"
    A: You can find programs supported through home-manager here, and NixOS modules here

💝 Thanks to

 

Copyright © 2023-present Catppuccin Org