<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nix on The Negation</title><link>https://www.thenegation.com/tags/nix/</link><description>Recent content in Nix on The Negation</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 29 May 2025 23:55:54 +0000</lastBuildDate><atom:link href="https://www.thenegation.com/tags/nix/index.xml" rel="self" type="application/rss+xml"/><item><title>Cross-Compiling Haskell under NixOS with Docker</title><link>https://www.thenegation.com/posts/cross-compile-haskell/</link><pubDate>Thu, 29 May 2025 23:55:54 +0000</pubDate><guid>https://www.thenegation.com/posts/cross-compile-haskell/</guid><description>&lt;p&gt;I learned how to cross-compile Haskell projects under NixOS using Docker images
for ARM architectures, and how to run them under emulation on &lt;code&gt;x86_64&lt;/code&gt; hosts.&lt;/p&gt;</description></item><item><title>The Terminal State of Mind</title><link>https://www.thenegation.com/posts/the-terminal-state-of-mind/</link><pubDate>Wed, 28 May 2025 21:24:28 +0000</pubDate><guid>https://www.thenegation.com/posts/the-terminal-state-of-mind/</guid><description>&lt;p&gt;I use the terminal. Not because I am a command-line wizard or particularly
efficient with it, but because the GUI has never given me the rhythm and flow I
need.&lt;/p&gt;</description></item><item><title>NixOS Rebuilds, Upgrades and Generation Diffs</title><link>https://www.thenegation.com/posts/nixos-rebuilds-and-upgrades/</link><pubDate>Tue, 27 May 2025 21:20:42 +0000</pubDate><guid>https://www.thenegation.com/posts/nixos-rebuilds-and-upgrades/</guid><description>&lt;p&gt;Today, I upgraded my NixOS system to the latest version, v25.05. It went
smoothly. I just want to report my experience here.&lt;/p&gt;</description></item><item><title>Hacking Haskell with Nix: Two Tricks</title><link>https://www.thenegation.com/posts/quick-haskell-dev-setup/</link><pubDate>Thu, 22 May 2025 22:10:37 +0000</pubDate><guid>https://www.thenegation.com/posts/quick-haskell-dev-setup/</guid><description>&lt;p&gt;I have mentioned a few times in my posts that &lt;a href="https://www.haskell.org/"&gt;Haskell&lt;/a&gt; is my go-to language.
This is true even for small applications which go beyond a simple shell script.&lt;/p&gt;
&lt;p&gt;Hacking Haskell with Nix is an easy and fun way to quickly prototype. I want to
share two tricks that I use.&lt;/p&gt;</description></item><item><title>Haskell Project Template with Nix Flakes</title><link>https://www.thenegation.com/posts/haskell-template-flakes/</link><pubDate>Tue, 20 May 2025 21:43:46 +0000</pubDate><guid>https://www.thenegation.com/posts/haskell-template-flakes/</guid><description>&lt;p&gt;This post introduces my Haskell project template powered by Nix Flakes &amp;ndash; a
simple setup I use to quickly spin up new Haskell applications.&lt;/p&gt;</description></item><item><title>Build a CLI Emoji Picker with fzf and Nix</title><link>https://www.thenegation.com/posts/nix-fzf-script-tutorial/</link><pubDate>Mon, 12 May 2025 21:10:27 +0000</pubDate><guid>https://www.thenegation.com/posts/nix-fzf-script-tutorial/</guid><description>&lt;p&gt;In my blog post &lt;a href="https://www.thenegation.com/posts/wayland-app-launchers-rofi/"&gt;yesterday&lt;/a&gt;, I mentioned &lt;a href="https://github.com/junegunn/fzf"&gt;fzf&lt;/a&gt;. Its simplicity and power make it
a good tool for many scripting tasks. In this post, we will see a practical
example of how to use it in a CLI program and package it with Nix.&lt;/p&gt;</description></item><item><title>Why and How to Patch a Python Package in Nix</title><link>https://www.thenegation.com/posts/patch-python-package-on-nix/</link><pubDate>Thu, 08 May 2025 17:24:26 +0000</pubDate><guid>https://www.thenegation.com/posts/patch-python-package-on-nix/</guid><description>&lt;p&gt;I bumped into an annoying issue today while upgrading my Python dependencies in
a codebase. And I thought it would be a good idea to share the solution with
you. Thanks to &lt;a href="https://nixos.org/"&gt;Nix&lt;/a&gt; for making this kind of fix so straightforward.&lt;/p&gt;</description></item><item><title>Nix-Powered Python Development</title><link>https://www.thenegation.com/posts/nix-powered-python-dev/</link><pubDate>Wed, 07 May 2025 19:11:06 +0000</pubDate><guid>https://www.thenegation.com/posts/nix-powered-python-dev/</guid><description>&lt;p&gt;After a few years of floating from one hack to another, this is my practical
guide to setting up a reasonable Python development environment using Nix flakes
with support for testing, linting, formatting, and LSP-based editor integration.&lt;/p&gt;</description></item><item><title>Nix Flake Templates</title><link>https://www.thenegation.com/posts/nix-flake-templates/</link><pubDate>Tue, 06 May 2025 11:36:39 +0000</pubDate><guid>https://www.thenegation.com/posts/nix-flake-templates/</guid><description>&lt;p&gt;Nix is now central to how I structure my workstation setups and manage
development and production environments across my projects. Over time, I found
myself repeating certain setups. This post is a short note on how I started
working with Nix Flake templates to avoid or reduce this repetition.&lt;/p&gt;</description></item><item><title>Easy GitHub CLI Extensions with Nix</title><link>https://www.thenegation.com/posts/custom-gh-ext/</link><pubDate>Mon, 19 Aug 2024 20:35:24 +0000</pubDate><guid>https://www.thenegation.com/posts/custom-gh-ext/</guid><description>&lt;p&gt;GitHub CLI (&lt;code&gt;gh&lt;/code&gt;) is one of my favourite tools. In addition to its built-in
commands, it allows you to write your own extensions. In this post, I will show
you how to write a simple GitHub CLI extension and how to package it with Nix,
in particular under Nix Home Manager.&lt;/p&gt;</description></item><item><title>Hasura CLI on NixOS: A Working Solution</title><link>https://www.thenegation.com/posts/hasura-cli-on-nixos/</link><pubDate>Wed, 07 Aug 2024 22:02:10 +0000</pubDate><guid>https://www.thenegation.com/posts/hasura-cli-on-nixos/</guid><description>&lt;p&gt;This post comes after an exciting discovery of a solution to a problem I and my
team have been facing for a while: Getting Hasura CLI work on NixOS like any
other program.&lt;/p&gt;</description></item><item><title>Using niv to Manage Haskell Dependencies</title><link>https://www.thenegation.com/posts/using-niv-with-hackage/</link><pubDate>Tue, 06 Aug 2024 20:31:10 +0000</pubDate><guid>https://www.thenegation.com/posts/using-niv-with-hackage/</guid><description>&lt;p&gt;Using Nix to manage project dependencies and development environments is a great
way to keep your projects reproducible and isolated. &lt;a href="https://github.com/nmattia/niv"&gt;niv&lt;/a&gt; can help you further
in this by pinning the versions of your dependencies outside of your Nix code as
JSON data.&lt;/p&gt;
&lt;p&gt;In this post, I will show you what using &lt;a href="https://github.com/nmattia/niv"&gt;niv&lt;/a&gt; looks like and how to override
Haskell dependencies. I will also demo a small script I wrote to add Hackage
packages to the &lt;code&gt;sources.json&lt;/code&gt; file.&lt;/p&gt;</description></item></channel></rss>