Roleypoly v4 (Go + Low JS version)
Find a file
2025-04-07 22:07:29 -07:00
auth catch mid colors outside of WCAG AA 2025-04-06 17:28:26 -07:00
discord catch mid colors outside of WCAG AA 2025-04-06 17:28:26 -07:00
interactions catch mid colors outside of WCAG AA 2025-04-06 17:28:26 -07:00
roleypoly fix template test renderer, add category 2025-04-06 22:27:42 -07:00
scripts css preprocessor 2025-04-07 00:00:52 -07:00
static picker getting closer.... 2025-04-07 22:07:29 -07:00
stores vendorhash calc automation 2025-03-24 23:21:33 -07:00
templates picker getting closer.... 2025-04-07 22:07:29 -07:00
testing picker getting closer.... 2025-04-07 22:07:29 -07:00
types picker getting closer.... 2025-04-07 22:07:29 -07:00
utils picker getting closer.... 2025-04-07 22:07:29 -07:00
.air.toml devex 2025-03-27 10:19:25 -07:00
.env.example auth yay! 2025-03-26 22:28:20 -07:00
.envrc init 2025-03-24 22:49:12 -07:00
.gitignore css preprocessor 2025-04-07 00:00:52 -07:00
default.nix picker getting closer.... 2025-04-07 22:07:29 -07:00
flake.lock init 2025-03-24 22:49:12 -07:00
flake.nix vendorhash calc automation 2025-03-24 23:21:33 -07:00
go.mod catch mid colors outside of WCAG AA 2025-04-06 17:28:26 -07:00
go.sum catch mid colors outside of WCAG AA 2025-04-06 17:28:26 -07:00
justfile css preprocessor 2025-04-07 00:00:52 -07:00
main.go devex 2025-03-27 10:19:25 -07:00
README.md devex2 2025-03-27 11:43:06 -07:00
shell.nix css preprocessor 2025-04-07 00:00:52 -07:00
todo.md init 2025-03-24 22:49:12 -07:00

Roleypoly v4

yeah 4 of em..

Developing

highly recommended to use nix. its actually optional, but there's caveats.

Quickstart

## - Step one, get an environment!
nix develop
# or
nix-shell
# or
direnv allow

## - Step two, setup .env
cp .env.example .env
# fill out .env (the file has instructions)

## - Step three, run the thing!!
just
# or .. maybe this.. but it may be unpredictable
go run .

## - Step three.1, run tests
just test

## - Step four, clean up the code
just precommit

Open the following:

the caveat: using go alone is doable. certain things won't happen, like dependency tagging and env var loading, so.. consider nix..

just commands

  • watch - (default) runs air livereloader
    • open http://localhost:8170 for live reloading, note: the console will output 8169. that works too, but doesn't reload browser on changes
  • run - runs the app with go run
  • nix-run - runs the app built via nix (slower)
  • run-container - builds the app as a docker image, then runs it. (slowest)
  • fmt - go fmt and prettier
  • tidy - fix gomods
  • test - runs normal tests
  • update-vendor-hash - updates default.nix vendorHash field, it won't build without it.
  • precommit - runs fmt, tidy, update-vendor-hash, and test, in that order.

Deploying

roleypoly can be deployed as a docker container (built with nix) or nix package right now. more options to come (like prebuilt binaries)

nix build .#container
docker load -i result
docker run -it --rm -p 8169:8169 localhost/roleypoly/roleypoly

or like if in irl nixos

#== flake.nix
{
  inputs = {
    roleypoly.url = "git+https://git.sapphic.engineer/roleypoly/v4";
  };
}

and want to use docker (its ok)

#== roleypoly.nix
{ inputs, pkgs, ... }: {
  virtualisation.oci-containers.containers.roleypoly = {
    image = "roleypoly/roleypoly:latest";
    imageFile = inputs.roleypoly.packages.${pkgs.system}.container;
    ports = [ "8169:8169" ];
    # probably include environment and stuff too
  };
}

or use inputs.roleypoly.packages.${pkgs.system}.roleypoly for the actual package for like a systemd thing

<33

thanks

roleypoly has been a journey and a pleasure to make.
thanks to everyone who has used it over the years.
there will be no major updates after v4.

as always, with love
-- noe, aki, and aurelia!