From 01aaa7ad39c1fe8af6ffbca31abbab27dbfefc95 Mon Sep 17 00:00:00 2001 From: Arpit Chakladar Date: Wed, 15 Jul 2026 20:02:29 +0530 Subject: refactor: organized the modules into better categories Instead of lumping everything in modules/programs we are separating them into separate directories in modules/ --- modules/terminal/starship/default.nix | 63 +++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 modules/terminal/starship/default.nix (limited to 'modules/terminal/starship') diff --git a/modules/terminal/starship/default.nix b/modules/terminal/starship/default.nix new file mode 100644 index 0000000..ae5e082 --- /dev/null +++ b/modules/terminal/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