Arkanum - Code-Server container optimized for daily use.
Go to file
OCram85 7692b04908
ci/woodpecker/push/renovate Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/push/next Pipeline was successful Details
ci/woodpecker/push/deploy Pipeline was successful Details
Splits extension install into seperate function (#23)
#### 📖 Summary

- implements `--install-extensions` function

#### 📑 Test Plan

> 💡 Select your test plan for the code changes.

- [x] CI pipeline tests
- [ ] Custom test
- [ ] No test plan

##### Details / Justification

<!-- Add your test details or justification for missing tests here. -->

#### 📚 Additional Notes

<!-- A place for additional detail notes. -->

Co-authored-by: OCram85 <marco.blessing@googlemail.com>
Reviewed-on: #23
2022-11-22 13:25:09 +01:00
.gitea fix PR template wording (#15) 2022-11-13 12:10:46 +01:00
.vscode adds AGPLv3 license (#20) 2022-11-21 20:00:59 +01:00
.woodpecker Splits extension install into seperate function (#23) 2022-11-22 13:25:09 +01:00
FiraCode adds FiraCode NerdFont (#9) 2022-11-10 08:14:28 +01:00
assets fixes logo size (#22) 2022-11-22 11:58:27 +01:00
.changelog.yml Adds gitea changelog config (#19) 2022-11-19 18:36:02 +01:00
.dockerignore add basic container setup 2022-10-21 20:42:44 +02:00
.editorconfig Initial commit 2022-09-29 15:47:57 +02:00
.gitattributes adds FiraCode NerdFont (#9) 2022-11-10 08:14:28 +01:00
.gitignore Initial commit 2022-09-29 15:47:57 +02:00
.gitlocal Initial commit 2022-09-29 15:47:57 +02:00
CHANGELOG.md Adds gitea changelog config (#19) 2022-11-19 18:36:02 +01:00
Dockerfile Splits extension install into seperate function (#23) 2022-11-22 13:25:09 +01:00
LICENSE adds AGPLv3 license (#20) 2022-11-21 20:00:59 +01:00
README.md Splits extension install into seperate function (#23) 2022-11-22 13:25:09 +01:00
arkanum Splits extension install into seperate function (#23) 2022-11-22 13:25:09 +01:00
arkanum-completion Splits extension install into seperate function (#23) 2022-11-22 13:25:09 +01:00
gitconfig-system add system gitconfig (#4) 2022-11-08 16:06:51 +01:00
renovate.json Add woodpecker manager in renovate-bot (#14) 2022-11-13 12:05:38 +01:00
starship.toml add basic container setup 2022-10-21 20:42:44 +02:00

README.md

Container

🧙 Arkanum 🌌 ☄️ 💥

Code-Server container optimized for daily use. ❤

Master Branch Build Status

📖 General

The container is based on the latest linuxserver/code-server image.

🚀 Starship prompt

The Starship prompt is added and enabled as default. Default config uses Emojis and FiraCode icons.

🔱 git config

Adds default git system config file with:

  • 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.

💡 See gitconfig-system for details.

🧙 Added arkanum helper script

Added arkanum to help installing common runtime in container. This helps reducing the image size.

🧙 arkanum ✨🌌☄️💥 is used to install optional runtimes for developing in a
  code-server container environment.

  Syntax: arkanum RUNTIME ...
  RUNTIME         [dotnet|golang|nodejs|powershell]
    dotnet        Installs latest LTS dotnet core sdk + runtime.
    gitea         Installs gitea tools like the changelog generator.
    golang        Installs golang 1.19.3.
    nodejs        Installs latest NodeJs LTS version.
    powershell    Installs latest PowerShell LTS version.
  --disable-motd         Disables hint in new bash terminal.
  --install-extensions   Installs predefined recommended extensions.
  --reset-codesetting    Sets VS Code user setting with basic (Fira Code).
  -h                     Prints this help message.

  Example 1: arkanum dotnet
  Example 2: arkanum golang nodejs
  Example 3: arkanum --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 starshop 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:

💳 Credits

Akranum is based on the following projects and wouldn't be possible without:

⚖️ License (AGPLv3)

AGPL

Arkanum - Code-Server container optimized for daily use.
Copyright (C) 2022  "OCram85 <me@ocram85.com>"

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.