85 lines
2.1 KiB
Nix
85 lines
2.1 KiB
Nix
{ config, options, lib, pkgs, ... }:
|
|
let
|
|
inherit (lib.modules) mkIf;
|
|
in
|
|
{
|
|
options.modules.shell.toolset.starship = let
|
|
inherit (lib.options) mkEnableOption;
|
|
in { enable = mkEnableOption "minimal shell ricing"; };
|
|
|
|
config = mkIf config.modules.shell.toolset.starship.enable {
|
|
hm.programs.starship = {
|
|
enable = true;
|
|
settings = let
|
|
inherit (config.modules.themes.colors.main) normal bright types;
|
|
in {
|
|
scan_timeout = 10;
|
|
add_newline = true;
|
|
line_break.disabled = true;
|
|
|
|
format = "$username$hostname$nix_shell$git_branch$git_commit$git_state$git_status$directory$jobs$cmd_duration$character";
|
|
username = {
|
|
style_user = "${normal.blue} bold";
|
|
style_root = "${normal.red} bold";
|
|
format = "[$user]($style) ";
|
|
disabled = false;
|
|
show_always = true;
|
|
};
|
|
|
|
hostname = {
|
|
ssh_only = false;
|
|
ssh_symbol = "🌐 ";
|
|
format = "on [$hostname](bold ${normal.red}) ";
|
|
trim_at = ".local";
|
|
disabled = false;
|
|
};
|
|
|
|
nix_shell = {
|
|
symbol = " ";
|
|
format = "[$symbol$name]($style) ";
|
|
style = "${normal.magenta} bold";
|
|
};
|
|
|
|
git_branch = {
|
|
only_attached = true;
|
|
format = "[$symbol$branch]($style) ";
|
|
symbol = "שׂ";
|
|
style = "${bright.yellow} bold";
|
|
};
|
|
|
|
git_commit = {
|
|
only_detached = true;
|
|
format = "[ﰖ$hash]($style) ";
|
|
style = "${bright.yellow} bold";
|
|
};
|
|
|
|
git_state = {
|
|
style = "${bright.magenta} bold";
|
|
};
|
|
|
|
git_status = {
|
|
style = "${bright.green} bold";
|
|
};
|
|
|
|
directory = {
|
|
read_only = " ";
|
|
truncation_length = 0;
|
|
};
|
|
|
|
cmd_duration = {
|
|
format = "[$duration]($style) ";
|
|
style = "${bright.blue}";
|
|
};
|
|
|
|
jobs = {
|
|
style = "${bright.green} bold";
|
|
};
|
|
|
|
character = {
|
|
success_symbol = "[\\$](${bright.green} bold)";
|
|
error_symbol = "[\\$](${bright.red} bold)";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|