diff --git a/users/willifan/common/shell/default.nix b/users/willifan/common/shell/default.nix index c362ab4..08704ad 100644 --- a/users/willifan/common/shell/default.nix +++ b/users/willifan/common/shell/default.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { imports = [ @@ -8,4 +8,6 @@ ./zsh.nix ]; + users.users.willifan.shell = pkgs.nushell; + } diff --git a/users/willifan/common/shell/starship.nix b/users/willifan/common/shell/starship.nix index facb35d..585f20e 100644 --- a/users/willifan/common/shell/starship.nix +++ b/users/willifan/common/shell/starship.nix @@ -1,4 +1,160 @@ -{ ... }: +{ lib, config, ... }: { + home-manager.users.willifan.programs.starship = { + enable = true; + enableNushellIntegration = true; + settings = { + format = lib.concatStrings [ + "[  ](fg:twelve bg:trans_blue)" + "[ ](bg:trans_blue)[ ](fg:trans_blue bg:trans_pink)" + "$hostname" + "[ ](bg:trans_pink)[ ](fg:trans_pink bg:trans_white)" + "$directory" + "[ ](bg:trans_white)[ ](fg:trans_white bg:trans_pink)" + "(" + "$git_branch" + "$git_status" + ")" + "[ ](bg:trans_pink)[ ](fg:trans_pink bg:trans_blue)" + "$character" + ]; + + right_format = lib.concatStrings [ + "$cmd_duration" + "(" + "$python" + "$conda" + "$c" + "$cmake" + "$golang" + "$haskell" + "$rust" + ")" + ]; + + palette = "stylix"; + + # Disables the blank line at the start of the prompt + add_newline = true; + + + palettes.stylix = { + first = config.lib.stylix.colors.withHashtag.base00; + second = config.lib.stylix.colors.withHashtag.base01; + third = config.lib.stylix.colors.withHashtag.base02; + fourth = config.lib.stylix.colors.withHashtag.base03; + fifth = config.lib.stylix.colors.withHashtag.base04; + sixth = config.lib.stylix.colors.withHashtag.base05; + seventh = config.lib.stylix.colors.withHashtag.base06; + eighth = config.lib.stylix.colors.withHashtag.base07; + baseeight = config.lib.stylix.colors.withHashtag.base08; + basenine = config.lib.stylix.colors.withHashtag.base09; + ten = config.lib.stylix.colors.withHashtag.base0A; + eleven = config.lib.stylix.colors.withHashtag.base0B; + twelve = config.lib.stylix.colors.withHashtag.base0C; + thirteen = config.lib.stylix.colors.withHashtag.base0D; + fourteen = config.lib.stylix.colors.withHashtag.base0E; + fifteen = config.lib.stylix.colors.withHashtag.base0F; + trans_blue = "#55CDFD"; + trans_pink = "#F6AAB7"; + trans_white = "#FFFFFF"; + pride_red = "#FF1E26"; + pride_orange = "#FE941E"; + pride_yellow = "#FFFF00"; + pride_green = "#06BD00"; + pride_blue = "#001A98"; + pride_violet = "#760088"; + # Text color: + black = "#272D37"; + white = "#CBF4F8"; + github = "#B02B10"; + }; + + hostname = { + ssh_only = false; + style = "bg:trans_pink fg:twelve"; + format = "[$hostname](bold $style)"; + }; + + directory = { + style = "bg:trans_white fg:twelve"; + format = "[ $path](bold $style)($style)[$read_only](bold $style)"; + truncation_symbol = "…/"; + truncate_to_repo = true; + read_only =" "; + }; + + c = { + symbol = " "; + version_format = "\${raw}"; + style = "bg:fourth fg:white"; + format = "[$symbol($version) ]($style)"; + }; + + cmake = { + symbol = "△ "; + version_format = "\${raw}"; + style = "bg:fourth fg:white"; + format = "[$symbol($version) ]($style)"; + }; + + golang = { + symbol = " "; + version_format = "\${raw}"; + style = "bg:fourth fg:white"; + format = "[$symbol($version) ]($style)"; + }; + + python = { + symbol = " "; + version_format = "\${raw}"; + style = "bg:fourth fg:white"; + python_binary = ["./venv/bin/python" "./env/Scripts/python" "python" "python3" "python2"]; + format = "[$symbol($version)]($style)[ (\($virtualenv\)) ](bg:fourth fg:white)"; + }; + + conda = { + symbol = " "; + style = "bg:fourth fg:white"; + ignore_base = false; + format = "[$symbol ($environment) ]($style)"; + }; + + haskell = { + symbol = " "; + version_format = "\${raw}"; + style = "bg:fourth fg:white"; + format = "[$symbol($version) ]($style)"; + }; + + rust = { + symbol = " "; + version_format = "\${raw}"; + style = "bg:fourth fg:white"; + format = "[$symbol($version) ]($style)"; + }; + + git_branch = { + symbol = " "; + style = "bg:trans_pink fg:twelve"; + format = "[$symbol $branch ](bold $style)"; + }; + + git_status = { + style = "bold bg:trans_pink fg:twelve"; + format = "([\($all_status$ahead_behind\)](bold $style))"; + }; + + cmd_duration = { + style = "bg:eighth fg:twelve"; + format = "[  $duration ](bold $style)"; + }; + + character = { + success_symbol = "[:3 ](bold fg:twelve bg:trans_blue)[](fg:trans_blue)"; + error_symbol = "[:o ](bold fg:twelve bg:trans_blue)[](fg:trans_blue)"; + }; + }; + }; } diff --git a/users/willifan/common/utils/default.nix b/users/willifan/common/utils/default.nix index a85f7c2..8cb2549 100644 --- a/users/willifan/common/utils/default.nix +++ b/users/willifan/common/utils/default.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { @@ -8,4 +8,11 @@ programs.btop.enable = true; programs.yazi.enable = true; }; + + environment.systemPackages = with pkgs; [ + + tealdeer + + ]; + } diff --git a/users/willifan/desktop/theme/stylix.nix b/users/willifan/desktop/theme/stylix.nix index 34ca9ac..57d16da 100644 --- a/users/willifan/desktop/theme/stylix.nix +++ b/users/willifan/desktop/theme/stylix.nix @@ -30,7 +30,7 @@ # }; monospace = { package = pkgs.nerdfonts; - name = "HackNerdFontMono-Regular"; + name = "JetBrainsMonoNerdFont-Regular"; }; # sansSerif = { # package = pkgs.;