Skip to content

Commit 2c98b80

Browse files
committed
Changes on IOGx section made by @zeme-wana
1 parent 1a06630 commit 2c98b80

File tree

1 file changed

+7
-23
lines changed

1 file changed

+7
-23
lines changed

blog/2023-11-13-devx.md

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -152,47 +152,31 @@ To make the DevX developer shell available in a VSCode DevContainer or GitHub Co
152152
```
153153
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!
154154

155-
## IOGx: A Flake Template for Haskell Projects at IOG
155+
## IOGx: Flake Templates for Projects at IOG
156156

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.
158158

159159
### Getting Started with IOGx
160160

161-
Kick-start your project with IOGX by running the following command:
161+
Kick-start your project with IOGx by running the following command:
162162
```
163-
yvan@X230 ~/iogx-demo % nix flake init --template github:input-output-hk/iogx
164-
163+
yvan@X230 ~/iogx-demo % nix flake init --template github:input-output-hk/iogx#vanilla
165164
wrote: /Users/yvan/iogx-demo/nix/outputs.nix
166165
wrote: /Users/yvan/iogx-demo/nix/shell.nix
167166
wrote: /Users/yvan/iogx-demo/nix
168167
wrote: /Users/yvan/iogx-demo/flake.nix
169-
170168
Flake Template for Vanilla Projects
171-
172169
    Open flake.nix to get started.
173-
174170
```
175171
This command generates a `flake.nix` and a `nix` folder containing various file templates.
176-
These files form the *filesystem-based* API of IOGX.
177172

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.
180174

181175
### IOGx Features
182176

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.
194178

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.
196180

197181
## Hix
198182

0 commit comments

Comments
 (0)