From a63dc6a88a398e15ebb63ae43936bdf50cedc1b8 Mon Sep 17 00:00:00 2001 From: Fredrik Robertsen Date: Thu, 16 Jul 2026 07:29:17 +0200 Subject: [PATCH] nushell|starship: use kanagawa theme --- dotfiles/.config/nushell/config.nu | 107 +++++++++++++++++++++++++++++ dotfiles/.config/starship.toml | 33 ++++++--- 2 files changed, 132 insertions(+), 8 deletions(-) diff --git a/dotfiles/.config/nushell/config.nu b/dotfiles/.config/nushell/config.nu index f63b381..a193b2d 100644 --- a/dotfiles/.config/nushell/config.nu +++ b/dotfiles/.config/nushell/config.nu @@ -4,6 +4,8 @@ $env.config.completions.algorithm = "fuzzy" $env.config.completions.quick = true $env.config.completions.partial = true +$env.config.table.mode = 'dots' + source $"($nu.cache-dir)/carapace.nu" use $"($nu.cache-dir)/starship.nu" @@ -37,3 +39,108 @@ $env.config.hooks.pre_prompt = ( ) source ($nu.default-config-dir | path join "zoxide.nu") + +# ────────────────────────────────────────────────────── +# Kanagawa Theme for Nushell +# Based on: https://www.ssp.sh/brain/kanagawa/ +# Docs: https://www.nushell.sh/book/coloring_and_theming.html +# ────────────────────────────────────────────────────── + +# --- Kanagawa palette --- +let fujiWhite = "#DCD7BA" # Default foreground +let oldWhite = "#C8C093" # Dark foreground (statuslines) +let sumiInk0 = "#16161D" # Dark background +let sumiInk1 = "#1F1F28" # Default background +let sumiInk2 = "#2A2A37" # Lighter background +let sumiInk3 = "#363646" # Cursorline background +let sumiInk4 = "#54546D" # Darker foreground / borders +let waveBlue1 = "#223249" # Popup background +let waveBlue2 = "#2D4F67" # Popup selection background +let winterGreen = "#2B3328" # Diff Add (bg) +let winterYellow = "#49443C" # Diff Change (bg) +let winterRed = "#43242B" # Diff Delete (bg) +let winterBlue = "#252535" # Diff Change alt (bg) +let autumnGreen = "#76946A" # Diff Add (fg) +let autumnRed = "#C34043" # Diff Delete (fg) +let autumnYellow = "#DCA561" # Diff Change (fg) +let samuraiRed = "#E82424" # Error +let roninYellow = "#FF9E3B" # Warning +let waveAqua1 = "#6A9589" # Info +let dragonBlue = "#658594" # Hint +let crystalBlue = "#7E9CD8" # Functions +let springBlue = "#7FB4CA" # Specials / builtin functions +let waveAqua2 = "#7AA89F" # Types +let springGreen = "#98BB6C" # Strings +let boatYellow2 = "#C0A36E" # Operators, RegEx +let carpYellow = "#E6C384" # Identifiers +let sakuraPink = "#D27E99" # Numbers +let waveRed = "#E46876" # Builtin variables +let peachRed = "#FF5D62" # Exceptions, return +let surimiOrange = "#FFA066" # Constants, booleans +let oniViolet = "#957FB8" # Keywords, statements +let katanaGray = "#717C7C" # Deprecated / dimmed + +# --- Build the color_config record --- +let kanagawa_theme = { + # ── Table & UI ── + separator: $sumiInk4 + leading_trailing_space_bg: $sumiInk2 + header: $springBlue + datetime: $carpYellow + filesize: $springBlue + row_index: $carpYellow + hints: $katanaGray + + # ── Data types ── + bool: $surimiOrange + int: $sakuraPink + float: $sakuraPink + duration: $waveAqua2 + range: $waveAqua2 + string: $springGreen + nothing: $waveAqua1 + binary: $dragonBlue + cell-path: $waveAqua1 + + # ── Syntax shapes ── + shape_garbage: { fg: "#FFFFFF" bg: $samuraiRed attr: b } + shape_bool: $surimiOrange + shape_int: $sakuraPink + shape_float: $sakuraPink + shape_range: $waveAqua2 + shape_binary: $dragonBlue + shape_internalcall: $crystalBlue + shape_external: $springBlue + shape_externalarg: $springGreen + shape_literal: $oniViolet + shape_operator: $boatYellow2 + shape_signature: $crystalBlue + shape_string: $springGreen + shape_string_interpolation: $waveAqua2 + shape_datetime: $carpYellow + shape_directory: $springBlue + shape_filepath: $springBlue + shape_globpattern: $boatYellow2 + shape_variable: $waveRed + shape_vardecl: $carpYellow + shape_block: $oniViolet + shape_record: $oniViolet + shape_list: $oniViolet + shape_table: $oniViolet + shape_custom: $springGreen + shape_redirection: $boatYellow2 + shape_nothing: $waveAqua1 + shape_raw_string: $springGreen + shape_flag: $surimiOrange + + # ── Errors / status ── + shape_error: $samuraiRed + shape_warning: $roninYellow +} + +# ── Apply the theme ── +$env.config.color_config = $kanagawa_theme + +# ── LS_COLORS (optional, using Kanagawa-inspired values) ── +# Replace with `vivid generate ` if you prefer a curated set +$env.LS_COLORS = "di=38;2;126;156;216:fi=38;2;220;215;186:ln=38;2;126;180;216:pi=38;2;106;149;137:so=38;2;255;158;59:bd=38;2;232;36;36:cd=38;2;255;93;98:or=38;2;195;127;184:ex=38;2;152;187;108:*.tar=38;2;192;163;110:*.zip=38;2;192;163;110:*.gz=38;2;192;163;110:*.rs=38;2;126;156;216:*.nu=38;2;126;156;216:*.toml=38;2;192;163;110:*.json=38;2;192;163;110:*.md=38;2;152;187;108" diff --git a/dotfiles/.config/starship.toml b/dotfiles/.config/starship.toml index 7ec923d..d5b7cee 100644 --- a/dotfiles/.config/starship.toml +++ b/dotfiles/.config/starship.toml @@ -1,16 +1,32 @@ "$schema" = 'https://starship.rs/config-schema.json' format = "$directory$character" +continuation_prompt = "[.](bold $kanagawa.katanaGray) " -continuation_prompt = "[.](bright-black) " +# ── Kanagawa Palette ── +[palettes.kanagawa] +sumiInk1 = "#1F1F28" # background +fujiWhite = "#DCD7BA" # default foreground +springBlue = "#7FB4CA" # bright cyan/blues +springGreen = "#98BB6C" # strings/greens +sakuraPink = "#D27E99" # numbers/pinks +surimiOrange = "#FFA066" # constants/oranges +crystalBlue = "#7E9CD8" # accents +oniViolet = "#957FB8" # keywords/magentas +boatYellow2 = "#C0A36E" # operators/yellows +waveRed = "#E46876" # builtin vars/red +samuraiRed = "#E82424" # errors/deep red +roninYellow = "#FF9E3B" # warnings/orange +dragonBlue = "#658594" # hints/dark blues +katanaGray = "#717C7C" # deprecated/grays [character] -success_symbol = "[>](bold green)" -error_symbol = "[x](bold red)" -vimcmd_symbol = "[<](bold green)" -vimcmd_visual_symbol = "[<](bold yellow)" -vimcmd_replace_symbol = "[<](bold purple)" -vimcmd_replace_one_symbol = "[<](bold purple)" +success_symbol = "[>](bold $kanagawa.springGreen)" +error_symbol = "[x](bold $kanagawa.samuraiRed)" +vimcmd_symbol = "[<](bold $kanagawa.springGreen)" +vimcmd_visual_symbol = "[<](bold $kanagawa.oniViolet)" +vimcmd_replace_symbol = "[<](bold $kanagawa.oniViolet)" +vimcmd_replace_one_symbol = "[<](bold $kanagawa.oniViolet)" [git_commit] tag_symbol = " tag " @@ -76,7 +92,8 @@ format = "via [$symbol($version )(target $tfm )]($style)" symbol = ".NET " [directory] -read_only = " ro" +style = "bold $kanagawa.springGreen" +read_only = " $kanagawa.katanaGray" [docker_context] symbol = "docker "