4 releases
0.3.1 | Feb 24, 2024 |
---|---|
0.3.0 | Jan 23, 2024 |
0.2.1 | Jan 17, 2024 |
0.2.0 | Dec 16, 2023 |
#355 in Configuration
18KB
157 lines
arcconfig
short for "archive configuration"
🦀 written in Rust
What is arcconfig?
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
How do I use it?
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
Customization
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!
Other arcosystem projects
Arcconfig belongs to a family of projects called the arcosystem!
See the projects that arcconfig makes possible:
Dependencies
~0.2–9.5MB
~46K SLoC