commit 0dbc1dca9629f23550e70a33f58efab70328bc41 Author: Martin Kurz Date: Fri Aug 18 21:10:27 2023 +0200 initial release diff --git a/README.md b/README.md new file mode 100644 index 0000000..f9f36d6 --- /dev/null +++ b/README.md @@ -0,0 +1,44 @@ +# catppuccin zsh-Theme + +**How to Install** + +You will need following packages and the starship binary as self, go to the website and install it. +``` +https://starship.rs/de-de/ +``` + +You also need a NerdFont for the symbols. +``` +https://www.nerdfonts.com/font-downloads +``` + +Install the required packages for your distribution + +``` +curl git zsh +``` + + +**ArchLinux / Manjaro** + +``` +sudo pacman -S zsh curl git zsh --noconfirm +``` + +**Debian / Ubuntu** + +``` +sudo apt install curl git zsh -y +``` + +**Fedora / Red Hat / CentOS** + +``` +sudo dnf install curl git zsh -y +``` + +Installer script for ohmyzsh, starship theme and plugins (aliases) + +``` +curl -s https://scm.i-blacknet.de/mkurz/catppuccin-theme/raw/branch/main/install.sh | bash -s +``` \ No newline at end of file diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..c606a85 --- /dev/null +++ b/install.sh @@ -0,0 +1,65 @@ +#!/usr/bin/bash +cd ~ +cp ~/.zshrc ~/.zshrc.bak + +if [[ ! -f $(which starship 2>/dev/null) ]]; then + echo "Installing starship..." + sh -c "$(curl -fsSL https://starship.rs/install.sh)" "" +fi + +# check if .config folder exists +if [ ! -d ~/.conig ]; then + mkdir ~/.config +fi + +# check if oh my zsh installed +if [ ! -d ~/.oh-my-zsh ]; then + sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended +fi + +# remove Powerlevel10k zshrc integration (works only with my installation otherwise) +if [ $(sed -n '/^# Enable Powerlevel10k instant prompt/=' ~/.zshrc) ]; then + sed -i '1,6d' ~/.zshrc +fi +if [ -n $(sed -n '/source ~\/.p10k.zsh/=' ~/.zshrc) ]; then + sed -i -e '/# To customize prompt, run `p10k configure` or edit ~\/.p10k.zsh./d' ~/.zshrc + sed -i -e '/^\[\[ \! -f ~\/.p10k.zsh .*/d' ~/.zshrc + sed -i -e 's/^ZSH_THEME="powerlevel10k\/powerlevel10k"/#ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc +fi + +# install starship theme & alias plugin +if [ ! -d ~/.oh-my-zsh/custom/plugins/rainbow-alias ]; then + mkdir -p ~/.oh-my-zsh/custom/plugins/rainbow-alias/ + curl -o ~/.oh-my-zsh/custom/plugins/rainbow-alias/rainbow-alias.plugin.zsh https://scm.i-blacknet.de/mkurz/rainbow-zsh-theme/raw/branch/master/rainbow-alias.plugin.zsh +fi +curl -o ~/.config/starship.toml https://scm.i-blacknet.de/mkurz/catppuccin-theme/raw/branch/main/starship.toml + +# install needfull plugins +if [ ! -d ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions ]; then + git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions +fi +if [ ! -d ~/.oh-my-zsh/custom/plugins/zsh-history-substring-search ]; then + git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search +fi +if [ ! -d ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting ]; then + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting +fi + +# add neefull plugins +if [ -z $(sed -n '/rainbow-alias/=' ~/.zshrc) ]; then + sed -i -e 's/\(^plugins=([^)]*\)/\1 rainbow-alias/' ~/.zshrc +fi +if [ -z $(sed -n '/zsh-autosuggestions/=' ~/.zshrc) ]; then + sed -i -e 's/\(^plugins=([^)]*\)/\1 zsh-autosuggestions/' ~/.zshrc +fi +if [ -z $(sed -n '/zsh-history-substring-search/=' ~/.zshrc) ]; then + sed -i -e 's/\(^plugins=([^)]*\)/\1 zsh-history-substring-search/' ~/.zshrc +fi +if [ -z $(sed -n '/zsh-syntax-highlighting/=' ~/.zshrc) ]; then + sed -i -e 's/\(^plugins=([^)]*\)/\1 zsh-syntax-highlighting/' ~/.zshrc +fi + +echo -e '\neval "$(starship init zsh)"' >> ~/.zshrc + +echo "Change Shell to zsh when you want!" +echo "chsh -s $(which zsh)" \ No newline at end of file diff --git a/starship.toml b/starship.toml new file mode 100644 index 0000000..aacab3a --- /dev/null +++ b/starship.toml @@ -0,0 +1,466 @@ +format = """ +$os\ +$username\ +$hostname\ +$directory\ +$fill\ +$jobs\ +$cmd_duration\ +$c\ +$dart\ +$golang\ +$java\ +$nodejs\ +$php\ +$python\ +$rust\ +$docker_context\ +$git_branch\ +$git_state\ +$git_status\ +$git_metrics\ +$memory_usage\ +$time\ +$battery\ +$line_break\ +$character""" + +scan_timeout = 30 +command_timeout = 500 +# add_newline = false + +[fill] +symbol = " " + +[character] +success_symbol = "[❯](fg:#A6E3A1)" +error_symbol = "[❯](fg:#D20F39)" +vimcmd_symbol = "[❮](fg:#40A02B)" + +[username] +show_always = true +style_user = "fg:#CDD6F4 bg:#585B70" +style_root = "fg:#CE4B4E bg:#585B70" +format = '[ $user ]($style)' + +[hostname] +ssh_only = true +ssh_symbol = "" +format = "[$ssh_symbol](fg:#CDD6F4 bg:#585B70)[ $hostname ](fg:#CDD6F4 bg:#585B70)" +trim_at = "." +disabled = false + +[os] +format = '[ $symbol ](fg:black bg:#F9E2AF)' +disabled = false + +[os.symbols] +Alpine = " " +Amazon = " " +Android = " " +Arch = " " +CentOS = " " +Debian = " " +DragonFly = " " +Emscripten = " " +EndeavourOS = " " +Fedora = " " +FreeBSD = " " +Garuda = "﯑ " +Gentoo = " " +HardenedBSD = "ﲊ " +Illumos = " " +Linux = " " +Macos = " " +Manjaro = " " +Mariner = " " +MidnightBSD = " " +Mint = " " +NetBSD = " " +NixOS = " " +OpenBSD = " " +openSUSE = " " +OracleLinux = " " +Pop = " " +Raspbian = " " +Redhat = " " +RedHatEnterprise = " " +Redox = " " +Solus = "ﴱ " +SUSE = " " +Ubuntu = " " +Unknown = " " +Windows = " " + +[directory] +style = "fg:#585b70 bg:#89b4fa" +read_only = " " +format = "[ $path[$read_only](fg:#D20F39 bg:#89b4fa) ]($style)[](fg:#89b4fa)" +truncation_length = 3 +truncation_symbol = "…/" +truncate_to_repo = false + +[directory.substitutions] +"Important Documents" = "󰈙󱈸 " +"Documents" = "󰈙 " +"Downloads" = " " +"Music" = "󰝚 " +"Pictures" = " " +"Development" = " " +"Developer" = " " +"Dev" = " " +"~" = "󰋜 ~" + +[docker_context] +symbol = "󰡨 " +style = "bg:#06969A" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ $context]($style)' +detect_files = [ + 'docker-compose.yml', + 'docker-compose.yaml', + 'Dockerfile' +] +only_with_files = true + +[git_branch] +symbol = "" +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#a6e3a1 bg:#585b70)[ $symbol ](fg:black bg:#a6e3a1)[ $branch ]($style)' + +[git_status] +style = "fg:#cdd6f4 bg:#585b70" +format = '[$all_status$ahead_behind]($style)' +ahead = "⇡${count}" +diverged = "⇕⇡${ahead_count}⇣${behind_count}" +behind = "⇣${count}" + +[git_state] +style = "fg:#cdd6f4 bg:#585b70" +format = '\([$state( $progress_current of $progress_total)]($style)\) ' +#style = "bright-black" + +[git_metrics] +deleted_style = "fg:white bold bg:#585b70" +format = '[ +$added |](fg:#a6e3a1 bg:#585b70)[ -$deleted ](fg:red bold bg:#585b70)' +disabled = false + +[cmd_duration] +format = "[](fg:#89B4FA)[ ](fg:black bg:#89B4FA)[ $duration ](fg:#cdd6f4 bg:#585b70)" +style = "gb:yellow" + +[jobs] +symbol = "" +number_threshold = 1 +format = "[ $symbol ](fg:bold red bg:#33658A)" +style = "bg:33658A" + +[memory_usage] +disabled = false +threshold = -1 +symbol = "" +style = "fg:#cdd6f4 bg:#585b70" +format = "[](fg:#B4BEFE bg:#585b70)[$symbol ](fg:black bg:#B4BEFE)[ ${ram_pct} ]($style)" + +[time] +disabled = false +time_format = "%R" # Hour:Minute Format +format = '[](fg:#F5E0DC bg:#585b70)[ ](fg:black bg:#F5E0DC)[ $time ](fg:#cdd6f4 bg:#585b70)' + +[battery] +full_symbol = '󰁹 ' +charging_symbol = '󱊥 ' +discharging_symbol = '󱊣 ' +unknown_symbol = '󱊢 ' +empty_symbol = '󰂎 ' +#style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ $percentage ]($style)' + +[[battery.display]] +threshold = 10 +style = 'fg:#F38BA8 bold bg:#585b70' + +[[battery.display]] +threshold = 30 +style = 'fg:#F9E2AF bold bg:#585b70' + +[[battery.display]] +threshold = 50 +style = 'fg:#B4BEFE bold bg:#585b70' + +[[battery.display]] +threshold = 100 +style = 'fg:#A6E3A1 bold bg:#585b70' + +[aws] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[buf] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[c] +symbol = " " +style = "fg:white bg:#F5E0DC" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[conda] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[kubernetes] +symbol = '☸ ' +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[dart] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = ['dart'] +detect_files = [ + 'pubspec.yaml', + 'pubspec.yml', + 'pubspec.lock', +] +detect_folders = ['.dart_tool'] + +[elixir] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[elm] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = ['elm'] +detect_files = [ + 'elm.json', + 'elm-package.json', + '.elm-version', +] +detect_folders = ['elm-stuff'] + +[golang] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = ['go'] +detect_files = [ + 'go.mod', + 'go.sum', + 'glide.yaml', + 'Gopkg.yml', + 'Gopkg.lock', + '.go-version', +] +detect_folders = ['Godeps'] + +[guix_shell] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[haskell] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[haxe] +symbol = "⌘ " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[hg_branch] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[java] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = [ + 'java', + 'class', + 'jar', + 'gradle', + 'clj', + 'cljc', +] +detect_files = [ + 'pom.xml', + 'build.gradle.kts', + 'build.sbt', + '.java-version', + 'deps.edn', + 'project.clj', + 'build.boot', +] +detect_folders = [] + +[julia] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = ['jl'] +detect_files = [ + 'Project.toml', + 'Manifest.toml', +] +detect_folders = [] + +[lua] +symbol = "󰢱 " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = ['lua'] +detect_files = ['.lua-version'] +detect_folders = ['lua'] + +[meson] +symbol = "喝 " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[nim] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = [ + 'nim', + 'nims', + 'nimble', +] +detect_files = ['nim.cfg'] +detect_folders = [] + +[nix_shell] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[nodejs] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = [ + 'js', + 'mjs', + 'cjs', + 'ts', +] +detect_files = [ + 'package.json', + '.node-version', + '.nvmrc', +] +detect_folders = ['node_modules'] + +[package] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[perl] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +disabled = true +detect_extensions = [ + 'pl', + 'pm', + 'pod', +] +detect_files = [ + 'Makefile.PL', + 'Build.PL', + 'cpanfile', + 'cpanfile.snapshot', + 'META.json', + 'META.yml', + '.perl-version', +] +detect_folders = [] + +[php] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = ['php'] +detect_files = [ + 'composer.json', + '.php-version', +] +detect_folders = [] + +[python] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +pyenv_prefix = 'pyenv ' +python_binary = [ + 'python', + 'python3', + 'python2', +] +format = '[](fg:#F5E0DC bg:#585b70)[ ${symbol} ](fg:#585b70 bg:#F5E0DC)[ ${pyenv_prefix}(${version} )(\($virtualenv\) )]($style)' +version_format = 'v${raw}' +detect_extensions = ['py'] +detect_files = [ + 'requirements.txt', + '.python-version', + 'pyproject.toml', + 'Pipfile', + 'tox.ini', + 'setup.py', + '__init__.py', +] +detect_folders = [] + +[rlang] +symbol = "ﳒ " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' + +[ruby] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = ['rb'] +detect_files = [ + 'Gemfile', + '.ruby-version', +] +detect_folders = [] + +[rust] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = ['rs'] +detect_files = ['Cargo.toml'] +detect_folders = [] + +[scala] +symbol = " " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)' +detect_extensions = [ + 'sbt', + 'scala', +] +detect_files = [ + '.scalaenv', + '.sbtenv', + 'build.sbt', +] +detect_folders = ['.metals'] + +[spack] +symbol = "🅢 " +style = "fg:#cdd6f4 bg:#585b70" +format = '[](fg:#F5E0DC bg:#585b70)[$symbol](fg:#585b70 bg:#F5E0DC)[ ($version) ]($style)'