tvl-depot/users/grfn/xanthous
sterni 11f9306b9a chore(3p/sources): Bump channels & overlays
Use nixos-unstable-small which fixes CVE-2018-25032
(out of bounds write while compressing).

* //users/grfn/xanthous:

  - Supporting random-fu 0.3 requires considerable changes and patching
    random-extras (https://github.com/aristidb/random-extras/pull/5).

    For now we downgrade random-fu and its dependency rvar to 0.2.*,
    forcing us to build xanthous with GHC 8.10.7, due to random-fu 0.2.*
    not supporting that version.

    Nix expressions for the downgraded packages are checked in to avoid
    the potential need to compile Haskell at pipeline eval time.

  - generic-arbitrary exposes a GenericArbitrary newtype now.
    This means we no longer have to implement it in xanthous
    downstream and patch generic-arbitrary to expose the
    GArbitrary type class.

  - Minor adjustments for lens 5.0:

    Xanthous.Game.Memo: clear needs to use ASetter' instead of Lens'

    Xanthous.Data.EntityMap: TraversableWithIndex no longer has an
    itraversed function.

  - Xanthous.Orphans: adjust for aeson's KeyMap, use KM.size explicitly
    instead of relying on MonoTraversable's length

* //nix/buildLisp: the CCL issue has resurfaced, disabling the
  implementation once again.

* //3p/arion: remove, as depot uses the nixpkgs package of it anyways.

* //users/wpcarro: accomodate GHC 9.0.1's stricter parsing of operators.

* //users/tazjin: disable rustfmt as it stopped respecting settings

* //3p/overlays: upgrade home-manager until fix for serivce generation
  has landed upstream

* //users/grfn/system: remove rr override, as the pinned commit is part
  of the 5.5.0 release shipped by nixpkgs.

Change-Id: If229e7317ba48498f85170b57ee9053f6997ff8a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5428
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
Reviewed-by: grfn <grfn@gws.fyi>
Reviewed-by: tazjin <tazjin@tvl.su>
Reviewed-by: wpcarro <wpcarro@gmail.com>
2022-04-11 19:37:01 +00:00
..
.github refactor(users/glittershark): Rename to grfn 2021-04-12 14:45:51 +00:00
app feat(gs/xanthous): Allow disabling saving 2021-11-07 21:05:39 +00:00
bench refactor(users/glittershark): Rename to grfn 2021-04-12 14:45:51 +00:00
build refactor(users/glittershark): Rename to grfn 2021-04-12 14:45:51 +00:00
docs docs(gs/xanthous): Start documenting raw types 2021-11-13 15:57:18 +00:00
server style(rust): Format all Rust code with rustfmt 2022-02-08 12:06:39 +00:00
src chore(3p/sources): Bump channels & overlays 2022-04-11 19:37:01 +00:00
test feat(gs/xanthous): Allow generating creatures with items 2021-11-25 17:31:01 +00:00
.envrc refactor(users/glittershark): Rename to grfn 2021-04-12 14:45:51 +00:00
.gitignore chore(gs/xanthous): Gitignore more state files 2021-11-08 15:29:13 +00:00
default.nix chore(3p/sources): Bump channels & overlays 2022-04-11 19:37:01 +00:00
hie.yaml fix(gs/xanthous): Update hie.yaml for new app/ directory 2021-11-06 15:52:02 +00:00
LICENSE refactor(users/glittershark): Rename to grfn 2021-04-12 14:45:51 +00:00
nixpkgs.nix refactor(users/glittershark): Rename to grfn 2021-04-12 14:45:51 +00:00
package.yaml feat(gs/xanthous): Enable tasty-rerun 2021-11-08 15:29:05 +00:00
pkg.nix style: format entire depot with nixpkgs-fmt 2022-01-31 16:11:53 +00:00
README.org refactor(users/glittershark): Rename to grfn 2021-04-12 14:45:51 +00:00
Setup.hs refactor(users/glittershark): Rename to grfn 2021-04-12 14:45:51 +00:00
shell.nix chore(3p/sources): Bump channels & overlays 2022-04-11 19:37:01 +00:00
xanthous.cabal refactor(gs/xanthous): Break out inventory into a common module 2021-11-22 19:12:56 +00:00

Xanthous

Building

$ nix build

Running

$ ./result/bin/xanthous [--help]

Keyboard commands

Keyboard commands are currently undocumented, but can be found in [this file. Movement uses the nethack-esque hjklybnu.

Development

Use lorri, or run everything in a nix-shell

# Build (for dev)
$ cabal new-build

# Run the game
$ cabal new-run xanthous

# Run tests
$ cabal new-run test

# Run a repl
$ cabal new-repl