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
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
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 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.
### 🧙 Added `arkanum` helper script
@ -60,28 +61,56 @@ This helps reducing the image size.
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.
--disable-motd Disables hint in new bash terminal.
--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 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:
- [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
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]`
- [linuxserver/docker-code-server](https://github.com/linuxserver/docker-code-server) - docker image based for *coder/code-server*
- A huge thanks to tuanpham for sharing his [code-server font patch](https://github.com/tuanpham-dev/code-server-font-patch). `[GPL-3.0]`
- [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).
## ⚖️ License (AGPLv3)
![AGPL](https://www.gnu.org/graphics/agplv3-155x51.png)
```
Arkanum - Code-Server container optimized for daily use.
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
along with this program. If not, see <https://www.gnu.org/licenses/>.
```

31
arkanum
View File

@ -129,7 +129,7 @@ function instPwsh() {
function instGiteaTools() {
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
say "'changelog' command installed." "Gitea"
say "done." "Gitea"
@ -137,7 +137,33 @@ function instGiteaTools() {
function setCodeSettings() {
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"
{
"window.menuBarVisibility": "compact",
@ -152,6 +178,7 @@ function setCodeSettings() {
"telemetry.telemetryLevel": "off"
}
EOF
say "done." "VSCode"
}
function main() {