Phoenix & A-Frame based micro-games about cybersecurity
This repo provides an easy environment setup by the usage of Nix (w/ flakes enabled).
Nix currently runs on Linux and macOS.
Enabling Nix flakes (Nix v2.4)
# ~/.config/nix/nix.conf
experimental-features = nix-command flakes
# Enter shell w/ development environment
nix develop
# Get Elixir Mix deps
mix deps.get
# Get JS NPM packages
npm install --prefix assets
# Start Phoenix server
mix phx.server --open
# Enter IEx
iex -S mix
# Run tests
mix test
# Release
nix develop --command './pkg/bin/build.sh'
nix build --file default.nix release
# Assets
nix develop --command './pkg/bin/build.sh'
nix build --file default.nix priv_static
# Update flake.lock
nix flake update
# Check / update / clean Mix deps
mix hex.outdated
mix deps.update --all
mix deps.clean --unlock --unused
# Check / update / clean NPM packages
npm outdated --prefix assets
npm update --prefix assets
npm prune --prefix assets
# Flake checks
nix flake check
Deployment is literally as easy as:
- Push to GitHub
- Run deploy script
./pkg/bin/deploy.ps1
But with the requirement you have local SSH access to cxs_app_server
also named as such.
Example configuration of your SSH config file could be:
Host antibiotix cxs_app_server
HostName 10.125.0.140
User main
IdentityFile ./keys/service_ed25519
More details documented at guides/deploy.md.
Supported by the funding campaign netidee.at.
If you have interest in further funding our project, please get in touch.
The license applies only to the code in this repository.
Product names, logos, texts and other assets are explicitly excluded.
Initiator: Polycular e.U. / polycular.com