wem get
→ About
The wem get
command allows downloading curated envs for certain games and software. The idea behind curated envs is to enable easy setup, configuration, and execution of a particular Windows software via wine.
Typically, all a user has to configure is the path to the installation media. After downloading the env via wem get
, the user can install and run it using an optimal, well-tested setup with wem install
/wem run
.
Please see the main Get Envs page for more information about how to use it
→ Developing Curated Envs
Curated envs live in the wem-env-repo
repository. They are TOML-formatted files that have WEM env config files embedded inside of them along with some extra metadata.
At minimum, a curated env file must contain the following metadata:
-
Name
-
Description
-
TestedOn
-
Any
Urls
must begin withhttp://
orhttps://
The embedded env must have at least the Name
and WineExe
options set. Please see the wem-env-repo
repository for several live examples.
→ Building The Curated Env Repo Website
A curated env "repo" need only be some HTTP endpoint that has several files at minimum:
-
index.json
should contain a list of maps that haveName
andSlug
keys with their corresponding values. -
index.html
is technically optional, but is great for providing users a way to browse all available curated envs. -
TOML-formatted files for any curated envs that you wish to host. These files should correspond to the
index.json
file described above.
WEM has a subcommand that can generate all of these files: wem get-html
You can use it like this:
wem get-html --from-files /path/to/repo --out /path/to/web/site/get
Where the --from-files
argument points to a directory containing TOML-formatted curated envs, and the --out
argument points to the directory where WEM should write all files for the "repo".
→ Local Repo Testing
To run a local copy of the WEM website for developing curated envs, follow the below steps:
-
Clone the WEM repository using
--recursing
:git clone --recursive https://gitlab.com/hristoast/wem
-
cd
into the root of the cloned repository - Open two terminals
-
In the first, run:
make clean-all rebuild web-all
-
This step requires:
curl
,make
,pandoc
, andpython3
-
This step requires:
-
In the second, run this to list available envs:
go run ./cmd/wem get-list
-
Also in the second, run this to get an env:
go run ./cmd/wem get <env-slug-here> <optional args here>
-
Once again in the second, run this to view an env:
go run ./cmd/wem get-view <env-slug-here> <optional args here>
-
If you make changes to any envs, re-run
make web-all
to see your changes
This patten is useful for developing and testing envs locally, before having them added into the main WEM get repository.