zaphyra's git: nixfiles

zaphyra and void's nixfiles

commit 33d0155e1985f7ef098606b098a3bf4d9e34d102
parent 3cd403a26b5da51a2423d6a2c60bdc1327149706
Author: Katja (zaphyra) <git@ctu.cx>
Date: Mon, 9 Jun 2025 18:27:23 +0200

config/home/zaphyra/programs/starship: update config
1 file changed, 149 insertions(+), 6 deletions(-)
M
config/home/zaphyra/programs/starship.nix
|
155
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
diff --git a/config/home/zaphyra/programs/starship.nix b/config/home/zaphyra/programs/starship.nix
@@ -1,4 +1,4 @@
-{ ... }:
+{ lib, ... }:
 
 {
 

@@ -7,12 +7,155 @@
     enableFishIntegration = true;
     enableZshIntegration = true;
 
-    settings = {
-      add_newline = false;
-      status = {
-        disabled = false;
+    settings =
+      let
+        lang = symbol: style: format: { inherit symbol style format; };
+
+      in
+      {
+        format = lib.concatStrings [
+          "[](color_orange)"
+          "$os"
+          "$username"
+          "[](bg:color_yellow fg:color_orange)"
+          "$directory"
+          "[](fg:color_yellow bg:color_aqua)"
+          "$git_branch"
+          "$git_status"
+          "[](fg:color_aqua bg:color_blue)"
+          "$c"
+          "$rust"
+          "$golang"
+          "$nodejs"
+          "$php"
+          "$java"
+          "$kotlin"
+          "$haskell"
+          "$python"
+          "[](fg:color_blue bg:color_bg3)"
+          "$docker_context"
+          "$conda"
+          "[](fg:color_bg3 bg:color_bg1)"
+          "$time"
+          "[ ](fg:color_bg1)"
+          "$line_break$character"
+        ];
+
+        add_newline = false;
+
+        palette = "gruvbox_dark";
+
+        palettes.gruvbox_dark = {
+          color_fg0 = "#fbf1c7";
+          color_bg1 = "#3c3836";
+          color_bg3 = "#665c54";
+          color_blue = "#458588";
+          color_aqua = "#689d6a";
+          color_green = "#98971a";
+          color_orange = "#d65d0e";
+          color_purple = "#b16286";
+          color_red = "#cc241d";
+          color_yellow = "#d79921";
+        };
+
+        os = {
+          disabled = false;
+          style = "bg:color_orange fg:color_fg0";
+
+          symbols = {
+            Windows = "󰍲";
+            Ubuntu = "󰕈";
+            SUSE = "";
+            Raspbian = "󰐿";
+            Mint = "󰣭";
+            Macos = "󰀵";
+            Manjaro = "";
+            Linux = "󰌽";
+            Gentoo = "󰣨";
+            Fedora = "󰣛";
+            Alpine = "";
+            Amazon = "";
+            Android = "";
+            Arch = "󰣇";
+            Artix = "󰣇";
+            CentOS = "";
+            Debian = "󰣚";
+            Redhat = "󱄛";
+            RedHatEnterprise = "󱄛";
+          };
+        };
+
+        username = {
+          show_always = true;
+          style_user = "bg:color_orange fg:color_fg0";
+          style_root = "bg:color_orange fg:color_fg0";
+          format = "[ $user ]($style)";
+        };
+
+        directory = {
+          style = "fg:color_fg0 bg:color_yellow";
+          format = "[ $path ]($style)";
+          truncation_length = 3;
+          truncation_symbol = "…/";
+
+          substitutions = {
+            "Documents" = "󰈙 ";
+            "Downloads" = " ";
+            "Music" = "󰝚 ";
+            "Pictures" = " ";
+            "Developer" = "󰲋 ";
+          };
+        };
+
+        line_break.disabled = false;
+        status.disabled = false;
+
+        git_branch = {
+          symbol = "";
+          style = "bg:color_aqua";
+          format = "[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)";
+        };
+
+        git_status = {
+          style = "bg:color_aqua";
+          format = "[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)";
+        };
+
+        conda = {
+          style = "bg:color_bg3";
+          format = "[[ $symbol( $environment) ](fg:#83a598 bg:color_bg3)]($style)";
+        };
+
+        time = {
+          disabled = false;
+          time_format = "%R";
+          style = "bg:color_bg1";
+          format = "[[  $time ](fg:color_fg0 bg:color_bg1)]($style)";
+        };
+
+        character = {
+          disabled = false;
+          success_symbol = "[](bold fg:color_green)";
+          error_symbol = "[](bold fg:color_red)";
+          vimcmd_symbol = "[](bold fg:color_green)";
+          vimcmd_replace_one_symbol = "[](bold fg:color_purple)";
+          vimcmd_replace_symbol = "[](bold fg:color_purple)";
+          vimcmd_visual_symbol = "[](bold fg:color_yellow)";
+        };
+
+        nodejs = lang "" "bg:color_blue" "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
+        c = lang " " "bg:color_blue" "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
+        rust = lang "" "bg:color_blue" "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
+        golang = lang "" "bg:color_blue" "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
+        php = lang "" "bg:color_blue" "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
+        java = lang " " "bg:color_blue" "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
+        kotlin = lang "" "bg:color_blue" "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
+        haskell = lang "" "bg:color_blue" "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
+        python = lang "" "bg:color_blue" "[[ $symbol( $version) ](fg:color_fg0 bg:color_blue)]($style)";
+        docker_context =
+          lang "" "bg:color_bg3"
+            "[[ $symbol( $context) ](fg:#83a598 bg:color_bg3)]($style)";
       };
-    };
   };
 
 }