packages feed

podenv-0.1.0: hub/Applications/nix.dhall

let Podenv = ../Podenv.dhall

let setup = ../Builders/nix.dhall

let -- | A pinned reference for the nixpkgs
    nixpkgs =
      "github:NixOS/nixpkgs/7954a245e70238e08078baef7ff6459a67e229c3"

let -- | Setup a Nix runtime with custom installables and nixpkgs packages.
    uses =
      \(qualifiedInstallables : List Text) ->
      \(pkgs : List Text) ->
        Podenv.Nix
          Podenv.Flakes::{
          , nixpkgs = Some nixpkgs
          , installables =
                qualifiedInstallables
              # (../Prelude.dhall).List.map
                  Text
                  Text
                  (\(pkgs : Text) -> "${nixpkgs}#${pkgs}")
                  pkgs
          }

let usesExample =
        assert
      :     uses [ "flakes/url" ] [ "bash" ]
        ===  Podenv.Nix
               Podenv.Flakes::{
               , nixpkgs = Some nixpkgs
               , installables = [ "flakes/url", "${nixpkgs}#bash" ]
               }

let -- | Setup a Nix runtime with nixpkgs packages
    use =
      uses ([] : List Text)

let -- | Setup a Nix runtime
    useInstallables =
      \(installables : List Text) -> Podenv.Nix Podenv.Flakes::{ installables }

let useExample =
        assert
      :     use [ "bash" ]
        ===  Podenv.Nix
               Podenv.Flakes::{
               , nixpkgs = Some nixpkgs
               , installables = [ "${nixpkgs}#bash" ]
               }

let default =
      Podenv.Application::{
      , description = Some "Run the nix command"
      , capabilities = Podenv.Capabilities::{
        , terminal = True
        , interactive = True
        , network = True
        }
      , runtime = use [ "nix" ]
      , command = [ "nix" ]
      }

in  { setup, use, uses, useInstallables, default }