f13c5dddb5
Change-Id: I73286424ee07e22b156096bfb582b22daf05c819 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11661 Autosubmit: Profpatsch <mail@profpatsch.de> Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>
110 lines
2.3 KiB
Nix
110 lines
2.3 KiB
Nix
# 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
|
|
h.blaze-html
|
|
h.conduit-extra
|
|
h.error
|
|
h.monad-logger
|
|
h.pa-field-parser
|
|
h.pa-label
|
|
h.pa-json
|
|
h.pa-pretty
|
|
h.pa-run-command
|
|
h.ihp-hsx
|
|
h.PyF
|
|
h.foldl
|
|
h.unliftio
|
|
h.xml-conduit
|
|
h.wai
|
|
h.wai-extra
|
|
h.warp
|
|
h.profunctors
|
|
h.semigroupoids
|
|
h.validation-selective
|
|
h.free
|
|
h.cryptonite-conduit
|
|
h.sqlite-simple
|
|
h.hedgehog
|
|
h.http-conduit
|
|
h.http-conduit
|
|
h.wai-conduit
|
|
h.nonempty-containers
|
|
h.deriving-compat
|
|
h.unix
|
|
h.tagsoup
|
|
h.attoparsec
|
|
# h.iCalendar
|
|
h.case-insensitive
|
|
h.hscolour
|
|
h.nicify-lib
|
|
h.hspec
|
|
h.hspec-expectations-pretty-diff
|
|
h.tmp-postgres
|
|
h.postgresql-simple
|
|
h.resource-pool
|
|
h.xmonad-contrib
|
|
h.hs-opentelemetry-sdk
|
|
h.punycode
|
|
]))
|
|
|
|
pkgs.rustup
|
|
pkgs.pkg-config
|
|
pkgs.fuse
|
|
pkgs.postgresql_14
|
|
pkgs.nodejs
|
|
pkgs.ninja
|
|
pkgs.s6
|
|
pkgs.caddy
|
|
|
|
(depot.nix.binify {
|
|
name = "nix-run";
|
|
exe = depot.users.Profpatsch.nix-tools.nix-run;
|
|
})
|
|
];
|
|
|
|
DEPOT_ROOT = toString ./../..;
|
|
PROFPATSCH_ROOT = toString ./.;
|
|
|
|
WHATCD_RESOLVER_TOOLS = pkgs.linkFarm "whatcd-resolver-tools" [
|
|
{
|
|
name = "pg_format";
|
|
path = "${pkgs.pgformatter}/bin/pg_format";
|
|
}
|
|
];
|
|
|
|
# DECLIB_MASTODON_ACCESS_TOKEN read from `pass` in .envrc.
|
|
|
|
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
|
|
]}"
|
|
];
|
|
|
|
}
|