►
Description
In this lecture Luc will talk to us about bringing Nix’s value to the messy world of deployment
Special thanks to the NLnet Foundation, the European Commission, the NixOS Foundation, and Tweag for making this event a reality!
The continued discussion for the lecture series is happening over here:
https://matrix.to/#/#son2022-lectures:matrix.org
More information about the Summer of Nix can be found on the website:
https://summer.nixos.org
A
Hello,
everyone
I
hope
I
am
my.
My
apologies
in
my
friends.
My
microphone
isn't
as
great
as
a
part
of
me
yesterday.
So
I
won't
take
up
much
more
of
your
time
than
needed
and
put
this
upon
your
ears.
So
you
know
why
I'm
here
I'm
here
to
thank
the
people
that
made
this
happen.
The
participants,
the
summer
of
Nyx,
is
slowly
literally
coming
to
a
complete
end.
So
thank
you
again
for
participating.
Thank
you
as
well.
B
Yeah,
hello,
I
hope
everybody
I
hope
everybody
can
hear
me
should
I
should
I
get
started
Brian.
Yes,.
B
Sounds
great
yeah,
so
hello,
everybody
Welcome
to
My
Summer
of
Nick's
talk
on
real
world
devops
with
NYX
my
name
like
Brian,
said
my
name
is
Luke
Perkins
I
work
at
a
small
Nick
space
company
called
determinate
systems
and
I'm,
currently
broadcasting
to
you
from
from
La
cuandesa
in
lovely
Mexico,
City
Mexico.
B
So
it's
a
little
bit
about
me.
I've
been
a
huge
fan
of
Nyx
for
about
five
years
now.
I
would
say
mostly
mostly
as
an
admirer
of
Nyx
from
afar,
but
it's
really
been
in
the
last
two
years
that
that
my
interest
has
grown
into
into
some
more
some
more
substantial
and
direct
engagement,
particularly
in
some
areas
that
that
interest
me
like,
like
developer
experience.
B
One
of
my
I'd
say
one
of
my
contributions
in
this
area
has
been
a
project
that
I
call
the
Nix
way,
which
is
a
set
of
of
Nick's
examples
and
some
other
resources
that
that
you're
free
to
check
out
on
GitHub
you'll,
see
I
have
some
some
Nick's
flake
templates,
some
some
Nick
stalker
examples,
and
also
the
the
code
for
this
specific
demo
can
be
found
under
that
that
organization
as
well.
B
One
more
thing
to
note
is
that
this
is
actually
my
first
ever
next
talk
and
it's
my
first
kind
of
devops
talk
in
quite
a
while,
hopefully
the
first
of
many
so
so
so
maybe
try
to
go.
Go
easy
on
me
in
the
comments
and
and
on
Twitter
I
would
say.
B
The
the
goals
of
this
talk
are
are
I
would
say,
are
very
modest,
so
I
I
really
just
want
to
get
you
thinking
about
how
you
can
potentially
bring
NYX
and
all
of
its
its
features
that
you
know
and
love
into
the
real
world.
So
that
is
into
real
teams
and
organizations
and
deployment
pipelines,
shipping
software
to
real
end
users.
B
I
would
say
that
the
tone
of
the
talk
will
be
mostly
suggestive,
obviously,
because
I
couldn't
conceivably
cover
all
of
nics
and
devops
in
30
minutes,
but
I
I
think
I
do
hope
to
point
you
towards
some
tools
and
approaches
and
practices
that
that
maybe
of
use
to
you,
when
you
take
your
amazing
Nick's
knowledge
that
you've
acquired
during
the
summer
of
mix
out
there
into
your
your
future
jobs
in
the
real
world.
B
Now,
before
I
start,
I
want
to
say
a
little
bit
about
the
devops
side
of
things.
So
I
would
say
that
that
Ops,
broadly
speaking
or
short,
for
operations,
is
concerned
with
what
I
call
the
problem
of
realization.
So
you
have
some
kind
of
software
artifact
like
a
web
service
or
something
like
that,
and
you
need
to
make
that
that
artifact
produce
real
value
for
end
users.
B
So
you
need
to
get
the
artifact
running
on
some
kind
of
infrastructure
and
you
need
to
ensure
that
it
runs
smoothly
over
time,
which
we
all
know,
as
developers
and
also
software
users
is,
is
absolutely
no
trivial
task
back
in
the
day
traditionally,
so
to
speak
in
in
the
Ops.
B
World
development
and
Ops
were
generally
treated
like
separate
concerns,
so
you
have
developers
creating
artifacts,
and
you
have
Ops
folks
trying
to
realize
value
and-
and
you
know
typically,
the
way
that
this
worked
is
that
you
would
is
that
is
that
operations
was
heavily
procedural.
So
you
would
write
these
deployment
and
management
scripts
to
perform
actions.
B
You
know
one
two
and
three
in
succession
to
bring
about
your
desired
State
and
and
the
approaches
the
the
older
approaches
were
also
very
ad
hoc,
where
you
would
configure
infrastructure
using
things
like
like
hard-coded
IP
addresses,
which
I
think
I
think
most
people
watching
this
talk
would
you
know
shudder
at
the
thought
of
of
having
such
such
hard-coded
things
inside
of
your
Ops
logic
in
more
recent
years,
though,
that
the
traditional
approach
is
given
way
to
to
more
declarative
approaches
where
you
can
describe
encode
what
you
want,
your
infrastructure
to
look
like
and
and
what
you
want,
your
infrastructure
to
do,
and
while,
at
the
same
time,
leaving
all
the
the
messy
details
about
how
that
state
comes
about
to
some
other
system
or
platform
that
can
intelligently
handle
the
declarative
logic.
B
You
you've
provided
kind
of
kind
of
a
lot
like
like
Nix
and
build
logic,
I
would
say,
and
I
I
think
the
reason
that
that
I
I,
that
this
talk
is
about
devops
and
not
Ops,
is
that
I
I
do
think
that
it's
that
nowadays,
it's
safe
to
say
that
the
industry
is
moving
pretty
firmly
in
the
direction
of
devops
and
and
as
we'll
see
because
devops
has
this.
This
kind
of
declarative
Focus,
like
NYX.
It
can
pair
really
really
nicely
with
Nix
and
produce
some
really
powerful
results.
B
Two
two
great
examples
of
of
declarative
devops
platforms,
both
of
which
I'll
use
in
my
demo
today
are
terraform
and
kubernetes,
so
so
terraform
I
I
suspect
these
are
probably
familiar
to
you
all.
But
I
do
want
to
give
a
brief
overview.
So
terraform
is
a
so-called
infrastructure
as
code
tool
that
enables
you
to
write
to
write,
manifests
in
a
language
called
called
HCL.
B
It
manifests
that
that
describe
the
infrastructure
that
you
want
to
build
now,
so
so
so,
just
like
in
Nix.
You
declare
the
state
of
things
that
you
want
and
then
terraform
itself
performs
the
the
kind
of
messy
Dirty
Work
of
managing
that
infrastructure,
so
creating
it
updating
it
deleting
it
and
so
on.
B
B
Another
system
that
falls
into
this
category
is
is
kubernetes,
which
is
also
quite
well
known,
quite
ubiquitous
these
days,
but
in
case
you're
not
familiar.
Kubernetes
is
a
container
orchestration
platform
that
uses
a
kind
of
similar
declarative
logic
as
terraform.
So
it
enables
you
to
describe
what
you
want
the
state
of
your
cluster
to
look
like
so
the
services
you
want
to
run
the
the
disk
volumes
you
want
to
make
available
and
so
on,
and
then
leaves
the
platform
itself
to
reconcile
the
current
state
of
things
with
your
desired
state.
B
Now,
after
a
summer's
worth
of
Nick's
talks,
Nick's,
maybe
doesn't
need
too
much
more
introduction,
but
I
do
want
to
talk
about
where
it
fits
in
here.
So
so
the
wonderful
thing
about
NYX
is
that
it
provides
us
with
this
little
zone
of
of
Purity
inside
inside
an
industry
that
I
mean,
let's
face
it
often
doesn't
value
Purity.
The
way
that
we
would
like
so
so
with
NYX,
we
get
things
like
like
fully.
Reproducible
builds
that
we
can
trust.
B
We
get
conflict,
Fleet,
sorry,
conflict-free,
resolution
of
dependency
trees
and
we
also
get
nice
things
like
Lean,
cruft,
free,
build,
artifacts
or
or
packages
and
Nick's
parlance,
and-
and
we
get
these,
we
get
these
advantages
because
we
can
Define
our
build
processes
with
whatever
degree
of
precision
we
feel
like
we
need
and,
as
we'll
see
these
fixtures,
these
features
of
Nyx
are
really
quite
valuable
when
it
comes
to
deploying
software
and
thereby
realizing
value
in
the
real
world.
B
So
before
I,
move
on
I
do
want
to
briefly
mention
two
devops
tools
that
are
based
on
on
Nick's
proper.
That
I
want
you
to
be
aware
of
so
one
of
them
is.
B
Is
Nix
Ops
and
the
other
one
is
deploy
RS
now
there
are
a
few
others
out
there
in
the
world
and
I
I
do
encourage
you
to
explore
so
so
both
of
these
tools,
next
Ops
and
deploy
RS
enable
you
to
use
NYX
to
create
declarative
deployments
on
NYX
OS
machines,
so
they
basically
give
you
the
power
of
Nix
not
just
on
on
the
system
configuration
side,
but
also
on
the
deployment
side,
which
I
think
can
can
be
quite
a
powerful
combination.
B
Now
now,
both
of
these
tools,
mix,
Ops
and
deploy
RS
are
are
super
interesting
and
I.
Do
encourage
you
to
check
them
out
on
your
own,
but
I'm
not
going
to
be
featuring
them
in
my
in
my
example
demo
today,
simply
because
I
I
wanted
to
focus
on
tools
that
that
aren't
NYX
based
but
do
have
much
broader
industry
adoption
and
that
I
think
you're
much
more
likely
to
to
encounter
out
there
in
the
real
world
so
without
further
Ado.
B
It's
it's
demo
time,
I've
put
something
together,
so
I've
I've
shared
the
the
link
there
to
the
to
the
repo
that
has
all
of
the
all
of
the
the
assets
necessary
for
the
demo.
So
you
know,
do
feel
free
to
navigate
and
have
a
look
and
I've
put
something
together
here.
That
I
think
is
it's
pretty
simple,
but
I
I
do
hope
that
it
proves
to
be
in
to
be
instructive
for
for
the
summer
of
Nick's
folks.
So
one
thing
I
do
need
to
say
in
advance.
B
B
So
first
of
all,
we've
already
had
some
really
really
great
NYX
OS
talks
this
this
summer
and
I
I
highly
encourage
you
to
check
those
out
in
case
you
haven't
like
really
really
some
phenomenal
stuff
and
second
because
I
I,
think
part
of
the
goal
of
this
talk
is
to
show
you
that
NYX
can
make
a
big
impact,
even
inside
of
organizations
that
haven't
fully
bought
into
using
Nick's
end
to
end
I.
Think
I
think
it's
still
in
in
the
current
state
of
things
in
Nicks.
B
It's
still
like
really
a
lot
to
ask
for
an
organization
or
or
a
team,
or
an
entire
company
to
to
adopt
NYX
OS,
but
but
nonetheless,
I
do
still
think
that
that
NYX
can
deliver
major
value,
even
in
conjunctions,
with
other
platforms
that
aren't
themselves
Nix,
based
as
we'll
see
with
with
terraform
and
kubernetes.
B
Like
I
said
on
the
infrastructure
side,
I
have
stood
up
a
kubernetes
cluster
on
on
digitalocean,
using
a
super
simple,
a
declarative,
terraform
configuration
it
just
it
all
fits
in
one
file.
Super
easy
I'm
not
actually
go
I'm,
not
actually
going
to
deploy
the
kubernetes
cluster
in
this
talk
today.
So
so
I
I
can
leave
that
as
an
exercise
for
the
reader
on
the
the
software
artifact
site.
So
remember
that
Ops
is
the
art
of
of
taking
an
artifact
and
and
realizing
value
in
the
world.
B
Our
software
artifact
is
going
to
be
a
simple
web
service
written
in
go.
Let
me
get
back
to
my
screen.
Really
quick.
Oh
there
we
go,
there's
a
a
simple
web
service
written
and
go,
and
it's
really
just
like
a
really
silly
to
do
app
with
like
one
endpoint.
That
just
does
one
thing
and
like
delivers
some
some
some
some
pre-coded
hard-coded
Json.
It's
really
nothing
interesting.
But
but
of
course
that's
okay,
because
we're
not
here
to
feature
go
we're
here
to
feature
Nicks
and
and
terraform
and
a
lot
of
other
cool
stuff.
B
So
what
we're
going
to
do
in
in
this
demo
is
we're
going
to
use
NYX
to
build
that
go
code
into
a
nice
lean,
Docker
container
that
will
then
Deploy
on
kubernetes,
but
but
because
it's
a
Docker,
because
it's
a
it's
an
oci
compliant
Docker
container.
We
could
theoretically
deploy
It
On
Any
number
of
of
other
container
orchestration
platforms.
B
Be
it
be
it
no
matter
something
else,
I'm
just
using
I'm
just
using
kubernetes
here,
because
because
it's
it's
so
widely
known
and
finally,
oh
and
finally,
the
actual
deployment
pipeline
itself
is
going
to
be
fully
automated.
So
it's,
basically
all
that
we're
going
to
need
to
do
is
run
git
push
and
CI
is
going
to
handle
the
rest.
B
So
so
we're
going
to
have
NYX
build
an
artifact
we're
going
to
have
a
nice
automated
pipeline
that
that
updates
it
in
kubernetes
and
it's
going
to
be
super
simple
and
you
know
quick
prayer
to
the
demo
Gods.
Let's
hope
that
it
goes
well
so
oops,
let's
not
jump
to
the
wrap
up
just
yet.
Let
me
come
back
and
I'm
going
to
switch
screens
really
quick
foreign.
B
Let's
go
to
okay.
There
we
go
so
hopefully
let
me
double
check
here.
Hopefully
you
all
can
see
that
okay,
I'm
gonna
make
sure
that
the
the
text
is
large
enough
I'm,
hoping
that
that's
okay
for
everybody,
okay,
so
let's
I'm
gonna
start
at
the
top
here,
so
I'm
going
to
start
with,
with
the
logic
that
I
used
to
actually
stand
up.
B
This
kubernetes
cluster
in
in
digitalocean,
which
is
a
very
nice
which
is
a
very
nice
set
of
cloud
services,
so
so
here
at
the
top
and
I'm
just
gonna
kind
of
Breeze
through
some
of
these
files.
I
do
certainly
encourage
you
to
to
to
dig
into
the
code
yourself
a
little
bit,
but
obviously
because
of
time
constraints.
I
I
can't
I.
B
Can't
go
through
too
exhaustively
okay,
so
we
start
with
with
declaring
our
our
providers
in
terraform,
like
providers
are
basically
like
plugins,
we
provide
some
some
configuration
to
these
plugins,
so
we
say:
hey
like
I
want
to
deploy
stuff
to
digitalocean.
B
I
also
want
to
stand
up
a
kubernetes
cluster
there,
based
on
you
know,
with
certain
with
certain
security
creds
like
a
like
an
access
token
and
a
cluster
CA
certificate.
Here
we
declare
some
some
variables
for
things
that
that
we
want
to
to
maybe
modify
or
change
inside
of
our
inside
of
our
infrastructure.
B
Here,
I
declare
a
the
specific
kubernetes
version
that
I
want
I,
just
kind
of
arbitrarily
chose
1.2.3
here
are
a
couple
of
outputs
that
we
can
get
from
from
terraform
if
we
need
to,
if
we
forget
like
what
our
cluster
is
called
and
a
couple
other
things
and
finally,
most
importantly,
we
have
this
this
resource,
and
this
is
kind
of
the
core
construct
in
terraform.
We
have
this
digitalocean
kubernetes
cluster,
so
so
we
give
it
a
name.
We
deploy
it
to
a
specific
region.
B
We
use
a
specific
kubernetes
version
and
then
we
have
this
node
pool,
which
is
kind
of
a
it's
like
a
sub
resource
that
defines
the
actual
machines
that
our
that
our
kubernetes
cluster
is
going
to
run
on.
So
we
have
a
certain
number
of
so
we
have
a
specific
type
of
worker
size,
and
then
we
also
have
a
specific
number
of
nodes
that
we
want
to
run
on
now.
If
we
wanted
to
to
deploy
this
on
our
own
today,
we
could
run
this.
B
Terraform
apply,
command
and
and
terraform
would
do
the
work
of
actually
of
actually
talking
with
digitalocean
setting
up
a
kubernetes
cluster
and
then
making
sure
that
that
cluster
is
configured
correctly
but,
as
I
said,
we're
not
going
to
cover
that
today,
it's
a
little
bit
outside
of
scope,
then
over
here
we
have
this.
This
really
nice
construct
in
in
terraform,
where
you
can
use
a
variable
file.
So
so
here
we'll
support
the
supply,
our
our
configuration
with
some
variables,
so
we're
going
to
call
our
cluster
just
real
world
devops
with
next.
B
We
could
call
that
anything,
we're
going
to
say
three
nodes,
we're
going
to
run
the
the
cluster
in
lovely,
New,
York,
City
and
our
worker
size
is
just
you
know,
pretty
standard.
You
know
2v
CPU,
two
gigabytes
of
RAM,
which
is
going
to
be
plenty
for
our
purposes
here
so
yeah.
B
So
so
this
terraform
logic
has
given
us
our
kubernetes
cluster
that
we're
going
to
use,
and
now,
let's
take
a
look
at
the
actual
service
that
we're
going
to
run
so
like
I,
said,
I
mean
the
service
is
really
really
really
super
simple,
I
I
wrote
it
in
Go
I
mean
I
could
have
written
it
in
just
about
any
just
about
any
language
I
like
go
because
because
you
can
really
easily
package
it
into
a
nice
static,
binary
and
get
a
nice
nice
lean
container.
B
So
so
here
we
have
this
this
to
do
type
where
each
to
do
has
an
ID
and
a
task
and
whether
or
not
the
idea
is
done
and
to
start
with
so
we're
going
to
say
that
actually
yeah
so
so
to
start
with.
No
sorry
forget
this
part:
I
messed
this
up
a
little
bit,
but
we
can
just
actually
I'm
going
to
do
some
copying
and
pasting
really
quick
and
call
a
brief
audible,
because
I
want
this
to
be
the
initial
state
of
our
of
our
web
service.
B
So
basically,
what
we
want
to
do
is
we
want
to
run
this
service
and
we
want
to
be
able
to
to
curl
this.
This
slash
to
Do's
endpoint,
and
it's
going
to
give
us
this
list
of
to-do's
which,
which
you
know
to
start
with,
is
just
going
to
have
this
one
thing
which
is
to
maybe
we
can
change
this.
You
know
Venture
forth
and
continue
exploring
nics
and
and
devops,
and
so
this
is
the
so.
B
This
is
the
the
service
that
we
want
to
deploy
super
simple
stuff
and
go
and
finally
oops.
Let's
click
save
and
now
because
this
is
a
summer
of
Nick's
talk.
Let's
have
a
look
at
some
actual
Nix
code,
so
I've
defined
everything
in
a
pretty
straightforward
flake.
So
I
I
have
a
couple
of
a
couple
inputs
next
packages,
of
course
flight
utils,
because
I
want
to
do
some
system.
B
Specific
stuff
and
I
use
this
nice
git
ignore
package,
which
just
enables
you
to
to
kind
of
ignore
to
kind
of
only
see
files
to
ensure
that
NYX
only
sees
files
that
that
are
are
visible
to
get
as
well.
B
Configuration
on
the
Nix
side
is
pretty
straightforward,
so
I
I
am
going
to
apply
just
just
one
next
package
as
overlay
that
specifies
that
that
I
want
to
use
Go
version.
19.
I
could
have
used
17
or
18.
That
would
have
been
fine,
but
of
course
I
like
to
be.
You
know,
declarative
about
these
things
and
you
might
as
well
declare
the
Go
version.
B
B
So
here
we
have.
We
finally
have
our
our
our
our
outputs
for
our
flake.
So
so
we
have
basically
two
packages
here,
so
so
this
for
the
the
first
package
right
here,
which
I'm
just
calling
to
Do's
I'm
using
the
super
standard
bill,
go
build,
go
module
function
from
NYX
packages,
you
know
super
straightforward,
stuff
and
Nick,
so
we're
just
going
to
call
it
to
Do's
we're
going
to
specify
the
current
directory
as
the
source
and
we're
going
to
build.
B
This
sub
package
called
command,
slash
to
Do's,
which,
which
you
see
over
here,
that's
where,
where
my
my
main
dot
go,
is
is
held
and
then,
as
per
usual
Nicks
when
you're
dealing
with
with
with
systems
of
vendor
dependencies
I'm
supplying
a
vendor
Shaw
as
well.
So
this
is
going
to
enable
us
to
to
use
NYX
to
to
build
a
nice,
go
executable
from
our
go
sources
now
this
is
where
it
gets.
B
It
gets
a
little
bit
more
interesting
from
a
devops
perspective,
we're
also
going
to
use
NYX
to
build
a
docker
container
here
now
now
this
is
kind
of
a
it's
definitely
not
a
hidden
feature
of
Nyx,
but
I
feel
like
it's.
It's
a
bit,
undersung
I,
think
I.
Think
a
lot
of
people,
even
people
who
are
interested
in
Nicks,
aren't,
aren't
fully
aware
that
you
can
use
next
to
build
Docker
containers,
but
I
mean
personally
I.
B
Think
it's
a
it's
a
wonderful
way
to
do
it
and
I
strongly
strongly
advise
that
you
all
do
this
so
so.
Basically,
what
we're
doing
here
is
we're
using
this
Docker
tools,
library
in
Nick's
packages
and
we're
using
this
function
called
build
layered
image.
B
So
what
what
build
so
there's,
also
a
build
image
function
that
just
that
I
think
the
difference
with
build
layered
image
is
that
it
strives
to
it
strives
to
to
compartmentalize
your
image
into
as
many
image
layers
as
it
conceivably
can,
which,
which
I
think
has
a
very
strong
benefit
that
when
you,
when
you're
able
to
slice
and
dice
the
image
up
into
smaller
pieces,
it
means
that
that
your
that
the
caching
story
on
the
docker
side
is
much
stronger.
B
So
it
and
I
think
that,
when
your
caching
story
is
better,
that
means
that,
when
you're
sending
images
over
the
wire
that
you're
sending
them
in
much
smaller
bits,
so
you're
sending
them
as
much
as
you
know.
You're
sending
smaller
tar
balls
across
the
wire
and
then
assembling
them,
which
tends
to
be
to
be
a
much
better
option
than
than
than
shipping.
You
know
big
bulky,
monolithic
images,
so
the
actual
logic
inside
the
function
is
is
again
it's
pretty
straightforward
next
stuff.
B
So
we
give
so
we
give
our
our
our
image
and
name
so
I'm,
just
calling
it
Loop
Perkins
to
Do's,
that's
my
Docker
Hub
account
and
here
in
the
config.
Now
this
is
where,
where
we
see
some
of
the
some
of
the
Nick's
magic,
it
works
so
for
our
our
the
command
that
you
run
when
you
Docker
run
the
container.
B
So
you
see
here
that
I'm
referring
to
to
this
package
right
here,
so
I'm,
saying
self.packages.system,
which
is
x8664
Linux
dot
to
do's,
and
we
say
slash
slash
bin
slash
to
Do's.
B
Now,
when
NYX
Encounters
this
string,
it
knows
that
it
needs
to
build
this
package
and,
of
course,
when
it
needs
to
build
this
package,
it
builds
the
entire
dependency
tree
as
well,
and
so
what
what
you
don't
see
here
is
we
don't
see
these
Docker
directives
like
add
and
copy,
and
and
all
this
stuff
we
just
use
plain
old
Nix
to
say
this
is
the
thing
that
I
want
to
run
inside
the
image
and
Nick
simply
knows
what
to
do
so.
B
So
we
specify
a
port
because
it's
a
it's
a
web
service
and
we
have.
We
also
use
this
Max
layers
setting
here,
because
so
Docker
has
a
limit
of
I
think
125
layers
in
an
image,
and
we
we
certainly
don't
want
to
don't
want
to
exceed
that
less.
We
we
run
a
foul
of
Dockers
limitations.
B
Okay,
so
that's
so
that's
the
next
logic
at
work
and
and
basically
this
is
going
to
enable
us
to
build
this
image
by
just
running
NYX,
build
dot
for
the
current
directory
hash
Docker
for
this
specific
package,
so
super
easy
time
is
beginning
to
to
run
a
bit
short,
so
I'm,
gonna,
I'm,
gonna
jump
really
quickly
to
to
the
kubernetes
definition
here.
So
basically,
what
we
want
to
do
with
our
web
service
in
kubernetes
is
we
want
to
run
it
as
what's
called
a
deployment.
B
So
so
what
a
deployment
is
in
kubernetes
is
basically
it
enables
you
to
run
identical
copies
of
a
specific
image
or
service
behind
one
single
load
balancer.
B
So,
basically,
you
know
if
you
want
to
treat
multiple
instances
of
a
service
as
as
one
as
one
you
know
unit
for
for
for
client
interactions,
then
you
typically
want
to
use
a
deployment,
so
here
I'm
not
going
to
go
into
too
much
detail
with
this,
but
but
you
see
that
that
we
have
this,
so
we
give
it
this
name
to
do
is
deployment.
B
We
specify
three
different
replicas,
because
we
want
to
run
three
separate
nodes
and
to
start
with,
when
we
first
run
this
deployment,
it's
going
to
run
this
this
this
kind
of
like
hello,
world
image
that
that's
just
kind
of
a
seed
image,
but
we're
going
to
update
that
in
our
pipeline.
So
let's
check
really
quick.
B
We're
going
to
use
Cube
CTL
get
nodes
and
we
see
that
come
on
now
there
we
go
so
we
see
that
we
have
three
nodes
in
our
cluster
as
we
specified
in
in
terraform,
but
and
and
we're
also
going
to
look
and
see
if
we
have
any
existing
deployments,
it
turns
out,
we
don't
so
we're
going
to
use
Cube
CTL
apply
to
to
run
this
deployment,
and
now
so
this
is,
you
know
the
the
nice
declarative
logic
of
kubernetes
at
work,
and
we
see
that
okay
cool,
so
we
have
this
to
do,
is
deployment,
and
now
we
we
can
connect
to
this
deployment
really
quickly.
B
So
I'm
going
to
run,
make
port
forward
and
we
can
go
over
here
and
we
kind
of
I'm
using
HD
Pi.
But
but
we
we
curl
the
service,
and
we
see
just
this
hello
world
thing.
We
don't
see
the
to-do
service
yet,
but
we
are
about
to
change
that
and
we're
going
to
look
at
the
CI
pipeline.
That
is
going
to
do
that
work.
B
So
here
I'm
going
to
pull
up
so
I'm,
just
using
GitHub
actions
for
CI,
because
I
I
know
it
well
we're
going
to
run
our
deploy
job
on
on
Ubuntu
latest.
So
that's
going
to
get
us
our
x86
64
Linux
machine
and
then,
as
per
usual
in
CI,
we're
going
to
run
git
checkout
to
get
our
code
we're
going
to
install
NYX
on
the
machine
and
with
with
flakes
automatically
enabled.
B
So
it's
going
to
be
able
to
use
our
flake.nix
logic
no
problem
and
then
what
we're
going
to
do
is
we're
going
to
actually
use
NYX
to
build
our
Docker
image.
So
we
run
this
command
Nix
build.
You
know
dot
for
the
for
the
current,
the
current
directory
hash
and
then
Docker
for
the
specific
Docker
package,
which
you
saw
I'll,
pull
that
up
once
again.
So
we're
just
building
this
package
right
here,
which
is
going
to
run
this.
This
lovely
little
function
and
get
us
a
nice.
B
A
nice
lean,
static,
binary
and
and
Nyx
as
per
usual
and
builds,
is
going
to
store
the
image
under
Slash
result
in
the
current
in
the
current
directory,
which
is
just
going
to
be
a
Sim
link
to
somewhere
in
the
next
store.
B
So
once
we
we
built
our
image,
we're
going
to
log
into
Docker,
using
some
Secrets
I
provided
in
CI,
and
then
we're
going
to
load
and
push
the
image
to
to
to
Docker
Hub.
So
so
what
we're
going
to
do
is
so
you
see
this
Docker
load
slash
result,
so
so
this
is
the
way
that
that
Docker
is
going
to
take
the
the
tarball
that
Nix
has
built
and
it's
going
to
load
it
into
itself
into
its
into
its
own
runtime,
and
then
we're
going
to
this.
B
This
image
tag
variable
is
important,
because
one
thing
I
didn't
specify
in
in
the
the
image
build
here
is
I.
Didn't
give
it
a
specific
tag
now
I
could
have
done
something
like
this.
You
know
V1
1.0.0,
something
like
this,
but
I
didn't
do
that.
Instead,
if
you
don't
do
that,
then
what
what
NYX
does
is
it
is
it
is.
B
It
gives
your
image
its
own
tag
based
on
the
content,
so
just
so
so
the
same
way
that
NYX
uses
content
hashes
for
for
package
addresses
it's
going
to
do
that
with
a
Docker
image
as
well.
So
it's
going
to
be
called
loot
Perkins
to
do
colon
some
long.
You
know
you
know
gobbledygook
sort
of
hash
and
so
then
we're
going
to
use
Docker
because
we're
logged
into
Docker
Hub
to
push
that
image
here
and
then
we're
going
to
we.
B
So
we
want
to
keep
this
image
tag
name
around,
so
so
we're
going
to
load
it
into
the
GitHub
environment.
So
this
is
kind
of
the
kind
of
the
way
that
in
GitHub
actions
that
you
persist
variables
across
jobs.
Okay,
so
at
this
point
the
image
should
be
in
Docker
Hub,
and
now
we
can
so
now
that
the
image
is
in
Docker
Hub
we
can
we
can.
We
can
update
our
our
kubernetes
deployment.
So
here
we
use
this.
B
B
So
this
is
going
to
be
luke
Perkins
to
Do's
colon,
some
long
hash
and
then,
finally,
once
that's
done,
we
need
to
run
one
more
command
and
it's
going
to
run
rollout
restart
and
it's
going
to
Target
our
deployment
and
then
once
this
is
done
and
finished,
then
it's
going
to
then
our
then
the
changes
should
be
accessible
from
from
any
HTTP
client.
Okay.
B
So
let's
do
that
really
quick
I
am
going
to
let's
see
I'm
just
going
to
push
this
to
GitHub
and
I'm,
going
to
say,
changes
to
deploy
and
I'm
going
to
push
and
I'm
going
to
come
over
here
and
switch
to
the
other
to
another
screen
really
fast.
So,
let's
go
to
not
here,
let's
see
percentage
review.
No!
B
Actually
let
me
do
one
thing
really,
quick,
so
I
have
this
so
I,
don't
think
I
have
this
open?
Okay!
One
second
here.
B
B
B
Oh
yeah,
okay,
here
we
go.
This
should
do
it
okay!
So
now,
let's
let
me
navigate
over
really
fast
and
we're
we're
going
to
look
at
the
actual
job
in
action.
So
we'll
pull
up
actions
here
and-
and
you
see
that
I've
pushed
I'm
going
to
expand
this
a
little
bit
and
you
see
that
I've
I've
pushed
this
changes
to
deploy,
commit
we're
going
to
have
a
look
at
the
pipeline
in
action.
B
So
we
see
that
that
that
the
actions
have
been
loaded,
get
checkout,
we've
installed
Nix,
so
now
NYX
is,
is
doing
its
thing
and
building
the
image.
So
this
should
take
I'm
going
to
say
30
to
45
seconds
actually.
B
I
know
I'm
kind
of
kind
of
butting
up
against
that
30
minute
constraint,
but
but
this
really
should
just
take
another
one
or
two
minutes
and
we
should
be
good
to
go
okay,
so
Docker
has
successfully
logged
in
to
to
Docker
Hub,
and
now
it's
going
to
push
this
image.
So
you
see
that
so
you
can
see
that
there
are
a
bunch
of
different
layers
to
this
image,
so
our
build
layered
image
function
has
done
its
thing,
and
now
we
see
that
the
cube
CTL
has
done
its
thing.
B
We
can
navigate
back
to
where
is
it
to
Visual
Studio
code
and
once
again
I'm
going
to
port
forward
to
to
my
kubernetes
cluster,
and
we
see
that
we're
connected
there
and
now
I
can
ping
this
this
to-do's
endpoint
and
there
you
see
I'm
going
to
expand
this
a
bit
and
there
you
see
that
we
get
this.
B
This
Json
object
that
we
that
we
expected
so
so
initially
the
container
was,
you
know
just
just
said
hello
world
when
you
ping
it,
and
now
we
were
able
to
just
with
a
simple
git
push
with
some
changes.
We
were
able
to
to
update
the
image
in
our
kubernetes
cluster
to
reflect
the
new
desired
reality
that
we
built
using
Nyx.
B
So
one
last
jump
of
screen
here
and
we'll
go
back
to
the
slides.
B
Okay,
so
let
me
make
sure
that's
right:
okay,
there
we
go
so
to
wrap
up
in
general.
I
I
think
that
this
demo,
although
it's
pretty
simple,
it,
does
provide
I,
think
a
decent
glimpse
into
one
way
of
potentially
using
Nyx
in
a
real
deployment,
Pipeline
and
and
thereby
bring
in
the
domains
of
nics
and
devops
into
into
a
really
fruitful
alignment.
So,
on
the
one
hand
we
use
NYX
to
build
to
build
these
nice
lean,
Docker
containers,
and
then
we
use
kubernetes
to
to
dramatically
simplify
our
deployment
pipeline.
B
So
so,
basically,
instead
of
having
to
spin
up
machines
and
write
scripts
to
get
our
service
running
and
updated
and
deleted,
and
so
on,
we
just
use
two
super
simple
Cube
CTL
commands
to
update
a
deployment
running
on
three
nodes.
So,
basically
what
we
get
is
we
get
the
power
of
Nyx
to
build
pure
and
dare
I,
say
perfect
software
artifacts,
and
then
we
also
get
the
power
of
declarative
infrastructure
to
put
those
artifacts
to
work,
and
that's
it.
Everyone
please
do
feel
free
to
get
in
touch
on
Twitter.
B
My
DMs
are
always
open,
I'm,
just
just
just
at
Luke.
Perkins
on
Twitter,
and
also
feel
free
to
follow
me
on
GitHub,
either
via
my
personal
account,
which
is
just
Luke,
Perkins
or
or
the
next
way
account
that
I
that
I
referred
to
before.
B
If
you
want
to
explore
all
kinds
of
fun,
Nixie
stuff,
thanks
a
Millions
everybody
to
the
organizers,
to
Summer
of
Nyx
to
to
Elko
dulstra
the
creator
of
Nyx
to
to
Graham,
and
my
colleagues
and
lots
and
lots
of
other
people,
I
hope
you've
all
had
a
wonderful
summer
of
Nyx
I
certainly
have
as
well
I
benefited
greatly
from
it
and
I
hope
you
have
as
well.
Thank
you
so
much.
Everybody.
A
Thank
you
very
much
like
that
was
extremely
interesting.
Let
me
see
I
will
remove
your
slides
from
the
screen.
Now
there
are
a
few
questions
that
came
in
actually,
so
we
will
start
with
those
and
I
will
also
pull
in
my
colleagues.
So.
A
We
go
hello
once
again,
I'm
sorry
for
the
microphone
quality.
On
my
end,
we
will
have
to
deal
with
it
for
today,
but
let's
get
into
the
questions
so
over
on
owncast
awesome
Rider
asks
how
many
boilerplate
does
next
reduce
in
this
workflow.
B
Yeah,
that's
a
great
question.
I
would
say
that
one
one
bit
of
boilerplate
is
that,
typically,
when
building
Docker
images
for
for
go,
I
would
split
that
up
into
into
what's
it
called
what's
a
multi-image.
What's
what's
that
called
multi-stage,
build
yeah
yeah
multi-stage
build
exactly
so.
B
In
that
case,
I
would
have
had
a
go
Builder
image,
so
I
would
have
started
with
you
know
from
go
like
whatever
version
built,
you
know,
I
would
probably
run
you
know,
go
builds
no
cigo
outputs,
you
know
name
of
executable
and
then
I
would
have
used
a
scratch
container
and
and
pulled
in
the
executable
from
the
previous
build
in
into
there
and
I
mean
that
approach.
B
You
know,
I
think
is
perfectly,
is
perfectly
fine
in
a
lot
of
cases
and
I
mean
if
I
go
actually
may
not
be.
The
best
may
not
be
the
best
example
of
of
of
of
reducing
Docker
boilerplate,
but
personally
I
I
mean
I,
just
really
like
that
Nick's
logic
and
and
I
love
the
way
that
NYX
is
able
to
infer
just
from
that
command
string.
B
Everything
that
needs
to
be
built
and
and
that
it's
able
to
to
look
at
with
just
a
string
in
hand
is
able
to
say
this
is
the
universe
that
I
need
to
create
from
scratch
and
for
me,
there's
a
certain
there's,
a
certain
certainty
and
dare
I,
say
Purity
in
that
that
I
I
enjoy
as
a
next
person.
A
Yeah
me
too,
a
next
question
would
be
about
sorry
guys,
I'm
switching
between
screens,
because
I
don't
have
my
fancy
setup
right
now.
It
was
something
about
the
flag.
Input
of
the
git
ignores.
B
Oh
yeah,
so
so.
A
Yeah
here
it
is
so
I
wonder
what
is
get
ignore
and
put
does
then
I
really
saw
it
somewhere
else
and
it
was
a
bit
confused.
It
was
by
Paul
hungry,
but
I
couldn't
see.
B
A
Original
question
so
owncast
has
failed
me
there,
but
it
was
something
about
like.
Why
is
the
get
ignore
file
or
they
can
ignore
flag
up
with
their
shooting
flakes
like
automatically
only
you
know
say
what
it
was
something
along
those
lines.
B
Yeah
I
think
for
me,
I
just
tend
to
use
it
as,
like.
B
You
know
in
that
particular
case,
the
likelihood
you
know,
because
I'm
using
Bill
gold
module
and
like
the
likelihood
that
I'm
gonna
pull
something
into
you
know
into
the
next
logic
that
that
should
be
rightfully
get
ignored,
is
basically
zero
and
again
Go
is
is
maybe
not
the
best
example
for
that,
but
I
think
in
cases
like
in
other
languages
like
like
JavaScript
and
some
others,
where
I
I
think
having
that
that
the
git
ignore
is
a
kind
of
guard,
you
know
making
sure
that
that
it,
it
just
kind
of
helps
you
to
to
ensure
you
know
to
keep
your
build
nice
and
clean
to
sort
of
sanitize
your
inputs
and
make
sure
that
not
that
no
funding
business
gets
in
there.
B
A
Okay
makes
sense,
and
then
there
was
another
question
over
on
own
cast
by
Nuno,
Nuno
weather.
Sorry.
Could
we
possibly
do
a
wave
of
terraform
and
vagrance
all
together
with
only
NYX
Ops
or
deploy
RS.
B
Yeah
yeah
I
think
so
I,
so
I
personally
haven't
used
those
tools,
a
lot
myself,
but
but
yes,
that
would
certainly
be
you
know.
I
I
think
that
if
I
had
a
longer
talk,
if
I
had
more
than
30
minutes,
I
would
and
and
if
I
were
targeting,
if
I
thought
that
that
my
audience
was
more
people
who
were
going
to
be
well
positioned
to
push
Knicks
through,
you
know
top
to
bottom
within
their
organization,
I,
probably,
would
have
probably
would
have
used
that
approach.
I.
B
Think
that
my
my
sort
of
core
assumption
is
that
is
that
the
summer
of
Nick's
folks,
that
you
all
are
probably
like
a
pretty
diverse,
Bunch,
you're,
probably
going
to
end
up
in
lots
of
different
orgs,
where
you're
using
you
know
where
you're,
using
mostly
tools
that
aren't
NYX
base
and
where
you
know
even
you
know,
even
convincing
your
your
your
product
manager
to
to
use
NYX
for
your
build
inside
of
your
inside
of
your
your
auth
service,
or
whatever
is
probably
going
to
be
a
pretty
tall
order.
B
I
I
think
that
I
think
that
that
particular
technique
that
choice
wasn't
the
technical
choice.
I
think
it
was
more
of
an
audience
choice
and
and
yeah.
Perhaps
next
year
we
can
have
a
summer
of
Nick's
talks.
That's
you
know
end
to
end.
Nick's,
devops
I
think
that
that
would
be
really
interesting
and
cool
and
and
and
yeah
I
hope,
I
hope.
Somebody
puts
that
on
the
agenda.
A
B
Yeah
I
think
that
an
important
thing
to
note
is
that
is
that,
because
you
can
build
oci,
compliant
images
with
with
NYX
you're,
not
necessarily
forced
to
use
Docker.
So
there
are
some
other
tools
like
like
podman
and
some
other
other
container.
You
know
platforms
and
runtimes
that
you
can
use
with
Nick.
So
you
know
you
know,
use
NYX
to
build
that
that
nice
clean
little
tarball
and
then
use
some
other
non-doctor
system
to
pick
it
up.
I
think
that
it's
it's
I
would
say.
B
It's
probably
unlikely,
though,
that
you're
ever
going
to
see
the
kinds
of
utilities
that
you
get
in
Docker
and
podman
and
other
in
others,
inside
of
Nix,
because
I
think
that
those
tools
maybe
do
more
work
than
than
we
realized.
So
something
like
Docker.
You
know
it
it
loads,
you
know
so,
for
example,
in
the
CI
pipeline.
B
It's
it
loads
the
image
into
itself
and
gives
it
a
name
and
tag,
and
all
that
stuff
and
packages
it
up
on
your
machine
somewhere
and
then
it
needs
to
it
needs
to
interact
with
the
container
registry
in
a
super
smart
way
to
make
sure
that
it
that
it,
you
know
properly
compresses
the
tar
balls-
and
you
know
like
handles
all
the
I
I,
don't
know
much
about
this
I'm,
just
rambling,
I'm,
basically
trying
to
say
that
I
think
that
there's
a
lot
of
stuff
that
those
tools
do
that
I
think
is
pretty
unlikely
to
be
rolled
into
Knicks.
B
Just
because
you
know
NYX
likes
to
keep
its
its
surface
area
and
its
Mission
very,
very
clean
and
clear
it.
It
has
its
world
view
and
its
own
way
of
doing
things
when
it
comes
to
how
things
are
moved
around
between
next
doors,
but
it's
I
I
mean
actually
now
that
I
think
about
it.
I
mean
it
is
an
interesting
question.
B
You
know
because
NYX
does
have
all
these
nice
utilities,
for
you
know
remote
builds
and
remote
caching,
and
it
has
all
these
you
know
all
this
great
stuff
for
for
moving
bits
around
and
I
think
the
question
of
could
Nix.
B
You
know,
could
there
be
like,
like
a
Nix,
compatible
container
registry
or
a
Nix
compatible
way
of
doing
kubernetes?
And
just
you
know
just
you
know,
Nick's
push
image
off
to
somewhere
else.
It's
certainly
it
it
doesn't
seem.
It
doesn't
seem
out
of
the
question
to
me.
B
A
B
Oh
gosh
I
mean
this
is
the
Eternal
question.
I
mean
it's.
It's
it's
almost
hard
to
address
because
because
you
really
had
to
go,
go
back
to
the
basics,
I
mean
I,
I,
I,
I,
I
hate
to
deflect,
but
on
on
the
nicks.dev
site,
there's
a
great
it
gives
this
list
of
like
Nick's
features
and
Nick's.
You
know
promises
that
I
have
personally
found
really
useful
when
it
comes
when
it
comes
time
to
try
to
to
try
to
talk
somebody
into
Nick.
B
So
you
know
I
usually
start
with
the
the
works
on
my
machine
problem
to
say:
hey,
you
know
we
want
to
create
environments
that
are
going
to
work
on
on
all
these
different
systems.
They're
going
to
work
in
CI
they're,
going
to
work
on
on
your
Mac
M1
they're,
going
to
work
on
a
corrupt,
the
old
Linux
box
somewhere
like
let's,
have
like
one
file.
B
That's
like
50
lines,
long
that
enables
that
to
happen,
I
think
that
tends
to
be
a
good
place
to
start
I
think
something
like
I
think
something
like
like
selling
the
the
Simplicity
of
yeah
I'm,
not
even
quite
sure
where
to
go
with
this
I
mean
I,
would
say
yeah
for
for
me
personally,
when
I'm
trying
to
sell
the
story
when
I
try
to
sell
this.
The
next
tour
I
usually
start
with
with
standardized
development
environments.
B
I
think
that
that
is
in
terms
of
in
terms
of
you
know
getting
that
funnel
from
here
to
here.
In
terms
of
of
opening
people
up
and
softening
people
up
to
the
next
world
view
and
the
next
way
of
doing
things.
B
That
tends
to
be
where
I
start,
but
I
would
say,
yeah
check
out,
nicks.dev
check
out
that
list
of
features
and
and
and
for
the
specifics
situation
you're
in
maybe
maybe
pick
two
or
three
of
those
and
spin
those
into
into
a
nice
into
a
nice
and
neat
little
narrative,
and
you
know,
maybe
give
a
little
talk.
You
can
a
little
internal
talk
with
your
team.
B
You
know
a
little
huddle
and
say
say:
hey
everybody
I
think
that
there's
a
qualitatively
better
way
to
do
things,
that's
going
to
save
us
time
and
money
and
that
is
going
to
prove
and
that's
going
to
yield
benefits
for
years
and
years
and
years
and
years.
I
think
that's
that's
what
I
would
do.
A
Make
sense,
thank
you,
Luke
the
genre
over
in
YouTube.
That's
the
wrong
one.
This
is
the
one
that
I
wanted
to
pull
up.
What
do
you
see
the
future
of
devops
to
be
in
five
years?
Do
you
think
something
like
next
will
be
a
big
influencer.
B
Man
yeah
not
a
lot
of
softball
questions
today.
That's
that's
real
I
mean
yeah.
That's
really
a
great
question.
I
mean
I
think
that
when
I
look
forward
five
years,
I
think
that
I
think
the
devops
landscape
is
is
going
to
be
maybe
quantitatively
different
in
the
sense
that
the
kinds
of
like
declarative
logic
and
approaches
that
I've
talked
about
today.
I
think
that
those
are
going
to
become
more
widespread,
but
I.
Don't
think
that
the
landscape
is
going
to
be
qualitatively
different.
B
I
think
that
we
have
broad-based
industry
buy-in
around
declarative
approaches.
I
mean
people
who
have
used
terraform
to
stand
up.
The
exact
set
of
you
know
complex
complex
web
of
AWS
services
that
they
want
like
the
first
time.
They
see
that
and
the
first
time
that
they
know
that
they
can
just
tear
it
down
with
a
single
terraform
command.
B
Once
people
are
given
access
to
that
power,
they
say
they're
like
there's,
no
way
that
we're
going
to
do
things
by
by
clicking
around
in
the
AWS
console
and
spinning
up
services
and
making
sure
they're
connected
together.
I
mean
I.
Think
that,
yes,
like
I,
said
I,
think
the
industry
buy-in
around.
That
is
huge.
B
There
are
our
pockets
of
resistance,
you
know
usually
just
based
on
you,
know,
money
and-
and
you
know
the
contingencies
of
given
situations,
and
maybe
companies
don't
want
to
make
that
investment,
but
I
think
that
what's
going
to
happen
is
that
is
that
the
pool
is
going
to
go,
is
going
to
grow
bigger
and
these
barriers
are
slowly
going
to
melt
down.
B
You
know,
particularly
just
as
as
new
organizations
come
into
the
world.
You
know
so
somebody
you
know,
building
a
startup
tomorrow,
I
mean
the
likelihood
that
they're
going
to
use
a
declarative.
You
know
devops
approach
to
things
to
to
build
their
infrastructure
from
the
ground
up
is
much.
B
Much
is
much
much
more
likely
than
it
was
four
or
five
years
ago,
and
so
I
think
that
there's
just
going
to
be
a
gradual
replacement
and
it's
going
to
be
a
quantitative
growth
of
the
the
qualitative
epic
that
we
already
live
in
I
would
say:
that's
my
big,
my
big
five-year
scheme
than
expectation.
A
Cool
actually
yeah
do
you
happen
to
have
some
questions
for
me
sure
yeah.
B
I
mean
one
thing:
I
was
curious
about
was
what
your
kind
of
plans
for
this
the
next
way
repo,
you
know
we
have.
We
have
many
documentations
guides
tutorials
all
across
the
next
space
and
I
was
wondering
what
you're
just
fishing
goals
for
that
or
yeah
yeah
I
mean
that's
a
great
question,
so
so
the
next
way,
I
I,
have
a
lot
of
different
a
lot
of
different
sub
projects
in
there,
some
of
them
some
of
them
I
kind
of
advertise
to
other
people
and
showed
other
people.
B
Some
of
them
are
more
personal,
but
really
I
mean
first
of
all,
I
have
to
say
that
my
goal
is
specifically
not
to
collide
or
or
interfere
with
other
resources
in
the
next
ecosystem.
I
mean
I.
You
know
currently,
I've
I've
been
in
some
of
the
documentation
meetings
of
the
documentation
working
group,
and
this
is
a
big
concern
that
that
we
don't
it's.
It's
really
difficult
to
tell
people
where
to
go
for
information
about
Nix
and
I.
Don't
want
to
compound
that
problem,
so
I
think
my
focus.
B
There
is
much
more
about
concrete
examples,
and
it's
much
more
about
you
know
providing
some
of
the
some
of
the
glue
and
some
of
the
you
know
some
of
the
like,
like
fill
in
the
gaps
kind
of
material
that
that
you
wouldn't
really
expect
in
the
documentation
per
se.
So
so,
for
example,
I
have
this
this
Dev
templates
project.
So
so
you
go.
B
You
know,
slash
the
next
Way
Slash
Dev,
Dash
templates,
and
what
that
is,
is
I
set
up,
something
like
20,
like
I,
think
20,
something
like
language,
specific
flicks.
B
So
so
you
want
like
a
Dev
environment
for
closure,
Dev,
environment
for
Elm,
Dev,
environment
for
rust
and
and
all
these
different
possibilities
and
just
showing
people
like
I
mean,
first
of
all,
hey
if
you're
a
user
of
one
of
those
languages
like
hey
check
this
out,
you
can,
you
know
basically
copy
and
place
paste
this
flake.nix
and
be
Off
to
the
Races
in
your
specific
language,
which,
to
me
is
something
that
is
is
not
doesn't
really
collide
with
the
documentation
and
I,
and
so
I
think
that
I
mean
I'm
big
on
examples,
I'm
a
philosophy
guy.
B
So
so
Kant
has
this
great.
This
great
quote
that
that
examples
of
the
go-kart
of
judgment
that
basically
in
in
refining
our
judgment
and
refining
the
way
that
we
see
the
world
that
that
having
examples
as
fodder,
as
you
know,
Grist
for
the
mill
of
the
understanding
is,
is
really
vital
to
cognition
and
I.
Think
that
that's
what
I'm
trying
to
do
much
more
than
some
planting
existing
sources
of
documentation.
A
Oh
he
he
got
back
there.
He
is
welcome
actually,
because.
B
B
A
Yeah,
okay
sign
me
up
next
philosophy:
I
like
the
idea
that
would
be
cool,
I
am
looking
I,
don't
see
much
more
questions
coming
in
unless
my
internet
is,
of
course
flaky
as
well,
which
is
very
probable.
So
if
I
did
not
read
your
question
or
didn't
see
your
question
other
than
please
type
it
again
and
I'll
try
to
ask
it
I'll
give
you
guys
about
like
two
more
minutes
for
that
yeah.
A
Otherwise,
I
will
be
wrapping
this
up
sooner
than
later,
look
are
you
already
part
of
The
Matrix.
B
I
am
yes,
I
I
shared
a
link
to
the
to
the
repo
I
believe
yesterday,
so
yeah,
so
I'm
I
will
make
sure
to
spend
the
rest
of
of
today.
It's
a
it's
about
noon.
It's
about
11
for
me,
I'll
spend
the
rest
of
today
in
the
chat
you
know
just
so.
People
have
follow-up
questions.
Would
love
love,
love,
love
to
keep
engaging
with
people
about
this,
this
stuff
that
we
all
care
about
so
much.
A
Okay,
so
then
I
will
for
the
people
that
I
didn't
see.
The
questioner
didn't
read
the
question
a
lot
I'm
terribly
sorry,
but
you
can
forward
that
question
over
the
Matrix
and
look
you
can
see
it
over
there,
but
I
will.
If
there's
no
further
questions.
I
will
be
wrapping
this
up
so
yeah.
Thank
you
very
much.
Look
for
the
amazing
talk.
I
really
enjoyed
it.
I
should
think
a
lot
of
people
that
are
in
the
devops
movement
also
very
much
enjoyed
it.
A
So,
let's
hope
that,
like
Graham
said
like
NYX,
is
becoming
mainstream.
That
it'll
also
become
very
much
mainstream
at
the
devops
world,
which
I'm
looking
forward
to.
B
I
certainly
hope
so
as
well
Brian.
Thank
you
so
much
for
your
your
wonderful
mediating,
commentating,
not
not
sure
what
to
call
it
emceeing
summer
of
Nyx
and
I
I
certainly
hope
to
see
you
all
in
the
future.
Yes,.
A
B
A
Making
sure
that
these
lectures
are
always
on
time
and
also
making
sure
that
I
get
a
get
to
do
these
things,
because
it's
very
much
fun
to
do
again.
I'm
sorry
for
the
for
the
microphone
quality
today,
but
it
is
what
it
is.
I'll
see
you
all
next
time
we're
working
on
yeah
for
yet
another
lecture,
probably
next
week
keep
an
eye
out
on
Discord
for
that
for
more
questions.
A
Of
course,
the
discourse
channel,
not
this
course
the
Matrix
Channel
look
will
be
in
there
as
well,
like
you
just
said,
so,
keep
an
eye
on
that.
If
you
have
any
questions
go
over
there
and
yeah
I
will
see
you
all
another
time.
Goodbye.