generated from Templates/Baseline
wip
This commit is contained in:
parent
1c39006ab7
commit
7f5dd1a525
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue