Soho vibes for Nix
Find a file
vdbe fd0902e67a
docs: add IFD FAQ (#246)
* docs: add IFD FAQ

* docs: mirror IFD FAQ to docs

* docs: reword IFD FAQ to those ports

* chore: update IFD list

* chore: remove dunst from IFD list

The IFD from dunst was removed in #302

* docs: FAQ IFD apply suggestions

* docs: FAQ IFD add spotify-player

* docs: cleanup IFD module code example

Seems spotify-player doesn't required IFD either as it's source is from
a builtin

---------

Co-authored-by: seth <getchoo@tuta.io>
2024-08-23 08:20:38 -04:00
.github ci: merge and cleanup workflows (#282) 2024-07-08 16:56:34 -04:00
.sources feat(home-manager): add support for spotify-player (#296) 2024-08-19 02:26:08 -04:00
assets/previews chore: add project previews (#35) 2023-06-25 20:16:54 -04:00
dev chore: update dev flake inputs (#287) 2024-08-06 22:02:53 -04:00
docs docs: add IFD FAQ (#246) 2024-08-23 08:20:38 -04:00
modules style: format 0047cf5 2024-08-23 10:53:42 +00:00
tests feat(home-manager): add support for spotify-player (#296) 2024-08-19 02:26:08 -04:00
.editorconfig feat!: move docs to website (#170) 2024-05-21 16:57:51 -04:00
.gitignore feat!: move docs to website (#170) 2024-05-21 16:57:51 -04:00
CHANGELOG.md chore(main): release 1.0.2 (#264) 2024-07-02 06:24:08 -04:00
CONTRIBUTING.md chore(modules): add tests for home-manager on darwin (#251) 2024-06-29 10:09:49 -04:00
flake.nix feat: add subflake for development & testing (#64) 2023-12-16 23:38:36 +00:00
LICENSE feat: initial commit 2023-03-26 21:15:25 -04:00
README.md docs: add IFD FAQ (#246) 2024-08-23 08:20:38 -04:00
renovate.json chore: Configure Renovate (#199) 2024-05-28 23:11:17 +01:00

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 catppucin.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 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

  • 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;
        kitty.catppuccin.enable = false; # IFD is introduced by home-manager
        swaylock.catppuccin.enable = false;
      };
    
      services = {
        mako.catppuccin.enable = false;
      };
    }
    

💝 Thanks to

 

Copyright © 2023-present Catppuccin Org