diff --git a/Dockerfile b/Dockerfile index 915f260..9e8eccd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,6 +37,7 @@ RUN \ echo 'source /usr/share/bash-completion/completions/git' >> /etc/bash.bashrc #endregion git +#region cli ADD arkanum /usr/bin/ ADD arkanum-completion /etc/bash_completion.d/ RUN \ @@ -47,8 +48,11 @@ RUN \ echo "if [[ ! -e \"$HOME/data/User/settings.json\" ]]; then arkanum config install-extensions && arkanum config reset-codesettings && \ echo -e \"🧙 \\e[32markanum\\e[0m: Please reload Arkanum to finalize the setup...\" && read foo; fi" >> /etc/bash.bashrc && \ echo "if [[ -e \"$HOME/enable_motd\" ]]; then echo -e \"Use 🧙 \\e[32m'arkanum'\\e[0m to install missing runtimes like dotnet or NodeJs.\"; fi" >> /etc/bash.bashrc +#endregion cli +#region firacode WORKDIR /app/code-server/lib/vscode/out/vs/workbench ADD FiraCode/fonts/* ./fonts/ ADD FiraCode/fonts.css ./ RUN cat fonts.css >> workbench.web.main.css +#endregion firacode diff --git a/docs/.vitepress/sidebar.mjs b/docs/.vitepress/sidebar.mjs index 00be14c..6ead234 100644 --- a/docs/.vitepress/sidebar.mjs +++ b/docs/.vitepress/sidebar.mjs @@ -17,6 +17,8 @@ function getGuide() { { text: 'Included Packages', link: 'components/packages' }, { text: 'Starship Prompt', link: 'components/starship' }, { text: 'Git', link: 'components/git' }, + { text: 'Arkanum CLI', link: 'components/arkanum-cli' }, + { text: 'FiraCode Font', link: 'components/firacode' }, ], }, ], diff --git a/docs/guide/about.md b/docs/guide/about.md index 4e0fa3c..ecc3df5 100644 --- a/docs/guide/about.md +++ b/docs/guide/about.md @@ -2,7 +2,7 @@ ### 🚀 Starship prompt -We added the [Starship](starship.rs) prompt is as default in the integrated terminal. The default config uses Emojis and FiraCode icons. +We added the [Starship](./components/starship.md) prompt is as default in the integrated terminal. The default config uses Emojis and FiraCode icons. ### 🔱 git config @@ -14,7 +14,7 @@ Added default git system config file with: - added git log helper `lg1` + `lg2`. - enabled bash completion for git command in integrated bash terminal. -> 💡 See [gitconfig-system](./gitconfig-system) for details. +> 💡 See [gitconfig-system](./components/git.md) for details. ### 🧙 `arkanum` helper diff --git a/docs/guide/components/arkanum-cli.md b/docs/guide/components/arkanum-cli.md new file mode 100644 index 0000000..01059d8 --- /dev/null +++ b/docs/guide/components/arkanum-cli.md @@ -0,0 +1,15 @@ +# Arkanum-cli + +## About + + +## Configuration + +::: code-group +<<< @/../Dockerfile#cli{Dockerfile} + +<<< @/../arkanum{bash} + +<<< @/../arkanum-completion{bash} + +::: diff --git a/docs/guide/components/firacode.md b/docs/guide/components/firacode.md new file mode 100644 index 0000000..618638f --- /dev/null +++ b/docs/guide/components/firacode.md @@ -0,0 +1,12 @@ +# FiraCode + +## Configuration + +::: code-group +<<< @/../Dockerfile#firacode{Dockerfile} +<<< @/../FiraCode/fonts.css{css} +::: + +We add custom fonts on build time to the Arkanum docker image. Therefore we copy the font files and patch the +_CodeServer / Openvscode-server_ `workbench.css` files. So we can use host and consume additional fonts without +relying on external CDNs. diff --git a/docs/guide/components/git.md b/docs/guide/components/git.md index 04eb572..42a45af 100644 --- a/docs/guide/components/git.md +++ b/docs/guide/components/git.md @@ -1,6 +1,6 @@ # Git -## 🔱 Config files +## 🔱 About Git Config files The git configuration is usually done in these 3 different contexts: @@ -41,12 +41,13 @@ There are also some [Phabricator](https://en.wikipedia.org/wiki/Phabricator) wor | `pod` | **[alias]** | Tries to push current branch to _origin/dev_. | | `poc ` | **[alias]** | Takes current branch and tries to push it to a new remote one. | -::: details **/etc/gitconfig** -<<< @/../gitconfig-system{ini:line-numbers} -::: - ## Git bash Completion -Git bash completion is already enabled in the arkanum image: +Git bash completion is already enabled in the arkanum image. -<<< @/../Dockerfile#git{Dockerfile} +## Configuration + +::: code-group +<<< @/../Dockerfile#git{Dockerfile:line-numbers} +<<< @/../gitconfig-system{ini:line-numbers} +::: diff --git a/docs/guide/components/prompts/prompt1.png b/docs/guide/components/prompts/prompt1.png new file mode 100644 index 0000000..b6562e0 Binary files /dev/null and b/docs/guide/components/prompts/prompt1.png differ diff --git a/docs/guide/components/prompts/prompt2.png b/docs/guide/components/prompts/prompt2.png new file mode 100644 index 0000000..cff387d Binary files /dev/null and b/docs/guide/components/prompts/prompt2.png differ diff --git a/docs/guide/components/prompts/prompt3.png b/docs/guide/components/prompts/prompt3.png new file mode 100644 index 0000000..8a54f9a Binary files /dev/null and b/docs/guide/components/prompts/prompt3.png differ diff --git a/docs/guide/components/prompts/prompt4.png b/docs/guide/components/prompts/prompt4.png new file mode 100644 index 0000000..8a67bf9 Binary files /dev/null and b/docs/guide/components/prompts/prompt4.png differ diff --git a/docs/guide/components/prompts/prompt5.png b/docs/guide/components/prompts/prompt5.png new file mode 100644 index 0000000..703841f Binary files /dev/null and b/docs/guide/components/prompts/prompt5.png differ diff --git a/docs/guide/components/starship.md b/docs/guide/components/starship.md index 4ffe041..60f5f77 100644 --- a/docs/guide/components/starship.md +++ b/docs/guide/components/starship.md @@ -1,5 +1,30 @@ # :rocket: Starship Prompt -## +## About +Starship prompt is a powerful addon to modify the shell prompt dynamically based on the current location and state. +Therefore we already install the latest version while building the Arkanum image. +Additionally we use starship as default prompt in bash. + +The included default setup uses the system wide installed [NerdFont](https://www.nerdfonts.com/) patched [FiraCode](https://github.com/tonsky/FiraCode) Font with its symbols, ligatures and emojis. + +## Screenshots + +![screen1](./prompts/prompt1.png 'gtit repo with nodejs + bun symbols and package.json version displayed') + +![screen2](./prompts/prompt2.png 'default prompt outside of a git repo') + +![screen3](./prompts/prompt3.png 'local git repo with two commits behind origin') + +![screen4](./prompts/prompt4.png 'same repo prompt after pulling') + +![screen5](./prompts/prompt5.png 'git rep with golang project and open workspace changes') + + +## Configuration + +::: code-group <<< @/../Dockerfile#starship{Dockerfile:line-numbers} + +<<< @/../starship.toml{toml:line-numbers} +::: diff --git a/package.json b/package.json index 75852a0..9d0e453 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,6 @@ "docs:clean": "rimraf docs/.vitepress/dist docs/.vitepress/dist", "docs:dev": "bun run docs:clean && vitepress dev docs --host --port 1313", "docs:build": "vitepress build docs", - "docs:preview": "vitepress preview docs" + "docs:preview": "vitepress preview docs --host --port 1313" } }