mirror of
https://github.com/aleleba/aleleba-vscode-dockerfile-configuration.git
synced 2025-06-19 04:18:11 -06:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
c17566fd5f | |||
f9351861bd | |||
1634a2a507 | |||
8bda7b330b |
@ -1,11 +1,47 @@
|
||||
#!/bin/bash
|
||||
if [[ -z "${HOME_USER}" ]]; then
|
||||
HOME_USER="vscode"
|
||||
#if [[ -z "${HOME_USER}" ]]; then
|
||||
#HOME_USER="vscode"
|
||||
#fi
|
||||
|
||||
set -e
|
||||
|
||||
# use specified user name or use `vscode` if not specified
|
||||
HOME_USER="${HOME_USER:-vscode}"
|
||||
|
||||
# use specified group name or use the same user name also as the group name
|
||||
MY_GROUP="${MY_GROUP:-${HOME_USER}}"
|
||||
|
||||
# use the specified UID for the user
|
||||
MY_UID="${MY_UID:-1000}"
|
||||
|
||||
# use the specified GID for the user
|
||||
MY_GID="${MY_GID:-${MY_UID}}"
|
||||
|
||||
|
||||
# check to see if group exists; if not, create it
|
||||
if grep -q -E "^${MY_GROUP}:" /etc/group > /dev/null 2>&1
|
||||
then
|
||||
echo "INFO: Group exists; skipping creation"
|
||||
else
|
||||
echo "INFO: Group doesn't exist; creating..."
|
||||
# create the group
|
||||
sudo addgroup -g "${MY_GID}" "${MY_GROUP}" || (echo "INFO: Group exists but with a different name; renaming..."; sudo groupmod -g "${MY_GID}" -n "${MY_GROUP}" "$(awk -F ':' '{print $1":"$3}' < /etc/group | grep ":${MY_GID}$" | awk -F ":" '{print $1}')")
|
||||
fi
|
||||
|
||||
addgroup nonroot
|
||||
adduser --disabled-password --gecos "" ${HOME_USER}
|
||||
echo "${HOME_USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||
|
||||
# check to see if user exists; if not, create it
|
||||
if id -u "${HOME_USER}" > /dev/null 2>&1
|
||||
then
|
||||
echo "INFO: User exists; skipping creation"
|
||||
else
|
||||
echo "INFO: User doesn't exist; creating..."
|
||||
# create the user
|
||||
sudo adduser -u "${MY_UID}" -G "${MY_GROUP}" -h "/home/${HOME_USER}" -s /bin/sh -D "${HOME_USER}"
|
||||
fi
|
||||
|
||||
# addgroup nonroot
|
||||
#adduser --disabled-password --gecos "" ${HOME_USER}
|
||||
# echo "${HOME_USER} ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
|
||||
|
||||
#Creating extensions folder
|
||||
sudo mkdir /home/${HOME_USER}/.config/Code
|
||||
@ -20,8 +56,8 @@ if [ -f "/home/extensions.json" ]; then
|
||||
# Read the JSON file into a variable
|
||||
jsonExtensions=$(cat /home/extensions.json)
|
||||
|
||||
# Use jq to extract the array elements
|
||||
extensions=$(echo $jsonExtensions | jq -r '.[]')
|
||||
# Use jq to extract the extension parameter from the JSON array
|
||||
extensions=$(echo $jsonExtensions | jq -r '.[].extensionsGroup.extensions[].uniqueIdentifier')
|
||||
|
||||
# Loop through the extensions and process each element
|
||||
for extension in $extensions; do
|
||||
|
34
readme.md
34
readme.md
@ -19,12 +19,38 @@ The following environment variables can be set when running the Docker container
|
||||
|
||||
### Adding VSCode Extensions
|
||||
|
||||
To add VSCode extensions to the container, create a JSON file with an array of strings containing the extension identifier of each extension you want to install. For example:
|
||||
To add VSCode extensions to the container, create a JSON file with an array of objects containing the extension details you want to install, the only Mandatory field is uniqueIdentifier and follow this structure. For example:
|
||||
```
|
||||
[
|
||||
"ms-python.python",
|
||||
"ms-vscode.cpptools",
|
||||
"ms-azuretools.vscode-docker"
|
||||
{
|
||||
"extensionsGroup": {
|
||||
"description": "Extensions of Spanish Language Pack",
|
||||
"extensions": [
|
||||
{
|
||||
"name": "Spanish Language Pack for Visual Studio Code",
|
||||
"notes": "Extension of Spanish Language Pack for Visual Studio Code",
|
||||
"uniqueIdentifier": "ms-ceintl.vscode-language-pack-es"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"extensionsGroup": {
|
||||
"description": "Extensions of Github Copilot",
|
||||
"extensions": [
|
||||
{
|
||||
"name": "GitHub Copilot",
|
||||
"notes": "Extension of GitHub Copilot",
|
||||
"uniqueIdentifier": "github.copilot"
|
||||
},
|
||||
{
|
||||
"name": "GitHub Copilot Chat",
|
||||
"notes": "Extension of GitHub Copilot Chat",
|
||||
"uniqueIdentifier": "github.copilot-chat"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
|
@ -1 +1 @@
|
||||
1.0.25
|
||||
1.1.3
|
Reference in New Issue
Block a user