From 3af0488e7e8f709b92027f5240f8ebfc59833045 Mon Sep 17 00:00:00 2001 From: Youwen Wu Date: Tue, 29 Oct 2024 19:41:34 -0700 Subject: [PATCH] feat: switch from oh-my-posh to starship --- users/youwen/common/core.nix | 11 +- users/youwen/common/jetpack.toml | 315 +++++++++++++++++++++++++++++++ 2 files changed, 318 insertions(+), 8 deletions(-) create mode 100644 users/youwen/common/jetpack.toml diff --git a/users/youwen/common/core.nix b/users/youwen/common/core.nix index 526c5a8..78aca86 100755 --- a/users/youwen/common/core.nix +++ b/users/youwen/common/core.nix @@ -1,12 +1,6 @@ { pkgs, ... }: let - inherit (builtins) fromTOML readFile fetchurl; - rose-pine-starship = fromTOML ( - readFile (fetchurl { - url = "https://raw.githubusercontent.com/rose-pine/starship/f8b3cdc0aefecae9e7e5999ecad97d4701a6e602/rose-pine.toml"; - sha256 = "sha256:1ywk5xjl3vhyyc7iq89h01ry3nzs78spp5zf495fh0m0wnalrxvq"; - }) - ); + inherit (builtins) readFile; in { home.file.".essentials" = { @@ -91,9 +85,10 @@ in enableFishIntegration = true; enableBashIntegration = true; enableNushellIntegration = true; - settings = rose-pine-starship; }; + home.file.".config/starship.toml".text = readFile ./jetpack.toml; + programs.direnv = { enable = true; nix-direnv.enable = true; diff --git a/users/youwen/common/jetpack.toml b/users/youwen/common/jetpack.toml new file mode 100644 index 0000000..2d209c7 --- /dev/null +++ b/users/youwen/common/jetpack.toml @@ -0,0 +1,315 @@ +# version: 1.0.0 + +add_newline = false +continuation_prompt = "[▸▹ ](dimmed white)" + +format = """( $nix_shell$container$fill$git_metrics\n)$cmd_duration\ +$hostname\ +$localip\ +$shlvl\ +$shell\ +$env_var\ +$jobs\ +$sudo\ +$username\ +$character""" + +right_format = """ +$singularity\ +$kubernetes\ +$directory\ +$vcsh\ +$fossil_branch\ +$git_branch\ +$git_commit\ +$git_state\ +$git_status\ +$hg_branch\ +$pijul_channel\ +$docker_context\ +$package\ +$c\ +$cmake\ +$cobol\ +$daml\ +$dart\ +$deno\ +$dotnet\ +$elixir\ +$elm\ +$erlang\ +$fennel\ +$golang\ +$guix_shell\ +$haskell\ +$haxe\ +$helm\ +$java\ +$julia\ +$kotlin\ +$gradle\ +$lua\ +$nim\ +$nodejs\ +$ocaml\ +$opa\ +$perl\ +$php\ +$pulumi\ +$purescript\ +$python\ +$raku\ +$rlang\ +$red\ +$ruby\ +$rust\ +$scala\ +$solidity\ +$swift\ +$terraform\ +$vlang\ +$vagrant\ +$zig\ +$buf\ +$conda\ +$meson\ +$spack\ +$memory_usage\ +$aws\ +$gcloud\ +$openstack\ +$azure\ +$crystal\ +$custom\ +$status\ +$os\ +$battery\ +$time""" + +[fill] +symbol = ' ' + +[character] +format = "$symbol " +success_symbol = "[◎](bold italic bright-yellow)" +error_symbol = "[○](italic purple)" +vimcmd_symbol = "[■](italic dimmed green)" +# not supported in zsh +vimcmd_replace_one_symbol = "◌" +vimcmd_replace_symbol = "□" +vimcmd_visual_symbol = "▼" + +[env_var.VIMSHELL] +format = "[$env_value]($style)" +style = 'green italic' + +[sudo] +format = "[$symbol]($style)" +style = "bold italic bright-purple" +symbol = "⋈┈" +disabled = false + +[username] +style_user = "bright-yellow bold italic" +style_root = "purple bold italic" +format = "[⭘ $user]($style) " +disabled = false +show_always = false + +[directory] +home_symbol = "⌂" +truncation_length = 2 +truncation_symbol = "□ " +read_only = " ◈" +use_os_path_sep = true +style = "italic blue" +format = '[$path]($style)[$read_only]($read_only_style)' +repo_root_style = 'bold blue' +repo_root_format = '[$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) [△](bold bright-blue)' + +[cmd_duration] +format = "[◄ $duration ](italic white)" + +[jobs] +format = "[$symbol$number]($style) " +style = "white" +symbol = "[▶](blue italic)" + +[localip] +ssh_only = true +format = " ◯[$localipv4](bold magenta)" +disabled = false + +[time] +disabled = false +format = "[ $time]($style)" +time_format = "%R" +utc_time_offset = "local" +style = "italic dimmed white" + +[battery] +format = "[ $percentage $symbol]($style)" +full_symbol = "█" +charging_symbol = "[↑](italic bold green)" +discharging_symbol = "↓" +unknown_symbol = "░" +empty_symbol = "▃" + +[[battery.display]] +threshold = 20 +style = "italic bold red" + +[[battery.display]] +threshold = 60 +style = "italic dimmed bright-purple" + +[[battery.display]] +threshold = 70 +style = "italic dimmed yellow" + +[git_branch] +format = " [$branch(:$remote_branch)]($style)" +symbol = "[△](bold italic bright-blue)" +style = "italic bright-blue" +truncation_symbol = "⋯" +truncation_length = 11 +ignore_branches = ["main", "master"] +only_attached = true + +[git_metrics] +format = '([▴$added]($added_style))([▿$deleted]($deleted_style))' +added_style = 'italic dimmed green' +deleted_style = 'italic dimmed red' +ignore_submodules = true +disabled = false + +[git_status] +style = "bold italic bright-blue" +format = "([⎪$ahead_behind$staged$modified$untracked$renamed$deleted$conflicted$stashed⎥]($style))" +conflicted = "[◪◦](italic bright-magenta)" +ahead = "[▴│[${count}](bold white)│](italic green)" +behind = "[▿│[${count}](bold white)│](italic red)" +diverged = "[◇ ▴┤[${ahead_count}](regular white)│▿┤[${behind_count}](regular white)│](italic bright-magenta)" +untracked = "[◌◦](italic bright-yellow)" +stashed = "[◃◈](italic white)" +modified = "[●◦](italic yellow)" +staged = "[▪┤[$count](bold white)│](italic bright-cyan)" +renamed = "[◎◦](italic bright-blue)" +deleted = "[✕](italic red)" + +[deno] +format = " [deno](italic) [∫ $version](green bold)" +version_format = "${raw}" + +[lua] +format = " [lua](italic) [${symbol}${version}]($style)" +version_format = "${raw}" +symbol = "⨀ " +style = "bold bright-yellow" + +[nodejs] +format = " [node](italic) [◫ ($version)](bold bright-green)" +version_format = "${raw}" +detect_files = ["package-lock.json", "yarn.lock"] +detect_folders = ["node_modules"] +detect_extensions = [] + +[python] +format = " [py](italic) [${symbol}${version}]($style)" +symbol = "[⌉](bold bright-blue)⌊ " +version_format = "${raw}" +style = "bold bright-yellow" + +[ruby] +format = " [rb](italic) [${symbol}${version}]($style)" +symbol = "◆ " +version_format = "${raw}" +style = "bold red" + +[rust] +format = " [rs](italic) [$symbol$version]($style)" +symbol = "⊃ " +version_format = "${raw}" +style = "bold red" + +[package] +format = " [pkg](italic dimmed) [$symbol$version]($style)" +version_format = "${raw}" +symbol = "◨ " +style = "dimmed yellow italic bold" + +[swift] +format = " [sw](italic) [${symbol}${version}]($style)" +symbol = "◁ " +style = "bold bright-red" +version_format = "${raw}" + +[aws] +disabled = true +format = " [aws](italic) [$symbol $profile $region]($style)" +style = "bold blue" +symbol = "▲ " + +[buf] +symbol = "■ " +format = " [buf](italic) [$symbol $version $buf_version]($style)" + +[c] +symbol = "ℂ " +format = " [$symbol($version(-$name))]($style)" + +[conda] +symbol = "◯ " +format = " conda [$symbol$environment]($style)" + +[dart] +symbol = "◁◅ " +format = " dart [$symbol($version )]($style)" + +[docker_context] +symbol = "◧ " +format = " docker [$symbol$context]($style)" + +[elixir] +symbol = "△ " +format = " exs [$symbol $version OTP $otp_version ]($style)" + +[elm] +symbol = "◩ " +format = " elm [$symbol($version )]($style)" + +[golang] +symbol = "∩ " +format = " go [$symbol($version )]($style)" + +[haskell] +symbol = "❯λ " +format = " hs [$symbol($version )]($style)" + +[java] +symbol = "∪ " +format = " java [${symbol}(${version} )]($style)" + +[julia] +symbol = "◎ " +format = " jl [$symbol($version )]($style)" + +[memory_usage] +symbol = "▪▫▪ " +format = " mem [${ram}( ${swap})]($style)" + +[nim] +symbol = "▴▲▴ " +format = " nim [$symbol($version )]($style)" + +[nix_shell] +style = 'bold italic dimmed blue' +symbol = '󱄅' +format = '[$symbol nix⎪$state⎪]($style) [$name](italic dimmed white)' +impure_msg = '[⌽](bold dimmed red)' +pure_msg = '[⌾](bold dimmed green)' +unknown_msg = '[◌](bold dimmed ellow)' + +[spack] +symbol = "◇ " +format = " spack [$symbol$environment]($style)"