Skip to content

catppuccin/nix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

23ee86d · Dec 20, 2024
Dec 11, 2024
Dec 20, 2024
Jun 26, 2023
Dec 19, 2024
Dec 19, 2024
Dec 20, 2024
Dec 20, 2024
May 21, 2024
May 21, 2024
Dec 20, 2024
Jun 29, 2024
Mar 27, 2023
Dec 13, 2024
Dec 20, 2024
Dec 16, 2023
May 28, 2024

Repository files navigation

Logo
Catppuccin for Nix

Previews

🌻 Latte
🪴 Frappé
🌺 Macchiato
🌿 Mocha

Usage

You will probably want to see our Getting started guide, but as a TLDR:

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

  outputs = { nixpkgs, catppuccin, home-manager }: {
    # for nixos module home-manager installations
    nixosConfigurations.pepperjacksComputer = pkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        catppuccin.nixosModules.catppuccin
        # if you use home-manager
        home-manager.nixosModules.home-manager

        {
          # if you use home-manager
          home-manager.users.pepperjack = {
            imports = [
              ./home.nix
              catppuccin.homeManagerModules.catppuccin
            ];
          };
        }
      ];
    };

    # for standalone home-manager installations
    homeConfigurations.pepperjack = home-manager.lib.homeManagerConfiguration {
      pkgs = nixpkgs.legacyPackages.x86_64-linux;
      modules = [
        ./home.nix
        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 = [
    <catppuccin/modules/nixos>
    # if you use home-manager
    <home-manager/nixos>
  ];

  # if you use home-manager
  home-manager.users.pepperjack = {
    imports = [
      <catppuccin/modules/home-manager>
    ];
  };
}

For standalone installations

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

  home.username = "pepperjack";
  programs.home-manager.enable = true;
}
  1. Choose your desired flavor with catppuccin.flavor
{
  catppuccin.flavor = "mocha";
}
  1. Enable for supported programs with catppuccin.enable = true;
{
  programs.starship = {
    enable = true;
    catppuccin.enable = true;
  };
}
  1. Enable for all available programs you're using!
{
  catppuccin.enable = true;
}

🙋 FAQ

  • Q: "How do I know what ports are supported?"
    A: You can look through all of the options for our supported ports at nix.catppuccin.com/search

  • Q: "How do I set catppuccin.enable for everything I use?"
    A: You can set catppuccin.enable globally

  • Q: "What versions of NixOS and home-manager are supported?"
    A: We primarily support the unstable branch, but try our best to support the current stable release. You can check if your stable release is currently supported at status.nixos.org

  • Q: "How do I fix the error: ... during evaluation because the option 'allow-import-from-derivation' is disabled"
    A: Some ports need to read and/or manipulate remote resources, resulting in Nix performing IFD.

    Disable modules that use IFD
    {
      programs = {
        cava.catppuccin.enable = false;
        gh-dash.catppuccin.enable = false;
        imv.catppuccin.enable = false;
        swaylock.catppuccin.enable = false;
      };
    
      services = {
        mako.catppuccin.enable = false;
      };
    }

💝 Thanks to

 

Copyright © 2023-present Catppuccin Org