You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: blog/2023-11-13-devx.md
+7-23Lines changed: 7 additions & 23 deletions
Original file line number
Diff line number
Diff line change
@@ -152,47 +152,31 @@ To make the DevX developer shell available in a VSCode DevContainer or GitHub Co
152
152
```
153
153
You can follow the [Microsoft tutorial](https://code.visualstudio.com/docs/devcontainers/tutorial) to set-up your VSCode local DevContainer or you can give it a try by [opening a GitHub Codespace](https://codespaces.new/input-output-hk/cardano-base?quickstart=1) on [`cardano-base`](https://github.com/input-output-hk/cardano-base) repository!
154
154
155
-
## IOGx: A Flake Template for Haskell Projects at IOG
155
+
## IOGx: Flake Templates for Projects at IOG
156
156
157
-
IOGx is a flake template that offers a development experience for Haskell projects at IOG. Its vision is to provide a JSON-like, declarative interface to Nix, enabling developers unfamiliar with the Nix language to maintain and enhance the Nix sources independently with minimal effort. This is motivate by the current fact that the learning curve for Nix is steep and the documentation is not yet as beginner friendly than it could be.
157
+
IOGx is a Nix library of functions and templates for structuring your Nix code and comes with a number of common DevX facilities to help develop your project. Its vision is to provide a JSON-like, declarative interface to Nix, enabling developers unfamiliar with the Nix language to maintain and enhance the Nix sources independently with minimal effort. This is motivated by the current fact that the learning curve for Nix is steep and the documentation is not yet as beginner friendly than it could be.
158
158
159
159
### Getting Started with IOGx
160
160
161
-
Kick-start your project with IOGX by running the following command:
161
+
Kick-start your project with IOGx by running the following command:
This command generates a `flake.nix` and a `nix` folder containing various file templates.
176
-
These files form the *filesystem-based* API of IOGX.
177
172
178
-
The next steps involve populating the templates in the `nix` folder, leaving `flake.nix` mostly untouched.
179
-
Based on the contents of the `nix` folder, IOGX populates your flake outputs.
173
+
The next steps involve populating the templates in the `nix` folder and `flake.nix` itself.
180
174
181
175
### IOGx Features
182
176
183
-
IOGx comes packed with numerous features that enhance the Haskell development process:
184
-
185
-
- **GHC Build Matrices**: IOGx enables defining a set of GHC versions, for each of which it generates `devShells`, `packages`, `apps`, `checks`, and `hydraJobs`. These outputs also include profiled builds and Windows cross-compiled builds.
186
-
187
-
- **Extensible Development Shells**: Every `devShell` comes with a complete Haskell toolchain that can be easily extended with new packages, custom scripts, environment variables, and hooks.
188
-
189
-
- **Automatic Hydra Jobset**: By default, your `hydraJobs` will include every Haskell component in your project. Test suites will run in CI automatically.
190
-
191
-
- **Easy Code Formatting**: IOGx employs [`pre-commit-hooks`](https://github.com/cachix/pre-commit-hooks.nix) for source tree formatting. These hooks are easily configurable and run automatically in CI unless explicitly disabled.
192
-
193
-
- **Read The Docs Support**: If your project requires a [Read The Docs](https://readthedocs.org) site, IOGX will include the necessary tools and scripts and add the relevant derivations to CI.
177
+
IOGx comes packed with numerous [features](https://github.com/input-output-hk/iogx#2-features) that enhance the Haskell development process.
194
178
195
-
To delve deeper into IOGx and its API, refer to the comprehensive [API Reference](https://github.com/input-output-hk/iogx#3-api-reference). IOGX aims to facilitate a pleasant and efficient development process for Haskell projects at IOG, minimizing the need for extensive Nix language knowledge.
179
+
To delve deeper into IOGx and its API, refer to the comprehensive [API Reference](https://github.com/input-output-hk/iogx/blob/main/doc/api.md). IOGX aims to facilitate a pleasant and efficient development process for Haskell projects at IOG, minimizing the need for extensive Nix language knowledge.
0 commit comments