From 3e232a2bc7f5c8ea33804be1ea071a91c5f98055 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Fri, 24 Apr 2026 01:48:30 +0530 Subject: replacing tools with programs to be more consistent with config options --- modules/programs/starship/default.nix | 63 +++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 modules/programs/starship/default.nix (limited to 'modules/programs/starship') diff --git a/modules/programs/starship/default.nix b/modules/programs/starship/default.nix new file mode 100644 index 0000000..ae5e082 --- /dev/null +++ b/modules/programs/starship/default.nix @@ -0,0 +1,63 @@ +{ config, lib, ... }: + +# Starship - Minimal, blazing-fast shell prompt +{ + config = lib.mkIf config.programs.starship.enable { + programs.starship = { + enableZshIntegration = config.programs.zsh.enable; + settings = + let + mkSegment = content: ''[┄\[](red)[${content}]($style)[\]](red)''; + in + { + add_newline = true; + + format = ''''\n[╭─\[](red)$username[@](red)$hostname[\]](red)$directory$git_branch$git_status$nix_shell''\n[╰─](red)$status$character ''\n''; + + character.format = "[](red)"; + + username = { + style_user = "blue"; + style_root = "red bold"; + format = "[$user]($style)"; + show_always = true; + }; + + hostname = { + ssh_only = false; + style = "green"; + format = "[$hostname]($style)"; + }; + + directory = { + style = "purple"; + truncate_to_repo = false; + format = mkSegment "$path"; + }; + + git_branch = { + style = "bold yellow"; + format = ''[┄\[](red)[$symbol$branch(:$remote_branch)]($style)''; + }; + + git_status = { + style = "cyan"; + format = ''( [$all_status$ahead_behind]($style))[\]](red)''; + }; + + nix_shell = { + format = mkSegment "$symbol $state( \($name\))"; + symbol = "󱄅"; + impure_msg = "󰻌"; + pure_msg = "󰕥"; + }; + + status = { + disabled = false; + format = "${mkSegment "$symbol $status"}[┄─](red)"; + style = "white"; + }; + }; + }; + }; +} -- cgit v1.2.3