Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cdlm/fari.sh
fari.sh — fresh, ready-to-hack Pharo images
https://github.com/cdlm/fari.sh
pharo tool
Last synced: 2 months ago
JSON representation
fari.sh — fresh, ready-to-hack Pharo images
- Host: GitHub
- URL: https://github.com/cdlm/fari.sh
- Owner: cdlm
- License: mit
- Created: 2018-01-19T16:22:36.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-01-25T09:07:23.000Z (over 2 years ago)
- Last Synced: 2024-01-29T00:25:53.845Z (5 months ago)
- Topics: pharo, tool
- Language: Shell
- Homepage: https://cdlm.github.io/fari.sh
- Size: 344 KB
- Stars: 13
- Watchers: 5
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-pharo - fari.sh - Fresh, ready-to-hack Pharo images. (Pharo images management)
README
# Fari
_**fari:** To do, to make (eo) — Lighthouses (it)_
**Fari** downloads and prepares _fresh, ready-to-hack_ [Pharo][] images for
you, so you can forget about the usual setup dance: get image, run it, open
workspace, juggle windows, copy-paste, do-it, save image under new name…```shell
$ git clone [email protected]/$user/$repo.git
$ cd $repo
$ fari.sh build
$ fari.sh run
```## Install
Drop or link
[`fari.sh`](https://raw.githubusercontent.com/cdlm/fari.sh/master/fari.sh) in
your `$PATH`.## Configuration
To have code automatically loaded in the fresh image, add a `load.st` file
containing the needed code snippet in your project, typically something like:```smalltalk
"load.st"
Metacello new baseline: 'Foo';
repository: 'gitlocal://./src';
load.
```This will generate a `pharo.1c0ffee.image` file. The hex suffix comes from the
downloaded snapthot and identifies which sources file matches the image.**Named images:** Instead of `load.st`, you can also use a named load script,
e.g. `foo.load.st`, resulting in a matching `foo.*.image`. Several named
images can be generated, each with specific settings, by having as many named
load scripts. If present, `load.st` is loaded before the named load script of
each image; this is useful for sharing configuration in all named images.**Personal settings:** any existing `local.st` or `foo.local.st` files get
loaded after the load scripts; those are intended for loading personal tools
and settings, and should thus be left out of version control.**Environment variables:** Fari takes a few environment variables into
account. We recommend [direnv][] to make any setting persistent and
project-specific.`PHARO_PROJECT`: image name used in the absence of a named load script;
defaults to `pharo`.`PHARO`: name of the Pharo VM command-line executable. Defaults to `pharo`,
assuming that you have it in your `$PATH`. If you get your VMs from
[get.pharo.org][], set it to `./pharo`.`PHARO_VERSION`: Pharo release, as used in the [get.pharo.org][] URLs;
defaults to `80`.`PHARO_FILES`: URL prefix for downloading the image; defaults to
`http://files.pharo.org/get-files/${PHARO_VERSION}`.`PHARO_IMAGE_FILE`: Name of the image distribution file to download; defaults
to `pharo64.zip` but would be `pharo.zip` for 32-bit images.# License
The [Fari source][github] is available on Github, and is released under the
[MIT license][mit]. See the [Docco][] generated docs for more information:
https://cdlm.github.io/fari.sh[github]: https://github.com/cdlm/fari.sh
[mit]: http://opensource.org/licenses/MIT
[pharo]: http://pharo.org
[get.pharo.org]: http://get.pharo.org
[docco]: http://ashkenas.com/docco
[direnv]: https://direnv.net