158 lines
4.2 KiB
Nix
158 lines
4.2 KiB
Nix
![]() |
{
|
||
|
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}
|
||
|
'';
|
||
|
}
|