aboutsummaryrefslogtreecommitdiffstats
path: root/modules/home.legacy/conf/starship
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-10-18 17:07:46 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-10-18 17:07:46 +0200
commitc52c7f314ccadcc2fcd91e28c8fd1b88f6d5ce0c (patch)
treee8b947710b467b32740598ff574982097836f66c /modules/home.legacy/conf/starship
parentchore(pkgs/yt): 1.2.1 -> 1.3.0 (diff)
downloadnixos-config-c52c7f314ccadcc2fcd91e28c8fd1b88f6d5ce0c.zip
refactor(modules): Move all system modules to `by-name`
From now on all modules should be added to the new `by-name` directory. This should help remove the (superficial and utterly useless) distinction between `home-manager` and `NixOS` modules.
Diffstat (limited to 'modules/home.legacy/conf/starship')
-rw-r--r--modules/home.legacy/conf/starship/default.nix119
1 files changed, 119 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/starship/default.nix b/modules/home.legacy/conf/starship/default.nix
new file mode 100644
index 00000000..5db6eb8b
--- /dev/null
+++ b/modules/home.legacy/conf/starship/default.nix
@@ -0,0 +1,119 @@
+{
+ lib,
+ nixosConfig,
+ pkgs,
+ ...
+}: {
+ programs.starship = {
+ enable = true;
+ enableZshIntegration = true;
+ settings = {
+ add_newline = false;
+ format = lib.concatStrings [
+ "$directory"
+ "$username"
+ "$cmd_duration"
+ "$status"
+ "$character"
+ ];
+ right_format = lib.concatStrings (
+ [
+ "$git_metrics"
+ "$git_branch"
+ "$git_status"
+ "$git_commit"
+ "$git_state"
+ "$time"
+ ]
+ ++ lib.optional
+ nixosConfig.soispha.laptop.enable
+ "$battery"
+ );
+ scan_timeout = 20;
+ character = {
+ # success_symbol = "[❯](bold blue)";
+ # a = "⬢";
+ success_symbol = "[](bold blue)";
+ error_symbol = "[](bold red)";
+ };
+ status = {
+ disabled = false;
+ format = "([($common_meaning )($status)( $signal_name)]($style) )";
+ };
+ time = {
+ disabled = false;
+ format = "[\\[$time\\]]($style)";
+ };
+ username = {
+ format = "as [$user]($style) ";
+ };
+ git_branch = {
+ format = "[($symbol$branch(:$remote_branch) )]($style)";
+ };
+ git_status = {
+ disabled = true;
+ format = "([\\[$ahead_behind\\]]($style) )";
+ ahead = "⇡$count";
+ diverged = "⇕⇡$ahead_count⇣$behind_count";
+ behind = "⇣$count";
+ };
+ git_metrics = {
+ disabled = true;
+ ignore_submodules = true;
+ };
+ git_state = {
+ format = "[\($state( $progress_current of $progress_total)\)]($style) ";
+ rebase = "[rebasing](bold magenta)";
+ merge = "[merging](bold yellow)";
+ revert = "[reverting](bold blue)";
+ cherry_pick = "[picking](bold red)";
+ bisect = "[bisecting](bold red)";
+ am = "[applying](bold green)";
+ am_or_rebase = "[applying/rebasing](bold yellow)";
+ };
+ git_commit = {
+ disabled = true;
+ tag_disabled = false;
+ tag_symbol = "v";
+ format = "[(\\[$tag\\] )]($style)";
+ };
+ directory = {
+ truncate_to_repo = true;
+ read_only = " 󰌾";
+ before_repo_root_style = "black bold dimmed";
+ };
+ cmd_duration = {
+ min_time = 2000; # Milliseconds
+ style = "bold white";
+ };
+ custom = {
+ # status_output = {
+ # format = "$output";
+ # command = "if test $STARSHIP_CMD_STATUS -ne 0; then echo \"bold red\"; else echo \"bold cyan\"; fi";
+ # shell = [ "${pkgs.dash}" ];
+ # };
+ };
+ battery = {
+ # '󰁹 '
+ # '󰂄 '
+ # '󰂃 '
+ # '󰁽 '
+ # '󰂎 '
+ display = [
+ {
+ threshold = 10;
+ style = "bold red";
+ }
+ {
+ threshold = 30;
+ style = "bold blue";
+ }
+ {
+ threshold = 50;
+ style = "bold green";
+ }
+ ];
+ };
+ };
+ };
+}