{ config, pkgs, lib, system, user, allowed, secrets, ... }: { home.packages = [ pkgs.starship ]; ## gets sourced in fish.nix programs.starship = { enable = true; settings = { add_newline = false; format = lib.strings.concatMapStrings (x: "$" + x) [ "jobs" "battery" "username" "hostname" # "localip" "shlvl" # "singularity" # "kubernetes" "directory" # "vcsh" "git_branch" "git_commit" "git_state" "git_metrics" "git_status" # "hg_branch" "docker_context" # "package" "c" "cmake" # "cobol" # "daml" # "dart" # "deno" # "dotnet" "elixir" # "elm" # "erlang" "golang" "haskell" # "helm" # "java" # "julia" # "kotlin" "lua" "nim" "nodejs" # "ocaml" # "perl" "php" # "pulumi" # "purescript" "python" # "raku" # "rlang" # "red" # "ruby" # "rust" # "scala" # "swift" # "terraform" # "vlang" # "vagrant" "zig" # "buf" "nix_shell" "conda" # "meson" # "spack" # "memory_usage" # "aws" # "gcloud" # "openstack" # "azure" "env_var" # "crystal" "custom" "sudo" "cmd_duration" "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 = "[\\[$symbol$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"; }; 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; }; }; }; }