From fc3bde7e5763b22b7eb3352b74575df068d58582 Mon Sep 17 00:00:00 2001 From: zacaj Date: Sun, 2 Nov 2025 16:11:25 +0000 Subject: [PATCH] create devcontainer --- .devcontainer/.gitignore | 1 + .devcontainer/default-config.toml | 36 +++++++++++++++++++++++++++++++ .devcontainer/devcontainer.json | 24 +++++++++++++++++++++ .devcontainer/init-apt.sh | 4 ++++ .devcontainer/init-go.sh | 4 ++++ .devcontainer/init-keychain.sh | 4 ++++ 6 files changed, 73 insertions(+) create mode 100644 .devcontainer/.gitignore create mode 100644 .devcontainer/default-config.toml create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/init-apt.sh create mode 100755 .devcontainer/init-go.sh create mode 100755 .devcontainer/init-keychain.sh diff --git a/.devcontainer/.gitignore b/.devcontainer/.gitignore new file mode 100644 index 0000000..87b4990 --- /dev/null +++ b/.devcontainer/.gitignore @@ -0,0 +1 @@ +custom-config.toml \ No newline at end of file diff --git a/.devcontainer/default-config.toml b/.devcontainer/default-config.toml new file mode 100644 index 0000000..e8e0366 --- /dev/null +++ b/.devcontainer/default-config.toml @@ -0,0 +1,36 @@ +[Application] +WindowWidth = 1900 +WindowHeight = 1000 + +[[Servers]] +ServerType = 'Subsonic' +Hostname = 'https://demo.navidrome.org' +AltHostname = '' +Username = 'demo' +LegacyAuth = false +ID = 'f9056891-50cc-4161-9e27-f50f3db32a8c' +Nickname = 'Navidrome Demo' +Default = true +SelectedLibrary = '' + +[[Servers]] +ServerType = 'Jellyfin' +Hostname = 'https://demo.jellyfin.org/stable' +AltHostname = '' +Username = 'demo' +LegacyAuth = false +ID = 'e9056891-50cc-4161-9e27-f50f3db32a8c' +Nickname = 'Jellyfin Demo' +Default = false +SelectedLibrary = '' + +[[Servers]] +ServerType = 'Subsonic' +Hostname = 'http://host.docker.internal:4533' +AltHostname = '' +Username = 'fillMeIn' +LegacyAuth = false +ID = 'e537432d-1875-404e-999e-591db0087052' +Nickname = 'Navidrome Localhost Example' +Default = false +SelectedLibrary = '' diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..0b8985f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,24 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/go . +{ + "name": "Supersonic", + "image": "mcr.microsoft.com/devcontainers/go:2-1.24-bookworm", + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "desktop-lite": { + "password": "your_password", + "webPort": "6080", + "vncPort": "5901" + } + }, + "containerEnv": { + "VNC_RESOLUTION": "1920x1080x24", + }, + "onCreateCommand": { + "log": "echo 'Starting post-create script...'", + "apt": "sudo .devcontainer/init-apt.sh", + "go": ".devcontainer/init-go.sh", + "config": "bash -c 'mkdir -p ~/.config/supersonic && (cp .devcontainer/custom-config.toml ~/.config/supersonic/config.toml 2> /dev/null || cp .devcontainer/default-config.toml ~/.config/supersonic/config.toml)'", + "keyring": "bash -c 'echo \"source $(pwd)/.devcontainer/init-keychain.sh\" >> /home/vscode/.bashrc'", + }, +} \ No newline at end of file diff --git a/.devcontainer/init-apt.sh b/.devcontainer/init-apt.sh new file mode 100755 index 0000000..64880b7 --- /dev/null +++ b/.devcontainer/init-apt.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +apt update +apt install -y libmpv-dev gcc libegl1-mesa-dev xorg-dev \ No newline at end of file diff --git a/.devcontainer/init-go.sh b/.devcontainer/init-go.sh new file mode 100755 index 0000000..c8c753d --- /dev/null +++ b/.devcontainer/init-go.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +go install fyne.io/fyne/v2/cmd/fyne@latest +go get \ No newline at end of file diff --git a/.devcontainer/init-keychain.sh b/.devcontainer/init-keychain.sh new file mode 100755 index 0000000..4f61449 --- /dev/null +++ b/.devcontainer/init-keychain.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +eval "$(dbus-launch --sh-syntax)" +eval "$(printf '\n' | gnome-keyring-daemon --unlock)" \ No newline at end of file