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 }