{ config, pkgs, lib, user, ... }: { # NixOS: Install Starship system-wide (optional) environment.systemPackages = with pkgs; [ starship ]; # Home Manager: Configure Starship for the user home-manager.users.${user.username} = { programs.starship = { enable = true; # Enables Starship and adds init to shell configs settings = { # Example: Catppuccin Mocha theme add_newline = false; format = "$all"; [character] success_symbol = "[❯](bold green)" error_symbol = "[❯](bold red)" vicmd_symbol = "[❮](bold blue)" [directory] truncation_length = 3 style = "bold blue" [git_branch] symbol = " " style = "bold purple" format = "[$symbol$branch]($style) " }; }; # Optional: Manually ensure Starship init is in shell configs xdg.configFile."bashrc".text = lib.concatStringsSep "\n" [ "${config.programs.starship.extraInit}" "eval \"$(starship init bash)\"" ]; xdg.configFile."zshrc".text = lib.concatStringsSep "\n" [ "${config.programs.starship.extraInit}" "eval \"$(starship init zsh)\"" ]; }; }