{ symlinkJoin, starship, makeWrapper, writers, ... }: let config = writers.writeTOML "starship.toml" { aws = { symbol = "aws "; }; azure = { symbol = "az "; }; bun = { symbol = "bun "; }; c = { symbol = "C "; }; character = { error_symbol = "[x](bold red)"; success_symbol = "[>](bold green)"; vimcmd_symbol = "[<](bold green)"; }; cmake = { symbol = "cmake "; }; cmd_duration = { format = "\\[[$duration]($style)\\] "; }; cobol = { symbol = "cobol "; }; conda = { symbol = "conda "; }; crystal = { symbol = "cr "; }; daml = { symbol = "daml "; }; dart = { symbol = "dart "; }; deno = { symbol = "deno "; }; directory = { read_only = " ro"; format = ":[$path]($style) "; }; docker_context = { symbol = "docker "; }; dotnet = { symbol = ".NET "; }; elixir = { symbol = "exs "; }; elm = { symbol = "elm "; }; fennel = { symbol = "fnl "; }; fossil_branch = { symbol = "fossil "; }; gcloud = { symbol = "gcp "; }; git_branch = { format = "\\[[$branch(:$remote_branch)]($style)\\] "; }; git_commit = { tag_symbol = " tag "; }; git_status = { ahead = ">"; behind = "<"; deleted = "x"; diverged = "<>"; renamed = "r"; format = "\\[[$all_status$ahead_behind]($style)\\] "; }; gleam = { symbol = "gleam "; }; golang = { symbol = "go "; }; gradle = { symbol = "gradle "; }; guix_shell = { symbol = "guix "; }; hg_branch = { symbol = "hg "; }; java = { symbol = "java "; }; julia = { symbol = "jl "; }; kotlin = { symbol = "kt "; }; lua = { symbol = "lua "; }; memory_usage = { symbol = "memory "; }; meson = { symbol = "meson "; }; nats = { symbol = "nats "; }; nim = { symbol = "nim "; }; nix_shell = { format = "\\[[$state( ($name))]($style)\\] "; }; nodejs = { symbol = "nodejs "; }; ocaml = { symbol = "ml "; }; opa = { symbol = "opa "; }; os = { disabled = false; symbols = { AIX = "aix "; AlmaLinux = "alma "; Alpaquita = "alq "; Alpine = "alp "; Amazon = "amz "; Android = "andr "; Arch = "rch "; Artix = "atx "; CentOS = "cent "; Debian = "deb "; DragonFly = "dfbsd "; Emscripten = "emsc "; EndeavourOS = "ndev "; Fedora = "fed "; FreeBSD = "fbsd "; Garuda = "garu "; Gentoo = "gent "; HardenedBSD = "hbsd "; Illumos = "lum "; Kali = "kali "; Linux = "lnx "; Mabox = "mbox "; Macos = "mac "; Manjaro = "mjo "; Mariner = "mrn "; MidnightBSD = "mid "; Mint = "mint "; NetBSD = "nbsd "; NixOS = "nix "; OpenBSD = "obsd "; OpenCloudOS = "ocos "; OracleLinux = "orac "; Pop = "pop "; Raspbian = "rasp "; RedHatEnterprise = "rhel "; Redhat = "rhl "; Redox = "redox "; RockyLinux = "rky "; SUSE = "suse "; Solus = "sol "; Ubuntu = "ubnt "; Ultramarine = "ultm "; Unknown = "unk "; Void = "void "; Windows = "win "; openEuler = "oeul "; openSUSE = "osuse "; }; }; package = { symbol = "pkg "; }; perl = { symbol = "pl "; }; php = { symbol = "php "; }; pijul_channel = { symbol = "pijul "; }; pulumi = { symbol = "pulumi "; }; purescript = { symbol = "purs "; }; python = { symbol = "py "; }; quarto = { symbol = "quarto "; }; raku = { symbol = "raku "; }; ruby = { symbol = "rb "; }; rust = { symbol = "rs "; }; scala = { symbol = "scala "; }; solidity = { symbol = "solidity "; }; spack = { symbol = "spack "; }; status = { symbol = "[x](bold red) "; }; sudo = { symbol = "sudo "; }; swift = { symbol = "swift "; }; terraform = { symbol = "terraform "; }; typst = { symbol = "typst "; }; zig = { symbol = "zig "; }; username = { show_always = true; format = "[$user]($style)@"; }; hostname = { ssh_only = false; format = "[$ssh_symbol$hostname]($style)"; }; }; in symlinkJoin { name = "starship"; paths = [ starship ]; nativeBuildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/starship \ --set STARSHIP_CONFIG ${config} ''; }