4 ms·
Is it possible to use IHP without installing Nix? I already have brew as general package manager and ghcup/cabal as Haskell toolchain/library manager and dread
by tromp 5y ago
Is it possible to use IHP without installing Nix? I already have brew as general package manager and ghcup/cabal as Haskell toolchain/library manager and dread having yet another package manager that might interfere...
- _query 5y agoIt's not possible to use IHP without Nix. Using nix allows us to make fully reproducable dev environments as all versions (even e.g. the version of postgres used in dev mode) are pinned down. The IHP docs assume no knowledge about nix, so it should still mostly be very simple to get started. We compiled a couple more reasons why IHP uses nix in this blog post: https://ihp.digitallyinduced.com/blog/2020-07-22-why-ihp-is-using-nix.html https://ihp.digitallyinduced.com/blog/2020-07-22-why-ihp-is-... Btw: To give IHP a try without installing Nix you can also try out the official GitPod image here https://gitpod.io/#https://github.com/gitpod-io/template-ihp https://gitpod.io/#https://github.com/gitpod-io/template-ihp :)
- rgoulter 5y agoAlthough I see nix is required, it would be possible to run the ihp-new program with just nix installed, but without needing to change your PATH permanently. e.g. with a shell.nix file with contents: { pkgs ? import <nixpkgs> {} }: let ihp-new = pkgs.fetchzip { url = "https://downloads.digitallyinduced.com/ihp-new.tar.gz"; sha256 = "0prpw46iyrjwzglq38n4kfn68dv2piw6dn8464ra99yl1dml465m"; }; in pkgs.mkShell { packages = [pkgs.cachix ihp-new]; } Running nix-shell with this would download the ihp-new program, and you'd have access to it (and postgres, etc., when you run with a shell with direnv enabled), but outside of the nix-shell, your PATH and other things would be unaffected.
- _query 5y agoThe ihp-new command is only a shell script that does a few checks and then git clones the project boilerplate: https://github.com/digitallyinduced/ihp/blob/master/ProjectGenerator/bin/ihp-new https://github.com/digitallyinduced/ihp/blob/master/ProjectG... The actual IHP project has it's own nix-shell environment, so that all project dependencies are managed locally (https://github.com/digitallyinduced/ihp-boilerplate/blob/master/default.nix https://github.com/digitallyinduced/ihp-boilerplate/blob/mas...).
- iammisc 5y ago> dread having yet another package manager that might interfere... Nix won't and can't interfere with your system