Manage DOSBox apps.
First, make sure you have all the dependencies installed:
- DosBox-X (or DOSBox with configuration)
- go-task
bash
-dosapp
executes tasks using a shellcurl
7zz
- Packages currently only work with .7z files, but havingunzip
andtar
are probably good ideas as well
Then, install dosapp
:
go install github.com/jfhbrook/dosapp@latest
To get started, run:
dosapp config
This will generate the initial configuration.
dosapp
is configured through dotenv files and environment variables. The
following environment variables are respected:
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.
DOSAPP_DOSBOX_BIN
: The location of the DOSBox binary. Defaults todosbox-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 is7zz
.EDITOR
: The editor to use for editing dotenv files. This is commonly set tovi
.PAGER
: The pager to use for viewing READMEs. Defaults tocat
, but is commonly set toless
.
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 respectsDOSAPP_CACHE_HOME
.
DEBUG
: Set to1
to enable debug logging.
To start DOSBox with the standard configuration and mounts, run:
dosapp
To install an app, run:
dosapp install [APP_NAME]
To start an installed app with app-specific configuration and mounts, run:
dosapp start [APP_NAME]
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
To remove an app from your install, clean up any links and remove the configuration, run:
dosapp remove [APP_NAME]
Here's a list of packages:
wordperfect
turbo-pascal
- TODO:
dostodon
- TODO:
freebasic
- TODO: As-Easy-As
- TODO: VGAPaint
This project contains a Taskfile
, with two tasks:
task check
- Runshellcheck
against the shell scripts in the project.task install
- Symlink./bin/dosapp
to~/.local/bin/dosapp
.
I'm releasing this under an MIT license. See LICENSE for details.