dosapp
Manage DOSBox apps.
Install
First, make sure you have all the dependencies installed:
- DosBox-X (or DOSBox with configuration)
- go-task
bash
- dosapp
executes tasks using a shell
curl
7zz
- Packages currently only work with .7z files, but having unzip
and
tar
are probably good ideas as well
Then, install dosapp
:
go install github.com/jfhbrook/dosapp@latest
Getting Started
To get started, run:
dosapp config
This will generate the initial configuration.
Environment Variables
dosapp
is configured through dotenv files and environment variables. The
following environment variables are respected:
Mount Locations
DOSAPP_DISK_HOME
: The base location for your dosapp disks. Some apps may
create custom disks under this location.
DOSAPP_DISK_A
: The standard location for the A drive.
DOSAPP_DISK_B
: The standard location for the B drive.
DOSAPP_DISK_C
: The standard location for the C drive. Many apps will
require this mount to function.
External Binaries
DOSAPP_DOSBOX_BIN
: The location of the DOSBox binary. Defaults to
dosbox-x
, which has more features than DOSBox. However, this may be
overwritten in cases where vanilla DOSBox is more reliable, or is what's
installed.
DOSAPP_7Z_BIN
: The location of the 7z/7zz binary. The default is 7zz
.
EDITOR
: The editor to use for editing dotenv files. This is commonly set
to vi
.
PAGER
: The pager to use for viewing READMEs. Defaults to cat
, but is
commonly set to less
.
Runtime Directory Locations
These directories are typically configured to match the XDG spec, but may be
overwritten.
DOSAPP_STATE_HOME
: The location to store non-critical app state. Defaults
to ~/.local/state/dosapp
.
DOSAPP_CACHE_HOME
: The location to store cached app data. Defaults to
~/.cache/dosapp
.
DOSAPP_LINK_HOME
: The location to place bin scripts for apps. Defaults to
~/.local/bin
.
DOSAPP_DOWNLOAD_HOME
: The location to store downloads. Defaults to
~/.cache/dosapp/downloads
, and respects DOSAPP_CACHE_HOME
.
Other
DEBUG
: Set to 1
to enable debug logging.
Usage
Start DOSBox
To start DOSBox with the standard configuration and mounts, run:
dosapp
Install an App
To install an app, run:
dosapp install [APP_NAME]
Start an App
To start an installed app with app-specific configuration and mounts, run:
dosapp start [APP_NAME]
Create a Bin Script for an App
To create scripts for your installed app, run dosapp link [APP_NAME]
.
For example, to create a wp
script that launches WordPerfect:
dosapp link wordperfect
Remove the App
To remove an app from your install, clean up any links and remove the
configuration, run:
dosapp remove [APP_NAME]
Packages
Here's a list of packages:
Development
This project contains a Taskfile
, with two tasks:
task check
- Run shellcheck
against the shell scripts in the project.
task install
- Symlink ./bin/dosapp
to ~/.local/bin/dosapp
.
License
I'm releasing this under an MIT license. See LICENSE for details.