{"id":13611072,"url":"https://github.com/srid/haskell-template","last_synced_at":"2025-04-12T18:53:13.574Z","repository":{"id":39442607,"uuid":"372650048","full_name":"srid/haskell-template","owner":"srid","description":"Haskell project template using Nix + Flakes + VSCode (HLS)","archived":false,"fork":false,"pushed_at":"2024-10-20T18:16:45.000Z","size":302,"stargazers_count":228,"open_issues_count":5,"forks_count":32,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-21T18:53:46.914Z","etag":null,"topics":["haskell","nix","template"],"latest_commit_sha":null,"homepage":"https://srid.ca/haskell-template","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/srid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-05-31T23:22:15.000Z","updated_at":"2024-10-21T06:50:41.000Z","dependencies_parsed_at":"2024-02-16T12:26:39.059Z","dependency_job_id":"052a316c-4ec7-40f1-8926-8c9357d244a6","html_url":"https://github.com/srid/haskell-template","commit_stats":null,"previous_names":[],"tags_count":2,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srid%2Fhaskell-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srid%2Fhaskell-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srid%2Fhaskell-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/srid%2Fhaskell-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/srid","download_url":"https://codeload.github.com/srid/haskell-template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248618243,"owners_count":21134200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["haskell","nix","template"],"created_at":"2024-08-01T19:01:51.506Z","updated_at":"2025-04-12T18:53:13.554Z","avatar_url":"https://github.com/srid.png","language":"Nix","funding_links":[],"categories":["Nix"],"sub_categories":[],"readme":"# haskell-template\n\nGet 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:\n\n- [Nix](https://srid.ca/haskell-nix) + [Flakes](https://serokell.io/blog/practical-nix-flakes) (via [`github:srid/haskell-flake`](https://github.com/srid/haskell-flake)) + GHC 9.6\n- VSCode + [HLS](https://github.com/haskell/haskell-language-server)\n- [fourmolu](https://github.com/fourmolu/fourmolu) autoformatting\n- [Relude](https://github.com/kowainik/relude) as Prelude.\n  - `.hlint.yaml` is [from relude](https://github.com/kowainik/relude/blob/main/.hlint.yaml)\n- Devshell commands are provided via [just](https://just.systems/); run `just` in devshell.\n\nIf you have an *existing* Haskell project, you should probably use https://github.com/srid/haskell-flake instead.\n\n## Getting Started\n\nInitialize this template using:\n\n```sh\nnix --accept-flake-config run github:juspay/omnix -- \\\n  init github:srid/haskell-template -o ./yourproject\n```\n\n*tldr: [Install Nix](https://nixos.asia/en/install), [setup direnv](https://nixos.asia/en/direnv), open in VSCode, install recommended extensions and run `just run`.*\n\nFull instructions: https://srid.ca/haskell-template/start\n\nRecommended dev environment setup: https://nixos.asia/en/direnv\n\n## Tips\n\n- Run `nix flake update` to update all flake inputs.\n- Run `nix --accept-flake-config run github:juspay/omnix ci` to build _all_ outputs.\n- [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).\n- Run `just docs` to start Hoogle with packages in your cabal file.\n- Run the application without installing: `nix run github:srid/haskell-template` (or `nix run .` from checkout)\n- Common workflows\n  - Adding library dependencies in Nix: https://community.flake.parts/haskell-flake/dependency\n  - Adding tests: https://srid.ca/haskell-template/tests\n\n## Discussions\n\nQuestions? Ideas? Suggestions? Join our [NixOS Zulip](https://nixos.zulipchat.com/#narrow/stream/413949-haskell-flake) or post in [Github Discussions](https://github.com/srid/haskell-template/discussions).\n\n[pre-commit]: https://github.com/cachix/git-hooks.nix\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrid%2Fhaskell-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsrid%2Fhaskell-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsrid%2Fhaskell-template/lists"}