- Added new settings: function-arrows, haddock-style, haddock-style-module, import-export-style, in-style, let-style, single-constraint-parens, and unicode. |
||
---|---|---|
nix/modules/flake | ||
src | ||
.envrc | ||
.gitattributes | ||
.gitignore | ||
.hlint.yaml | ||
flake.lock | ||
flake.nix | ||
hie.yaml | ||
justfile | ||
LICENSE | ||
README.md | ||
xmonad-config.cabal |
xmonad-config
Get a Haskell development environment up and running quickly. Thanks to Nix, this template is optimized for a fully reproducible and friendly development environment. It is based on:
- Nix + Flakes (via
github:srid/haskell-flake
) + GHC 9.6 - VSCode + HLS
- fourmolu autoformatting
- Relude as Prelude.
.hlint.yaml
is from relude
- Devshell commands are provided via just; run
just
in devshell.
If you have an existing Haskell project, you should probably use https://github.com/srid/haskell-flake instead.
Getting Started
Initialize this template using:
nix --accept-flake-config run github:juspay/omnix -- \
init github:srid/xmonad-config -o ./yourproject
tldr: Install Nix, setup direnv, open in VSCode, install recommended extensions and run just run
.
Full instructions: https://srid.ca/xmonad-config/start
Recommended dev environment setup: https://nixos.asia/en/direnv
Tips
- Run
nix flake update
to update all flake inputs. - Run
nix --accept-flake-config run github:juspay/omnix ci
to build all outputs. - pre-commit hooks will automatically be setup in Nix shell. You can also run
pre-commit run -a
manually to run the hooks (e.g.: to autoformat the project tree using fourmolu, nixpkgs-fmt, etc. as well run programs like hlint). The hooks will checked as part of flake checks (thus CI). - Run
just docs
to start Hoogle with packages in your cabal file. - Run the application without installing:
nix run github:srid/xmonad-config
(ornix run .
from checkout) - Common workflows
- Adding library dependencies in Nix: https://community.flake.parts/haskell-flake/dependency
- Adding tests: https://srid.ca/xmonad-config/tests
Discussions
Questions? Ideas? Suggestions? Join our NixOS Zulip or post in Github Discussions.