Skip to content

catppuccin/nix

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. In your configuration, choose your desired flavor with catppuccin.flavor
{
  catppuccin.flavor = "mocha";
}
  1. Enable for supported programs
{
  catppuccin.starship.enable = true;
}
  1. Enable for all available programs you're using!
{
  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

  • Q: "How do I set catppuccin.enable for everything I use?"
    A: You can set catppuccin.enable globally through home-manager here, and NixOS modules here

  • 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. We try to avoid this where possible, but sometimes we need to use it. Check out our tracking issue to see what ports are affected.

  • Q: "How do I fix the error: a '...' with features {} is required to build '...'"?
    A: See the above

💝 Thanks to

 

Copyright © 2023-present Catppuccin Org