short for "archive configuration"
🦀 written in Rust
Arcconfig is for people who collect catalogues — or "archives" — of games in the form of ROMs, ISOs, etc.
Arcconfig provides a layer of abstraction over your archive, allowing you to interact with it via Rust!
Arcconfig represents each game system in your archive as System
instances, each of which contains data such as a display name and path (see: Customization). This allows you to write cool Rust projects such as:
- massivebird/arcsearch: queries archive with regex
- massivebird/arcstat: provides archive statistics
To use arcconfig in your own Rust project, you must first add it as a dependency.
One way you can do this according to crates.io is running this command in your project directory:
cargo add arcconfig
arcconfig::read_config
parses a file called config.yaml
located in your archive root. This function returns a collection of System
instances based on that configuration!
For a quickstart on YAML syntax, click here.
Here is an example configuration:
# config.yaml
systems:
ds: # system "label" — call it whatever you want!
display_name: "DS"
color: [135,215,255]
path: "ds" # path relative to archive root
games_are_directories: false # are games stored as directories?
snes:
display_name: "SNES"
color: [95,0,255]
path: "snes"
games_are_directories: false
wii:
display_name: "WII"
color: [0,215,255]
path: "wbfs"
games_are_directories: true
Feel free to use these System
instances however you'd like!
Arcconfig belongs to a family of projects called the arcosystem!
See the projects that arcconfig makes possible: