📦 Moved more configs to common files, and refactored code with common
This commit is contained in:
@ -1,5 +1,13 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
replace =
|
||||
from: to: current:
|
||||
if current == from then to else current;
|
||||
toSingleLine =
|
||||
with lib.strings;
|
||||
s: concatMapStrings (stringAsChars (replace "\n" "")) (splitString "n" s);
|
||||
theme = import ../theme.nix;
|
||||
in
|
||||
{
|
||||
programs = {
|
||||
fish = {
|
||||
@ -18,9 +26,173 @@
|
||||
];
|
||||
};
|
||||
|
||||
# TODO catppuccin colours on all parts
|
||||
starship = {
|
||||
enable = true;
|
||||
settings = (with builtins; fromTOML (readFile ./starship.toml)) // { };
|
||||
settings = {
|
||||
format = toSingleLine ''
|
||||
[](#${theme.mantleAlpha})
|
||||
$os
|
||||
$username
|
||||
[](bg:#${theme.lavenderAlpha} fg:#${theme.mantleAlpha})
|
||||
$directory
|
||||
[](fg:#${theme.lavenderAlpha} bg:#${theme.blueAlpha})
|
||||
$git_branch
|
||||
$git_status
|
||||
[](fg:#${theme.blueAlpha} bg:#86BBD8)
|
||||
$c
|
||||
$elixir
|
||||
$elm
|
||||
$golang
|
||||
$gradle
|
||||
$haskell
|
||||
$java
|
||||
$julia
|
||||
$nodejs
|
||||
$nim
|
||||
$rust
|
||||
$scala
|
||||
[](fg:#86BBD8 bg:#06969A)
|
||||
$docker_context
|
||||
[](fg:#06969A bg:#33658A)
|
||||
$time
|
||||
[ ](fg:#33658A)
|
||||
'';
|
||||
|
||||
# Disable the blank line at the start of the prompt
|
||||
# add_newline = false
|
||||
|
||||
# You can also replace your username with a neat symbol like or disable this
|
||||
# and use the os module below
|
||||
username = {
|
||||
show_always = false;
|
||||
style_user = "bg:#${theme.crustAlpha}";
|
||||
style_root = "bg:#${theme.mantleAlpha}";
|
||||
format = "[$user]($style) in ";
|
||||
disabled = false;
|
||||
};
|
||||
|
||||
os = {
|
||||
style = "bg:#${theme.mantleAlpha}";
|
||||
disabled = false;
|
||||
};
|
||||
|
||||
directory = {
|
||||
style = "bg:#${theme.lavenderAlpha} fg:#${theme.baseAlpha}";
|
||||
format = "[ $path ]($style)";
|
||||
truncation_length = 3;
|
||||
truncation_symbol = "…/";
|
||||
};
|
||||
|
||||
# Here is how you can shorten some long paths by text replacement
|
||||
# similar to mapped_locations in Oh My Posh:
|
||||
directory.substitutions = {
|
||||
"Documents" = " ";
|
||||
"Downloads" = " ";
|
||||
"Music" = " ";
|
||||
"Pictures" = " ";
|
||||
};
|
||||
# Keep in mind that the order matters. For example:
|
||||
# "Important Documents" = " "
|
||||
# will not be replaced, because "Documents" was already substituted before.
|
||||
# So either put "Important Documents" before "Documents" or use the substituted version:
|
||||
# "Important " = " "
|
||||
|
||||
c = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
docker_context = {
|
||||
symbol = " ";
|
||||
style = "bg:#06969A";
|
||||
format = "[ $symbol $context ]($style)";
|
||||
};
|
||||
|
||||
elixir = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
elm = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
symbol = " ";
|
||||
style = "bg:#${theme.blueAlpha} fg:#${theme.baseAlpha}";
|
||||
format = "[ $symbol $branch ]($style)";
|
||||
};
|
||||
|
||||
git_status = {
|
||||
style = "bg:#${theme.blueAlpha} fg:#${theme.baseAlpha}";
|
||||
format = "[$all_status$ahead_behind ]($style)";
|
||||
};
|
||||
|
||||
golang = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
gradle = {
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
haskell = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
java = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
julia = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
nodejs = {
|
||||
symbol = "";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
nim = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
rust = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
scala = {
|
||||
symbol = " ";
|
||||
style = "bg:#86BBD8";
|
||||
format = "[ $symbol ($version) ]($style)";
|
||||
};
|
||||
|
||||
time = {
|
||||
disabled = false;
|
||||
time_format = "%R"; # Hour:Minute Format
|
||||
style = "bg:#33658A";
|
||||
format = "[ $time ]($style)";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user