Skip to content

Configuration Examples

INFO

These examples cover some of the most common use cases.

For a complete list of available options, please see NixKraken reference.

Basic Setup

nix
{
  programs.nixkraken.enable = true;
}

Get Rid of Initial Distractions

nix
{
  programs.nixkraken = {
    enable = true;

    # Accept the End User License Agreement
    acceptEULA = true;

    # Do not show the introduction tutorial on first launch
    skipTutorial = true;

    # Disable promotional and non-essential notifications
    # WARNING: this will not work without a paid subscription
    notifications = {
      feature = false;
      help = false;
      marketing = false;
    };
  };
}

Manage Multiple Profiles

WARNING

Only paid accounts can set profiles beyond the default one.

Read the dedicated profiles guide for further details.

nix
{
  programs.nixkraken = {
    enable = true;

    # Define options for default profile
    git.defaultBranch = "main";
    ui.theme = "system";

    user = {
      name = "Somebody";
      email = "somebody@example.com";
    };

    # Define additional work profile
    profiles = [
      {
        name = "Work";

        # Override options from default profile
        user.email = "somebody@company.com";
        git.defaultBranch = "master";
        ui.theme = "light";

        # Configure profile-specific options
        gpg = {
          format = "openpgp";
          signingKey = "D7229043384BCC60326C6FB9D8720D957C3D3074";
          signCommits = true;
          signTags = true;
        };
      }
    ];
  };
}

Custom Terminal

nix
{
  programs.nixkraken = {
    enable = true;

    # Define Ghostty as the default external terminal
    tools.terminal.package = pkgs.ghostty;
  };
}

Custom Theme

nix
{
  programs.nixkraken = {
    enable = true;

    ui = {
      extraThemes = [ pkgs.gitkraken-themes.catppuccin ];
      theme = pkgs.gitkraken-themes.catppuccin.mocha;
    };
  };
}

TIP

Read the dedicated theming guide for further details.

Released under the MIT License