# hsinstall
## Synopsis
Pack a haskell project into a deployable directory structure
## Description
hsinstall is a tool for deploying software projects into directory structures
suitable for installation on a system. It builds upon the `stack install` and
`cabal install` commands and adds more features. It's also a tool for easier
AppImage creation.
- Copies the `LICENSE` file into `<PREFIX>/share/<PROJECT-NAME>/doc`
- Copies the contents of a template directory stucture in your project (named
`hsi-tmpl` or `hsi-tmpl.EXE`) into the destination prefix directory. This can
contain additional binaries or scripts, resources, documentation, etc.
- Optionally builds an AppDir-shaped directory structure for the project and
produces an an [AppImage](https://appimage.org/) binary
If the AppImage features are desired, you must have these tools on your PATH:
linuxdeploy: <https://github.com/linuxdeploy/linuxdeploy/releases>
linuxdeploy-plugin-appimage: <https://github.com/linuxdeploy/linuxdeploy-plugin-appimage/releases>
## Development
Browse [the source](https://codeberg.org/dinofp/hsinstall)
Get source with git and build
$ git clone https://codeberg.org/dinofp/hsinstall.git
$ cd hsinstall
$ stack build
If you have the abovementioned `linuxdeploy-*` programs on your path, we can do
something *really* cool. Use this freshly-built hsinstall to package itself
into an AppImage:
$ stack run hsinstall -- --appimage hsinstall
And you should see an `hsinstall-y.z-x86_64.AppImage` binary in `.`
Tip: Use `git clean -df` to blow away untracked things like the `hsi-*` and
AppImage artifacts.
Handy command to generate Haddock docs during development if using stack. This
constrains doc generation to modules in the library:
$ stack haddock --no-haddock-deps
## Contact
### Authors
Dino Morelli <dino@ui3.info>
[](https://ko-fi.com/s/4662b19f61) This work is hand-crafted with no LLM/AI involved