https://github.com/aycanirican/kitsilano
Portable Development Environment for myself
https://github.com/aycanirican/kitsilano
docker emacs ghc haskell jupyter nix selenium
Last synced: 2 months ago
JSON representation
Portable Development Environment for myself
- Host: GitHub
- URL: https://github.com/aycanirican/kitsilano
- Owner: aycanirican
- License: bsd-3-clause
- Created: 2019-04-12T23:11:54.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2021-12-23T21:23:30.000Z (over 4 years ago)
- Last Synced: 2025-12-29T14:35:11.582Z (6 months ago)
- Topics: docker, emacs, ghc, haskell, jupyter, nix, selenium
- Language: Nix
- Size: 55.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kitsilano
Portable Development Environment for myself
## For practical users
Kitsilano project provides below tools pre-configured and ready to run
as simple as possible.
- Latest Stable GHC compiler
- Emacs 27.2 (has lots of tools already configured, use `$HOME/.kits.el`
to override default configuration)
- iHaskell jupyter notebook (along with a few ihaskell packages like
aeson, gnuplot, juicypixels etc...)
There are two possible ways to execute each tool.
- NixOS: Run them in your current profile (optional: use cachix)
- Docker: Build a docker image or use pre-built images
If you're using NixOS, you can execute tools by simply Abuilding it
since Nix already provides isolation. If you don't have NixOS, you can
build a docker image and use your own docker server.
### Run In in NixOS
~~~
# Run ghc interpreter
$(nix-build -A haskell.run) --interactive
# Run Emacs with arguments you like:
$(nix-build -A emacs.run) -nw
# Run ihaskell jupyter notebook which listens on 8888
$(nix-build -A ihaskell.run)
~~~
### Execute in docker container
~~~
# GHCi with most popular packages included
$(nix-build -A haskell.runContainer) --interactive
#ihaskell
$(nix-build -A ihaskell.runContainer)
# emacs
$(nix-build -A emacs.run --argstr withContainer true)
~~~
### Run prebuilt container image (skip loading generated image)
~~~
MODE=development $(nix-build -A emacs.run)
~~~
### Using as an overlay
If you're using NixOS or Nix package manager, you can use this
repository's overlays directory and get advantage of nix overlays.
TODO: write how to use overlays...
## For developers
### Publishing new versions via docker hub
~~~
$(nix-build -A emacs.publish --argstr pkgsPath ~/nixpkgs --argstr image-id 123456789 --argstr new-version --argstr withContainer true)
~~~