This commit is contained in:
Lennart J. Kurzweg (Nx2)
2024-06-03 16:59:11 +02:00
parent 52343cbc23
commit fce5f49e57
29 changed files with 373 additions and 554 deletions

View File

@@ -1,16 +1,15 @@
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
{ pkgs, lib, user, rice, ... }:
lib.mkIf (user != "tv")
{
home.packages = [
pkgs.starship
];
## gets sourced in fish.nix
programs.starship = {
enable = true;
settings = {
# enableBashIntegration = true;
enableFishIntegration = true;
settings = with rice.color; {
add_newline = false;
format = lib.strings.concatMapStrings (x: "$" + x) [
"jobs"
@@ -82,96 +81,83 @@ lib.mkIf (user != "tv")
"custom"
"sudo"
"cmd_duration"
"time"
# "time"
"status"
"container"
"shell"
"character"
];
aws.format = "[\\[$symbol($profile)(\\($region\\))(\\[$duration\\])\\]]($style)";
bun.format = "[\\[$symbol($version)\\]]($style)";
c.format = "[\\[$symbol($version(-$name))\\]]($style)";
cmake.format = "[\\[$symbol($version)\\]]($style)";
cmd_duration.format = "[\\[$symbol$duration\\]]($style)";
cobol.format = "[\\[$symbol($version)\\]]($style)";
conda.format = "[\\[$symbol$environment\\]]($style)";
crystal.format = "[\\[$symbol($version)\\]]($style)";
daml.format = "[\\[$symbol($version)\\]]($style)";
dart.format = "[\\[$symbol($version)\\]]($style)";
deno.format = "[\\[$symbol($version)\\]]($style)";
docker_context.format = "[\\[$symbol($context)\\]]($style)";
dotnet.format = "[\\[$symbol($version)(🎯 $tfm)\\]]($style)";
elixir.format = "[\\[$symbol($version \\(OTP $otp_version\\))\\]]($style)";
elm.format = "[\\[$symbol($version)\\]]($style)";
erlang.format = "[\\[$symbol($version)\\]]($style)";
gcloud.format = "[\\[$symbol$account(@$domain)(\\($region\\))\\]]($style)";
git_branch.format = "[\\[$symbol$branch:]($style)";
git_status.format = "([$all_status$ahead_behind]($style))(bold green)[\\]]($style)";
golang.format = "[\\[$symbol($version)\\]]($style)";
haskell.format = "[\\[$symbol($version)\\]]($style)";
helm.format = "[\\[$symbol($version)\\]]($style)";
hg_branch.format = "[\\[$symbol$branch\\]]($style)";
java.format = "[\\[$symbol($version)\\]]($style)";
julia.format = "[\\[$symbol($version)\\]]($style)";
kotlin.format = "[\\[$symbol($version)\\]]($style)";
kubernetes.format = "[\\[$symbol$context( \\($namespace\\))\\]]($style)";
lua.format = "[\\[$symbol($version)\\]]($style)";
memory_usage.format = "[\\[$symbol[$ram( | $swap)\\]]($style)";
meson.format = "[\\[$symbol$project\\]]($style)";
nim.format = "[\\[$symbol($version)\\]]($style)";
nix_shell.format = "[\\[󱄅 $state \\($name\\)\\]]($style)";
nodejs.format = "[\\[$symbol($version)\\]]($style)";
ocaml.format = "[\\[$symbol($version)(\\($switch_indicator$switch_name\\))\\]]($style)";
openstack.format = "[\\[$symbol$cloud(\\($project\\))\\]]($style)";
package.format = "[\\[$symbol$version\\]]($style)";
perl.format = "[\\[$symbol($version)\\]]($style)";
php.format = "[\\[$symbol($version)\\]]($style)";
pulumi.format = "[\\[$symbol$stack\\]]($style)";
purescript.format = "[\\[$symbol($version)\\]]($style)";
python = {
format = ''[\[''${symbol}''${pyenv_prefix}''${version}$virtualenv\]]($style)'';
symbol = " ";
};
raku.format = "[\\[$symbol($version-$vm_version)\\]]($style)";
red.format = "[\\[$symbol($version)\\]]($style)";
ruby.format = "[\\[$symbol($version)\\]]($style)";
rust.format = "[\\[$symbol($version)\\]]($style)";
scala.format = "[\\[$symbol($version)\\]]($style)";
spack.format = "[\\[$symbol$environment\\]]($style)";
sudo.format = "[\\[$symbol]\\]";
swift.format = "[\\[$symbol($version)\\]]($style)";
terraform.format = "[\\[$symbol$workspace\\]]($style)";
time.format = "[\\[$time\\]]($style)";
username.format = "[\\[$user\\]]($style)";
vagrant.format = "[\\[$symbol($version)\\]]($style)";
vlang.format = "[\\[$symbol($version)\\]]($style)";
zig.format = "[\\[$symbol($version)\\]]($style)";
directory = {
format = "[\\[]($style)[$lock_symbol]($lock_style)[$path\\]]($style)";
style = "cyan bold";
};
aws.format = "[\\[$symbol($profile)(\\($region\\))(\\[$duration\\])\\]](fg:${foreground})";
battery.format = "[\\[$symbol$percentage\\]](fg:${foreground})";
bun.format = "[\\[$symbol($version)\\]](fg:${foreground})";
c.format = "[\\[$symbol($version(-$name))\\]](fg:${foreground})";
character = {
format = "$symbol";
success_symbol = "[\\[󰽧\\]](bold white) ";
error_symbol = "[\\[\\]](bold red) ";
vimcmd_symbol = "[\\[\\]](bold green) ";
vimcmd_replace_one_symbol = "[\\[1\\]](bold green) ";
vimcmd_replace_symbol = "[\\[R\\]](bold green) ";
vimcmd_visual_symbol = "[\\[V\\]](bold green) ";
};
battery.format = "[\\[$symbol$percentage\\]]($style)";
shlvl.format = "[\\[$symbol$shlvl\\]]($style)";
singularity.format = "[\\[$symbol\\[$env\\]\\]]($style)";
jobs = {
format = "[\\[$symbol $number\\]]($style)";
number_threshold = 1;
};
vcsh.format = "[\\[vcsh [$symbol$repo\\]]($style)";
hostname = {
format = "[\\[$ssh_symbol$hostname\\]]($style)";
ssh_symbol = "󰖟 ";
ssh_only = true;
format = "$symbol ";
success_symbol = "[\\[󰽧\\]](${foreground})";
error_symbol = "[\\[\\]](${negative.base})";
vimcmd_replace_one_symbol = "[\\[1\\]](${special.base})";
vimcmd_replace_symbol = "[\\[R\\]](${special.base})";
vimcmd_symbol = "[\\[\\]](${special.base})";
vimcmd_visual_symbol = "[\\[V\\]](${special.base})";
};
cmake.format = "[\\[$symbol($version)\\]](fg:${foreground})";
cmd_duration.format = "[\\[$symbol$duration\\]](fg:${accent.bright})";
cobol.format = "[\\[$symbol($version)\\]](fg:${foreground})";
conda.format = "[\\[$symbol$environment\\]](fg:${foreground})";
crystal.format = "[\\[$symbol($version)\\]](fg:${foreground})";
daml.format = "[\\[$symbol($version)\\]](fg:${foreground})";
dart.format = "[\\[$symbol($version)\\]](fg:${foreground})";
deno.format = "[\\[$symbol($version)\\]](fg:${foreground})";
directory.format = "[\\[](fg:${accent.base})[$lock_symbol](${negative.base})[$path\\]](fg:${accent.base})";
docker_context.format = "[\\[$symbol($context)\\]](fg:${foreground})";
dotnet.format = "[\\[$symbol($version)(🎯 $tfm)\\]](fg:${foreground})";
elixir.format = "[\\[$symbol($version \\(OTP $otp_version\\))\\]](fg:${foreground})";
elm.format = "[\\[$symbol($version)\\]](fg:${foreground})";
erlang.format = "[\\[$symbol($version)\\]](fg:${foreground})";
gcloud.format = "[\\[$symbol$account(@$domain)(\\($region\\))\\]](fg:${foreground})";
git_branch.format = "[\\[$symbol$branch](fg:${secondary.base})";
git_status.format = "[:](fg:${secondary.base})[$all_status$ahead_behind](fg:${tertiary.base})[\\]](fg:${secondary.base})";
golang.format = "[\\[$symbol($version)\\]](fg:${foreground})";
haskell.format = "[\\[$symbol($version)\\]](fg:${foreground})";
helm.format = "[\\[$symbol($version)\\]](fg:${foreground})";
hg_branch.format = "[\\[$symbol$branch\\]](fg:${foreground})";
hostname.format = "[\\[󰖟 $hostname\\]](fg:${foreground})"; # ssh only by default
java.format = "[\\[$symbol($version)\\]](fg:${foreground})";
jobs.format = "[\\[$symbol $number\\]](fg:${foreground})";
julia.format = "[\\[$symbol($version)\\]](fg:${foreground})";
kotlin.format = "[\\[$symbol($version)\\]](fg:${foreground})";
kubernetes.format = "[\\[$symbol$context( \\($namespace\\))\\]](fg:${foreground})";
lua.format = "[\\[$symbol($version)\\]](fg:${foreground})";
memory_usage.format = "[\\[$symbol[$ram( | $swap)\\]](fg:${foreground})";
meson.format = "[\\[$symbol$project\\]](fg:${foreground})";
nim.format = "[\\[$symbol($version)\\]](fg:${foreground})";
nix_shell.format = "[\\[󱄅 $state\\($name\\)\\]](fg:${foreground})";
nodejs.format = "[\\[$symbol$version\\]](fg:${yellow.bright})";
ocaml.format = "[\\[$symbol($version)(\\($switch_indicator$switch_name\\))\\]](fg:${foreground})";
openstack.format = "[\\[$symbol$cloud(\\($project\\))\\]](fg:${foreground})";
package.format = "[\\[$symbol$version\\]](fg:${foreground})";
perl.format = "[\\[$symbol($version)\\]](fg:${foreground})";
php.format = "[\\[$symbol($version)\\]](fg:${foreground})";
pulumi.format = "[\\[$symbol$stack\\]](fg:${foreground})";
purescript.format = "[\\[$symbol($version)\\]](fg:${foreground})";
python.format = "[\\[ ](${blue.base})[$pyenv_prefix$version$virtualenv](${yellow.base})[\\]](fg:${blue.base})";
raku.format = "[\\[$symbol($version-$vm_version)\\]](fg:${foreground})";
red.format = "[\\[$symbol($version)\\]](fg:${foreground})";
ruby.format = "[\\[$symbol($version)\\]](fg:${foreground})";
rust.format = "[\\[$symbol($version)\\]](fg:${foreground})";
scala.format = "[\\[$symbol($version)\\]](fg:${foreground})";
shlvl.format = "[\\[$symbol$shlvl\\]](fg:${foreground})";
singularity.format = "[\\[$symbol\\[$env\\]\\]](fg:${foreground})";
spack.format = "[\\[$symbol$environment\\]](fg:${foreground})";
sudo.format = "[\\[$symbol]\\]";
swift.format = "[\\[$symbol($version)\\]](fg:${foreground})";
terraform.format = "[\\[$symbol$workspace\\]](fg:${foreground})";
time.format = "[\\[$time\\]](fg:${foreground})";
username.format = "[\\[$user\\]](fg:${foreground})";
vagrant.format = "[\\[$symbol($version)\\]](fg:${foreground})";
vcsh.format = "[\\[vcsh [$symbol$repo\\]](fg:${foreground})";
vlang.format = "[\\[$symbol($version)\\]](fg:${foreground})";
zig.format = "[\\[$symbol($version)\\]](fg:${foreground})";
};
};
}