vim workspaces
|
@ -54,6 +54,7 @@ RUN echo "------------------------------------------------------ blast-radius" \
|
|||
&& echo "------------------------------------------------------ tflint" \
|
||||
&& cd /tmp && wget https://github.com/terraform-linters/tflint/releases/download/v0.39.3/tflint_linux_amd64.zip \
|
||||
&& unzip /tmp/tflint_linux_amd64.zip -d /home/abc/.local/bin \
|
||||
&& rm /tmp/tflint_linux_amd64.zip \
|
||||
&& echo "------------------------------------------------------ tfsec" \
|
||||
&& cd /tmp && curl -Lo /tmp/tfsec https://github.com/aquasecurity/tfsec/releases/download/v1.27.5/tfsec-checkgen-linux-amd64 \
|
||||
&& chmod +x /tmp/tfsec \
|
||||
|
|
|
@ -10,6 +10,7 @@ USER abc
|
|||
# Install workspace tools and applications
|
||||
RUN sudo apt-get -y update \
|
||||
&& sudo apt-get install -y socat \
|
||||
&& sudo apt-get install -y s3fs \
|
||||
&& echo "------------------------------------------------------ install filebrowser" \
|
||||
&& cd /tmp && wget https://github.com/filebrowser/filebrowser/releases/download/v2.21.1/linux-amd64-filebrowser.tar.gz \
|
||||
&& mkdir /tmp/filebrowser \
|
||||
|
@ -19,11 +20,12 @@ RUN sudo apt-get -y update \
|
|||
&& mv /tmp/filebrowser/filebrowser /home/abc/apps/filebrowser/ \
|
||||
&& rm -rf /tmp/filebrowser \
|
||||
&& rm /tmp/linux-amd64-filebrowser.tar.gz \
|
||||
&& echo "------------------------------------------------------ install ungit" \
|
||||
&& sudo apt-get install -y ssh net-tools --no-install-recommends \
|
||||
&& mkdir -p /home/abc/apps/ungit \
|
||||
&& cd /home/abc/apps/ungit && nodeenv --node=12.18.3 --npm=6.0.0 env \
|
||||
&& cd /home/abc/apps/ungit && . env/bin/activate && npm install -g ungit@1.5.9
|
||||
&& echo "------------------------------------------------------ install frp" \
|
||||
&& cd /tmp && wget https://github.com/fatedier/frp/releases/download/v0.44.0/frp_0.44.0_linux_amd64.tar.gz \
|
||||
&& tar xvf /tmp/frp_0.44.0_linux_amd64.tar.gz \
|
||||
&& mv /tmp/frp_0.44.0_linux_amd64 /home/abc/apps/frp \
|
||||
&& rm /tmp/frp_0.44.0_linux_amd64.tar.gz \
|
||||
&& sudo apt-get install -y timelimit
|
||||
|
||||
# Copy Filebrowser config (it changes filebrowser standard port and host)
|
||||
COPY --chown=abc:abc filebrowser.json /home/abc/apps/filebrowser/.filebrowser.json
|
||||
|
@ -31,6 +33,6 @@ COPY --chown=abc:abc filebrowser.json /home/abc/apps/filebrowser/.filebrowser.js
|
|||
# Build Alnoda workspace
|
||||
COPY --chown=abc:abc workspace /tmp/workspace
|
||||
RUN echo "------------------------------------------------------ build workspace" \
|
||||
&& pipx install alnoda-wrk==0.2.17 \
|
||||
&& pipx install alnoda-wrk==0.2.23 \
|
||||
&& alnoda-wrk build /tmp/workspace \
|
||||
&& rm -rf /tmp/workspace
|
Before Width: | Height: | Size: 155 KiB |
|
@ -4,11 +4,12 @@ name: Base devspace
|
|||
doc_url: https://github.com/bluxmit/alnoda-workspaces/blob/main/workspaces/base-devspace/README.md
|
||||
author: bluxmit
|
||||
version: 4.0
|
||||
repository: https://github.com/bluxmit/alnoda-workspaces/tree/main/workspaces/base-devspace
|
||||
description: |
|
||||
# Base devspace
|
||||
Basis for other workspaces. This workspace has UI, but does not have code editor (or IDE) up & running.
|
||||
|
||||
tags: workspace-ui, filebrowser, ungit
|
||||
tags: workspace-ui, filebrowser, ungit, ngrok
|
||||
|
||||
# optional:
|
||||
# (Quickstart UI appearance)
|
||||
|
@ -39,18 +40,18 @@ pages:
|
|||
title: Terminal
|
||||
description: "Full-fledged WEB-based Command Line Interface"
|
||||
image: terminal.png
|
||||
- name: Workspace settings
|
||||
port: 8025
|
||||
title: Workspace settings
|
||||
description: "Configure workspace appearance. Start new applicatios and services"
|
||||
- name: Workspace admin
|
||||
port: 8024
|
||||
title: Workspace admin
|
||||
description: "Configure workspace. Start new applicatios and services. Share workspace."
|
||||
image: alnoda-admin.png
|
||||
- name: M.Commander
|
||||
port: 8026
|
||||
port: 8025
|
||||
title: M.Commander
|
||||
description: Feature rich visual file manager with internal text viewer and editor
|
||||
image: mc.jpg
|
||||
- name: Htop
|
||||
port: 8027
|
||||
port: 8026
|
||||
title: Process monitor
|
||||
description: Monitor running process and resource utilization
|
||||
image: htop.jpg
|
||||
|
@ -63,23 +64,21 @@ start:
|
|||
cmd: mkdocs serve -a 0.0.0.0:8020
|
||||
- name: File Browser
|
||||
cmd: /home/abc/apps/filebrowser/filebrowser -c /home/abc/apps/filebrowser/.filebrowser.json
|
||||
- name: Ungit
|
||||
folder: $HOME/apps/ungit
|
||||
cmd: . env/bin/activate; ungit --port=8024 --ungitBindIp=0.0.0.0 --launchBrowser=false --autoFetch=false --bugtracking=false --authentication=false
|
||||
- name: Admin
|
||||
env_vars:
|
||||
- name: TERM
|
||||
value: xterm
|
||||
cmd: ttyd -p 8025 /bin/zsh -c 'alnoda-wrk admin'
|
||||
cmd: ttyd -p 8024 /bin/zsh -c 'alnoda-wrk admin'
|
||||
- name: MC
|
||||
env_vars:
|
||||
- name: TERM
|
||||
value: xterm
|
||||
- name: EDITOR
|
||||
value: mcedit
|
||||
cmd: ttyd -p 8026 /bin/zsh -c '/usr/bin/mc'
|
||||
cmd: ttyd -p 8025 /bin/zsh -c '/usr/bin/mc'
|
||||
- name: Htop
|
||||
env_vars:
|
||||
- name: TERM
|
||||
value: xterm
|
||||
cmd: ttyd -p 8027 /bin/zsh -c '/usr/bin/htop'
|
||||
cmd: ttyd -p 8026 /bin/zsh -c '/usr/bin/htop'
|
||||
|
|
@ -3,6 +3,10 @@ FROM alnoda/base-devspace:4.0
|
|||
# Set environmental variables for Code-server
|
||||
ARG CODESERVER_VERSION="4.7.0"
|
||||
|
||||
USER root
|
||||
RUN echo "fs.inotify.max_user_watches=524288" >> /etc/sysctl.conf
|
||||
USER abc
|
||||
|
||||
# Install Code-server
|
||||
RUN echo "------------------------------------------------------ code-server" \
|
||||
&& cd \tmp \
|
||||
|
@ -14,9 +18,9 @@ RUN echo "------------------------------------------------------ code-server" \
|
|||
RUN echo "------------------------------------------------------ common extensions" \
|
||||
&& code-server --install-extension mhutchie.git-graph \
|
||||
&& code-server --install-extension redhat.vscode-yaml \
|
||||
&& code-server --install-extension redhat.vscode-xml \
|
||||
&& code-server --install-extension mechatroner.rainbow-csv \
|
||||
&& code-server --install-extension formulahendry.auto-close-tag \
|
||||
&& code-server --install-extension formulahendry.auto-rename-tag \
|
||||
&& code-server --install-extension anteprimorac.html-end-tag-labels \
|
||||
&& code-server --install-extension abusaidm.html-snippets \
|
||||
&& code-server --install-extension sndst00m.vscode-native-svg-preview \
|
||||
|
@ -31,12 +35,14 @@ RUN echo "------------------------------------------------------ common extensio
|
|||
&& code-server --install-extension wesbos.theme-cobalt2 \
|
||||
&& code-server --install-extension github.github-vscode-theme \
|
||||
&& code-server --install-extension armandphilippot.coldark \
|
||||
&& code-server --install-extension radiolevity.search-lights \
|
||||
&& code-server --install-extension radiolevity.search-lights
|
||||
&& code-server --install-extension vladeeg.vscode-theme-vlight \
|
||||
&& code-server --install-extension akamud.vscode-theme-onelight \
|
||||
&& code-server --install-extension akamud.vscode-theme-onedark \
|
||||
&& code-server --install-extension rubjo.ultimate-dark-neo \
|
||||
&& code-server --install-extension sainnhe.edge \
|
||||
&& code-server --install-extension lakshitsomani.best-themes-redefined \
|
||||
&& code-server --install-extension usernamehw.prism \
|
||||
&& echo "------------------------------------------------------ icons" \
|
||||
&& code-server --install-extension emroussel.atom-icons \
|
||||
&& code-server --install-extension laurenttreguier.vscode-simple-icons
|
||||
|
|
BIN
workspaces/codeserver-workspace/workspace/IDE.jpg
Normal file
After Width: | Height: | Size: 306 KiB |
|
@ -24,6 +24,15 @@ styles:
|
|||
code_text: "#EAB676"
|
||||
code_background: "#3C3C3C"
|
||||
|
||||
pages:
|
||||
home:
|
||||
- name: IDE
|
||||
port: 8021
|
||||
path: /
|
||||
title: IDE
|
||||
description: "Browser-based version of Visual Studio. Develop in any language, install hundreeds of extensions"
|
||||
image: IDE.jpg
|
||||
|
||||
# add applications and services to the start command
|
||||
start:
|
||||
- name: Code-server
|
||||
|
|
|
@ -23,6 +23,10 @@ RUN sudo apt-get -y update \
|
|||
&& mv /tmp/vulcanizer /home/abc/.local/bin/vulcanizer \
|
||||
&& rm /tmp/vulcanizer_0.8.0_Linux_i386.tar.gz
|
||||
|
||||
# Install codeserver extensions
|
||||
RUN echo "------------------------------------------------------ common extensions" \
|
||||
&& code-server --install-extension ria.elastic
|
||||
|
||||
# Change default codeserver theme
|
||||
COPY --chown=abc:abc settings.json /home/abc/.local/share/code-server/User/settings.json
|
||||
|
||||
|
|
|
@ -1,37 +1,4 @@
|
|||
ARG BUILD_IMAGE=node:16.17.0
|
||||
ARG MAIN_IMAGE=alnoda/java-workspace:4.0-17
|
||||
################################################################################ BUILD THEIA
|
||||
FROM ${BUILD_IMAGE}
|
||||
RUN apt-get update \
|
||||
&& apt-get upgrade -y \
|
||||
&& apt-get install -y apt-utils \
|
||||
&& apt-get install -y git \
|
||||
&& apt-get install -y libsecret-1-dev \
|
||||
&& mkdir /opt/theia
|
||||
WORKDIR /opt/theia
|
||||
ADD elixir_theia_package.json ./package.json
|
||||
ARG GITHUB_TOKEN
|
||||
RUN yarn --pure-lockfile && \
|
||||
NODE_OPTIONS="--max_old_space_size=4096" yarn theia build && \
|
||||
yarn theia download:plugins && \
|
||||
yarn --production && \
|
||||
yarn autoclean --init && \
|
||||
echo *.ts >> .yarnclean && \
|
||||
echo *.ts.map >> .yarnclean && \
|
||||
echo *.spec.* >> .yarnclean && \
|
||||
yarn autoclean --force && \
|
||||
yarn cache clean
|
||||
################################################################################ WORKSPACE IMAGE
|
||||
FROM ${MAIN_IMAGE}
|
||||
|
||||
# Replace Theia with the new build, which includes additional pre-installed extensions
|
||||
# To do this, the existing Theia folder will be deleted, and new copied from the build stage
|
||||
ENV THEIA_DIR="/home/abc/apps/theia"
|
||||
RUN rm -rf $THEIA_DIR \
|
||||
&& mkdir "$THEIA_DIR" \
|
||||
&& cd $THEIA_DIR && nodeenv --node=16.17.0 env && . env/bin/activate
|
||||
# Copy built Theia from the build image
|
||||
COPY --from=0 --chown=abc:abc /opt/theia $THEIA_DIR
|
||||
FROM alnoda/java-workspace:4.0-17
|
||||
|
||||
RUN sudo apt-get -y update \
|
||||
&& echo "------------------------------------------------------ Erlang requirements" \
|
||||
|
@ -55,6 +22,16 @@ ENV PATH="$PATH:/home/abc/erlang/25.0/bin"
|
|||
ENV PATH="$PATH:/home/abc/.kiex/bin"
|
||||
ENV PATH="$PATH:/home/abc/.kiex/elixirs/elixir-1.13.4/bin"
|
||||
|
||||
# Install codeserver extensions
|
||||
RUN echo "------------------------------------------------------ common extensions" \
|
||||
&& code-server --install-extension erlang-ls.erlang-ls \
|
||||
&& code-server --install-extension elixir-lsp.elixir-ls \
|
||||
&& code-server --install-extension pantajoe.vscode-elixir-credo \
|
||||
&& code-server --install-extension lakshitsomani.best-themes-redefined
|
||||
|
||||
# Set default codeserver theme
|
||||
COPY --chown=abc:abc settings.json /home/abc/.local/share/code-server/User/settings.json
|
||||
|
||||
# Build Alnoda workspace
|
||||
COPY --chown=abc:abc workspace /tmp/workspace
|
||||
RUN pipx uninstall alnoda-wrk; pipx install alnoda-wrk; alnoda-wrk build /tmp/workspace && rm -rf /tmp/workspace
|
|
@ -1,130 +0,0 @@
|
|||
{
|
||||
"private": true,
|
||||
"theia": {
|
||||
"frontend": {
|
||||
"config": {
|
||||
"applicationName": "Theia JavaScript/TypeScript Example",
|
||||
"preferences": {
|
||||
"files.enableTrash": false
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@theia/callhierarchy": "1.29.0",
|
||||
"@theia/debug": "1.29.0",
|
||||
"@theia/editor-preview": "1.29.0",
|
||||
"@theia/file-search": "1.29.0",
|
||||
"@theia/getting-started": "1.29.0",
|
||||
"@theia/git": "1.29.0",
|
||||
"@theia/markers": "1.29.0",
|
||||
"@theia/messages": "1.29.0",
|
||||
"@theia/mini-browser": "1.29.0",
|
||||
"@theia/navigator": "1.29.0",
|
||||
"@theia/outline-view": "1.29.0",
|
||||
"@theia/plugin": "1.29.0",
|
||||
"@theia/plugin-ext": "1.29.0",
|
||||
"@theia/plugin-ext-vscode": "1.29.0",
|
||||
"@theia/preferences": "1.29.0",
|
||||
"@theia/preview": "1.29.0",
|
||||
"@theia/search-in-workspace": "1.29.0",
|
||||
"@theia/terminal": "1.29.0",
|
||||
"@theia/vsx-registry": "1.29.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@theia/cli": "1.29.0"
|
||||
},
|
||||
"scripts": {
|
||||
"preinstall": "node-gyp install"
|
||||
},
|
||||
"theiaPluginsDir": "plugins",
|
||||
"theiaPlugins": {
|
||||
"vscode-builtin-bat": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/bat-1.39.1-prel.vsix",
|
||||
"vscode-builtin-clojure": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/clojure-1.39.1-prel.vsix",
|
||||
"vscode-builtin-coffeescript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/coffeescript-1.39.1-prel.vsix",
|
||||
"vscode-builtin-configuration-editing": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/configuration-editing-1.39.1-prel.vsix",
|
||||
"vscode-builtin-cpp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/cpp-1.39.1-prel.vsix",
|
||||
"vscode-builtin-csharp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/csharp-1.39.1-prel.vsix",
|
||||
"vscode-builtin-css": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/css-1.39.1-prel.vsix",
|
||||
"vscode-builtin-debug-auto-launch": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/debug-auto-launch-1.39.1-prel.vsix",
|
||||
"vscode-builtin-docker": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/docker-1.39.1-prel.vsix",
|
||||
"vscode-builtin-emmet": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/emmet-1.39.1-prel.vsix",
|
||||
"vscode-builtin-fsharp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/fsharp-1.39.1-prel.vsix",
|
||||
"vscode-builtin-go": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/go-1.39.1-prel.vsix",
|
||||
"vscode-builtin-groovy": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/groovy-1.39.1-prel.vsix",
|
||||
"vscode-builtin-grunt": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/grunt-1.39.1-prel.vsix",
|
||||
"vscode-builtin-gulp": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/gulp-1.39.1-prel.vsix",
|
||||
"vscode-builtin-handlebars": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/handlebars-1.39.1-prel.vsix",
|
||||
"vscode-builtin-hlsl": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/hlsl-1.39.1-prel.vsix",
|
||||
"vscode-builtin-html": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/html-1.39.1-prel.vsix",
|
||||
"vscode-builtin-html-language-features": "https://open-vsx.org/api/vscode/html-language-features/1.49.0/file/vscode.html-language-features-1.49.0.vsix",
|
||||
"vscode-builtin-ini": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/ini-1.39.1-prel.vsix",
|
||||
"vscode-builtin-jake": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/jake-1.39.1-prel.vsix",
|
||||
"vscode-builtin-java": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/java-1.39.1-prel.vsix",
|
||||
"vscode-builtin-javascript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/javascript-1.39.1-prel.vsix",
|
||||
"vscode-builtin-json": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/json-1.39.1-prel.vsix",
|
||||
"vscode-builtin-json-language-features": "https://open-vsx.org/api/vscode/json-language-features/1.46.1/file/vscode.json-language-features-1.46.1.vsix",
|
||||
"vscode-builtin-less": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/less-1.39.1-prel.vsix",
|
||||
"vscode-builtin-log": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/log-1.39.1-prel.vsix",
|
||||
"vscode-builtin-lua": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/lua-1.39.1-prel.vsix",
|
||||
"vscode-builtin-make": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/make-1.39.1-prel.vsix",
|
||||
"vscode-builtin-markdown": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/markdown-1.39.1-prel.vsix",
|
||||
"vscode-builtin-merge-conflicts": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/merge-conflict-1.39.1-prel.vsix",
|
||||
"vscode-builtin-npm": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/npm-1.39.1-prel.vsix",
|
||||
"vscode-builtin-node-debug": "https://github.com/theia-ide/vscode-node-debug/releases/download/v1.35.3/node-debug-1.35.3.vsix",
|
||||
"vscode-builtin-node-debug2": "https://github.com/theia-ide/vscode-node-debug2/releases/download/v1.33.0/node-debug2-1.33.0.vsix",
|
||||
"vscode-builtin-objective-c": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/objective-c-1.39.1-prel.vsix",
|
||||
"vscode-builtin-perl": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/perl-1.39.1-prel.vsix",
|
||||
"vscode-builtin-powershell": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/powershell-1.39.1-prel.vsix",
|
||||
"vscode-builtin-pug": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/pug-1.39.1-prel.vsix",
|
||||
"vscode-builtin-python": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/python-1.39.1-prel.vsix",
|
||||
"vscode-builtin-r": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/r-1.39.1-prel.vsix",
|
||||
"vscode-builtin-razor": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/razor-1.39.1-prel.vsix",
|
||||
"vscode-builtin-ruby": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/ruby-1.39.1-prel.vsix",
|
||||
"vscode-builtin-rust": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/rust-1.39.1-prel.vsix",
|
||||
"vscode-builtin-scss": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/scss-1.39.1-prel.vsix",
|
||||
"vscode-builtin-shaderlab": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/shaderlab-1.39.1-prel.vsix",
|
||||
"vscode-builtin-shellscript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/shellscript-1.39.1-prel.vsix",
|
||||
"vscode-builtin-sql": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/sql-1.39.1-prel.vsix",
|
||||
"vscode-builtin-swift": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/swift-1.39.1-prel.vsix",
|
||||
"vscode-builtin-theme-abyss": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-abyss-1.39.1-prel.vsix",
|
||||
"vscode-builtin-theme-defaults": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-defaults-1.39.1-prel.vsix",
|
||||
"vscode-builtin-theme-kimbie-dark": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-kimbie-dark-1.39.1-prel.vsix",
|
||||
"vscode-builtin-theme-monokai": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-monokai-1.39.1-prel.vsix",
|
||||
"vscode-builtin-theme-dimmed": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-monokai-dimmed-1.39.1-prel.vsix",
|
||||
"vscode-builtin-theme-quietlight": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-quietlight-1.39.1-prel.vsix",
|
||||
"vscode-builtin-theme-red": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-red-1.39.1-prel.vsix",
|
||||
"vscode-builtin-theme-solarized-dark": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-solarized-dark-1.39.1-prel.vsix",
|
||||
"vscode-builtin-theme-tomorrow-night-blue": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/theme-tomorrow-night-blue-1.39.1-prel.vsix",
|
||||
"vscode-builtin-typescript": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/typescript-1.39.1-prel.vsix",
|
||||
"vscode-builtin-typescript-language-features": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/typescript-language-features-1.39.1-prel.vsix",
|
||||
"vscode-builtin-vb": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/vb-1.39.1-prel.vsix",
|
||||
"vscode-builtin-icon-theme-seti": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/vscode-theme-seti-1.39.1-prel.vsix",
|
||||
"vscode-builtin-xml": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/xml-1.39.1-prel.vsix",
|
||||
"vscode-builtin-yaml": "https://github.com/theia-ide/vscode-builtin-extensions/releases/download/v1.39.1-prel/yaml-1.39.1-prel.vsix",
|
||||
"vscode-editorconfig": "https://github.com/theia-ide/editorconfig-vscode/releases/download/v0.14.4/EditorConfig-0.14.4.vsix",
|
||||
"vscode-eslint": "https://github.com/theia-ide/vscode-eslint/releases/download/release%2F2.0.15/vscode-eslint-2.0.15.vsix",
|
||||
|
||||
"vscode-python": "https://open-vsx.org/api/ms-python/python/2020.8.105369/file/ms-python.python-2020.8.105369.vsix",
|
||||
"nadim-vscode.infinity-dark-theme": "https://open-vsx.org/api/nadim-vscode/infinity-dark-theme/1.0.1/file/nadim-vscode.infinity-dark-theme-1.0.1.vsix",
|
||||
"emroussel.atomize-atom-one-dark-theme": "https://open-vsx.org/api/emroussel/atomize-atom-one-dark-theme/1.5.5/file/emroussel.atomize-atom-one-dark-theme-1.5.5.vsix",
|
||||
"mhutchie.git-graph": "https://open-vsx.org/api/mhutchie/git-graph/1.30.0/file/mhutchie.git-graph-1.30.0.vsix",
|
||||
"teabyii.ayu": "https://open-vsx.org/api/teabyii/ayu/0.20.1/file/teabyii.ayu-0.20.1.vsix",
|
||||
"yurihs.sublime-vscode-theme": "https://open-vsx.org/api/yurihs/sublime-vscode-theme/1.4.1/file/yurihs.sublime-vscode-theme-1.4.1.vsix",
|
||||
"wesbos.theme-cobalt2": "https://open-vsx.org/api/wesbos/theme-cobalt2/2.1.6/file/wesbos.theme-cobalt2-2.1.6.vsix",
|
||||
"github.github-vscode-theme": "https://open-vsx.org/api/GitHub/github-vscode-theme/4.1.1/file/GitHub.github-vscode-theme-4.1.1.vsix",
|
||||
"armandphilippot.coldark": "https://open-vsx.org/api/armandphilippot/coldark/1.2.9/file/armandphilippot.coldark-1.2.9.vsix",
|
||||
"radiolevity.search-lights": "https://open-vsx.org/api/radiolevity/search-lights/1.10.1/file/radiolevity.search-lights-1.10.1.vsix",
|
||||
"vladeeg.vscode-theme-vlight": "https://open-vsx.org/api/Vladeeg/vscode-theme-vlight/2.1.0/file/Vladeeg.vscode-theme-vlight-2.1.0.vsix",
|
||||
"akamud.vscode-theme-onelight": "https://open-vsx.org/api/akamud/vscode-theme-onelight/2.2.3/file/akamud.vscode-theme-onelight-2.2.3.vsix",
|
||||
"akamud.vscode-theme-onedark": "https://open-vsx.org/api/akamud/vscode-theme-onedark/2.2.3/file/akamud.vscode-theme-onedark-2.2.3.vsix",
|
||||
"emroussel.atom-icons": "https://open-vsx.org/api/emroussel/atom-icons/1.2.0/file/emroussel.atom-icons-1.2.0.vsix",
|
||||
"laurenttreguier.vscode-simple-icons": "https://open-vsx.org/api/LaurentTreguier/vscode-simple-icons/1.16.0/file/LaurentTreguier.vscode-simple-icons-1.16.0.vsix",
|
||||
"technicolor-creamsicle.deepdark-material": "https://open-vsx.org/api/technicolor-creamsicle/deepdark-material/3.3.0/file/technicolor-creamsicle.deepdark-material-3.3.0.vsix",
|
||||
"rubjo.ultimate-dark-neo": "https://open-vsx.org/api/rubjo/ultimate-dark-neo/0.1.0/file/rubjo.ultimate-dark-neo-0.1.0.vsix",
|
||||
"sainnhe.edge": "https://open-vsx.org/api/sainnhe/edge/0.1.8/file/sainnhe.edge-0.1.8.vsix",
|
||||
|
||||
"erlang-ls.erlang-ls": "https://open-vsx.org/api/erlang-ls/erlang-ls/0.0.36/file/erlang-ls.erlang-ls-0.0.36.vsix",
|
||||
"elixir-lsp.elixir-ls": "https://open-vsx.org/api/elixir-lsp/elixir-ls/0.11.0/file/elixir-lsp.elixir-ls-0.11.0.vsix"
|
||||
}
|
||||
}
|
4
workspaces/erlang-elixir-workspace/settings.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"workbench.colorTheme": "Best Themes - Palenight",
|
||||
"git-graph.maxDepthOfRepoSearch": 3
|
||||
}
|
|
@ -21,7 +21,6 @@ styles:
|
|||
light:
|
||||
primary: "#604270"
|
||||
accent: "#07B6AB"
|
||||
subtitle: "#c9af06"
|
||||
background: "#FFFFFF"
|
||||
text: "#604270"
|
||||
dark:
|
||||
|
@ -29,7 +28,6 @@ styles:
|
|||
accent: "#07B6AB"
|
||||
background: "#232834"
|
||||
title: "#83698E"
|
||||
subtitle: "#604270"
|
||||
text: "#FFFFFF"
|
||||
code_text: "#000000"
|
||||
code_background: "#F0F0F0"
|
||||
|
|
|
@ -8,14 +8,20 @@ RUN cd /tmp && curl -LO https://go.dev/dl/go1.18.2.linux-amd64.tar.gz \
|
|||
# Set environmental variables
|
||||
ENV PATH="$PATH:/home/abc/go/bin"
|
||||
ENV GOPATH="/home/abc/go"
|
||||
ENV GOROOT="/home/abc/go"
|
||||
|
||||
RUN go install -v github.com/ramya-rao-a/go-outline@latest \
|
||||
&& go install -v golang.org/x/tools/gopls@latest
|
||||
&& go install -v golang.org/x/tools/gopls@latest \
|
||||
&& go get -v golang.org/x/tools/cmd/goimports \
|
||||
&& go get -v github.com/uudashr/gopkgs/v2/cmd/gopkgs \
|
||||
&& go get -v github.com/stamblerre/gocode
|
||||
|
||||
# Install additional codeserver extensions
|
||||
RUN echo "------------------------------------------------------ extensions" \
|
||||
&& code-server --install-extension golang.go \
|
||||
&& code-server --install-extension tonsky.theme-alabaster
|
||||
&& code-server --install-extension ms-vscode.Go \
|
||||
&& code-server --install-extension tonsky.theme-alabaster \
|
||||
&& code-server --install-extension CoenraadS.bracket-pair-colorizer-2
|
||||
|
||||
|
||||
# Change default codeserver theme
|
||||
COPY --chown=abc:abc settings.json /home/abc/.local/share/code-server/User/settings.json
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
"workbench.colorTheme": "Alabaster",
|
||||
"git-graph.maxDepthOfRepoSearch": 3,
|
||||
"gopls": {
|
||||
"experimentalWorkspaceModule": true
|
||||
}
|
||||
"experimentalWorkspaceModule": true,
|
||||
"ui.semanticTokens": true
|
||||
},
|
||||
"go.formatTool": "goreturns"
|
||||
}
|
|
@ -31,6 +31,10 @@ RUN echo "------------------------------------------------------ extensions" \
|
|||
&& code-server --install-extension christian-kohler.npm-intellisense \
|
||||
&& code-server --install-extension xabikos.JavaScriptSnippets \
|
||||
&& code-server --install-extension kumar-harsh.graphql-for-vscode
|
||||
wix.vscode-import-cost
|
||||
vscode.typescript-language-features
|
||||
christian-kohler.path-intellisense
|
||||
rangav.vscode-thunder-client
|
||||
|
||||
# Change default codeserver theme
|
||||
COPY --chown=abc:abc settings.json /home/abc/.local/share/code-server/User/settings.json
|
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
@ -1,4 +1,4 @@
|
|||
FROM lnoda/ansible-terraform-workspace:4.0
|
||||
FROM alnoda/ansible-terraform-workspace:4.0
|
||||
|
||||
RUN sudo apt-get -y update \
|
||||
&& echo "------------------------------------------------------ Kubectl" \
|
||||
|
@ -32,6 +32,9 @@ RUN echo "------------------------------------------------------ kubespray" \
|
|||
&& pip install -r /home/project/kubespray/requirements-2.12.txt \
|
||||
&& echo "------------------------------------------------------ Kube-shell" \
|
||||
&& pipx install kube-shell \
|
||||
&& echo "------------------------------------------------------ Kubescape" \
|
||||
&& chmod 0750 /home/abc/.nix-profile/bin/ \
|
||||
&& curl -s https://raw.githubusercontent.com/kubescape/kubescape/master/install.sh | /bin/bash \
|
||||
&& echo "------------------------------------------------------ Krew" \
|
||||
&& mkdir /tmp/krew \
|
||||
&& cd /tmp/krew && wget https://github.com/kubernetes-sigs/krew/releases/download/v0.4.3/krew-linux_amd64.tar.gz \
|
||||
|
@ -44,6 +47,9 @@ RUN echo "------------------------------------------------------ kubespray" \
|
|||
&& echo '[ -f ~/.kubectl_aliases ] && source ~/.kubectl_aliases' >> /home/abc/.zshrc \
|
||||
&& mkdir -p /home/abc/.ssh
|
||||
|
||||
|
||||
# https://github.com/bloodorangeio/octant-helm
|
||||
|
||||
ENV OCTANT_DISABLE_OPEN_BROWSER=1 \
|
||||
OCTANT_LISTENER_ADDR=0.0.0.0:8035
|
||||
|
||||
|
|
|
@ -24,7 +24,6 @@ styles:
|
|||
light:
|
||||
primary: "#0B0438"
|
||||
accent: "#B8610B"
|
||||
subtitle: "#7747A7"
|
||||
background: "#F0F0F0"
|
||||
title: "#303030"
|
||||
code_text: "#FFFFFF"
|
||||
|
@ -34,7 +33,6 @@ styles:
|
|||
accent: "#B8610B"
|
||||
background: "#00031C"
|
||||
title: "#E3EAF2"
|
||||
subtitle: "#E3EAF2"
|
||||
text: "#E3EAF2"
|
||||
code_text: "#000000"
|
||||
code_background: "#F0F0F0"
|
||||
|
|
34
workspaces/neovim-workspace/Dockerfile
Normal file
|
@ -0,0 +1,34 @@
|
|||
FROM alnoda/base-devspace:4.0
|
||||
|
||||
RUN echo "------------------------------------------------------ nvim" \
|
||||
&& cd /tmp && wget https://github.com/neovim/neovim/releases/download/v0.8.0/nvim-linux64.tar.gz \
|
||||
&& tar -xzf nvim-linux64.tar.gz \
|
||||
&& mv /tmp/nvim-linux64 /home/abc/apps/nvim \
|
||||
&& mkdir /home/abc/.config/nvim/ \
|
||||
&& echo "------------------------------------------------------ vim-plug" \
|
||||
&& sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' \
|
||||
&& mkdir /home/abc/.config/nvim/plugged
|
||||
|
||||
COPY --chown=abc:abc init.vim /home/abc/.config/nvim/init.vim
|
||||
ENV PATH="$PATH:/home/abc/apps/nvim/bin"
|
||||
|
||||
RUN echo "------------------------------------------------------ create node environment" \
|
||||
&& mkdir /home/abc/apps/nvim-nodeenv \
|
||||
&& cd /home/abc/apps/nvim-nodeenv && nodeenv --node=18.9.0 env && . env/bin/activate \
|
||||
&& echo "------------------------------------------------------ install nvim plugins" \
|
||||
&& nvim --headless +PlugInstall +qall \
|
||||
&& echo "------------------------------------------------------ providers" \
|
||||
&& python3 -m pip install --user --upgrade pynvim \
|
||||
&& nvim --headless -c 'CocInstall -sync coc-json coc-pyright coc-tsserver coc-go coc-java coc-html|q'
|
||||
|
||||
# Build Alnoda workspace
|
||||
COPY --chown=abc:abc workspace /tmp/workspace
|
||||
RUN echo "------------------------------------------------------ build workspace" \
|
||||
&& pipx install alnoda-wrk \
|
||||
&& alnoda-wrk build /tmp/workspace \
|
||||
&& rm -rf /tmp/workspace
|
||||
|
||||
|
||||
# https://github.com/AstroNvim/AstroNvim
|
||||
# https://www.lunarvim.org/docs/installation
|
||||
# https://neovimcraft.com/
|
203
workspaces/neovim-workspace/init.vim
Normal file
|
@ -0,0 +1,203 @@
|
|||
set nocompatible " disable compatibility to old-time vi
|
||||
set showmatch " show matching
|
||||
set ignorecase " case insensitive
|
||||
set hlsearch " highlight search
|
||||
set incsearch " incremental search
|
||||
set tabstop=4 " number of columns occupied by a tab
|
||||
set softtabstop=4 " see multiple spaces as tabstops so <BS> does the right thing
|
||||
set expandtab " converts tabs to white space
|
||||
set shiftwidth=4 " width for autoindents
|
||||
set autoindent " indent a new line the same amount as the line just typed
|
||||
set number " add line numbers
|
||||
set wildmode=longest,list " get bash-like tab completions
|
||||
set cc=80 " set an 80 column border for good coding style
|
||||
filetype plugin indent on "allow auto-indenting depending on file type
|
||||
syntax on " syntax highlighting
|
||||
set mouse=a " enable mouse click
|
||||
set clipboard=unnamedplus " using system clipboard
|
||||
filetype plugin on
|
||||
set cursorline " highlight current cursorline
|
||||
set ttyfast " Speed up scrolling in Vim
|
||||
" set spell " enable spell check (may need to download language package)
|
||||
" set noswapfile " disable creating swap file
|
||||
" set backupdir=~/.cache/vim " Directory to store backup files.
|
||||
" Plugins will be downloaded under the specified directory.
|
||||
call plug#begin('/home/abc/.config/nvim/plugged')
|
||||
|
||||
" Declare the list of plugins.
|
||||
Plug 'tpope/vim-sensible'
|
||||
Plug 'junegunn/seoul256.vim'
|
||||
Plug 'dracula/vim'
|
||||
Plug 'SirVer/ultisnips'
|
||||
Plug 'honza/vim-snippets'
|
||||
Plug 'scrooloose/nerdtree'
|
||||
Plug 'preservim/nerdcommenter'
|
||||
Plug 'mhinz/vim-startify'
|
||||
Plug 'gennaro-tedesco/nvim-jqx'
|
||||
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||
Plug 'sheerun/vim-polyglot'
|
||||
" fugitive.vim: A Git wrapper so awesome, it should be illegal
|
||||
Plug 'tpope/vim-fugitive'
|
||||
" A light and configurable statusline/tabline plugin for Vim
|
||||
Plug 'itchyny/lightline.vim'
|
||||
" Vim plugin, insert or delete brackets, parens, quotes in pair
|
||||
Plug 'ntk148v/auto-pairs'
|
||||
" Multiple cursors plugin for vim/neovim
|
||||
Plug 'mg979/vim-visual-multi', {'branch': 'master'}
|
||||
|
||||
" List ends here. Plugins become visible to Vim after this call.
|
||||
call plug#end()
|
||||
|
||||
" Start NERDTree when Vim is started without file arguments.
|
||||
autocmd StdinReadPre * let s:std_in=1
|
||||
autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NERDTree | endif
|
||||
autocmd BufEnter NERD_tree_* | execute 'normal R'
|
||||
|
||||
if (has("termguicolors"))
|
||||
set termguicolors
|
||||
endif
|
||||
syntax enable
|
||||
colorscheme dracula
|
||||
" set splitright
|
||||
" set splitbelow
|
||||
|
||||
hi! EndOfBuffer ctermbg=bg ctermfg=bg guibg=bg guifg=bg
|
||||
|
||||
" Use tab for trigger completion with characters ahead and navigate.
|
||||
" NOTE: There's always complete item selected by default, you may want to enable
|
||||
" no select by `"suggest.noselect": true` in your configuration file.
|
||||
" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
|
||||
" other plugin before putting this into your config.
|
||||
inoremap <silent><expr> <TAB>
|
||||
\ coc#pum#visible() ? coc#pum#next(1) :
|
||||
\ CheckBackspace() ? "\<Tab>" :
|
||||
\ coc#refresh()
|
||||
inoremap <expr><S-TAB> coc#pum#visible() ? coc#pum#prev(1) : "\<C-h>"
|
||||
|
||||
" Make <CR> to accept selected completion item or notify coc.nvim to format
|
||||
" <C-g>u breaks current undo, please make your own choice.
|
||||
inoremap <silent><expr> <CR> coc#pum#visible() ? coc#pum#confirm()
|
||||
\: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
|
||||
|
||||
function! CheckBackspace() abort
|
||||
let col = col('.') - 1
|
||||
return !col || getline('.')[col - 1] =~# '\s'
|
||||
endfunction
|
||||
|
||||
" Use <c-space> to trigger completion.
|
||||
if has('nvim')
|
||||
inoremap <silent><expr> <c-space> coc#refresh()
|
||||
else
|
||||
inoremap <silent><expr> <c-@> coc#refresh()
|
||||
endif
|
||||
|
||||
" Use `[g` and `]g` to navigate diagnostics
|
||||
" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
|
||||
nmap <silent> [g <Plug>(coc-diagnostic-prev)
|
||||
nmap <silent> ]g <Plug>(coc-diagnostic-next)
|
||||
|
||||
" GoTo code navigation.
|
||||
nmap <silent> gd <Plug>(coc-definition)
|
||||
nmap <silent> gy <Plug>(coc-type-definition)
|
||||
nmap <silent> gi <Plug>(coc-implementation)
|
||||
nmap <silent> gr <Plug>(coc-references)
|
||||
|
||||
" Use K to show documentation in preview window.
|
||||
nnoremap <silent> K :call ShowDocumentation()<CR>
|
||||
|
||||
function! ShowDocumentation()
|
||||
if CocAction('hasProvider', 'hover')
|
||||
call CocActionAsync('doHover')
|
||||
else
|
||||
call feedkeys('K', 'in')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Highlight the symbol and its references when holding the cursor.
|
||||
autocmd CursorHold * silent call CocActionAsync('highlight')
|
||||
|
||||
" Symbol renaming.
|
||||
nmap <leader>rn <Plug>(coc-rename)
|
||||
|
||||
" Formatting selected code.
|
||||
xmap <leader>f <Plug>(coc-format-selected)
|
||||
nmap <leader>f <Plug>(coc-format-selected)
|
||||
|
||||
augroup mygroup
|
||||
autocmd!
|
||||
" Setup formatexpr specified filetype(s).
|
||||
autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
|
||||
" Update signature help on jump placeholder.
|
||||
autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
|
||||
augroup end
|
||||
|
||||
" Applying codeAction to the selected region.
|
||||
" Example: `<leader>aap` for current paragraph
|
||||
xmap <leader>a <Plug>(coc-codeaction-selected)
|
||||
nmap <leader>a <Plug>(coc-codeaction-selected)
|
||||
|
||||
" Remap keys for applying codeAction to the current buffer.
|
||||
nmap <leader>ac <Plug>(coc-codeaction)
|
||||
" Apply AutoFix to problem on the current line.
|
||||
nmap <leader>qf <Plug>(coc-fix-current)
|
||||
|
||||
" Run the Code Lens action on the current line.
|
||||
nmap <leader>cl <Plug>(coc-codelens-action)
|
||||
|
||||
" Map function and class text objects
|
||||
" NOTE: Requires 'textDocument.documentSymbol' support from the language server.
|
||||
xmap if <Plug>(coc-funcobj-i)
|
||||
omap if <Plug>(coc-funcobj-i)
|
||||
xmap af <Plug>(coc-funcobj-a)
|
||||
omap af <Plug>(coc-funcobj-a)
|
||||
xmap ic <Plug>(coc-classobj-i)
|
||||
omap ic <Plug>(coc-classobj-i)
|
||||
xmap ac <Plug>(coc-classobj-a)
|
||||
omap ac <Plug>(coc-classobj-a)
|
||||
|
||||
" Remap <C-f> and <C-b> for scroll float windows/popups.
|
||||
if has('nvim-0.4.0') || has('patch-8.2.0750')
|
||||
nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
|
||||
nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
|
||||
inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>"
|
||||
inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>"
|
||||
vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
|
||||
vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
|
||||
endif
|
||||
|
||||
" Use CTRL-S for selections ranges.
|
||||
" Requires 'textDocument/selectionRange' support of language server.
|
||||
nmap <silent> <C-s> <Plug>(coc-range-select)
|
||||
xmap <silent> <C-s> <Plug>(coc-range-select)
|
||||
|
||||
" Add `:Format` command to format current buffer.
|
||||
command! -nargs=0 Format :call CocActionAsync('format')
|
||||
|
||||
" Add `:Fold` command to fold current buffer.
|
||||
command! -nargs=? Fold :call CocAction('fold', <f-args>)
|
||||
|
||||
" Add `:OR` command for organize imports of the current buffer.
|
||||
command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport')
|
||||
|
||||
" Add (Neo)Vim's native statusline support.
|
||||
" NOTE: Please see `:h coc-status` for integrations with external plugins that
|
||||
" provide custom statusline: lightline.vim, vim-airline.
|
||||
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
|
||||
|
||||
" Mappings for CoCList
|
||||
" Show all diagnostics.
|
||||
nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr>
|
||||
" Manage extensions.
|
||||
nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr>
|
||||
" Show commands.
|
||||
nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr>
|
||||
" Find symbol of current document.
|
||||
nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr>
|
||||
" Search workspace symbols.
|
||||
nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr>
|
||||
" Do default action for next item.
|
||||
nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR>
|
||||
" Do default action for previous item.
|
||||
nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR>
|
||||
" Resume latest coc list.
|
||||
nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR>
|
BIN
workspaces/neovim-workspace/workspace/mc.jpg
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
workspaces/neovim-workspace/workspace/neovim.jpg
Normal file
After Width: | Height: | Size: 193 KiB |
108
workspaces/neovim-workspace/workspace/workspace.yaml
Normal file
|
@ -0,0 +1,108 @@
|
|||
---
|
||||
# mandatory
|
||||
name: Neovim workspace
|
||||
doc_url: https://github.com/bluxmit/alnoda-workspaces/blob/main/workspaces/neovim-workspace/README.md
|
||||
author: bluxmit
|
||||
version: 4.0
|
||||
repository: https://github.com/bluxmit/alnoda-workspaces/tree/main/workspaces/neovim-workspace
|
||||
description: |
|
||||
Workspace with hyperextensible Vim-based text editor
|
||||
|
||||
styles:
|
||||
colors:
|
||||
light:
|
||||
code_text: "#282A36"
|
||||
code_background: "#252525"
|
||||
dark:
|
||||
code_text: "#EAB676"
|
||||
code_background: "#3C3C3C"
|
||||
|
||||
styles:
|
||||
font: Roboto # chose any from https://fonts.google.com/
|
||||
colors:
|
||||
light:
|
||||
primary: "#282A36"
|
||||
accent: "#FF79C6"
|
||||
background: "#F5F7F7"
|
||||
dark:
|
||||
primary: "#424450"
|
||||
accent: "#45C368"
|
||||
background: "#282A36"
|
||||
title: "#F1FA8C"
|
||||
text: "#D368A8"
|
||||
common_colors:
|
||||
header: "#FFFFFF"
|
||||
nav: "#eab676"
|
||||
|
||||
|
||||
pages:
|
||||
home:
|
||||
- name: Editor
|
||||
port: 8021
|
||||
path: /
|
||||
title: Code editor
|
||||
description: "Vim-based code editor - Neovim"
|
||||
image: neovim.jpg
|
||||
- name: M.Commander
|
||||
port: 8025
|
||||
title: M.Commander
|
||||
description: Feature rich visual file manager with internal text viewer and editor
|
||||
image: mc.jpg
|
||||
|
||||
start:
|
||||
- name: Neovim
|
||||
folder: /home/
|
||||
cmd: ttyd -p 8021 /bin/zsh -c 'cd /home/abc/apps/nvim-nodeenv && . env/bin/activate && cd /home && nvim'
|
||||
|
||||
|
||||
cheatsheet:
|
||||
Neoim:
|
||||
- cmd: i
|
||||
description: enter insert mode, allows editing file
|
||||
- cmd: Esc
|
||||
description: exit insert mode, enter visual (command) mode
|
||||
- cmd: mouse double click
|
||||
description: toggle between insert/visual modes
|
||||
- cmd: y
|
||||
description: copy (yank) selected text
|
||||
- cmd: p
|
||||
description: paste copied (yank) text
|
||||
- cmd: d
|
||||
description: delete selected lines
|
||||
- cmd: :te
|
||||
description: open terminal
|
||||
- cmd: u
|
||||
description: undo all changes in the last insert mode
|
||||
- cmd: 2u
|
||||
description: undo all changes done in 2 last insert modes
|
||||
- cmd: Ctrl + r
|
||||
description: redo (undone changes)
|
||||
- cmd: :w
|
||||
description: save file changes
|
||||
- cmd: :wq
|
||||
description: save and exit
|
||||
- cmd: :q
|
||||
description: close
|
||||
- cmd: :q!
|
||||
description: trash all changes
|
||||
- cmd: m
|
||||
description: create/delete files and folders (if focused on file tree)
|
||||
- cmd: u
|
||||
description: set filetree to one level above (if focused on file tree)
|
||||
- cmd: t
|
||||
description: open the selected file in a new fullscreen tab (if focused on file tree)
|
||||
- cmd: i
|
||||
description: open the selected file in a horizontal split window (if focused on file tree)
|
||||
- cmd: s
|
||||
description: open the selected file in a vertical split window (if focused on file tree)
|
||||
- cmd: I (Shift + i)
|
||||
description: show hidden files (if focused on file tree)
|
||||
- cmd: :G
|
||||
description: manage Git repository
|
||||
|
||||
links:
|
||||
Developer help:
|
||||
- url: "https://spacevim.org/"
|
||||
name: "SpaceVim"
|
||||
description: "SpaceVim community website"
|
||||
|
|
@ -14,15 +14,13 @@ RUN echo "------------------------------------------------------ node, npm" \
|
|||
&& nvm alias default $NODE_VERSION \
|
||||
&& nvm use default
|
||||
|
||||
# ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
|
||||
# ENV PATH $NVM_DIR/v$NODE_VERSION/bin:$PATH
|
||||
|
||||
# Install additional codeserver extensions
|
||||
RUN echo "------------------------------------------------------ extensions" \
|
||||
&& code-server --install-extension bradlc.vscode-tailwindcss \
|
||||
&& code-server --install-extension anseki.vscode-color \
|
||||
&& code-server --install-extension christian-kohler.npm-intellisense \
|
||||
&& code-server --install-extension xabikos.JavaScriptSnippets \
|
||||
&& code-server --install-extension dbaeumer.vscode-eslint \
|
||||
&& code-server --install-extension kumar-harsh.graphql-for-vscode
|
||||
|
||||
# Change default codeserver theme
|
||||
|
|
|
@ -27,6 +27,11 @@ RUN echo "------------------------------------------------------ PHP " \
|
|||
&& find /home -type d | xargs -I{} chown -R abc {} \
|
||||
&& find /home -type f | xargs -I{} chown abc {}
|
||||
|
||||
|
||||
|
||||
pwarchol.vscode-php-file-link
|
||||
rangav.vscode-thunder-client
|
||||
|
||||
USER abc
|
||||
|
||||
|
||||
|
|
|
@ -10,17 +10,20 @@ RUN pip install -r /home/abc/installed-python-packages/python-requirements.txt \
|
|||
&& apt-get install -y graphviz \
|
||||
&& apt-get install -y python3-pydotplus \
|
||||
&& echo "------------------------------------------------------ utils" \
|
||||
&& echo "alias python-report='/home/abc/utils/python-report.sh'" >> /home/abc/.zshrc \
|
||||
&& chmod +x /home/abc/utils/python-report.sh && chown abc /home/abc/utils/python-report.sh \
|
||||
&& echo "------------------------------------------------------ user" \
|
||||
&& chown -R abc /home/abc/installed-python-packages \
|
||||
&& find /home -type d | xargs -I{} chown -R abc {} \
|
||||
&& find /home -type f | xargs -I{} chown abc {}
|
||||
&& pipx install visidata
|
||||
|
||||
# Install additional codeserver extensions
|
||||
RUN echo "------------------------------------------------------ extensions" \
|
||||
&& code-server --install-extension jolaleye.horizon-theme-vscode \
|
||||
&& code-server --install-extension eamodio.gitlens
|
||||
&& code-server --install-extension ms-python.python \
|
||||
&& code-server --install-extension samuelcolvin.jinjahtml \
|
||||
&& code-server --install-extension KevinRose.vsc-python-indent \
|
||||
&& code-server --install-extension janisdd.vscode-edit-csv \
|
||||
&& code-server --install-extension GrapeCity.gc-excelviewer \
|
||||
&& code-server --install-extension eamodio.gitlens \
|
||||
&& code-server --install-extension TabNine.tabnine-vscode
|
||||
|
||||
|
||||
|
||||
# Change default codeserver theme
|
||||
COPY --chown=abc:abc settings.json /home/abc/.local/share/code-server/User/settings.json
|
||||
|
|
|
@ -14,13 +14,24 @@ RUN curl -sSL https://install.python-poetry.org | python3 -
|
|||
# Add poetry to the $PATH
|
||||
ENV PATH="$HOME/.poetry/bin:${PATH}"
|
||||
|
||||
RUN echo "------------------------------------------------------ Pyenv" \
|
||||
&& sudo apt-get install -y libedit-dev \
|
||||
&& sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \
|
||||
&& sudo apt-get install -y llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl \
|
||||
&& curl https://pyenv.run | bash \
|
||||
&& echo 'eval "$(pyenv init -)"' >> /home/abc/.zshrc
|
||||
|
||||
ENV PYENV_ROOT="/home/abc/.pyenv"
|
||||
ENV PATH="$PYENV_ROOT/bin:$PATH"
|
||||
|
||||
# Install additional codeserver extensions
|
||||
RUN echo "------------------------------------------------------ extensions" \
|
||||
&& code-server --install-extension eamodio.gitlens
|
||||
&& code-server --install-extension ms-python.python \
|
||||
&& code-server --install-extension samuelcolvin.jinjahtml
|
||||
|
||||
# Change default codeserver theme
|
||||
COPY --chown=abc:abc settings.json /home/abc/.local/share/code-server/User/settings.json
|
||||
|
||||
# Build Alnoda workspace
|
||||
COPY --chown=abc:abc workspace /tmp/workspace
|
||||
RUN pipx uninstall alnoda-wrk; pipx install alnoda-wrk==0.2.16; alnoda-wrk build /tmp/workspace && rm -rf /tmp/workspace
|
||||
RUN pipx uninstall alnoda-wrk; pipx install alnoda-wrk; alnoda-wrk build /tmp/workspace && rm -rf /tmp/workspace
|
||||
|
|
|
@ -8,7 +8,7 @@ description: |
|
|||
# Python workspace
|
||||
Containerized isolated development environment for Python projects.
|
||||
|
||||
tags: python, pip, ipython, poetry, pylint, pytest
|
||||
tags: python, pip, ipython, poetry, pyenv, pylint, pytest
|
||||
|
||||
# UI icons
|
||||
logo: python-circle-white.svg
|
||||
|
|
24
workspaces/spacevim-workspace/Dockerfile
Normal file
|
@ -0,0 +1,24 @@
|
|||
FROM alnoda/base-devspace:4.0
|
||||
|
||||
RUN echo "------------------------------------------------------ nvim" \
|
||||
&& cd /tmp && wget https://github.com/neovim/neovim/releases/download/v0.8.0/nvim-linux64.tar.gz \
|
||||
&& tar -xzf nvim-linux64.tar.gz \
|
||||
&& mv /tmp/nvim-linux64 /home/abc/apps/nvim \
|
||||
&& python -m pip install pynvim \
|
||||
&& echo "------------------------------------------------------ spacevim" \
|
||||
&& curl -sLf https://spacevim.org/install.sh | bash \
|
||||
&& pip install --user pynvim \
|
||||
&& pip install --user jedi \
|
||||
&& mkdir -p /home/abc/.local/state/nvim/shada/ \
|
||||
&& touch /home/abc/.local/state/nvim/shada/main.shada
|
||||
|
||||
ENV PATH="$PATH:/home/abc/apps/nvim/bin"
|
||||
|
||||
COPY --chown=abc:abc init.toml /home/abc/.SpaceVim.d/init.toml
|
||||
|
||||
# Build Alnoda workspace
|
||||
COPY --chown=abc:abc workspace /tmp/workspace
|
||||
RUN echo "------------------------------------------------------ build workspace" \
|
||||
&& pipx install alnoda-wrk \
|
||||
&& alnoda-wrk build /tmp/workspace \
|
||||
&& rm -rf /tmp/workspace
|
27
workspaces/spacevim-workspace/README.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
- Install [neovim](https://github.com/neovim/neovim)
|
||||
|
||||
```
|
||||
sudo apt-get install -y neovim
|
||||
```
|
||||
|
||||
- Install Spacevim
|
||||
|
||||
```
|
||||
curl -sLf https://spacevim.org/install.sh | bash
|
||||
```
|
||||
|
||||
Enable +python3 and +python support
|
||||
|
||||
```
|
||||
pip install --user pynvim
|
||||
```
|
||||
|
||||
COPY init.toml /home/abc/.SpaceVim.d/init.toml
|
||||
|
||||
|
||||
|
||||
|
||||
## Font
|
||||
|
||||
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/DroidSansMono.zip
|
||||
unzip DroidSansMono.zip -d ~/.fonts
|
59
workspaces/spacevim-workspace/init.toml
Normal file
|
@ -0,0 +1,59 @@
|
|||
[options]
|
||||
# set spacevim theme. by default colorscheme layer is not loaded,
|
||||
# if you want to use more colorscheme, please load the colorscheme
|
||||
# layer
|
||||
colorscheme = "gruvbox"
|
||||
colorscheme_bg = "dark"
|
||||
# Disable guicolors in basic mode, many terminal do not support 24bit
|
||||
# true colors
|
||||
enable_guicolors = true
|
||||
# Disable statusline separator, if you want to use other value, please
|
||||
# install nerd fonts
|
||||
statusline_separator = "arrow"
|
||||
statusline_iseparator = "arrow"
|
||||
buffer_index_type = 4
|
||||
enable_tabline_filetype_icon = false
|
||||
enable_statusline_mode = false
|
||||
filetree_direction = "left"
|
||||
guifont = ""
|
||||
relativenumber = false
|
||||
|
||||
# Enable autocomplete layer
|
||||
[[layers]]
|
||||
name = 'autocomplete'
|
||||
auto_completion_return_key_behavior = "complete"
|
||||
auto_completion_tab_key_behavior = "smart"
|
||||
|
||||
[[layers]]
|
||||
name = 'shell'
|
||||
default_position = 'bottom'
|
||||
default_height = 30
|
||||
|
||||
[[layers]]
|
||||
name = "ui"
|
||||
enable_scrollbar = true
|
||||
|
||||
[[layers]]
|
||||
name = "colorscheme"
|
||||
|
||||
[[layers]]
|
||||
name = "lang#kotlin"
|
||||
|
||||
[[layers]]
|
||||
name = 'lang#c'
|
||||
enable_clang_syntax_highlight = true
|
||||
|
||||
[[layers]]
|
||||
name = "lang#go"
|
||||
|
||||
[[layers]]
|
||||
name = "lang#python"
|
||||
|
||||
[[layers]]
|
||||
name = 'git'
|
||||
[[layers]]
|
||||
name = 'VersionControl'
|
||||
|
||||
[[custom_plugins]]
|
||||
repo = "https://gitlab.com/code-stats/code-stats-vim.git"
|
||||
merged = false
|
BIN
workspaces/spacevim-workspace/workspace/spacevim.jpg
Normal file
After Width: | Height: | Size: 422 KiB |
81
workspaces/spacevim-workspace/workspace/workspace.yaml
Normal file
|
@ -0,0 +1,81 @@
|
|||
---
|
||||
# mandatory
|
||||
name: SpaceVim workspace
|
||||
doc_url: https://github.com/bluxmit/alnoda-workspaces/blob/main/workspaces/spacevim-workspace/README.md
|
||||
author: bluxmit
|
||||
version: 4.0
|
||||
repository: https://github.com/bluxmit/alnoda-workspaces/tree/main/workspaces/spacevim-workspace
|
||||
description: |
|
||||
Workspace with browser-based SpaceVim IDE
|
||||
|
||||
styles:
|
||||
colors:
|
||||
light:
|
||||
code_text: "#EAB676"
|
||||
code_background: "#252525"
|
||||
dark:
|
||||
code_text: "#EAB676"
|
||||
code_background: "#3C3C3C"
|
||||
|
||||
pages:
|
||||
home:
|
||||
- name: IDE
|
||||
port: 8021
|
||||
path: /
|
||||
title: IDE
|
||||
description: "Browser-based full-featured SpaceVim IDE"
|
||||
image: spacevim.jpg
|
||||
|
||||
start:
|
||||
- name: SpaceVim
|
||||
folder: /home/
|
||||
cmd: ttyd -p 8021 /bin/zsh -c 'nvim'
|
||||
|
||||
|
||||
cheatsheet:
|
||||
SpaceVim:
|
||||
- cmd: i
|
||||
description: enter insert mode, allows editing file
|
||||
- cmd: Esc
|
||||
description: exit insert mode, enter command mode
|
||||
- cmd: y
|
||||
description: copy (yank) selected text
|
||||
- cmd: p
|
||||
description: paste copied (yank) text
|
||||
- cmd: d
|
||||
description: delete selected lines
|
||||
- cmd: u
|
||||
description: undo all changes in the last insert mode
|
||||
- cmd: 2u
|
||||
description: undo all changes done in 2 last insert modes
|
||||
- cmd: Ctrl + r
|
||||
description: redo (undone changes)
|
||||
- cmd: Space
|
||||
description: menu to manage files, windows, togglers, options and more
|
||||
- cmd: s
|
||||
description: manage tabs, screens
|
||||
- cmd: g
|
||||
description: editor and navigation menu
|
||||
- cmd: /
|
||||
description: search in file
|
||||
- cmd: :w
|
||||
description: save file changes
|
||||
- cmd: :wq
|
||||
description: save and exit
|
||||
- cmd: :q!
|
||||
description: trash all changes
|
||||
- cmd: .
|
||||
description: show hidden files (if focused on file tree)
|
||||
- cmd: N
|
||||
description: create new folder or file (if focused on file tree)
|
||||
- cmd: r
|
||||
description: rename folder or file (if focused on file tree)
|
||||
- cmd: d
|
||||
description: delete folder or file (if focused on file tree)
|
||||
|
||||
links:
|
||||
Developer help:
|
||||
- url: "https://spacevim.org/"
|
||||
name: "SpaceVim"
|
||||
description: "SpaceVim community website"
|
||||
|
|
@ -6,7 +6,7 @@ COPY zsh-in-docker.sh /tmp/zsh-in-docker.sh
|
|||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get -y update \
|
||||
&& echo "------------------------------------------------------ Common" \
|
||||
&& apt-get install -y sudo curl wget telnet jq \
|
||||
&& apt-get install -y sudo curl wget telnet jq dnsutils \
|
||||
&& apt-get install -y software-properties-common \
|
||||
&& apt-get install -y zip gzip tar \
|
||||
&& echo "------------------------------------------------------ User" \
|
||||
|
@ -16,8 +16,8 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get -y update \
|
|||
&& chown -R abc /home/abc \
|
||||
&& mkdir -p /home/abc/apps \
|
||||
&& chown -R abc /home/abc/apps \
|
||||
&& echo "------------------------------------------------------ Nix folder" \
|
||||
&& mkdir -m 0755 /nix && chown abc /nix \
|
||||
&& echo "------------------------------------------------------ Nix folder and conf" \
|
||||
&& mkdir -m 0750 /nix && chown abc /nix \
|
||||
&& echo "------------------------------------------------------ docker systemctl replacement" \
|
||||
&& wget https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl3.py -O /usr/local/bin/systemctl \
|
||||
&& chown -R abc /usr/local/bin/systemctl \
|
||||
|
@ -34,6 +34,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get -y update \
|
|||
&& echo "# Allow non-admin users to install packages" >> /etc/sudoers \
|
||||
&& echo "abc ALL = NOPASSWD : /usr/bin/apt, /usr/bin/apt-get, /usr/bin/aptitude, /usr/bin/add-apt-repository, /usr/local/bin/pip, /usr/local/bin/systemctl, /usr/bin/dpkg, /usr/sbin/dpkg-reconfigure" >> /etc/sudoers \
|
||||
&& chown abc /etc/apt/sources.list.d \
|
||||
&& chown abc /etc/apt/trusted.gpg.d \
|
||||
&& echo "------------------------------------------------------ GIT" \
|
||||
&& apt-get install -y git git-flow \
|
||||
&& wget -P /tmp https://github.com/jesseduffield/lazygit/releases/download/v0.34/lazygit_0.34_Linux_x86_64.tar.gz \
|
||||
|
@ -123,6 +124,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get -y update \
|
|||
&& printf '%s\n%s\n' "export ZSH_DISABLE_COMPFIX=true" "$(cat /home/abc/.zshrc)" > /home/abc/.zshrc \
|
||||
&& echo "------------------------------------------------------ Code editors" \
|
||||
&& apt-get install -y nano vim \
|
||||
&& apt-get install -y tilde \
|
||||
&& echo "------------------------------------------------------ File browsers: MC" \
|
||||
&& apt-get install -y mc \
|
||||
&& echo "------------------------------------------------------ multitasking in a terminal " \
|
||||
|
@ -130,7 +132,6 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get -y update \
|
|||
&& echo "------------------------------------------------------ Sys monitoring: Glances, Vizex" \
|
||||
&& apt-get install -y ncdu htop \
|
||||
&& pip install glances==3.2.5 \
|
||||
&& pip install vizex==2.1.0 \
|
||||
&& echo "------------------------------------------------------ Web-based terminal" \
|
||||
&& cd /tmp && wget https://github.com/tsl0922/ttyd/releases/download/1.7.1/ttyd.x86_64 \
|
||||
&& mv ttyd.x86_64 /usr/bin/ttyd \
|
||||
|
@ -165,7 +166,8 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get -y update \
|
|||
|
||||
USER abc
|
||||
|
||||
RUN echo "------------------------------------------------------ Nix" \
|
||||
RUN git config --global credential.helper cache \
|
||||
&& echo "------------------------------------------------------ Nix" \
|
||||
&& curl -L https://nixos.org/nix/install > /tmp/nix.sh \
|
||||
&& chmod +x /tmp/nix.sh \
|
||||
&& sh /tmp/nix.sh --no-daemon \
|
||||
|
@ -182,7 +184,7 @@ ENV PATH="/home/abc/.nix-profile/bin:${PATH}"
|
|||
RUN echo "------------------------------------------------------ after PATH updates" \
|
||||
&& pipx install rich-cli \
|
||||
&& echo 'alias p="rich"' >> /home/abc/.zshrc \
|
||||
&& nix-env -iA cachix -f https://cachix.org/api/v1/install
|
||||
&& nix-env -iA cachix -f https://cachix.org/api/v1/install
|
||||
|
||||
###### ENTRY
|
||||
|
||||
|
|