commit 732bbef79f27942e55b12f6ab121ed95f4429f65 Author: Chris Daßler Date: Fri Oct 18 00:24:36 2024 +0200 Initial commit diff --git a/.devcontainer/.env b/.devcontainer/.env new file mode 100644 index 0000000..8b2c806 --- /dev/null +++ b/.devcontainer/.env @@ -0,0 +1,2 @@ +UID=1003 +GID=1005 \ No newline at end of file diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..39fbdea --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,34 @@ +FROM ubuntu:20.04 + +# Define environment variable +# ENV DEBUG ON +ENV WORKDIR=/workspace +ENV DEVBOX_USE_VERSION=0.13.5 +ENV DEFAULT_TZ=Europe/Berlin + +# Install additional OS packages +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive TZ=${DEFAULT_TZ} apt-get -y install --no-install-recommends \ + bash-completion \ + binutils \ + ca-certificates \ + curl \ + git \ + xz-utils \ + sudo \ + # Clean up + && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* + +# Installing devbox +RUN curl -fsSL https://get.jetify.com/devbox | bash -s -- -f + +RUN devbox version update + +# Install NIX package manager +RUN curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install linux --init none --no-confirm + +# Now use devbox as global package manager +RUN echo 'eval "$(devbox global shellenv --preserve-path-stack -r)" && hash -r' >> ~/.bashrc + +WORKDIR /workspace +CMD ["sh"] \ No newline at end of file diff --git a/.devcontainer/Dockerfile.user b/.devcontainer/Dockerfile.user new file mode 100644 index 0000000..c3eb510 --- /dev/null +++ b/.devcontainer/Dockerfile.user @@ -0,0 +1,51 @@ +FROM ubuntu:20.04 + +ARG UID=1000 +ARG GID=1000 + +# Define environment variable +# ENV DEBUG ON +ENV WORKDIR=/workspace +ENV DEVBOX_USE_VERSION=0.13.5 +ENV DEFAULT_TZ=Europe/Berlin + +# Install additional OS packages +RUN apt-get update \ + && DEBIAN_FRONTEND=noninteractive TZ=${DEFAULT_TZ} apt-get -y install --no-install-recommends \ + bash-completion \ + binutils \ + ca-certificates \ + curl \ + git \ + xz-utils \ + sudo \ + # Clean up + && apt-get autoremove -y && apt-get clean -y && rm -rf /var/lib/apt/lists/* + +# Step 2: Setting up the devbox user +ENV DEVBOX_USER=devbox +RUN groupadd -g $GID -o $DEVBOX_USER +RUN useradd -m -u $UID -g $GID -o -s /bin/bash $DEVBOX_USER +RUN usermod -aG sudo $DEVBOX_USER +RUN echo " devbox ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$DEVBOX_USER + +USER $DEVBOX_USER + +# Step 3: Installing devbox +RUN curl -fsSL https://get.jetify.com/devbox | bash -s -- -f +RUN chown -R "${DEVBOX_USER}:${DEVBOX_USER}" /usr/local/bin/devbox +RUN devbox version update + +# Step 4: Install Nix +RUN curl -fsSL https://nixos.org/nix/install | sh -s -- --no-daemon +RUN . ~/.nix-profile/etc/profile.d/nix.sh +# updating PATH +ENV PATH="/home/${DEVBOX_USER}/.nix-profile/bin:/home/${DEVBOX_USER}/.devbox/nix/profile/default/bin:${PATH}" + +# Step 5: Install your devbox project +WORKDIR /workspace +RUN sudo chown $DEVBOX_USER:root /workspace +# COPY devbox.json devbox.json +#RUN devbox init +CMD ["devbox", "shell"] +#CMD ["bash"] \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..af2c5ed --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,39 @@ +{ + "name": "Devbox", + "dockerComposeFile": "docker-compose.yml", + "service": "devbox", + "workspaceFolder": "/workspace", + "shutdownAction": "stopCompose", + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Set *default* container specific settings.json values on container create. + "settings": { + }, + + // Add the IDs of extensions you want installed when the container is created. + "extensions": [ + "eamodio.gitlens", + "esbenp.prettier-vscode", + "Gruntfuggly.todo-tree", + "jetpack-io.devbox", + "mads-hartmann.bash-ide-vscode", + "mkhl.shfmt", + "mutantdino.resourcemonitor", + "tamasfe.even-better-toml" + ] + } + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "docker --version", + + // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + // "remoteUser": "devbox" + } + \ No newline at end of file diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..790dec1 --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,21 @@ +services: + devbox: + container_name: devbox_container + build: + context: . + dockerfile: Dockerfile + args: + UID: ${UID} + GID: ${GID} + restart: unless-stopped + volumes: + # access hosts docker socket + - /var/run/docker.sock:/var/run/docker.sock + # to persist global packages + - ../devbox.json:/root/.local/share/devbox/global/default/devbox.json + - ../devbox.lock:/root/.local/share/devbox/global/default/devbox.lock + # mount workspace + - ../src:/workspace + # vscode needs a running container, so we make its shell interactive + stdin_open: true # docker run -i + tty: true # docker run -t \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3b4c91d --- /dev/null +++ b/.gitignore @@ -0,0 +1,56 @@ +# Created by https://www.toptal.com/developers/gitignore/api/linux,macos +# Edit at https://www.toptal.com/developers/gitignore?templates=linux,macos + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +# End of https://www.toptal.com/developers/gitignore/api/linux,macos + +# devbox +.devbox +.venv diff --git a/devbox.json b/devbox.json new file mode 100644 index 0000000..ed24935 --- /dev/null +++ b/devbox.json @@ -0,0 +1,14 @@ +{ + "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.13.5/.schema/devbox.schema.json", + "packages": [ + "docker@27.3.0", + "git-lfs@3.5.1", + "git@2.46.0", + "jq@1.7.1", + "ripgrep@14.1.1", + "rsync@3.3.0", + "wget@1.24.5", + "yq@3.4.3", + "openssh@9.8p1" + ] +} diff --git a/devbox.lock b/devbox.lock new file mode 100644 index 0000000..5542034 --- /dev/null +++ b/devbox.lock @@ -0,0 +1,561 @@ +{ + "lockfile_version": "1", + "packages": { + "docker@27.3.0": { + "last_modified": "2024-10-02T21:32:52Z", + "resolved": "github:NixOS/nixpkgs/fd698a4ab779fb7fb95425f1b56974ba9c2fa16c#docker", + "source": "devbox-search", + "version": "27.3.0", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/962n5f437smyb6p3nw0z8nskyylxnm01-docker-27.3.0", + "default": true + } + ], + "store_path": "/nix/store/962n5f437smyb6p3nw0z8nskyylxnm01-docker-27.3.0" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/ir44yqzd9hvx6r3bcnh7v1j9c2w2jjkn-docker-27.3.0", + "default": true + } + ], + "store_path": "/nix/store/ir44yqzd9hvx6r3bcnh7v1j9c2w2jjkn-docker-27.3.0" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/z5kr0jj4h5zlvybdcckslhv13q1ys407-docker-27.3.0", + "default": true + } + ], + "store_path": "/nix/store/z5kr0jj4h5zlvybdcckslhv13q1ys407-docker-27.3.0" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/55d6i561zjvcijl1hy68j2dia9xa092g-docker-27.3.0", + "default": true + } + ], + "store_path": "/nix/store/55d6i561zjvcijl1hy68j2dia9xa092g-docker-27.3.0" + } + } + }, + "git-lfs@3.5.1": { + "last_modified": "2024-09-10T15:01:03Z", + "resolved": "github:NixOS/nixpkgs/5ed627539ac84809c78b2dd6d26a5cebeb5ae269#git-lfs", + "source": "devbox-search", + "version": "3.5.1", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/wm5x0479n14z8knzbaqr21dv248b7g53-git-lfs-3.5.1", + "default": true + } + ], + "store_path": "/nix/store/wm5x0479n14z8knzbaqr21dv248b7g53-git-lfs-3.5.1" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/3p3rli34fah56j8dm9dihxyz0967nqvs-git-lfs-3.5.1", + "default": true + } + ], + "store_path": "/nix/store/3p3rli34fah56j8dm9dihxyz0967nqvs-git-lfs-3.5.1" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/lf1y7wy2hmgbp767hwf07873wj0f96bd-git-lfs-3.5.1", + "default": true + } + ], + "store_path": "/nix/store/lf1y7wy2hmgbp767hwf07873wj0f96bd-git-lfs-3.5.1" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/ijhb93ms06007damwsx9dcd9v9qg96rc-git-lfs-3.5.1", + "default": true + } + ], + "store_path": "/nix/store/ijhb93ms06007damwsx9dcd9v9qg96rc-git-lfs-3.5.1" + } + } + }, + "git@2.46.0": { + "last_modified": "2024-10-09T02:21:25Z", + "resolved": "github:NixOS/nixpkgs/2b58bfe2c0d73341362870a0f1e50b2b8f2e4b84#git", + "source": "devbox-search", + "version": "2.46.0", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/msgwpjsr2607nmlm4f0klc60m7vyp2ls-git-2.46.0", + "default": true + }, + { + "name": "doc", + "path": "/nix/store/ycx57sa7dfrs9z1gq0sk1ai29ib9hvhl-git-2.46.0-doc" + } + ], + "store_path": "/nix/store/msgwpjsr2607nmlm4f0klc60m7vyp2ls-git-2.46.0" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/lgr3n0573wi478bj456zggh541wjrbiw-git-2.46.0", + "default": true + }, + { + "name": "doc", + "path": "/nix/store/5aiq8j373y5k9dh1p98zlic3n5f5ycnq-git-2.46.0-doc" + }, + { + "name": "debug", + "path": "/nix/store/v6r2pdpiwn62yhjp489gjkqhz6yn8zl5-git-2.46.0-debug" + } + ], + "store_path": "/nix/store/lgr3n0573wi478bj456zggh541wjrbiw-git-2.46.0" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/lfb5ngmzsmnbqw41wm11i7hjnrkii7ic-git-2.46.0", + "default": true + }, + { + "name": "doc", + "path": "/nix/store/kcgzncw4plawrs6fw524dprbscqdl78n-git-2.46.0-doc" + } + ], + "store_path": "/nix/store/lfb5ngmzsmnbqw41wm11i7hjnrkii7ic-git-2.46.0" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/0l63mqr7qx1asjxfz86j4zbs4758gn98-git-2.46.0", + "default": true + }, + { + "name": "debug", + "path": "/nix/store/x1g0dhpqg1fi4dz20lp2i2h759bdkark-git-2.46.0-debug" + }, + { + "name": "doc", + "path": "/nix/store/5r0irlcap11p8wqbdiy9fz1y3pk1mn4n-git-2.46.0-doc" + } + ], + "store_path": "/nix/store/0l63mqr7qx1asjxfz86j4zbs4758gn98-git-2.46.0" + } + } + }, + "jq@1.7.1": { + "last_modified": "2024-10-10T05:33:31Z", + "resolved": "github:NixOS/nixpkgs/b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221#jq", + "source": "devbox-search", + "version": "1.7.1", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "bin", + "path": "/nix/store/9h78n0xjxgjmmb37bi8ca6wyikx357fn-jq-1.7.1-bin", + "default": true + }, + { + "name": "man", + "path": "/nix/store/gxakkni5fxplsxkhlpd1y39z848r9w1k-jq-1.7.1-man", + "default": true + }, + { + "name": "doc", + "path": "/nix/store/dgrfyris3jajhimxw0p5qwpmdwsz0k6m-jq-1.7.1-doc" + }, + { + "name": "lib", + "path": "/nix/store/1xx96kscxipvqg02hg5zhkc3p6jg8dax-jq-1.7.1-lib" + }, + { + "name": "out", + "path": "/nix/store/49pvp5zyzs3kqafdrvl5l8zrr5gxg2ha-jq-1.7.1" + }, + { + "name": "dev", + "path": "/nix/store/87lmnqwvgrbr4mymv790ysnp1fp9dbvc-jq-1.7.1-dev" + } + ], + "store_path": "/nix/store/9h78n0xjxgjmmb37bi8ca6wyikx357fn-jq-1.7.1-bin" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "bin", + "path": "/nix/store/d53sa7n91q32bj4n3d8yfih66w0cnybk-jq-1.7.1-bin", + "default": true + }, + { + "name": "man", + "path": "/nix/store/m2q5jyh2ifvyy71054kvdq12bq1kny0q-jq-1.7.1-man", + "default": true + }, + { + "name": "out", + "path": "/nix/store/hsrxl3njwwhi8zcbdrradmzdhf8q8b2c-jq-1.7.1" + }, + { + "name": "dev", + "path": "/nix/store/xwy0g4wfzibz2hv9gnrcmg4hncncg0gx-jq-1.7.1-dev" + }, + { + "name": "doc", + "path": "/nix/store/3scw7wdaz3mnigbqpir7yd81lfx4vb4a-jq-1.7.1-doc" + }, + { + "name": "lib", + "path": "/nix/store/ffrivwacr1y18qq3fyk5gqz4h99hncza-jq-1.7.1-lib" + } + ], + "store_path": "/nix/store/d53sa7n91q32bj4n3d8yfih66w0cnybk-jq-1.7.1-bin" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "bin", + "path": "/nix/store/vprdq5a3dk284s7blbxgaciqn90j5vgy-jq-1.7.1-bin", + "default": true + }, + { + "name": "man", + "path": "/nix/store/b7g1b4d9bkrii1l08h7jm42m346rch3n-jq-1.7.1-man", + "default": true + }, + { + "name": "lib", + "path": "/nix/store/0lg1w92gx3aam7b1h311ssmjq63p3kd4-jq-1.7.1-lib" + }, + { + "name": "out", + "path": "/nix/store/m8y9qhibbih84af3vqs4wl72k9dpyiyj-jq-1.7.1" + }, + { + "name": "dev", + "path": "/nix/store/mz2z5g6xiji538wkxclm7hxjqcji8kj0-jq-1.7.1-dev" + }, + { + "name": "doc", + "path": "/nix/store/71lp09p1kdcdhk4xvs97w31ik0sjjimr-jq-1.7.1-doc" + } + ], + "store_path": "/nix/store/vprdq5a3dk284s7blbxgaciqn90j5vgy-jq-1.7.1-bin" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "bin", + "path": "/nix/store/x8jzsy0y1zk30mcvav2rh6lrw1gbzzy3-jq-1.7.1-bin", + "default": true + }, + { + "name": "man", + "path": "/nix/store/0jpj9xq83imjwhldsrmiyn8pp8wjazp5-jq-1.7.1-man", + "default": true + }, + { + "name": "dev", + "path": "/nix/store/04ca5xwvasz6s3jg0k7njz6rzi0d225w-jq-1.7.1-dev" + }, + { + "name": "doc", + "path": "/nix/store/yfc9bsy7n9k66238s3cy7vw3cw1l1ap8-jq-1.7.1-doc" + }, + { + "name": "lib", + "path": "/nix/store/n2vk1zmfzy726amnpr96jibk4zaya6qq-jq-1.7.1-lib" + }, + { + "name": "out", + "path": "/nix/store/7sy12xv4fwii421d920jxqx63c0ai3w3-jq-1.7.1" + } + ], + "store_path": "/nix/store/x8jzsy0y1zk30mcvav2rh6lrw1gbzzy3-jq-1.7.1-bin" + } + } + }, + "openssh@9.8p1": { + "last_modified": "2024-09-10T15:01:03Z", + "resolved": "github:NixOS/nixpkgs/5ed627539ac84809c78b2dd6d26a5cebeb5ae269#openssh", + "source": "devbox-search", + "version": "9.8p1", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/hvbk9j6gi58aay37ijh7f0ad5hvbzrvv-openssh-9.8p1", + "default": true + } + ], + "store_path": "/nix/store/hvbk9j6gi58aay37ijh7f0ad5hvbzrvv-openssh-9.8p1" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/z51vgs90zqrzphxr02nk8sv5qckwcdm6-openssh-9.8p1", + "default": true + } + ], + "store_path": "/nix/store/z51vgs90zqrzphxr02nk8sv5qckwcdm6-openssh-9.8p1" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/h19d6yhf1pc9ss0kgkw5fqd3wf9palra-openssh-9.8p1", + "default": true + } + ], + "store_path": "/nix/store/h19d6yhf1pc9ss0kgkw5fqd3wf9palra-openssh-9.8p1" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/2wwfdill3872xircv1vwmlj8gxghg5f9-openssh-9.8p1", + "default": true + } + ], + "store_path": "/nix/store/2wwfdill3872xircv1vwmlj8gxghg5f9-openssh-9.8p1" + } + } + }, + "ripgrep@14.1.1": { + "last_modified": "2024-09-10T15:01:03Z", + "resolved": "github:NixOS/nixpkgs/5ed627539ac84809c78b2dd6d26a5cebeb5ae269#ripgrep", + "source": "devbox-search", + "version": "14.1.1", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/7l1ldhxvvgrhwf6giw6vl9p3rabl0yi2-ripgrep-14.1.1", + "default": true + } + ], + "store_path": "/nix/store/7l1ldhxvvgrhwf6giw6vl9p3rabl0yi2-ripgrep-14.1.1" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/pp8z4zkfly4dyi70yv9l0wdjw6inwrg7-ripgrep-14.1.1", + "default": true + } + ], + "store_path": "/nix/store/pp8z4zkfly4dyi70yv9l0wdjw6inwrg7-ripgrep-14.1.1" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/6kbn551kxxmszg557nsk12viblahah0z-ripgrep-14.1.1", + "default": true + } + ], + "store_path": "/nix/store/6kbn551kxxmszg557nsk12viblahah0z-ripgrep-14.1.1" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/kfwa3x3v9b51j2nszh61adm447jv4nvk-ripgrep-14.1.1", + "default": true + } + ], + "store_path": "/nix/store/kfwa3x3v9b51j2nszh61adm447jv4nvk-ripgrep-14.1.1" + } + } + }, + "rsync@3.3.0": { + "last_modified": "2024-09-10T15:01:03Z", + "resolved": "github:NixOS/nixpkgs/5ed627539ac84809c78b2dd6d26a5cebeb5ae269#rsync", + "source": "devbox-search", + "version": "3.3.0", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/nayhcjy81hacq0zx5cq6kvv0ny66ylkl-rsync-3.3.0", + "default": true + } + ], + "store_path": "/nix/store/nayhcjy81hacq0zx5cq6kvv0ny66ylkl-rsync-3.3.0" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/pvcf55z7zsxq9pcrca9i51nbv0jmsy9w-rsync-3.3.0", + "default": true + } + ], + "store_path": "/nix/store/pvcf55z7zsxq9pcrca9i51nbv0jmsy9w-rsync-3.3.0" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/2zpkq1gkbyz1h9pngq4l6snqfj81ra9s-rsync-3.3.0", + "default": true + } + ], + "store_path": "/nix/store/2zpkq1gkbyz1h9pngq4l6snqfj81ra9s-rsync-3.3.0" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/y1ba7s3v10jb1lxrf1zki19mcn6fkwbr-rsync-3.3.0", + "default": true + } + ], + "store_path": "/nix/store/y1ba7s3v10jb1lxrf1zki19mcn6fkwbr-rsync-3.3.0" + } + } + }, + "wget@1.24.5": { + "last_modified": "2024-09-10T15:01:03Z", + "resolved": "github:NixOS/nixpkgs/5ed627539ac84809c78b2dd6d26a5cebeb5ae269#wget", + "source": "devbox-search", + "version": "1.24.5", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/psa874fw1wd425xqqk7q95hgnb6vdhxg-wget-1.24.5", + "default": true + } + ], + "store_path": "/nix/store/psa874fw1wd425xqqk7q95hgnb6vdhxg-wget-1.24.5" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/4vpmpr4hrdqn0kmq39apfm3wcm6ya8ns-wget-1.24.5", + "default": true + } + ], + "store_path": "/nix/store/4vpmpr4hrdqn0kmq39apfm3wcm6ya8ns-wget-1.24.5" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/iz3hq7bsl1fhrfv5jasyplw17hyyp7hf-wget-1.24.5", + "default": true + } + ], + "store_path": "/nix/store/iz3hq7bsl1fhrfv5jasyplw17hyyp7hf-wget-1.24.5" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/knrmi1lxrymln482wgd3q8h0mnrhj9y8-wget-1.24.5", + "default": true + } + ], + "store_path": "/nix/store/knrmi1lxrymln482wgd3q8h0mnrhj9y8-wget-1.24.5" + } + } + }, + "yq@3.4.3": { + "last_modified": "2024-09-10T15:01:03Z", + "resolved": "github:NixOS/nixpkgs/5ed627539ac84809c78b2dd6d26a5cebeb5ae269#yq", + "source": "devbox-search", + "version": "3.4.3", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/hl5g3gc6qx78nvim11hgsw3nl3qwwyw0-python3.12-yq-3.4.3", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/6b6xp4vyb8v2fah2lq5fdvx872wvr1d9-python3.12-yq-3.4.3-dist" + } + ], + "store_path": "/nix/store/hl5g3gc6qx78nvim11hgsw3nl3qwwyw0-python3.12-yq-3.4.3" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/6bc60iy6qlq78dsdr7nj6jaf269lrhz0-python3.12-yq-3.4.3", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/5ynx8jbcdy2v76923k4x2mrcx9y8044p-python3.12-yq-3.4.3-dist" + } + ], + "store_path": "/nix/store/6bc60iy6qlq78dsdr7nj6jaf269lrhz0-python3.12-yq-3.4.3" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/cqhwh61i3b4wjk3cn6g1z4vd340y0gk8-python3.12-yq-3.4.3", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/j76ssdm3r1fix3m4pxkw364rxr5ri8lc-python3.12-yq-3.4.3-dist" + } + ], + "store_path": "/nix/store/cqhwh61i3b4wjk3cn6g1z4vd340y0gk8-python3.12-yq-3.4.3" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/qw0gdmgwkm7v2l7r431xggqs4zqa9yd8-python3.12-yq-3.4.3", + "default": true + }, + { + "name": "dist", + "path": "/nix/store/y8c7mwlnp043r7pzs4k2ss8g10gqk2b6-python3.12-yq-3.4.3-dist" + } + ], + "store_path": "/nix/store/qw0gdmgwkm7v2l7r431xggqs4zqa9yd8-python3.12-yq-3.4.3" + } + } + } + } +} diff --git a/src/app/Dockerfile b/src/app/Dockerfile new file mode 100644 index 0000000..bf8e5a9 --- /dev/null +++ b/src/app/Dockerfile @@ -0,0 +1,15 @@ +FROM jetpackio/devbox:latest + +# Installing your devbox project +WORKDIR /code +USER root:root +RUN mkdir -p /code && chown ${DEVBOX_USER}:${DEVBOX_USER} /code +USER ${DEVBOX_USER}:${DEVBOX_USER} +COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} devbox.json devbox.json +COPY --chown=${DEVBOX_USER}:${DEVBOX_USER} devbox.lock devbox.lock + + + +RUN devbox run -- echo "Installed Packages." + +CMD ["devbox", "shell"] diff --git a/src/app/devbox.json b/src/app/devbox.json new file mode 100644 index 0000000..788a7b8 --- /dev/null +++ b/src/app/devbox.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.13.5/.schema/devbox.schema.json", + "packages": ["python@3.11"], + "shell": { + "init_hook": [ + "echo 'Welcome to devbox!'" + ], + "scripts": { + "test": [ + "echo \"Error: no test specified\" && exit 1" + ] + } + } + } + \ No newline at end of file diff --git a/src/app/devbox.lock b/src/app/devbox.lock new file mode 100644 index 0000000..55aa5ba --- /dev/null +++ b/src/app/devbox.lock @@ -0,0 +1,62 @@ +{ + "lockfile_version": "1", + "packages": { + "python@3.11": { + "last_modified": "2024-06-12T20:55:33Z", + "plugin_version": "0.0.4", + "resolved": "github:NixOS/nixpkgs/a9858885e197f984d92d7fe64e9fff6b2e488d40#python3", + "source": "devbox-search", + "version": "3.11.9", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/327bf08j5b7l9cnzink3g4vp32y5352j-python3-3.11.9", + "default": true + } + ], + "store_path": "/nix/store/327bf08j5b7l9cnzink3g4vp32y5352j-python3-3.11.9" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/q3x28mimkawkdjlvd78jxv3s0fk25vz8-python3-3.11.9", + "default": true + }, + { + "name": "debug", + "path": "/nix/store/kl8hjhf6x7dz7brs1ylkxy26qb8argaq-python3-3.11.9-debug" + } + ], + "store_path": "/nix/store/q3x28mimkawkdjlvd78jxv3s0fk25vz8-python3-3.11.9" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/9lcbaggnygcqpgzakib5lwisks8gnn5i-python3-3.11.9", + "default": true + } + ], + "store_path": "/nix/store/9lcbaggnygcqpgzakib5lwisks8gnn5i-python3-3.11.9" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/6b1fqdwb3g56j5pazv8zkx9qd0mv3wiz-python3-3.11.9", + "default": true + }, + { + "name": "debug", + "path": "/nix/store/61rzpp3v8dsf6h17h3jnnwlm5hwc2brr-python3-3.11.9-debug" + } + ], + "store_path": "/nix/store/6b1fqdwb3g56j5pazv8zkx9qd0mv3wiz-python3-3.11.9" + } + } + } + } +} diff --git a/src/devbox.json b/src/devbox.json new file mode 100644 index 0000000..c399a88 --- /dev/null +++ b/src/devbox.json @@ -0,0 +1,15 @@ +{ + "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.13.5/.schema/devbox.schema.json", + "packages": [], + "shell": { + "init_hook": [ + "echo 'Welcome to devbox!'", + "git lfs install" + ], + "scripts": { + "test": [ + "echo \"Error: no test specified\" && exit 1" + ] + } + } +}