# This is an example assemble file to show how options are laid out
# You generally have a section header, followed by options so:
#
# [name-of-your-container]
# additional_flags=""
# additional_packages=""
# entry=""
# home=""
# image=""
# start_now=""
# init=""
# init_hooks=""
# nvidia=""
# pre_init_hooks=""
# pull=""
# root=""
# unshare_ipc=""
# unshare_netns=""
# volume=""
#
###############################################################################

[ generic1]
unshare_netns=true
unshare_ipc=true

# This is a comment!
# you can put them how you like

[generic2]
# Comment
additional_packages="git vim tmux"
# this will enable nvidia driver integration
nvidia=true

[generic3] # Comment also here
additional_packages="git vim tmux" # Comment
home=/tmp/home

[arch]
additional_packages="git vim tmux nodejs"
# lines with spaces, wants quotes
home=/tmp/home
image=archlinux:latest
init=false
init_hooks="touch /init-normal"
pre_init_hooks="touch /pre-init"
pull=true
root=false
volume=/tmp/test:/run/a /tmp/test:/run/b
unshare_netns=true
unshare_ipc=true
# We can choose to start the container immediately, it's off by default
start_now=true

###############################################################################
# A more complex example now
##############################################################################
[tumbleweed_distrobox]
image=registry.opensuse.org/opensuse/distrobox
pull=true
# Basic utilities for terminal use
additional_packages="acpi bash-completion findutils iproute iputils sensors inotify-tools unzip"
additional_packages="net-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt-dlp"
# Development packages
additional_packages="git git-credential-libsecret"
additional_packages="patterns-devel-base-devel_basis"
additional_packages="ShellCheck ansible-lint clang clang-tools codespell ctags desktop-file-utils gcc golang jq python3"
additional_packages="python3-bashate python3-flake8 python3-mypy python3-pipx python3-pycodestyle python3-pyflakes python3-pylint python3-python-lsp-server python3-rstcheck python3-yapf python3-yamllint rustup shfmt"
# Gotta work
additional_packages="kubernetes-client helm"
# Setup golang stuff
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest;
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo@latest;
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports@latest;
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install golang.org/x/tools/gopls@latest;
init_hooks=GOPATH="${HOME}/.local/share/system-go" GOBIN=/usr/local/bin go install sigs.k8s.io/kind@latest;
# Add some useful commands from host, to the guest
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/conmon;
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/crun;
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker;
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/docker-compose;
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/flatpak;
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/podman;
init_hooks=ln -sf /usr/bin/distrobox-host-exec /usr/local/bin/xdg-open;
exported_apps="htop"
exported_bins="/usr/bin/htop /usr/bin/git"
exported_bins_path="~/.local/bin"
