diff options
Diffstat (limited to 'Biz')
-rw-r--r-- | Biz/Bild/Deps.nix | 1 | ||||
-rw-r--r-- | Biz/Bild/Rules.nix | 7 | ||||
-rw-r--r-- | Biz/Pie.hs | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/Biz/Bild/Deps.nix b/Biz/Bild/Deps.nix index dccbd81..a1e72ba 100644 --- a/Biz/Bild/Deps.nix +++ b/Biz/Bild/Deps.nix @@ -7,6 +7,7 @@ "bytestring" "capability" "clay" + "cmark" "config-ini" "containers" "directory" diff --git a/Biz/Bild/Rules.nix b/Biz/Bild/Rules.nix index 6afe9a0..9fea5df 100644 --- a/Biz/Bild/Rules.nix +++ b/Biz/Bild/Rules.nix @@ -36,6 +36,10 @@ let deps = lib.lists.flatten (removeNull (map (builtins.match "^-- : dep ([[:alnum:]._-]*)$") (lines content))); + + sysdeps = lib.lists.flatten (removeNull + (map (builtins.match "^-- : sys ([[:alum:]._-]*)$") + (lines content))); }; mkGhc = compiler: (deps: compiler (hp: @@ -56,7 +60,7 @@ in { in stdenv.mkDerivation { name = data.module; src = ../.; - nativeBuildInputs = [ ghc ]; + nativeBuildInputs = [ ghc ] ++ depsToPackageSet nixpkgs data.sysdeps; strictDeps = true; buildPhase = '' mkdir -p $out/bin @@ -111,6 +115,7 @@ in { "ghcjs-base" ]) + nixpkgs.cmark nixpkgs.figlet nixpkgs.hlint nixpkgs.lolcat @@ -97,7 +97,7 @@ loadForm :: Namespace -> IO Form loadForm ns = Directory.doesFileExist file >>= \case False -> touch file >> return mempty True -> Aeson.decodeFileStrict file >>= \case - Nothing -> panic $ Text.pack $ "could not decode: " ++ file + Nothing -> panic <| Text.pack <| "could not decode: " ++ file Just x -> return x where file = formFile ns @@ -123,7 +123,7 @@ move mov form = case mov of Exit.ExitFailure _ -> Process.callProcess "git" ["switch", "-c", branch] >> return form - Update -> Haskeline.runInputT Haskeline.defaultSettings $ do + Update -> Haskeline.runInputT Haskeline.defaultSettings <| do timestamp <- liftIO Clock.getCurrentTime onTrack <- parseBool </ question "Are you on track?" isLaunched <- parseBool </ question "Are you launched?" @@ -135,7 +135,7 @@ move mov form = case mov of biggestObstacle <- parseText </ question "What is your biggest obstacle?" goals <- parseText </ question "What are your top 1-3 goals for next week?" return <| form {roll = BuildSprint {..} : (roll form)} - Feedback -> Haskeline.runInputT Haskeline.defaultSettings $ do + Feedback -> Haskeline.runInputT Haskeline.defaultSettings <| do timestamp <- liftIO Clock.getCurrentTime user <- parseText </ question "User?" howDisappointed <- parseDisappointment </ question "How disappointed? (1=very, 2=somewhat, 3=not)" |