{config, ...}: { programs.starship = { enable = true; settings = { # Pro layout: one-line, clear spacing format = '' [](surface0)$os$directory[](fg:surface0 bg:peach)$git_branch$git_status[](fg:peach bg:surface1)$c$rust$nodejs$python$golang[](fg:surface1 bg:surface0)$nix_shell[](surface0) $character''; # Palette definition (Catppuccin Mocha-inspired) # Tell Starship to use the palette Stylix is already generating palette = "base16"; # Map your custom names to Stylix/Base16 colors # Stylix colors are available at: config.lib.stylix.colors.withHashtag.base0X palettes.base16 = { # Using standard Catppuccin/Base16 mapping surface0 = "${config.lib.stylix.colors.withHashtag.base00}"; # Darkest BG surface1 = "${config.lib.stylix.colors.withHashtag.base01}"; # Slightly lighter BG text = "${config.lib.stylix.colors.withHashtag.base05}"; # Main Text peach = "${config.lib.stylix.colors.withHashtag.base09}"; # Orange accent lavender = "${config.lib.stylix.colors.withHashtag.base0E}"; # Purple accent sapphire = "${config.lib.stylix.colors.withHashtag.base0C}"; # Cyan accent }; os = { disabled = false; format = "[$symbol]($style)"; style = "bg:surface0 fg:text"; symbols = {NixOS = " ";}; }; directory = { style = "bg:surface0 fg:lavender"; format = "[ $path ]($style)"; truncation_length = 3; truncation_symbol = "…/"; }; git_branch = { symbol = "󰊢 "; style = "bg:peach fg:surface0"; format = "[[ $symbol $branch ]($style)]($style)"; }; git_status = { style = "bg:peach fg:surface0"; format = "[[($all_status$ahead_behind )]($style)]($style)"; }; nix_shell = { symbol = "󱄅 "; style = "bg:surface0 fg:sapphire"; format = "[ $symbol $state ]($style)"; }; character = { success_symbol = "[󱞩](bold green)"; error_symbol = "[󱞩](bold red)"; }; }; }; }