2023-01-07 14:58:57 +01:00
|
|
|
# generic shell.nix that can be used for most of my projects here,
|
|
|
|
# until I figure out a way to have composable shells.
|
|
|
|
let root = (import ../../. { }); in
|
|
|
|
{ pkgs ? root.third_party.nixpkgs, depot ? root, ... }:
|
|
|
|
|
|
|
|
pkgs.mkShell {
|
|
|
|
buildInputs = [
|
|
|
|
pkgs.sqlite-interactive
|
|
|
|
pkgs.sqlite-utils
|
|
|
|
pkgs.haskell-language-server
|
|
|
|
pkgs.cabal-install
|
|
|
|
(pkgs.haskellPackages.ghcWithHoogle (h: [
|
|
|
|
h.async
|
|
|
|
h.aeson-better-errors
|
2023-05-28 17:20:48 +02:00
|
|
|
h.blaze-html
|
2023-01-07 14:58:57 +01:00
|
|
|
h.conduit-extra
|
|
|
|
h.error
|
2023-05-28 17:20:48 +02:00
|
|
|
h.monad-logger
|
|
|
|
h.pa-field-parser
|
|
|
|
h.pa-label
|
2023-06-19 15:56:32 +02:00
|
|
|
h.pa-json
|
|
|
|
h.pa-pretty
|
2023-06-20 00:22:14 +02:00
|
|
|
h.pa-run-command
|
2023-05-28 17:20:48 +02:00
|
|
|
h.ihp-hsx
|
2023-01-07 14:58:57 +01:00
|
|
|
h.PyF
|
2023-06-05 10:54:19 +02:00
|
|
|
h.foldl
|
2023-01-07 14:58:57 +01:00
|
|
|
h.unliftio
|
2023-05-28 20:58:20 +02:00
|
|
|
h.xml-conduit
|
2023-01-07 14:58:57 +01:00
|
|
|
h.wai
|
2023-05-28 17:20:48 +02:00
|
|
|
h.wai-extra
|
2023-01-07 14:58:57 +01:00
|
|
|
h.warp
|
|
|
|
h.profunctors
|
|
|
|
h.semigroupoids
|
|
|
|
h.validation-selective
|
|
|
|
h.free
|
|
|
|
h.cryptonite-conduit
|
|
|
|
h.sqlite-simple
|
|
|
|
h.hedgehog
|
|
|
|
h.http-conduit
|
2023-07-12 22:51:17 +02:00
|
|
|
h.http-conduit
|
|
|
|
h.wai-conduit
|
2023-01-07 14:58:57 +01:00
|
|
|
h.nonempty-containers
|
|
|
|
h.deriving-compat
|
|
|
|
h.unix
|
2023-04-08 12:59:01 +02:00
|
|
|
h.tagsoup
|
2023-01-07 14:58:57 +01:00
|
|
|
h.attoparsec
|
|
|
|
h.iCalendar
|
|
|
|
h.case-insensitive
|
|
|
|
h.hscolour
|
|
|
|
h.nicify-lib
|
2023-05-28 20:58:20 +02:00
|
|
|
h.hspec
|
2023-01-07 14:58:57 +01:00
|
|
|
h.hspec-expectations-pretty-diff
|
2023-06-19 15:56:32 +02:00
|
|
|
h.tmp-postgres
|
|
|
|
h.postgresql-simple
|
|
|
|
h.resource-pool
|
2023-08-13 15:21:32 +02:00
|
|
|
h.xmonad-contrib
|
2023-09-29 18:04:32 +02:00
|
|
|
h.hs-opentelemetry-sdk
|
2023-01-07 14:58:57 +01:00
|
|
|
]))
|
|
|
|
|
|
|
|
pkgs.rustup
|
|
|
|
pkgs.pkg-config
|
|
|
|
pkgs.fuse
|
2023-06-19 15:56:32 +02:00
|
|
|
pkgs.postgresql
|
2024-02-11 17:31:42 +01:00
|
|
|
pkgs.nodejs
|
|
|
|
pkgs.ninja
|
2023-01-07 14:58:57 +01:00
|
|
|
];
|
|
|
|
|
2023-06-19 15:56:32 +02:00
|
|
|
WHATCD_RESOLVER_TOOLS = pkgs.linkFarm "whatcd-resolver-tools" [
|
|
|
|
{
|
|
|
|
name = "pg_format";
|
|
|
|
path = "${pkgs.pgformatter}/bin/pg_format";
|
|
|
|
}
|
|
|
|
];
|
2023-01-07 14:58:57 +01:00
|
|
|
|
2024-02-11 17:31:42 +01:00
|
|
|
# DECLIB_MASTODON_ACCESS_TOKEN read from `pass` in .envrc.
|
|
|
|
|
2023-01-07 14:58:57 +01:00
|
|
|
RUSTC_WRAPPER =
|
|
|
|
let
|
|
|
|
wrapperArgFile = libs: pkgs.writeText "rustc-wrapper-args"
|
|
|
|
(pkgs.lib.concatStringsSep
|
|
|
|
"\n"
|
|
|
|
(pkgs.lib.concatLists
|
|
|
|
(map
|
|
|
|
(lib: [
|
|
|
|
"-L"
|
|
|
|
"${pkgs.lib.getLib lib}/lib"
|
|
|
|
])
|
|
|
|
libs)));
|
|
|
|
in
|
|
|
|
depot.nix.writeExecline "rustc-wrapper" { readNArgs = 1; } [
|
|
|
|
"$1"
|
|
|
|
"$@"
|
|
|
|
"@${wrapperArgFile [
|
|
|
|
depot.third_party.rust-crates.nom
|
|
|
|
]}"
|
|
|
|
];
|
|
|
|
}
|