From 304ff227188973e4c367cd972b33690f5217518c Mon Sep 17 00:00:00 2001 From: Andrei Borzenkov Date: Mon, 21 Oct 2024 11:57:56 +0400 Subject: [PATCH] Create unfuck shell for people, who can't use default nix shell, that is installing packages --- flake.nix | 62 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/flake.nix b/flake.nix index 1441bb2d..b8f824b5 100644 --- a/flake.nix +++ b/flake.nix @@ -113,6 +113,36 @@ outputs = { self, nixpkgs, flake-utils, ... }@inputs: packagesDynamic = makePackages pkgs; packagesStatic = makePackages pkgs.pkgsStatic; + + makeShell = packages_: pkgs.haskellPackages.shellFor { + packages = _: packages_; + buildInputs = ( + with pkgs.haskellPackages; [ + ghc + ghcid + cabal-install + haskell-language-server + hoogle + # htags + text-icu + pkgs.icu72 + pkgs.openssl + weeder + ] + ++ + [ pkgs.pkg-config + pkgs.libsodium + pkgs.file + pkgs.zlib + inputs.hspup.packages.${pkgs.system}.default + ] + ); + + shellHook = '' + export GIT_HASH="${self.rev or self.dirtyRev or "dirty"}" + ''; + + }; in { legacyPackages = pkgs; overlays.default = defaultOverlay; @@ -134,35 +164,11 @@ outputs = { self, nixpkgs, flake-utils, ... }@inputs: }; - devShells.default = pkgs.haskellPackages.shellFor { - packages = _: []; - buildInputs = ( - with pkgs.haskellPackages; [ - ghc - ghcid - cabal-install - haskell-language-server - hoogle - # htags - text-icu - magic - pkgs.icu72 - pkgs.openssl - weeder - ] - ++ - [ pkgs.pkg-config - pkgs.libsodium - pkgs.file - pkgs.zlib - inputs.hspup.packages.${pkgs.system}.default - ] + devShells = { + default = makeShell ( + pkgs.lib.attrVals (packageNames ++ miscellaneous) pkgs.haskellPackages ); - - shellHook = '' - export GIT_HASH="${self.rev or self.dirtyRev or "dirty"}" - ''; - + unfuck = makeShell []; }; } );