{ config, lib, pkgs, ... }: { config = lib.mkIf config.software.usershell.enable { programs.zsh = { enable = true; autosuggestions = { enable = true; async = true; }; syntaxHighlighting = { enable = true; }; }; programs.starship = let raisin_black = "#262932"; blood_red = "#710000"; rich_lemon = "#FDF500"; keppel = "#1AC5B0"; electric_blue = "#36EBF3"; blushing_purple = "#9370DB"; frostbite = "#E455AE"; steel_pink = "#CB1DCD"; pale_silver = "#D1C5C0"; in { enable = true; settings = { format = "[ ](${rich_lemon})[ CrOS](bg:${rich_lemon} fg:${raisin_black})$username$hostname[ ](fg:${rich_lemon} bg:${blushing_purple})$directory[ ](fg:${blushing_purple} bg:${frostbite})$git_branch$git_status[ ](fg:${frostbite} bg:${steel_pink})$nix_shell[ ](${steel_pink})"; right_format = "[ ](${rich_lemon})$time[ ](${rich_lemon})"; # Left Modules username = { disabled = false; format = "[$user]($style)"; style_user = "fg:${keppel} bg:${rich_lemon}"; style_root = "fg:${blood_red} bg:${rich_lemon}"; }; hostname = { disabled = false; format = "[@$hostname]($style)"; style = "fg:${keppel} bg:${rich_lemon}"; ssh_only = true; ssh_symbol = ""; }; directory = { disabled = false; format = "[ $path ]($style)"; style = "bg:${blushing_purple} fg:${raisin_black}"; truncation_length = 3; truncation_symbol = "…/"; }; git_branch = { disabled = false; format = "[ $symbol $branch ]($style)"; symbol = ""; style = "fg:${raisin_black} bg:${frostbite}"; }; git_status = { disabled = false; format = "[$all_status$ahead_behind]($style)"; style = "fg:${raisin_black} bg:${frostbite}"; }; nix_shell = { disabled = false; format = "[$symbol $name]($style)"; style = "bg:${steel_pink} fg:${electric_blue}"; symbol = ""; }; # Right Modules time = { disabled = false; format = "[$time]($style)"; style = "fg:${raisin_black} bg:${rich_lemon}"; }; }; }; users.defaultUserShell = pkgs.zsh; }; }