Merge branch 'master' into fixLogoSize
ci/woodpecker/push/renovate Pipeline was successful Details
ci/woodpecker/pr/renovate Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
ci/woodpecker/pr/test Pipeline was successful Details
ci/woodpecker/push/deploy Pipeline was successful Details
ci/woodpecker/push/next Pipeline was successful Details
ci/woodpecker/pr/deploy Pipeline was successful Details
ci/woodpecker/pr/next Pipeline was successful Details

This commit is contained in:
OCram85 2022-11-22 11:55:57 +01:00
commit 2dbd23457e
2 changed files with 69 additions and 12 deletions

View File

@ -32,16 +32,17 @@ The container is based on the latest `linuxserver/code-server` image.
### 🚀 Starship prompt ### 🚀 Starship prompt
The [Starship](starship.rs) prompt is added an enabled as default. Default config uses Emojis and FiraCode icons. The [Starship](starship.rs) prompt is added and enabled as default. Default config uses Emojis and FiraCode icons.
### 🔱 git config ### 🔱 git config
Adds default system config with: Adds default git system config file with:
- code-server as default editor.
- disabled `aurocrlf`.
- enabled plain credential store for remote. - enabled plain credential store for remote.
- enabled bash completion for git command. - added git log helper `lg1` + `lg2`.
- 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](./gitconfig-system) for details.
### 🧙 Added `arkanum` helper script ### 🧙 Added `arkanum` helper script
@ -60,28 +61,56 @@ This helps reducing the image size.
golang Installs golang 1.19.3. golang Installs golang 1.19.3.
nodejs Installs latest NodeJs LTS version. nodejs Installs latest NodeJs LTS version.
powershell Installs latest PowerShell LTS version. powershell Installs latest PowerShell LTS version.
--disable-motd Disables hint in new bash terminal. --disable-motd Disables hint in new bash terminal.
--reset-codesetting Sets VS Code user setting with basic (Fira Code). --reset-codesetting Sets VS Code user setting with basic (Fira Code).
-h Prints this help message. -h Prints this help message.
Example 1: arkanum dotnet Example 1: arkanum dotnet
Example 2: arkanum golang nodejs Example 2: arkanum golang nodejs
Example 3: arkanum --disable-motd 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:
- [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)
## 💳 Credits ## 💳 Credits
Akranum is based on the following projects and wouldn't be possible without: Akranum is based on the following projects and wouldn't be possible without:
- [microsoft/vscode](https://github.com/microsoft/vscode) - Visual Studio Code, OSS - [microsoft/vscode](https://github.com/microsoft/vscode) - Visual Studio Code, OSS. `[MIT]`
- [coder/code-server](https://github.com/coder/code-server) - VSCode on a remote server, accessible through the browser. `[MIT]` - [coder/code-server](https://github.com/coder/code-server) - VSCode on a remote server, accessible through the browser. `[MIT]`
- [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) - docker image based for *coder/code-server* - [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) - docker image based for *coder/code-server*. `[GPL-3.0]`
- A huge thanks to tuanpham for sharing his [code-server font patch](https://github.com/tuanpham-dev/code-server-font-patch). `[GPL-3.0]` - A huge thanks to tuanpham for sharing his [code-server font patch](https://github.com/tuanpham-dev/code-server-font-patch).
## ⚖️ License (AGPLv3) ## ⚖️ License (AGPLv3)
![AGPL](https://www.gnu.org/graphics/agplv3-155x51.png) ![AGPL](https://www.gnu.org/graphics/agplv3-155x51.png)
```
Arkanum - Code-Server container optimized for daily use. Arkanum - Code-Server container optimized for daily use.
Copyright (C) 2022 "OCram85 <me@ocram85.com>" Copyright (C) 2022 "OCram85 <me@ocram85.com>"
@ -97,3 +126,4 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License 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/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
```

31
arkanum
View File

@ -129,7 +129,7 @@ function instPwsh() {
function instGiteaTools() { function instGiteaTools() {
say "Installing Gitea tools..." "Gitea" say "Installing Gitea tools..." "Gitea"
sudo curl -sSl https://dl.gitea.io/changelog-tool/main/changelog-main-linux-amd64 -o /usr/bin/changelog sudo curl -fsSL https://dl.gitea.io/changelog-tool/main/changelog-main-linux-amd64 -o /usr/bin/changelog
sudo chmod +x /usr/bin/changelog sudo chmod +x /usr/bin/changelog
say "'changelog' command installed." "Gitea" say "'changelog' command installed." "Gitea"
say "done." "Gitea" say "done." "Gitea"
@ -137,7 +137,33 @@ function instGiteaTools() {
function setCodeSettings() { function setCodeSettings() {
CODEFILE="$HOME/data/User/settings.json" CODEFILE="$HOME/data/User/settings.json"
say "Setting VScode base settings.($CODEFILE)" say "Downloading required extensions...." "VSCode"
# Gitlens
say "Downloading 'gitlens'..." "VSCode"
curl -fsSL https://open-vsx.org/api/eamodio/gitlens/13.1.1/file/eamodio.gitlens-13.1.1.vsix -o /tmp/eamodio.gitlens-13.1.1.vsix
say "Installing 'gitlens'..." "VSCode"
install-extension /tmp/eamodio.gitlens-13.1.1.vsix
say "Cleaning up 'gitlens' install files" "VSCode"
rm -f /tmp/eamodio.gitlens-13.1.1.vsix
# OneDarkPro
say "Downloading 'One Dark Pro' theme..." "VSCode"
curl -fsSL https://open-vsx.org/api/zhuangtongfa/material-theme/3.15.6/file/zhuangtongfa.material-theme-3.15.6.vsix -o /tmp/zhuangtongfa.material-theme-3.15.6.vsix
say "Installing 'One Dark Pro' theme..." "VSCode"
install-extension /tmp/zhuangtongfa.material-theme-3.15.6.vsix
say "Cleaning up 'One Dark Pro' install files" "VSCode"
rm -f /tmp/zhuangtongfa.material-theme-3.15.6.vsix
# vscode-icons
say "Downloading 'vscode-icons' theme..." "VSCode"
curl -fsSL https://open-vsx.org/api/vscode-icons-team/vscode-icons/12.0.1/file/vscode-icons-team.vscode-icons-12.0.1.vsix -o /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
say "Installing 'vscode-icons' theme..." "VSCode"
install-extension /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
say "Cleaning up 'vscode-icons' install files" "VSCode"
rm -f /tmp/vscode-icons-team.vscode-icons-12.0.1.vsix
# VSCode user settings file
say "Setting VScode base settings.($CODEFILE)" "VSCode"
cat <<EOF | tee "$CODEFILE" cat <<EOF | tee "$CODEFILE"
{ {
"window.menuBarVisibility": "compact", "window.menuBarVisibility": "compact",
@ -152,6 +178,7 @@ function setCodeSettings() {
"telemetry.telemetryLevel": "off" "telemetry.telemetryLevel": "off"
} }
EOF EOF
say "done." "VSCode"
} }
function main() { function main() {