{ description = "A very basic flake"; inputs = { flake-utils = { url = "github:numtide/flake-utils"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachSystem ["x86_64-linux" "x86_64-darwin"] (system: let pkgs = nixpkgs.legacyPackages.${system}; hp = nixpkgs.legacyPackages.${system}.haskellPackages.override (old: { overrides = pkgs.lib.composeExtensions (old.overrides or (_: _: {})) (f: p: rec { image-backup = f.callPackage ./. {}; # Need to update amazonka... amazonka-core = f.callPackage nix/amazonka-core.nix {}; amazonka-s3 = f.callPackage nix/amazonka-s3.nix {}; amazonka-test = f.callPackage nix/amazonka-test.nix {}; amazonka = f.callPackage nix/amazonka.nix {}; amazonka-sso = f.callPackage nix/amazonka-sso.nix {}; amazonka-sts = f.callPackage nix/amazonka-sts.nix {}; }); }); in { devShell = hp.shellFor { packages = h: [h.image-backup]; withHoogle = true; # Enabling hoogle because of amazonka-2 buildInputs = with pkgs; [ cabal-install hp.hlint stylish-haskell ghcid sqlite-interactive hp.graphmod hp.haskell-language-server sops hp.eventlog2html dhall-lsp-server ]; }; } ); }