8 Commits

Author SHA1 Message Date
c2cf031afc prepare release v1.8.1 (#149)
All checks were successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/tag/docs Pipeline was successful
ci/woodpecker/tag/ci Pipeline was successful
### 📖 Summary

- update changelog
- update package version

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: #149
2024-12-02 10:35:46 +01:00
9770d71aea chore(deps): update dependency typescript to v5.7.2 (#145)
All checks were successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | peerDependencies | minor | [`5.6.3` -> `5.7.2`](https://renovatebot.com/diffs/npm/typescript/5.6.3/5.7.2) |

---

### Release Notes

<details>
<summary>microsoft/TypeScript (typescript)</summary>

### [`v5.7.2`](https://github.com/microsoft/TypeScript/releases/tag/v5.7.2): TypeScript 5.7

[Compare Source](https://github.com/microsoft/TypeScript/compare/v5.6.3...v5.7.2)

For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-7/).

-   [fixed issues query for Typescript 5.7.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.7.0%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.7.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.7.1%22+is%3Aclosed+).
-   [fixed issues query for Typescript 5.7.2 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.7.2%22+is%3Aclosed+).

Downloads are available on:

-   [npm](https://www.npmjs.com/package/typescript)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNi4zIiwidXBkYXRlZEluVmVyIjoiMzkuNDMuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

Reviewed-on: #145
Reviewed-by: OCram85 <marco.blessing@googlemail.com>
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-12-02 10:21:58 +01:00
b51529f680 chore(deps): update oven/bun docker tag to v1.1.38 (#143)
All checks were successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [oven/bun](https://github.com/oven-sh/bun) | stage | patch | `1.1.34` -> `1.1.38` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNi4zIiwidXBkYXRlZEluVmVyIjoiMzkuNDIuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

Reviewed-on: #143
Reviewed-by: OCram85 <marco.blessing@googlemail.com>
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-12-02 10:11:56 +01:00
9267a00588 chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.95.3 (#144)
All checks were successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [quay.io/linuxserver.io/code-server](https://github.com/linuxserver/docker-code-server/packages) ([source](https://github.com/linuxserver/docker-code-server)) | final | patch | `4.95.2` -> `4.95.3` |

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNi4zIiwidXBkYXRlZEluVmVyIjoiMzkuMjYuMyIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

Reviewed-on: #144
Reviewed-by: OCram85 <marco.blessing@googlemail.com>
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-12-02 10:08:47 +01:00
1222bfc54d chore(deps): update dependency prettier to v3.4.1 (#148)
All checks were successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | minor | [`3.3.3` -> `3.4.1`](https://renovatebot.com/diffs/npm/prettier/3.3.3/3.4.1) |

---

### Release Notes

<details>
<summary>prettier/prettier (prettier)</summary>

### [`v3.4.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#341)

[Compare Source](https://github.com/prettier/prettier/compare/3.4.0...3.4.1)

[diff](https://github.com/prettier/prettier/compare/3.4.0...3.4.1)

##### Remove unnecessary parentheses around assignment in `v-on` ([#&#8203;16887](https://github.com/prettier/prettier/pull/16887) by [@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```vue
<!-- Input -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>

<!-- Prettier 3.4.0 -->
<template>
  <button @&#8203;click="(foo += 2)">Click</button>
</template>

<!-- Prettier 3.4.1 -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>
```

### [`v3.4.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#340)

[Compare Source](https://github.com/prettier/prettier/compare/3.3.3...3.4.0)

[diff](https://github.com/prettier/prettier/compare/3.3.3...3.4.0)

🔗 [Release Notes](https://prettier.io/blog/2024/11/26/3.4.0.html)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS40Mi4yIiwidXBkYXRlZEluVmVyIjoiMzkuNDIuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

Reviewed-on: #148
Reviewed-by: OCram85 <marco.blessing@googlemail.com>
Co-authored-by: renovate-bot <renovate@ocram85.com>
Co-committed-by: renovate-bot <renovate@ocram85.com>
2024-12-02 10:04:33 +01:00
51f16b02db fix FiraCode font loader (#147)
All checks were successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
### 📖 Summary

- use new target file for customizin font loader for FiaCode.

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: #147
2024-12-01 20:14:50 +01:00
499fd68fab prepare release 1.8.0 (#142)
All checks were successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/tag/docs Pipeline was successful
ci/woodpecker/tag/ci Pipeline was successful
### 📖 Summary

- update changelog
- update version in package.json

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: #142
2024-11-22 07:11:48 +01:00
b59945fc5b add session helper (#141)
All checks were successful
ci/woodpecker/push/docs Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
### 📖 Summary

adds session helper:

- save session items
- restore a session
- show save session items
- reset a session file.

### 📑 Test Plan

 CI pipeline tests (Default)

### 💬 Details

_No response_

### 📚 Additional Notes

_No response_

Reviewed-on: #141
2024-11-21 15:44:11 +01:00
11 changed files with 200 additions and 107 deletions

View File

@ -1,26 +0,0 @@
{
"name": "Arkanum",
"image": "ocram85/arkanum:1",
"containerUser": "abc",
"containerEnv": {
"TZ": "Europe/Berlin",
"PASSWORD": "foo",
"SUDO_PASSWORD": "foobar",
"DEFAULT_WORKSPACE": "/config/workspace"
},
"overrideCommand": false,
"forwardPorts": [
"8088:8443"
],
"portsAttributes": {
"8443": {
"label": "Applicaition",
"onAutoForward": "notify"
}
},
"customizations": {
"devpod": {
"prebuildRepository": "ocram85/arkanum:1"
}
}
}

View File

@ -37,6 +37,11 @@ variables:
steps:
# TODO: Enable this in upcoming PRs.
#check-editorconfig:
# image: woodpeckerci/plugin-editorconfig-checker:0.2
# pull: true
test:
image: *build_plugin
settings:
@ -82,21 +87,6 @@ steps:
when:
event: [pull_request]
build-pr-image:
image: *build_plugin
settings:
repo: *publish_repos
dockerfile: Dockerfile
platforms: linux/amd64
tag: pull_${CI_COMMIT_PULL_REQUEST}
logins: *publish_logins
build_args:
- VERSION=${CI_COMMIT_TAG:-PR ${CI_COMMIT_PULL_REQUEST}}
- TAG=${CI_COMMIT_TAG}
when:
evaluate: 'CI_COMMIT_PULL_REQUEST_LABELS contains "build_pr_images"'
event: pull_request
gitea-release:
image: plugins/gitea-release
settings:

View File

@ -1,71 +1,93 @@
## [v1.8.1](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.8.1) - 2024-12-02
- 🐛 BUGFIXES
- Fix FiraCode font loader (#147)
- 🤖 DEPENDENCIES
- Chore(deps): update dependency prettier to v3.4.1 (#148)
- Chore(deps): update dependency typescript to v5.7.2 (#145)
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.95.3 (#144)
- Chore(deps): update oven/bun docker tag to v1.1.38 (#143)
## [v1.8.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.8.0) - 2024-11-21
- ✨ FEATURES
- Add session helper (#141)
- 🛠️ ENHANCEMENTS
- Move additional packages install to dockerfile (#138)
- 🤖 DEPENDENCIES
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.95.2 (#139)
- Chore(deps): update dependency vitepress to v1.5.0 (#137)
- ⚙️ META
- Pin exact bun version (#140)
## [v1.7.1](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.7.1) - 2024-10-23
* 🐛 BUGFIXES
* Move file binary install to powershell command (#134)
* 🛠️ ENHANCEMENTS
* Bump golang version (#135)
- 🐛 BUGFIXES
- Move file binary install to powershell command (#134)
- 🛠️ ENHANCEMENTS
- Bump golang version (#135)
## [v1.7.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.7.0) - 2024-10-22
* 🐛 BUGFIXES
* Adds file binary to supplement fix Publish-Module pwsh command. (#132)
* 🤖 DEPENDENCIES
* Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v5 (#131)
* Chore(deps): update dependency typescript to v5.6.3 (#129)
* Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.93.1 (#127)
* Chore(deps): update dependency typescript to v5.6.2 (#126)
* Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.92.2 (#125)
* Chore(deps): pin dependencies (#124)
- 🐛 BUGFIXES
- Adds file binary to supplement fix Publish-Module pwsh command. (#132)
- 🤖 DEPENDENCIES
- Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v5 (#131)
- Chore(deps): update dependency typescript to v5.6.3 (#129)
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.93.1 (#127)
- Chore(deps): update dependency typescript to v5.6.2 (#126)
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.92.2 (#125)
- Chore(deps): pin dependencies (#124)
## [v1.6.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.6.0) - 2024-07-31
* ✨ FEATURES
* Add arkanum branding for code-server (#120)
* Add lazygit (#116)
* 🛠️ ENHANCEMENTS
* Update brand assets (#121)
* Migrate codeberg organization to arkanum (#117)
* 🤖 DEPENDENCIES
* Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4.2.0 (#119)
* Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.91.1 (#118)
* Chore(deps): update dependency rimraf to v6 (#115)
* Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4.1.0 (#114)
* Add renovate reviewer (#113)
* Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.91.0 (#112)
- ✨ FEATURES
- Add arkanum branding for code-server (#120)
- Add lazygit (#116)
- 🛠️ ENHANCEMENTS
- Update brand assets (#121)
- Migrate codeberg organization to arkanum (#117)
- 🤖 DEPENDENCIES
- Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4.2.0 (#119)
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.91.1 (#118)
- Chore(deps): update dependency rimraf to v6 (#115)
- Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4.1.0 (#114)
- Add renovate reviewer (#113)
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.91.0 (#112)
## [v1.5.3](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.5.3) - 2024-06-20
* 🛠️ ENHANCEMENTS
* Update blog + bump golang (#108)
* 🤖 DEPENDENCIES
* Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4 (#110)
* Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.90.2 (#109)
* Chore(deps): update caddy docker tag to v2.8.4 (#106)
* 📚 DOCS
* Extend blog card layout (#107)
- 🛠️ ENHANCEMENTS
- Update blog + bump golang (#108)
- 🤖 DEPENDENCIES
- Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4 (#110)
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.90.2 (#109)
- Chore(deps): update caddy docker tag to v2.8.4 (#106)
- 📚 DOCS
- Extend blog card layout (#107)
## [v1.5.2](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.5.2) - 2024-06-04
* 🐛 BUGFIXES
* Fix typo (#104)
* ✨ FEATURES
* Add blog feature to docs (#101)
* 🛠️ ENHANCEMENTS
* Add gitea icon (#102)
* 🤖 DEPENDENCIES
* Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.89.1 (#100)
- 🐛 BUGFIXES
- Fix typo (#104)
- ✨ FEATURES
- Add blog feature to docs (#101)
- 🛠️ ENHANCEMENTS
- Add gitea icon (#102)
- 🤖 DEPENDENCIES
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.89.1 (#100)
## [v1.5.1](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.5.1) - 2024-05-22
* 🐛 BUGFIXES
* Fix starship prompt installation (#95)
* ✨ FEATURES
* Add Arkanum.dev site with docs (#97)
* 🤖 DEPENDENCIES
* Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4 (#98)
* Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.89.0 (#96)
* Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v3 (#93)
* Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.22.1 (#91)
- 🐛 BUGFIXES
- Fix starship prompt installation (#95)
- ✨ FEATURES
- Add Arkanum.dev site with docs (#97)
- 🤖 DEPENDENCIES
- Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v4 (#98)
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.89.0 (#96)
- Chore(deps): update woodpeckerci/plugin-docker-buildx docker tag to v3 (#93)
- Chore(deps): update quay.io/linuxserver.io/code-server docker tag to v4.22.1 (#91)
## [v1.5.0](https://gitea.ocram85.com/arkanum/arkanum/releases/tag/v1.5.0) - 2024-02-09

View File

@ -1,4 +1,4 @@
FROM quay.io/linuxserver.io/code-server:4.95.2
FROM quay.io/linuxserver.io/code-server:4.95.3
#LABEL build_version=""
LABEL maintainer="OCram85"
@ -51,10 +51,13 @@ RUN \
#endregion cli
#region firacode
WORKDIR /app/code-server/lib/vscode/out/vs/workbench
# TODO: validate dir: /lib/vscode/out/vs/code/browser/workbench/workbench.css
#WORKDIR /app/code-server/lib/vscode/out/vs/workbench
WORKDIR /app/code-server/lib/vscode/out/vs/code/browser/workbench
ADD FiraCode/fonts/* ./fonts/
ADD FiraCode/fonts.css ./
RUN cat fonts.css >> workbench.web.main.css
RUN cat fonts.css >> workbench.css
#endregion firacode
#region code-server

View File

@ -1,4 +1,4 @@
FROM oven/bun:1.1.34 AS builder
FROM oven/bun:1.1.38 AS builder
ARG CI
ARG CI_COMMIT_PULL_REQUEST

View File

@ -180,7 +180,7 @@ This helps reducing the image size.
```
🧙 arkanum ✨🌌☄️💥 is used to install optional tools for developing in a
code-server container environment.
code-server container environment.
Syntax: arkanum <flags> COMMAND OPTION ARGUMENT
COMMAND
@ -192,7 +192,7 @@ This helps reducing the image size.
OPTION
config:
disable-motd Disables hint in new bash terminal.
install extensions Installs predefined recommended extensions.
install-extensions Installs predefined recommended extensions.
reset-codesettings Sets VS Code user setting with basic (Fira Code).
git:
@ -203,17 +203,24 @@ This helps reducing the image size.
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.
gitea Installs gitea tools like changelog and tea.
golang Installs golang 1.21.5.
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.
lazygit Installs latest Lazygit binary.
session:
save Adds items from the install command to the session config.
restore Restores the saved session.
reset Resets the session config.
show Show currently defined session content.
Example 1: arkanum git setup "my-name" "my-email"
Example 2: arkanum install golang
Example 3: arkanum config disable-motd
Example 4: arkanum session save lazygit powershell gitea
```
### 📝 Fira Code (NerdFont patched)

69
arkanum
View File

@ -37,9 +37,16 @@ function showHelp() {
powershell Installs latest PowerShell LTS version.
lazygit Installs latest Lazygit binary.
session:
save Adds items from the install command to the session config.
restore Restores the saved session.
reset Resets the session config.
show Show currently defined session content.
Example 1: arkanum git setup "my-name" "my-email"
Example 2: arkanum install golang
Example 3: arkanum config disable-motd
Example 4: arkanum session save lazygit powershell gitea
HELP
}
# endregion usage
@ -225,6 +232,7 @@ function installLazyGit() {
sudo rm -f /tmp/lazygit.tar.gz
rm -rf /tmp/lazygit
}
function instCodeExtension() {
say "Installing default extensions...." "Extension"
# Gitlens
@ -288,6 +296,48 @@ function setGitConfig() {
git config --list --global
}
function saveSession() {
SESSION_FILE="$HOME/arkanum-session"
if [[ $# -ge 3 ]]; then
for item in "${@:3}"; do
say "Adding '$item' to your session config" "saveSession"
echo "$item" | tee -a "$SESSION_FILE" > /dev/null
done
else
sayE "Unknown parameter count given" "saveSession"
exit 1
fi
}
function restoreSession() {
SESSION_FILE="$HOME/arkanum-session"
if [[ -e "$SESSION_FILE" ]]; then
while read item; do
say "Restoring '$item'..." "restoreSession"
arkanum install "$item"
done <"$SESSION_FILE"
say "Arkanum session restore completed. 🏁" "restoreSession"
else
sayE "There is no arkanum session!" "restoreSession"
exit 1
fi
}
function showSession() {
SESSION_FILE="$HOME/arkanum-session"
say "Trying to read your session config '$SESSION_FILE':" "showSession"
if [[ -e "$SESSION_FILE" ]]; then
cat "$SESSION_FILE"
else
sayE "There is no session defined!" "showSession"
fi
}
function resetSession() {
SESSION_FILE="$HOME/arkanum-session"
say "Deleting session file '$SESSION_FILE'..." "resetSession"
rm "$SESSION_FILE"
}
function main() {
if [[ "$#" == "0" ]]; then
showHelp
@ -347,6 +397,25 @@ function main() {
instGiteaTools
elif [[ "$2" == "lazygit" ]]; then
installLazyGit
else
sayE "Unknown option ($2) given for command 'install'!"
fi
elif [[ "$1" == "session" ]]; then
# session option
if [[ "$2" == "save" ]]; then
saveSession "$@"
exit 0
elif [[ "$2" == "restore" ]]; then
restoreSession
exit 0
elif [[ "$2" == "show" ]]; then
showSession
exit 0
elif [[ "$2" == "reset" ]]; then
resetSession
exit 0
else
sayE "Unknown option ($2) given for command 'session'!"
fi
else
sayE "Unknown parameter value given!($1)."

View File

@ -10,7 +10,7 @@ function _command_completions() {
case ${COMP_CWORD} in
1)
# shellcheck disable=2207,SC2086
COMPREPLY=($(compgen -W "config git install help" -- ${cur}))
COMPREPLY=($(compgen -W "config git install help session" -- ${cur}))
;;
2)
case ${prev} in
@ -26,6 +26,10 @@ function _command_completions() {
# shellcheck disable=2207,SC2086
COMPREPLY=($(compgen -W "docker-cli dotnet golang bun nodejs volta powershell gitea lazygit" -- ${cur}))
;;
session)
# shellcheck disable=2207,SC2086
COMPREPLY=($(compgen -W "save restore show reset" -- ${cur}))
;;
help)
;;
esac

BIN
bun.lockb

Binary file not shown.

View File

@ -3,8 +3,9 @@
## About
The `arkanum` container image includes the `arkanum-cli` to manage the current instance and be able to install
additional resources. To keep the base image as small as possible we decided not ot include all possible frameworks. This decision also helps to give the use the ability to manage the needed framework versions like for
NodeJS or Golang.
additional resources. To keep the base image as small as possible we decided not to include all possible frameworks.
With this approach the user can decide which frameworks are needed and install it by yourself. This avoids growing
the container image size.
For now the arkanum-cli is made with a simple bash script. But this could change whenever the complexity increases
significantly.
@ -14,7 +15,7 @@ significantly.
To use the cli just open a terminal and call the `arkanum` command. We also added a bash-completion
script for the cli.
<<< @/../arkanum#usage{35-37 bash:line-numbers}
<<< @/../arkanum#usage{19-22 bash:line-numbers}
The first thing you normally after starting your Arkanum instance is setting the git user and email:
@ -27,6 +28,29 @@ arkanum install golang
arkanum install nodejs
```
### Session Handling <Badge type="tip" text="^1.8.0" />
The session helper simplifies restoring your session after your instance was restarted. You can now save a global
session config which contains your needed frameworks installed by `arkanum install`. This wraps multiple install
calls and restores your session by running `arkanum session restore`.
For Example:
```bash
# Create a new session config by adding items
arkanum session save lazygit gitea golang
# Shows your saved session
arkanum session show
# Restore your session
arkanum session restore
# optionally reset / delete your session config
arkanum session reset
```
> [!WARNING]
> If your run `arkanum session save` multiple times and use the same arguments, they will also be added and
> installed multiple times!
## Referenced Source Files
::: code-group

View File

@ -1,6 +1,6 @@
{
"name": "arkanum-docs",
"version": "1.7.1",
"version": "1.8.1",
"type": "module",
"repository": {
"type": "git",
@ -8,12 +8,12 @@
},
"devDependencies": {
"@types/bun": "latest",
"prettier": "3.3.3",
"prettier": "3.4.1",
"rimraf": "6.0.1",
"vitepress": "1.5.0"
},
"peerDependencies": {
"typescript": "5.6.3"
"typescript": "5.7.2"
},
"scripts": {
"docs:clean": "rimraf docs/.vitepress/dist docs/.vitepress/dist",