From 165bfd2c9e17011408af73fcb54ee58c9fcbbff4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Sun, 10 Aug 2025 13:37:51 +0200 Subject: [PATCH] devShells/masna3: init --- nix/devShells/masna3.nix | 69 ++++++++++++++++++++++++++++++++++++++++ npins/sources.json | 14 ++++++++ 2 files changed, 83 insertions(+) create mode 100644 nix/devShells/masna3.nix diff --git a/nix/devShells/masna3.nix b/nix/devShells/masna3.nix new file mode 100644 index 00000000..83c8c749 --- /dev/null +++ b/nix/devShells/masna3.nix @@ -0,0 +1,69 @@ +let + bootpkgs = import {}; + + pkgs = import (bootpkgs.fetchFromGitHub { + owner = "NixOS"; + repo = "nixpkgs"; + rev = "nixos-25.05"; + hash = "sha256-eogqv6FqZXHgqrbZzHnq43GalnRbLTkbBbFtEfm1RSc="; + }) {}; + + unstable = import (bootpkgs.fetchFromGitHub { + owner = "NixOS"; + repo = "nixpkgs"; + rev = "haskell-updates"; + hash = "sha256-dwgA4RwZhqiz4VZoCBf9Li8hWIppGEhcIRL/PIBsStU="; + }) {}; +in + pkgs.mkShell (let + libs = with pkgs; [ + zlib + libpq + libsodium + ]; + + hlib = pkgs.haskell.lib; + + callHackage = { + name, + version, + haskellPackages ? pkgs.haskellPackages, + }: let + pkg = haskellPackages.callHackage name version {}; + in + hlib.dontCheck (hlib.doJailbreak pkg); + + haskellPackages = pkgs.haskellPackages; + in { + name = "masna3"; + packages = + [ + # used pinned ghc + unstable.haskell.packages.ghc9102.ghc + + # Broken :( + # unstableHaskellPackages.haskell-language-server + + haskellPackages.cabal-install + haskellPackages.postgresql-migration + (callHackage { + name = "fourmolu"; + version = "0.18.0.0"; + haskellPackages = pkgs.haskell.packages.ghc912; + }) + (callHackage { + name = "hlint"; + version = "3.10"; + haskellPackages = pkgs.haskell.packages.ghc912; + }) + haskellPackages.apply-refact + haskellPackages.ghc-tags + haskellPackages.cabal-gild + + pkgs.gnumake + pkgs.pkg-config + ] + ++ libs; + + LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath libs; + }) diff --git a/npins/sources.json b/npins/sources.json index 2dbe1ff8..16dd5d7f 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -263,6 +263,20 @@ "hash": "1q7y5ygr805l5axcjhn0rn3wj8zrwbrr0c6a8xd981zh8iccmx0p", "frozen": true }, + "pin-masna3shell": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "NixOS", + "repo": "nixpkgs" + }, + "branch": "nixos-25.05", + "submodules": false, + "revision": "fc756aa6f5d3e2e5666efcf865d190701fef150a", + "url": "https://github.com/NixOS/nixpkgs/archive/fc756aa6f5d3e2e5666efcf865d190701fef150a.tar.gz", + "hash": "09s5npwi2vdi0ldkjbavfjb9lwg3x9wwrndnmbh72rbal6zjm23s", + "frozen": true + }, "pin-necro-man-nixpkgs": { "type": "Git", "repository": {