Configuration examples
note
These examples cover some of the most common use cases. For a complete list of available settings, please see the module options reference.
Basic setup
{
programs.nixkraken.enable = true;
}
Get rid of initial distractions
{
programs.nixkraken = {
enable = true;
# Accept the End User License Agreement
acceptEULA = true;
# Don't 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
important
Only paid accounts can set profiles beyond the default one.
{
programs.nixkraken = {
enable = true;
# Configure the default profile
user = {
name = "Personal Name";
email = "personal@email.com"
};
# Configure a separate, named profile for work
profiles = [
{
name = "Work";
user = {
name = "Work Name";
email = "work@email.com";
};
ui.theme = "dark";
}
];
};
}
Inherit options from default profile
{
# Notice the "rec" keyword? This is a recursive attribute set, allowing us to
# reuse previously defined keys anywhere inside this attribute set.
programs.nixkraken = rec {
enable = true;
# Configure graph columns
graph = {
compact = true;
showAuthor = true;
showDatetime = true;
showMessage = true;
showRefs = false;
showSHA = false;
showGraph = true;
};
profiles = [
{
# Use same graph settings as default profile
inherit graph;
name = "Other profile";
}
];
};
}
Custom terminal
{
programs.nixkraken = {
enable = true;
# Define Ghostty as the default external terminal
tools.terminal = {
default = "custom";
package = pkgs.ghostty;
};
};
}
Custom theme
{
programs.nixkraken = {
enable = true;
ui = {
# Add Mocha variant of Catppuccin theme for GitKraken
extraThemes = [ "${pkgs.catppuccin-gitkraken}/catppuccin-mocha.jsonc" ];
# Enable extra theme
theme = "catppuccin-mocha.jsonc";
};
};
}