179 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			179 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
let
 | 
						|
  inherit (builtins) concatStringsSep;
 | 
						|
in
 | 
						|
{
 | 
						|
  programs.starship = {
 | 
						|
    enable = true;
 | 
						|
    enableZshIntegration = true;
 | 
						|
 | 
						|
    settings = {
 | 
						|
      add_newline = false;
 | 
						|
 | 
						|
      # https://starship.rs/config/#prompt
 | 
						|
      format = concatStringsSep "" [
 | 
						|
        "\n"
 | 
						|
        "$username"
 | 
						|
        "$hostname"
 | 
						|
        "$directory"
 | 
						|
        "$vcsh"
 | 
						|
        "$git_branch"
 | 
						|
        "$git_status"
 | 
						|
        "$git_metrics"
 | 
						|
        "$docker_context"
 | 
						|
        "$nodejs"
 | 
						|
        "$php"
 | 
						|
        "$terraform"
 | 
						|
        "$nix_shell"
 | 
						|
        "$direnv"
 | 
						|
        "\${custom.mob}"
 | 
						|
        "$memory_usage"
 | 
						|
        "$cmd_duration"
 | 
						|
        "$lua"
 | 
						|
        "$status"
 | 
						|
        "$character"
 | 
						|
      ];
 | 
						|
 | 
						|
      cmd_duration.disabled = true;
 | 
						|
      direnv.disabled = false;
 | 
						|
      directory.format = "in [$path]($style) ";
 | 
						|
      git_status.disabled = true;
 | 
						|
      nix_shell.disabled = true;
 | 
						|
      nodejs.disabled = true;
 | 
						|
      php.disabled = true;
 | 
						|
 | 
						|
      username = {
 | 
						|
        format = "[$user]($style) ";
 | 
						|
        show_always = true;
 | 
						|
      };
 | 
						|
 | 
						|
      custom = {
 | 
						|
        mob = {
 | 
						|
          command = "echo $MOB_TIMER_ROOM";
 | 
						|
          format = "[($output)]($style) ";
 | 
						|
          when = "[[ -v MOB_TIMER_ROOM ]]";
 | 
						|
        };
 | 
						|
      };
 | 
						|
 | 
						|
      # https://starship.rs/presets/plain-text
 | 
						|
      aws.symbol = "aws ";
 | 
						|
      azure.symbol = "az ";
 | 
						|
      bun.symbol = "bun ";
 | 
						|
      c.symbol = "C ";
 | 
						|
      character = {
 | 
						|
        success_symbol = "[>](bold green)";
 | 
						|
        error_symbol = "[x](bold red)";
 | 
						|
        vimcmd_symbol = "[<](bold green)";
 | 
						|
      };
 | 
						|
      cobol.symbol = "cobol ";
 | 
						|
      conda.symbol = "conda ";
 | 
						|
      crystal.symbol = "cr ";
 | 
						|
      cmake.symbol = "cmake ";
 | 
						|
      daml.symbol = "daml ";
 | 
						|
      dart.symbol = "dart ";
 | 
						|
      deno.symbol = "deno ";
 | 
						|
      dotnet.symbol = ".NET ";
 | 
						|
      directory.read_only = " ro";
 | 
						|
      docker_context.symbol = "docker ";
 | 
						|
      elixir.symbol = "exs ";
 | 
						|
      elm.symbol = "elm ";
 | 
						|
      fennel.symbol = "fnl ";
 | 
						|
      fossil_branch.symbol = "fossil ";
 | 
						|
      gcloud.symbol = "gcp ";
 | 
						|
      git_branch.symbol = "git ";
 | 
						|
      git_commit.tag_symbol = " tag ";
 | 
						|
      git_status = {
 | 
						|
        ahead = ">";
 | 
						|
        behind = "<";
 | 
						|
        diverged = "<>";
 | 
						|
        renamed = "r";
 | 
						|
        deleted = "x";
 | 
						|
      };
 | 
						|
      gleam.symbol = "gleam ";
 | 
						|
      golang.symbol = "go ";
 | 
						|
      gradle.symbol = "gradle ";
 | 
						|
      guix_shell.symbol = "guix ";
 | 
						|
      hg_branch.symbol = "hg ";
 | 
						|
      java.symbol = "java ";
 | 
						|
      julia.symbol = "jl ";
 | 
						|
      kotlin.symbol = "kt ";
 | 
						|
      lua.symbol = "lua ";
 | 
						|
      nodejs.symbol = "nodejs ";
 | 
						|
      memory_usage.symbol = "memory ";
 | 
						|
      meson.symbol = "meson ";
 | 
						|
      nats.symbol = "nats ";
 | 
						|
      nim.symbol = "nim ";
 | 
						|
      nix_shell.symbol = "nix ";
 | 
						|
      ocaml.symbol = "ml ";
 | 
						|
      opa.symbol = "opa ";
 | 
						|
      os.symbols = {
 | 
						|
        AIX = "aix ";
 | 
						|
        Alpaquita = "alq ";
 | 
						|
        AlmaLinux = "alma ";
 | 
						|
        Alpine = "alp ";
 | 
						|
        Amazon = "amz ";
 | 
						|
        Android = "andr ";
 | 
						|
        Arch = "rch ";
 | 
						|
        Artix = "atx ";
 | 
						|
        CentOS = "cent ";
 | 
						|
        Debian = "deb ";
 | 
						|
        DragonFly = "dfbsd ";
 | 
						|
        Emscripten = "emsc ";
 | 
						|
        EndeavourOS = "ndev ";
 | 
						|
        Fedora = "fed ";
 | 
						|
        FreeBSD = "fbsd ";
 | 
						|
        Garuda = "garu ";
 | 
						|
        Gentoo = "gent ";
 | 
						|
        HardenedBSD = "hbsd ";
 | 
						|
        Illumos = "lum ";
 | 
						|
        Kali = "kali ";
 | 
						|
        Linux = "lnx ";
 | 
						|
        Mabox = "mbox ";
 | 
						|
        Macos = "mac ";
 | 
						|
        Manjaro = "mjo ";
 | 
						|
        Mariner = "mrn ";
 | 
						|
        MidnightBSD = "mid ";
 | 
						|
        Mint = "mint ";
 | 
						|
        NetBSD = "nbsd ";
 | 
						|
        NixOS = "nix ";
 | 
						|
        OpenBSD = "obsd ";
 | 
						|
        OpenCloudOS = "ocos ";
 | 
						|
        openEuler = "oeul ";
 | 
						|
        openSUSE = "osuse ";
 | 
						|
        OracleLinux = "orac ";
 | 
						|
        Pop = "pop ";
 | 
						|
        Raspbian = "rasp ";
 | 
						|
        Redhat = "rhl ";
 | 
						|
        RedHatEnterprise = "rhel ";
 | 
						|
        RockyLinux = "rky ";
 | 
						|
        Redox = "redox ";
 | 
						|
        Solus = "sol ";
 | 
						|
        SUSE = "suse ";
 | 
						|
        Ubuntu = "ubnt ";
 | 
						|
        Ultramarine = "ultm ";
 | 
						|
        Unknown = "unk ";
 | 
						|
        Void = "void ";
 | 
						|
        Windows = "win ";
 | 
						|
      };
 | 
						|
      package.symbol = "pkg ";
 | 
						|
      perl.symbol = "pl ";
 | 
						|
      php.symbol = "php ";
 | 
						|
      pijul_channel.symbol = "pijul ";
 | 
						|
      pulumi.symbol = "pulumi ";
 | 
						|
      purescript.symbol = "purs ";
 | 
						|
      python.symbol = "py ";
 | 
						|
      quarto.symbol = "quarto ";
 | 
						|
      raku.symbol = "raku ";
 | 
						|
      ruby.symbol = "rb ";
 | 
						|
      rust.symbol = "rs ";
 | 
						|
      scala.symbol = "scala ";
 | 
						|
      spack.symbol = "spack ";
 | 
						|
      solidity.symbol = "solidity ";
 | 
						|
      status.symbol = "[x](bold red) ";
 | 
						|
      sudo.symbol = "sudo ";
 | 
						|
      swift.symbol = "swift ";
 | 
						|
      typst.symbol = "typst ";
 | 
						|
      terraform.symbol = "terraform ";
 | 
						|
      zig.symbol = "zig ";
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |