summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2023-07-15 02:51:45 -0400
committerJesse Luehrs <doy@tozt.net>2023-07-15 02:51:45 -0400
commit03b064b03d1f94b20d80da5a7fb71a1dd95370f9 (patch)
tree4b3ee8d3de6c10aa2c16a90b8c5a90d92aaea96e
parentab77a842d85d332cdd6f54bd696a948ee0211f0f (diff)
downloadconf-03b064b03d1f94b20d80da5a7fb71a1dd95370f9.tar.gz
conf-03b064b03d1f94b20d80da5a7fb71a1dd95370f9.zip
customize starship config per host and user
-rw-r--r--.gitignore1
-rw-r--r--Makefile8
-rw-r--r--config/starship.toml5
-rw-r--r--config/starship.toml.PL136
4 files changed, 145 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore
index 2440f41..79c3b35 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
/config/alacritty/alacritty.yml
+/config/starship.toml
/config/darksky/api
/hammerspoon/hs
/local/share/fortune/*.dat
diff --git a/Makefile b/Makefile
index 56c0449..ad84719 100644
--- a/Makefile
+++ b/Makefile
@@ -73,7 +73,8 @@ BUILD := \
$(addsuffix .dat,$(filter-out %.dat,$(wildcard local/share/fortune/*))) \
$(addsuffix tags,$(wildcard vim/pack/*/start/*/doc/)) \
vim/spell/en.utf-8.add.spl \
- less
+ less \
+ config/starship.toml
INSTALLED_SYMLINKS := \
$(patsubst %,$(INTO)/%,$(INSTALL)) \
@@ -150,4 +151,7 @@ local/share/fortune/%.dat : local/share/fortune/%
@vim -u NONE -c':mkspell! $< | :q'
less : lesskey
- lesskey -o $@ $<
+ @lesskey -o $@ $<
+
+config/starship.toml : config/starship.toml.PL
+ @perl $< $$USER $$(hostname) > $@
diff --git a/config/starship.toml b/config/starship.toml
index 548dfed..31fdc63 100644
--- a/config/starship.toml
+++ b/config/starship.toml
@@ -111,7 +111,6 @@ vimcmd_symbol = '[\[NOR\]](bright-yellow)'
[palettes.local]
bg = 'bright-black'
-host = 'red'
-user = 'bright-blue'
-root = 'bright-red'
git = 'green'
+user = 'bright-blue'
+host = 'red'
diff --git a/config/starship.toml.PL b/config/starship.toml.PL
new file mode 100644
index 0000000..54532dd
--- /dev/null
+++ b/config/starship.toml.PL
@@ -0,0 +1,136 @@
+#!/usr/bin/env perl
+use 5.014;
+use warnings;
+
+my $char = $ARGV[0] eq 'root' ? '#' : '$';
+my $host = {
+ 'mz-doy1' => 'bright-white',
+ 'tozt' => 'bright-yellow',
+ 'partofme' => 'magenta',
+ 'mail' => 'green',
+ 'hornet' => 'red',
+}->{$ARGV[1]} // 'yellow';
+
+while (<DATA>) {
+ s/\@\@CHAR\@\@/$char/;
+ s/\@\@HOST\@\@/$host/;
+ print;
+}
+
+__DATA__
+format = """
+ [\\(](host)$directory([|](host)$git_branch$git_commit$git_status([|](host)$git_state))[\\)](host)( $aws)( $kubernetes)( $pulumi) $fill ($cmd_duration )($battery )$username[@](bg)$hostname [\\[](host)$time[\\]](host) $line_break\
+$status [\\@@CHAR@@](user)
+"""
+right_format = '$character'
+add_newline = false
+palette = 'local'
+
+[directory]
+format = '[$path]($style)[$read_only]($read_only_style)'
+style = 'bg'
+repo_root_format = '[$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style)'
+repo_root_style = 'git'
+fish_style_pwd_dir_length = 1
+
+[git_state]
+format = '[$state(:$progress_current/$progress_total)]($style)'
+style = 'git'
+rebase = 'r'
+merge = 'm'
+revert = 'v'
+cherry_pick = 'c'
+bisect = 'b'
+am = 'a'
+am_or_rebase = 'r'
+
+[git_branch]
+format = '[$branch(:$remote_branch)]($style)'
+style = 'git'
+ignore_branches = ['main', 'master']
+
+[git_commit]
+format = '[$hash$tag]($style)'
+style = 'git'
+
+[git_status]
+format = '[$all_status$ahead_behind]($style)'
+modified = '*'
+stashed = ''
+diverged = '+$ahead_count-$behind_count'
+ahead = '+$count'
+behind = '-$count'
+
+[aws]
+format = '[$symbol$profile]($style)'
+symbol = '☁️'
+style = 'bg'
+
+[kubernetes]
+disabled = false
+format = '[$symbol$context]($style)'
+symbol = '☸'
+style = 'bg'
+
+[pulumi]
+format = '[$symbol$stack]($style)'
+symbol = ''
+style = 'bg'
+
+[fill]
+symbol = '─'
+style = 'bg'
+
+[cmd_duration]
+format = '[\($duration\)]($style)'
+style = 'bg'
+
+[battery]
+format = '[$percentage]($style)'
+
+[[battery.display]]
+threshold = 5
+style = 'bright-red'
+
+[[battery.display]]
+threshold = 15
+style = 'red'
+
+[[battery.display]]
+threshold = 40
+style = 'yellow'
+
+[username]
+disabled = false
+format = '[$user]($style)'
+style_user = 'user'
+show_always = true
+
+[hostname]
+disabled = false
+format = '[$hostname]($style)'
+style = 'host'
+ssh_only = false
+
+[time]
+disabled = false
+format = '[$time]($style)'
+style = 'bg'
+
+[line_break]
+
+[status]
+disabled = false
+format = '[$status]($style)'
+
+[character]
+format = '$symbol'
+success_symbol = ''
+error_symbol = ''
+vimcmd_symbol = '[\[NOR\]](bright-yellow)'
+
+[palettes.local]
+bg = 'bright-black'
+git = 'green'
+user = 'bright-blue'
+host = '@@HOST@@'