wip
ci/woodpecker/pr/ci Pipeline failed Details
ci/woodpecker/pr/docs Pipeline failed Details

This commit is contained in:
OCram85 2024-05-14 16:13:35 +02:00
parent 1c39006ab7
commit 7f5dd1a525
2 changed files with 26 additions and 99 deletions

View File

@ -1,107 +1,34 @@
# What is Arkanum
# What is Arkanum ?
### 🚀 Starship prompt
## 🙏 Mantra
We added the [Starship](./components/starship.md) prompt is as default in the integrated terminal. The default config uses Emojis and FiraCode icons.
Arkanum pursues the following principles to achieve its goals:
### 🔱 git config
### 🥕 Principles
Added default git system config file with:
- Reduce the setup + configuration complexity by
- Completing existing VSCode remote development solutions *(like `Coder/code-server` or `gitpod-io/openvscode-server`)* with an
opinionated tool set and configuration.
- code-server as default editor.
- disabled `aurocrlf`.
- enabled plain credential store for remote.
- added git log helper `lg1` + `lg2`.
- enabled bash completion for git command in integrated bash terminal.
### 🏁 Goals
> 💡 See [gitconfig-system](./components/git.md) for details.
- Deliver a fully featured remote development environment.
- Provide the best possible user experience for daily VS Code remote usage.
### 🧙 `arkanum` helper
And most important:
Added `arkanum` to help installing common runtimes in container.
This helps reducing the image size.
> [!TIP] ⭐ Help people to stay focused on their primary task:
> Develop awesome stuff without wasting time with setting up *DEV* environments.
```
🧙 arkanum ✨🌌☄️💥 is used to install optional tools for developing in a
code-server container environment.
## 📆 History
Syntax: arkanum <flags> COMMAND OPTION ARGUMENT
COMMAND
config The config command is used to modify arkanum itself.
git The git command is a wrapper for git helpers.
install The install command is used to add different tools
help Shows this help text.
The Arkanum project started when I was challenged to work on multiple projects from different locations
and devices. Setting up VSCode based *DEV* environments can be hard some times and takes a minute. Especially when
you think about all the tools, extensions and setup you need. On top of this, you also want to keep the environments
up to date to avoid version problems.
OPTION
config:
disable-motd Disables hint in new bash terminal.
install extensions Installs predefined recommended extensions.
reset-codesettings Sets VS Code user setting with basic (Fira Code).
Another motivation was the fact that I need to find a way reducing the time for onboarding, supporting, and debugging the environments from other teammates.
git:
setup Takes two arguments to setup the git client:
1) Username
2) Email address
install:
docker-cli Installs the latest docker-cli.
dotnet Installs latest LTS dotnet core sdk + runtime.
gitea Installs gitea tools like the changelog generator.
golang Installs golang 1.19.3.
bun Installs latest bun version.
nodejs Installs latest NodeJs LTS version using Volta.
volta Installs Volta as NodeJS version manager.
powershell Installs latest PowerShell LTS version.
Example 1: arkanum git setup "my-name" "my-email"
Example 2: arkanum install golang
Example 3: arkanum config disable-motd
```
### 📝 Fira Code (NerdFont patched)
Added FiraCode as default font in editor and integrated terminal. The font files are embedded and can be used without local installation.
### 🦸 VSCode default settings
If your start the container or log in the first time, a default config file is deployed.
This user setting defines the following stuff:
- Use compact menu bar to avoid users with multiple menu bars.
- Use _One Dark Pro Darker_ theme
- Use _vscode-icons_ icon set
- Set FiraCode as default font in editor.
- Tries to use alternate font names for FiraCode if its locally available.
- Sets FiraCode mono variant in terminal to enable icons used by starship prompt.
- Enables font ligatures
- Enables _auto save_ and _format on save_.
- Disables auto update for extension.
- Disables VSCode telemetry
- Disable confirm message for sync branches.
Additionally we install these extensions on container startup:
- [One Dark Pro](https://open-vsx.org/extension/zhuangtongfa/material-theme) theme
- [vscode-icons](https://open-vsx.org/extension/vscode-icons-team/vscode-icons) icon set
- [Gitlens](https://open-vsx.org/extension/eamodio/gitlens)
## 💣 Known Issues
### Starship.rs
Starship detects workspaces as active python projects. It always appends the prompt
fragment `via 🐍 (lsiopy)`. For now I disabled the python module in starship.
### 🐛 Default extensions installation timing error
If the automatic installation of the default extension fails, you can always retry he installation with the
following command:
```bash
# restart the installation
arkanum config install-extensions
# Optional: reset the vscode user setting
arkanum config reset-codesettings
# Reload with command F1 + Developer: Reload Window
```
So I started searching for existing solutions. I didn't wan't to go the traditional way of packaging and deploying
a software solution. Luckily there was already a way to use VS Code remotely and I found the [coder/code-server](https://github.com/coder/code-server)
and [gitpod-io/openvscode-server](https://github.com/gitpod-io/openvscode-server) project.

View File

@ -14,19 +14,19 @@ hero:
text: 🧙 Get Started
link: /guide/about
- theme: alt
text: View on Gitea
text: Show Sources
link: https://gitea.ocram85.com/CodeServer/arkanum
features:
- title: Beginner Friendly
icon: ✨
details: Already contains basic extensions and theme setup for quick start.
details: Trying to provide the best user experience! - Especially for beginners.
- title: Access Anywhere
icon: 🌎
details: Access your dev environment from anywhere.
- title: arkanum cli
- title: Arkanum CLI
icon: 🧙
details: Includes <code>arkanum cli</code> to install additional languages and frameworks.
details: Includes <code>Arkanum CLI</code> to install additional languages and frameworks.
- title: Gitea + CI/CD
icon: 🚧
details: Optimized tooling for Gitea + Woodpecker-CI workflows.