mirror of
https://github.com/gburd/nix-config.git
synced 2024-11-20 10:36:25 +00:00
119 lines
3.1 KiB
Nix
119 lines
3.1 KiB
Nix
|
{ pkgs, lib, ... }:
|
||
|
{
|
||
|
programs.starship = {
|
||
|
enable = true;
|
||
|
settings = {
|
||
|
format =
|
||
|
let
|
||
|
git = "$git_branch$git_commit$git_state$git_status";
|
||
|
cloud = "$aws$gcloud$openstack";
|
||
|
in
|
||
|
''
|
||
|
$username$hostname($shlvl)($cmd_duration) $fill ($nix_shell)$custom
|
||
|
$directory(${git})(- ${cloud}) $fill $time
|
||
|
$jobs$character
|
||
|
'';
|
||
|
|
||
|
fill = {
|
||
|
symbol = " ";
|
||
|
disabled = false;
|
||
|
};
|
||
|
|
||
|
# Core
|
||
|
username = {
|
||
|
format = "[$user]($style)";
|
||
|
show_always = true;
|
||
|
};
|
||
|
hostname = {
|
||
|
format = "[@$hostname]($style) ";
|
||
|
ssh_only = false;
|
||
|
style = "bold green";
|
||
|
};
|
||
|
shlvl = {
|
||
|
format = "[$shlvl]($style) ";
|
||
|
style = "bold cyan";
|
||
|
threshold = 2;
|
||
|
repeat = true;
|
||
|
disabled = false;
|
||
|
};
|
||
|
cmd_duration = {
|
||
|
format = "took [$duration]($style) ";
|
||
|
};
|
||
|
|
||
|
directory = {
|
||
|
format = "[$path]($style)( [$read_only]($read_only_style)) ";
|
||
|
};
|
||
|
nix_shell = {
|
||
|
format = "[($name \\(develop\\) <- )$symbol]($style) ";
|
||
|
impure_msg = "";
|
||
|
symbol = " ";
|
||
|
style = "bold red";
|
||
|
};
|
||
|
custom = {
|
||
|
nix_inspect = let
|
||
|
excluded = [
|
||
|
"kitty" "imagemagick" "ncurses" "user-environment" "pciutils" "binutils-wrapper"
|
||
|
];
|
||
|
in {
|
||
|
disabled = false;
|
||
|
when = "test -z $IN_NIX_SHELL";
|
||
|
command = "${(lib.getExe pkgs.nix-inspect)} ${(lib.concatStringsSep " " excluded)}";
|
||
|
format = "[($output <- )$symbol]($style) ";
|
||
|
symbol = " ";
|
||
|
style = "bold blue";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
character = {
|
||
|
error_symbol = "[~~>](bold red)";
|
||
|
success_symbol = "[->>](bold green)";
|
||
|
vimcmd_symbol = "[<<-](bold yellow)";
|
||
|
vimcmd_visual_symbol = "[<<-](bold cyan)";
|
||
|
vimcmd_replace_symbol = "[<<-](bold purple)";
|
||
|
vimcmd_replace_one_symbol = "[<<-](bold purple)";
|
||
|
};
|
||
|
|
||
|
time = {
|
||
|
format = "\\\[[$time]($style)\\\]";
|
||
|
disabled = false;
|
||
|
};
|
||
|
|
||
|
# Cloud
|
||
|
gcloud = {
|
||
|
format = "on [$symbol$active(/$project)(\\($region\\))]($style)";
|
||
|
};
|
||
|
aws = {
|
||
|
format = "on [$symbol$profile(\\($region\\))]($style)";
|
||
|
};
|
||
|
|
||
|
# Icon changes only \/
|
||
|
aws.symbol = " ";
|
||
|
conda.symbol = " ";
|
||
|
dart.symbol = " ";
|
||
|
directory.read_only = " ";
|
||
|
docker_context.symbol = " ";
|
||
|
elixir.symbol = " ";
|
||
|
elm.symbol = " ";
|
||
|
gcloud.symbol = " ";
|
||
|
git_branch.symbol = " ";
|
||
|
golang.symbol = " ";
|
||
|
hg_branch.symbol = " ";
|
||
|
java.symbol = " ";
|
||
|
julia.symbol = " ";
|
||
|
memory_usage.symbol = " ";
|
||
|
nim.symbol = " ";
|
||
|
nodejs.symbol = " ";
|
||
|
package.symbol = " ";
|
||
|
perl.symbol = " ";
|
||
|
php.symbol = " ";
|
||
|
python.symbol = " ";
|
||
|
ruby.symbol = " ";
|
||
|
rust.symbol = " ";
|
||
|
scala.symbol = " ";
|
||
|
shlvl.symbol = "";
|
||
|
swift.symbol = " ";
|
||
|
terraform.symbol = "";
|
||
|
};
|
||
|
};
|
||
|
}
|