diff options
| author | Arpit Chakladar <arpitchakladar@proton.me> | 2026-04-24 01:48:30 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar@proton.me> | 2026-04-24 01:48:30 +0530 |
| commit | 3e232a2bc7f5c8ea33804be1ea071a91c5f98055 (patch) | |
| tree | f772b5d7d393cacf708d845acb75b55c12d3e625 /modules/programs/starship | |
| parent | 606716e0a4b8cbeb9076fb88b6b92664a5a24081 (diff) | |
| download | home-manager-config-3e232a2bc7f5c8ea33804be1ea071a91c5f98055.tar.gz home-manager-config-3e232a2bc7f5c8ea33804be1ea071a91c5f98055.zip | |
replacing tools with programs to be more consistent with config options
Diffstat (limited to 'modules/programs/starship')
| -rw-r--r-- | modules/programs/starship/default.nix | 63 |
1 files changed, 63 insertions, 0 deletions
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"; + }; + }; + }; + }; +} |
