Manage DOSBox apps.
First, make sure you have all the dependencies installed:
bash
- dosapp
executes tasks using a shellcurl
7zz
- Packages currently only work with .7z files, but having unzip
andtar
are probably good ideas as wellThen, 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 mayDOSAPP_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 willDOSAPP_DOSBOX_BIN
: The location of the DOSBox binary. Defaults todosbox-x
, which has more features than DOSBox. However, this may beDOSAPP_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 setvi
.PAGER
: The pager to use for viewing READMEs. Defaults to cat
, but isless
.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~/.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
.DEBUG
: Set to 1
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
dostodon
freebasic
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
.I'm releasing this under an MIT license. See LICENSE for details.