From fd9b0ecef4142a62b45404700ba1cff488f84a73 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Thu, 23 May 2024 13:31:11 +0200 Subject: refactor(modules/home): Setup as "normal" NixOS module --- modules/home/conf/starship/default.nix | 119 +++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 modules/home/conf/starship/default.nix (limited to 'modules/home/conf/starship/default.nix') diff --git a/modules/home/conf/starship/default.nix b/modules/home/conf/starship/default.nix new file mode 100644 index 00000000..5db6eb8b --- /dev/null +++ b/modules/home/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"; + } + ]; + }; + }; + }; +} -- cgit 1.4.1