From 56b503c573317532ef250a47fb075fd699c35ead Mon Sep 17 00:00:00 2001 From: William Carroll Date: Fri, 14 Aug 2020 14:17:31 +0100 Subject: [PATCH] Prefer direnv's use_nix to shell.nix I find it bothersome to share the list of Haskell dependencies between my default.nix and shell.nix files. A few days ago, I created a THIRD file, shared.nix, that defined the shared code b/w default.nix and shell.nix. This DRY'd things up, but it also added a new file, which I didn't like. Today I learned that direnv integrates with Nix using a function called `use_nix`. Voila! I typically already have .envrc files per-project, so this doesn't add any unnecessary files, and it allows me to delete my shell.nix files. I would use `lorri`, except that I encountered issues using Lorri on my work computer, which I'm not interested in attempting to resolve now. --- zoo/.envrc | 1 + zoo/shell.nix | 10 ---------- 2 files changed, 1 insertion(+), 10 deletions(-) create mode 100644 zoo/.envrc delete mode 100644 zoo/shell.nix diff --git a/zoo/.envrc b/zoo/.envrc new file mode 100644 index 000000000..4a4726a5c --- /dev/null +++ b/zoo/.envrc @@ -0,0 +1 @@ +use_nix diff --git a/zoo/shell.nix b/zoo/shell.nix deleted file mode 100644 index 465f0b05c..000000000 --- a/zoo/shell.nix +++ /dev/null @@ -1,10 +0,0 @@ -let - briefcase = import /home/wpcarro/briefcase {}; -in briefcase.buildHaskell.shell { - deps = hpkgs: with hpkgs; [ - hspec - rio - string-conversions - servant-server - ]; -}