126 lines
3.0 KiB
Nix
126 lines
3.0 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
theme = import lib/theme.nix;
|
|
starshipLib.toLanguageConfig = symbol: {
|
|
symbol = symbol;
|
|
style = "bg:language";
|
|
format = "[ $symbol ($version) ]($style)";
|
|
};
|
|
in
|
|
{
|
|
options = {
|
|
modules.starship.enable = lib.mkEnableOption "enables starship";
|
|
};
|
|
|
|
config = lib.mkIf config.modules.starship.enable {
|
|
programs.starship.enable = true;
|
|
programs.starship.settings = {
|
|
palette = "default";
|
|
format = lib.concatStrings [
|
|
"[](bg: secondary)"
|
|
"$os"
|
|
"[](fg:secondary bg:primary)"
|
|
"$directory"
|
|
"[](fg:primary bg:#FCA17D)"
|
|
"$git_branch"
|
|
"$git_status"
|
|
"[](fg:#FCA17D bg:language)"
|
|
"$c"
|
|
"$elixir"
|
|
"$elm"
|
|
"$golang"
|
|
"$gradle"
|
|
"$haskell"
|
|
"$java"
|
|
"$julia"
|
|
"$nodejs"
|
|
"$nim"
|
|
"$rust"
|
|
"$scala"
|
|
"$nix_shell"
|
|
"[ ](fg:language)"
|
|
];
|
|
|
|
right_format = "$cmd_duration";
|
|
|
|
os = {
|
|
style = "bg:secondary";
|
|
disabled = false; # Disabled by default
|
|
|
|
symbols = {
|
|
NixOS = " ";
|
|
};
|
|
};
|
|
|
|
directory = {
|
|
style = "bg:primary fg:primary-foreground";
|
|
format = "[ $path ]($style)";
|
|
truncation_length = 1;
|
|
truncation_symbol = "";
|
|
};
|
|
|
|
directory.substitutions = {
|
|
"Documents" = " Documents";
|
|
"Downloads" = " Downloads";
|
|
"Music" = " Music";
|
|
"Pictures" = " Pictures";
|
|
};
|
|
|
|
nim = starshipLib.toLanguageConfig " ";
|
|
rust = starshipLib.toLanguageConfig "";
|
|
java = starshipLib.toLanguageConfig " ";
|
|
golang = starshipLib.toLanguageConfig " ";
|
|
c = starshipLib.toLanguageConfig " ";
|
|
elixir = starshipLib.toLanguageConfig " ";
|
|
elm = starshipLib.toLanguageConfig " ";
|
|
gradle = starshipLib.toLanguageConfig " ";
|
|
haskell = starshipLib.toLanguageConfig " ";
|
|
julia = starshipLib.toLanguageConfig " ";
|
|
nodejs = starshipLib.toLanguageConfig "";
|
|
scala = starshipLib.toLanguageConfig " ";
|
|
|
|
nix_shell = {
|
|
symbol = " ";
|
|
style = "bg:language";
|
|
format = "[ $symbol$state( \($name\))]($style)";
|
|
unknown_msg = "nix-shell";
|
|
};
|
|
|
|
git_branch = {
|
|
symbol = "";
|
|
style = "bg:#FCA17D";
|
|
format = "[ $symbol $branch ]($style)";
|
|
};
|
|
|
|
git_status = {
|
|
style = "bg:#FCA17D";
|
|
format = "[ $all_status$ahead_behind ]($style)";
|
|
};
|
|
|
|
cmd_duration = {
|
|
min_time = 1000;
|
|
style = "bg:secondary";
|
|
format = ''
|
|
[](bg: secondary)
|
|
[ $duration ]($style)
|
|
[](fg:secondary)
|
|
'';
|
|
};
|
|
|
|
palettes.default = {
|
|
primary = theme.primary;
|
|
secondary = theme.secondary;
|
|
accent = theme.accent;
|
|
primary-foreground = theme.primary-foreground;
|
|
git = theme.git;
|
|
language = theme.language;
|
|
docker = theme.docker;
|
|
};
|
|
};
|
|
};
|
|
}
|