Haskell with Nix (1 Day)
Haskell with Nix (1 Day)
- Total sales tax is determined upon entry of your address.
- Pick the training with the right language, date, and timezone.
Haskell with Nix - 1 Day
Online class: Participate from anywhere.
Target Audience
You are already convinced of the benefits of Haskell and Nix but find the integration and learning curve daunting. The documentation provides information but lacks the practical, step-by-step guidance you need. You are about to use Haskell with Nix in a real-life project and want to ensure you do it correctly.
Master the integration of Haskell and Nix in just one day! We’ll guide you through essential practices, ensuring a reproducible setup and robust development environment, so you can confidently tackle complex projects and streamline your workflow.
Class Goals
In this class, you will learn how to setup a Nix based development environment for Haskell. Furthermore, you will know common pitfalls that occur when migrating an existing development environment to a Nix based one.
Class Content
In this intensive one-day course, you’ll gain hands-on experience packaging a real-life Haskell project with Nix, ensuring a reproducible development setup and mastering best practices for maintaining code quality and integrity. From foundational concepts to advanced techniques, you’ll be guided step-by-step to confidently use Nix in your Haskell projects.
- Introduction and Overview of Course Objectives
- Setting Up a Reproducible Haskell Toolchain with Nix
- Creating a Nix flake with GHC, Cabal, HLS, and related tooling
- Introduction to Nix Library: haskell2nix and Horizon
- Solving Common Dependency Problems
- Jailbreaking and overriding Haskell dependency versions using overlays
- Patching Library Source Code in Nix
- Using hpack for Simplified Project Management
- Ensuring Code Integrity and Quality Standards
- Integrating Haskell formatters, HLint, and Treefmt
- Setting Up Continuous Integration for Consistent Builds
- Introduction to Haskell Cross-Compilation with Nix
Recommended Prerequisites
You have:
-
A GNU/Linux (any distribution) or macOS computer
- We provide a NixOS baremetal cloud machine as a fallback solution for you (accessible via SSH)
- Basic programming/scripting skills
- Basic GNU/Linux and Bash knowledge
Included in the Purchase
- Participation in the online class
- SSH access to the training server as a fallback solution
- Preparation mail (one week before class)
- Personal Certificate as PDF
- Personal copy of the high-quality class slides as PDF
Organizational details
Language, date, and timezone: Please select the correct checkout variant at the beginning of this product page!
Classes are held daily from 9AM to 5PM in the selected time zone.
We have 1 hour lunch break and several shorter breaks during the day.
We provide trainings in the following timezones:
- CEST: UTC+2, Central European Summer Time
- CET: UTC+1, Central European (Winter) Time
-
USA Time:
- Pacific Time: 7AM - 3PM
- Mountain Time: 8AM - 4PM
- Central Time: 9AM - 5PM
- Eastern Time: 10AM - 6PM
- PT, MT, CT, ET as refered to on Wikipedia
You will receive meeting invites which display the class times in your timezone.