►
Description
In this lecture, we time travel with Armijn to the early days of NixOS, and see what it looked like back then. When we come back to present days, Armijn will tell us what he thinks the future of NixOS holds.
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
you
can
hear
me
and
I
think
you
can
hear
me.
Yes,
there
we
go
so
welcome
everyone
to
the
second
lecture.
The
first
lecture
went
great
if,
if
I
do
say
so
myself,
I
have
a
little
bit
of
housekeeping
to
do
for
this
lecture.
Nothing
negative
or
anything
like
that.
Just
some
housekeeping
and
housekeeping
is
that
this
lecture
was
pre-recorded.
It
was
pre-recorded
because
our
main
couldn't
really
make
the
timestamp
and
that's
fine,
so
we
pre-recorded
it
or
mainstay
going
to
speak.
A
That
does,
however,
mean
that
the
questions
will
be
forwarded
over
to
somewhere
else
in
this
case
matrix.
So
for
the
continued
discussion
after
or
even
during
the
live
stream.
Please
go
over
to
matrix,
open
this
channel
and
ask
your
questions
there.
We
will
try
for
the
questions
that
comment
on
youtube,
linkedin
and
the
owncast
instance,
and
even
twitter
to
also
put
them
in
the
matrix
channel.
But
if
you
have
some
questions
that
you
want
our
main
to
answer,
then
please
post
them
in
the
matrix
channel.
B
So,
okay,
good
afternoon
my
name
is
armaine.
I'm
going
to
talk
a
little
bit
about
the
history
of
nixon's,
so
I
I
want
to
say
that
one
thing
is
that
maybe
this
is
not
the
real
history
of
nixos,
but
at
least
it's
how
I
remember
it
from
gosh
almost
20
years
ago,
if
you
haven't
seen
ilgo's
talk
from
last
week.
Yet
I
encourage
you
to
do
that
first,
because
he
will
explain
it.
He
will
have
explained
a
few
things
that
I
might
be
referencing.
B
So
a
little
bit
about
me.
First,
I
started
computer
science
at
utah
university,
where
I
met
elko
and
a
few
other
people
where
I
worked
on
xos
as
my
master
thesis
project
after
I
that
I
drifted
away
to
do
other
things
mostly
related
to
things
like
system
administration.
B
I
actually
was
a
board
member
of
the
dutch
unix
users
group
for
four
years,
and
then
I
pivoted
to
mostly
legal
and
licensing.
So,
for
example,
I
was
on
the
core
team
of
gpo
violations.org,
a
organization
going
after
companies
that
didn't
adhere
to
the
gpo
license
terms
and
currently,
since
2011
I
have
my
own
consultancy,
focusing
on
things
like
open
source,
license
compliance,
software,
provenance
and
so
on.
So
I
help
companies,
mostly
in
industrial
automation
and
automotive,
to
actually
become
a
licensed
compliance
to
make
sure
that
they
have
correct
processes.
B
I've
done
quite
a
bit
of
work,
fighting
copyright
trolls
in
court
as
well,
mostly
in
germany,
and
I
help
companies
to
come
into
compliance
and
to
make
sure
that
they,
whenever
they
encounter
someone
doing
enforcement,
or
they
encounter
a
troll
that
at
least
that
is
at
least
on
the
technical
part.
It's
all
covered.
B
I
think
I
do
things
like
audits
and
I
also
sometimes
double
a
little
bit
in
open
source
and
patents
and
where
they
intersect,
so
quite
a
bit
different.
But
there's
one
thing:
that
is
something
that
I
carried
over
from
nexos
and
that
is
software
provenance,
which
I
will
reference
later
on
a
few
times
as
well.
So
keep
that
in
mind
software
provenance,
so
my
journey
with
open
source
started
sometime
in
1994.
B
C
B
Windows
95
was
released
in
1996.
I
started
studying
at
utah
university,
where
I
met
elko
for
the
first
time,
so
I've
known
him
for
26
years
already
time
flies
so
at
university.
Then
I
added
hp,
ux
and
iris
to
the
list
of
oss
that
I'd
used
and
then
solaris
a
year
later
so
back,
then
it
was
still
very
much
a
unix
stronghold.
They
changed
a
little
bit
later
so.
C
B
So
while
I
was
there,
I
were
some
other
friends
at
the
physics
department
who
were
very
deep
into
debian.
So,
and
I
was
discussing
things
with
them
like
okay,
so
you
know
how
should
I
do
xyz
and
their
answer
would
always
be?
Oh,
you
just
run
apt-get
install
or
they
would
just
scream
at
me
up,
get
install
and
that
really
pissed
me
off
quite
a
bit
because
it
was
not
a
useful
answer
for
me.
It
irritated
me
and
then
it
turned
me
away
from
debbie
and
very
very
early
on.
It's
like
okay.
B
Well,
if
this
is
the
attitude
of
daddy
and
then
I'm
not
interested
in
debian,
so
through
a
friend
a
few
years
later,
I
got
involved
in
a
fairly
unknown
linux.
Distribution
called
rock
linux,
so
that
is
no
longer
existent.
It's
it's
basically
has
been
dead
for
well
over
15
years,
not
seeing
any
development
at
all
and
because
they
peaked,
I
think
in
2000
2001
or
so.
B
I
mostly
got
involved
in
working
a
little
bit
on
the
ultra
spark
port,
and
this
distribution
was
very
much
a
built
from
source
distribution,
very
much
influenced
by
free
bsd
ports,
but
then
not
like
free
bsd
ports
and
it
basically
had
the
same
quite
a
bit
of
the
same
attitude
as
gen
2.
So
you
do
build
from
source.
You
have
recipes
all
that
and
then
at
least
after
that,
when
you're
doing
a
build,
you
see
lots
of
stuff
just
scrolling
on
your
screen
and
then
at
the
end.
After
that,
you
actually
have
a
package.
B
So
the
the
project
was
interesting,
but
it
wasn't
very
successful
and
I
think
that
most
of
the
developers
just
switched
to
gen
2
after
a
while,
because
as
soon
as
gen
2
picked
up
st
of
steam,
it
just
turned
out
to
be
a
better
solution,
so
they
just
all
went
to
went
to
gen
2,
except
for
me.
I
ended
up
installing
red
hat
linux
and
then
later
fedora
gore
and
actually
I've
been
on
fedora.
Ever
since
so,
and
don't
tell
the
other
nixos
people
around
2002.
B
I
took
over
the
management
of
a
student
lab
at
the
university.
Actually
it
was
mismanaged.
Then
it's
actually
funny
story.
The
the
lab
itself
had
been
funded
by
microsoft
and
through
a
assistant
professor
and
the
people
who
were
working
there,
they
basically
they
they
were
doing
everything
wasn't
windows.
B
B
I
don't
want
to
say
pirate
thing,
but
there
were
plenty
of
torrents
there
and
it
was
explicitly
outside
of
the
university
firewall
because
they
they
wanted
to.
They
wanted
that,
but
it
just
was
just
full
of
crap.
B
So
I
got
very
interested
in
portability
because
of
the
other
oasis
that
I'd
use
like
free
bsd
and
the
other
architectures
like
that.
I
use
like
mips
and
ultra
spark
and
then
one
day
a
big
pile
of
all
pcs
became
available.
B
So
we
decided
to
just
you
know:
build
a
build
farm
play
around
a
little
bit
with
build
farm
software,
see
if
we
can
do
a
ci
cd
do
continuous
builds
of
of
various
programs
that
the
department
was
building.
So
our
test
case
was
the
stratego
stratego
xt
program,
transformation
tool,
but-
and
so
we
actually
had
quite
a
few
different
build
farms,
because
we
also
wanted
to
verify
like
what
is
a
good
piece
of
build
farm
software.
So
we
had
a
few
things
running
on
mozilla
tinderbox.
B
We
had
the
samba
build
farm.
We,
as
had
some
the
build
form
software
created
at
the
university
in
amsterdam
and
so
on.
That
was
a
quite
interesting
experience,
so
we
back,
then
pcs
were
a
little
bit
bigger
and
they
were
not
very
powerful,
so
we
had
a
lot
a
whole
pile
and
basically
it
was
two
tables
full
of
computers
and
a
very
big
switch
and
lots
of
cables,
and
we
actually
had
quite
a
few
things
installed
on
like
three
bsd
in
that
bsd
open
b
is
the
various
flavors
of
linux
and
so
on.
B
So
what
we
found
is
that
the
build
farm
software
was
optimal
at
best,
so
builds
would
sometimes
fail
after
updating
the
underlying
system,
and
it
would
be
very
hard
to
reproduce
and
debug.
So,
basically
was
it
don't
touch
or
it
will
break
so.
One
example
is
that
we
had
one
machine
in
the
semba
build
form
that
we
had
was
running
open,
bsd
and
I
had
updated
the
base
system
and
then
all
of
a
sudden
the
build
started
failing.
B
So
I
looked
into
it
with
the
samba
developer
and
he
said
well,
we
haven't
actually
changed
the
software
that
that
is
failing.
So
it
turned
out
that
there
was
a
bug
and
we
caught
it,
but
it
was
very
hard
to
see
from
just
from
the
build
from
blocks
because
it
wasn't
the
underlying
system
and
while
the
build
farm
itself
was
fixed
like
it
would
build
a
certain
revision,
it
didn't
make
any
assumptions
about
the
underlying
system,
so
you
could
basically
swap
out
the
entire
system
underneath
put
in
something
else.
B
B
B
It
was
a
I'm
not
sure
if
people
actually
understood
back
then
what
I
was
talking
about
or
the
impact,
but
it
was
still
a
very
useful
learning
experience
for
us.
B
So
by
that
time,
ilco
had
started
working
on
nyx
around
this
point
in
2003
and
one
of
the
first
cases
was
doing
release
management
for
stratego
xt.
So
this
is
ilco,
giving
a
talk
at
the
stratego
user
days
in
2004,
it's
a
little
bit
blurry,
but
it
really
says
release
management
for
stratego
with
nix.
So
that
was
basically
the
major
use
case
back
then
so.
B
B
So
a
little-known
fact
is
that
the
brahmoliner
of
them
thane
actually
was
working
on
something
along
the
lines
of
nyx
but
then
different,
something
called
app,
which
was
funded
by
an
almatt
foundation
and
ilko
and
boom
actually
spent
an
afternoon
discussing
their
respective
systems.
I
don't
think
that
whatever
bomb
said
influenced
nix
in
any
way,
but
at
least
it
was
fun,
this
the
little
historical
site
bit
that
so
so
a
little
historical
fact
that
two
people
were
very
well
known
in
their
respective
communities
met
to
talk
about
something
like
this.
B
B
So
my
goal
was
to
go
all
the
way
and
to
have
something
that
I
could
actually
install
onto
real
hardware
like
a
cd,
because
that's
what
we
did
back
then,
but
then
install
cds
and
we
didn't
know
if
it
would
be
possible.
So
can
we
actually
scale
nex
to
a
complete
linux
distribution?
Of
course
we
know
the
answer
right
now
and
that's
yes,
it
works
very
well,
but
we
didn't
know
back
then
so
in
2004.
I
took
this
next,
u
and
expanded
on
it,
and
you
can
still
see
this
in
the
indicates
block.
B
If
you
just
go
away
to
the
to
the
earliest
commits
and
search
for
my
name,
you
will
actually
see
some
of
the
of
the
commits
that
I
did
back
then,
and
because
I
am
stubborn,
I
used
fedora
core
as
a
base,
while
ilco
used
souza,
and
the
thing
is
that,
even
though
they
were
all
doing
linux
standard
base
and
they
were
implementing
the
linux
standards
base,
they
were
so
different
that
the
stuff
that
he
would
build
on
suicide
didn't
work
on
my
fedora.
B
So
this
is
why
the
whole
standard
environment
with
statically
compiled
tools
was
introduced,
and
that
was
like
okay.
Well,
there
are
significant
differences
between
the
linux
distributions,
so
we
cannot
have.
Reproducible
builds
if
we're
building
on
a
on
two
different
distributions
that
are
supposed
to
be
compatible
because
of
the
linux
standards
base.
So
my
main
contribution
to
this
was
just
moaning
a
lot
to
ilco,
so
he
would
fix
things
which
is
actually
a
very
good
strategy.
B
At
least
back
then,
was
a
very
good
strategy
just
to
make
sure
that
that
you
complained
long
enough
to
make
ilco
understand
things
and
then
he
would
fix
them
eventually.
So
he
did
most
of
that
work
later
on.
I
added
quite
a
few
of
the
tools
of
the
the
basic
tools
that
you
need
to
get
a
linux
distribution
started,
so
as
some
of
the
notes
that
I'm
still
not
sure
if
you
can
actually
read
them,
but
this
is
something
that
ilko
made
back
then
on
his
whiteboard,
which
is
completely
unreadable.
B
So
after
adding
enough
of
the
essential
linux
tools
to
next
os,
we
actually
installed
it
in
a
fairly
rudimentary
way.
So
there
was
a
a
shell
script
that
would
just
basically
just
copy
packages
from
the
cd
to
disk,
and
then
we
can
boot
it
in
a
very,
very
rudimentary
way
and
we
got
a
few
packages
to
run
and
so
on.
D
B
C
B
B
B
B
So
some
of
more
work
that
I
did
on
nexus
were
installation
cds.
I'm
should
still
go
through
my
pile
of
old
cds.
If
I
actually
can
find
one
which
still
has
nexus-
I
don't
think
so,
but
who
knows
maybe
and
also
a
few
first
attempts
at
cross
compilation,
because
I
had
some
other
machines
with.
I
think
that
mips
or
spark
still-
and
I
just
wanted
to
have
some
packages
that
were
cross-compiled-
that
I
could
then
install
on
the
other
architectures.
B
What
I
found
out
is
that
bootstrapping
gcc
was
then
impossibly
hard
and
there
were
a
few
things
with
the
with
paths
and
magic,
and
it
was
just
mind-boggling
so
the
first
stage
gcc
that
wasn't
that
wasn't
difficult
at
all.
But
then,
if
you
wanted
to
do
anything
else,
like
do
c
plus
plus
it
was
just
impossible.
B
I
believe
that
has
been
fixed
now
and
now
you
actually
can
do
a
proper
cross
compilation,
but
back
then
nope.
So,
after
that
I
moved
away
from
nyx
os,
I
kept
contributing
to
a
few
packages
for
a
while
I've.
In
the
last
few
years,
I've
added
a
few
more
packages
and
been
active
in
the
buck
tracker
a
little
bit
more
as
well,
but
very
little
of
my
work
has
survived.
B
So
when
nexos
was
released,
it
was
a
bit
of
a
curiosity.
I
I
do
remember
that
that
at
one
point
a
nixos
version
was
released
and
it
was
done
april.
The
first
and
I
think
that
people
saw
it
actually
as
an
april
fool's
joke,
because
it
was
like
the
purely
functional
links
distribution
people
were
like.
Is
this
a
joke?
I
mean.
Why
would
you
want
to
do
that
and
of
course
it
wasn't
a
joke,
and
what
I've
seen
is
that
the
world
has
changed
quite
a
bit
since
then,
and
more
people
have
seen
the
light.
B
So
now
you
see
things
like
reducible
builds
getting
a
lot
more
attention.
Other
distributions
are
moving
to
things
like
snaps
or
flat
packs,
where
they
put
all
of
the
necessary
dependencies
into
basically
one
one
package.
Of
course
you
have
docker
containers
and
so
on,
and
what
I'm
also
seeing
is
that
there
is
a
lot
more
emphasis
on
providence,
so
this
is
becoming
quite
important
in
things
like
cyber
security,
license
compliance
and,
of
course,
with
nyx.
B
So
I
think
that
we
were
right
now
we
just
have
to
convince
people
to
switch
to
mix
os
and
that's
going
to
be
a
bit
of
a
challenge.
So
then,
looking
forward,
where
can
we
go
from
here?
So
nixos
is
very
powerful,
but
there
are
a
few
areas
where
I
think
nicks
and
xos
could
flourish
really
well,
because
providence
tracking
is
a
lot
easier
with
nixa
or
nixos.
So
what
I
personally
would
love
to
see
is
nixos
as
a
viable
replacement
for
something
like
yocto
project
or
open
wrt.
B
So
I
can
build
embedded
systems
or
firmware
for
embedded
systems
with
nyx
or
nixos.
I
think
that
mix
os
and
scada
system,
so
you
know
the
industrial
things
that
you're,
like
factories,
bridges,
power
plants,
you
name
it
that,
if
that
having
something
like
nixos
is,
would
be
perfect,
because
then
you
can
see
something
like
okay.
Well,
you
know.
I
really
I
need
to
know
what
goes
into
my
nuclear
power
plant.
B
Other
critical
infrastructure,
core
routers,
telco
systems,
and
so
on
is
something
that
I
think
nixos
would
be
a
perfect
match
for
things
like
real-time
operating
systems.
Zephyr
is
getting
quite
a
bit
of
traction.
I
want
to
be
able
to
build
programs
for
zephyr
and
firmware
for
zephyr
with
nyx
and
xos,
and
I
think
that,
although
this
would
be
a
bit
of
a
stretch,
but
if
you
could
build
an
entire
android
distribution,
not
just
the
packages
but
the
entire
android
distribution,
including
the
base
packages,
without
having
to
to
rely
on
google's
pre-built
tools.
B
C
A
Well,
I
did
have
one
question
that
I
noted
down
during
your
talk.
Is
you
talked
a
little
bit
about
how
nexus
can
or
nix,
or
you
know,
nixon
next
was,
by
extension,
can
help
with
the
licensing
story
of
software.
How
do
you
see
this
as
like
automatic
scanning
then
or.
B
Well,
no,
the
the
core
part-
and
this
is-
is
that
this
is
also
for
for
security.
B
As
long
as
you
know
exactly
what
is
going
into
your
your
build
and
then
you
can
basically
look
at
any
meta
information
like
security
information
or
license
licensing
information
and
basically
decorate
your
builds
process
with
that,
like
okay,
we
know
we
have
a
we're
having
a
build,
we
know
exactly
what's
going
in
there
now
look,
let's
do
a
license
scan
and
then
we
know
which
software
with
which
licenses
is
actually
going
into
the
build
process,
and
that
makes
it
easier
for
licensed
compliance.
B
B
B
C
A
Now
you
you
already
talked
about
you
were
there
when
it
all
started
right
when
next
was
was
still
in
its
early
days,
when
nix
was
still
in
its
early
days,
and
it's
grown
quite
a
bit
since
then,
where
do
you
see
it
heading?
You
talked
a
little
bit
about
like
the
technical
aspect
of
what
knicks
could
do
with
like
building
an
entire
android
system
from
nyx,
but
more
focused
on
the
community
side
of
things.
Do
you
think
the
community
can
also
still
grow
exponentially
so
to
speak?.
B
B
I
don't
know
so.
No,
I
don't
know
where
it
will
go.
B
I'm
I
I'm
pretty
confident
that
they're
that
a
different
kind
of
people
will
be
coming
into
the
community,
who
are
more
probably
more
process
oriented
instead
of
the
instead
of
coming.
So
what
I
notice
is
that
quite
a
few
people
are
coming
from
a
certain
background
like
functional
programming,
but
I
I
think
that
at
some
point
other
people
will
be
coming
in
who
are
saying.
B
B
D
Speaking
about
this,
I
have
a
follow-up
question
when
you
work
on,
as
I
understood,
figuring
out
what
goes
into
the
firmware
of
some
device,
maybe
or
something
like
this-
to
to
discover
any
licensing
issues
or
security
issues.
For
example,
are
you
a
lonely
person
using
knicks
for
these
kind
of
things,
or
is
there
already
a
bigger
community
building
up?
Who
think
that
this
is
useful
tool.
B
I'm
actually
not
using
nyx
for
that.
I'm
usually
telling
my
clients,
like
you,
could
look
into
next
to
actually
prevent
this
stuff
from
happening
in
the
future,
but
usually
when
I,
when
I'm,
it
depends
a
little
bit
on
the
situation.
So
if
I'm
called
in
a
troll
case,
then
it's
usually
very
high
pressure
like
okay.
B
We
need
to
know
what's
in
our
device
right
now
and
how
exposed
we
are
and
for
that
I'm
using
firmware
analysis
tools
like
bang,
so
the
binary
analysis
next
generation,
that's
the
stuff
that
I
use
for
that
after
I
find
found
out
what
actually
is
inside,
which
usually
doesn't
take
that
long.
B
Then
it's
just
the
endless
process
of
working
with
the
company
to
actually
fix
it,
and
that
happens
inside
their
current
build
system
because
they're
they
usually
you
cannot.
If
you
have
a
deadline
to
respond
within
two
three
weeks,
they
cannot
just
completely
rebuild
an
entire
product
so
that
that's
usually
just
like
okay.
Well,
there's
something
right.
Now,
it's
very
stressful.
We
have
to
fix
it
right
now
and
so
then
there's
not
a
lot
of
time
to
talk
about
nyx
or
use
nyx.
For
that.
D
Right
so
I
guess
there's
a
this
whole
question
of
how
a
whole
infrastructure
can
be
moved
to
another
system
like
mix
for
example,
or
with
it
I
mean
that
can
be
done
just
you
know,
that's
not
just
a
choice,
but
it
needs
to
be
implemented
over
years.
I
guess
so
that
something
like
this
can
can
grow,
but
do
you
think
there
are
some
low-hanging
fruits
in
terms
of
tooling
for
provenance
tracking,
license
analysis
and
so
on
that
the
next
community
could
add
to
simplify
using
it.
B
Yeah,
absolutely
so
one
of
the
things
that
I'm
seeing
is
that
mix
is
very,
very
useful,
for,
I
would
just
say,
ford
provenance.
So
if
I
have
a
recipe
and
all
the
dependencies
and
all
that,
then
I
can
build
it,
and
then
I
get
a
deliverable
installed
under
a
certain
hash,
but
the
other
way
around
like
okay.
B
B
So
that
that
is,
that
is
some
some
low
hanging
fruit.
Also,
one
of
the
things
that
that
is
bit
of
a
bad
deed
is
that
the
licensing
information
in
mixed
packages
could
probably
use
a
little
bit
of
a
boost,
because
that's.
B
Every
distribution
suffers
from,
but
probably
there
is
some
some
stuff
that
can
be
improved
there
as
well.
C
Then
I
would
like
to
thank
you,
man
for
this
amazing
presentation
and
the
amazing
insights
that
you
gave
into
the
history
of
nexus
as
well
right.
A
So
I
am
back,
I
would
again
like
to
quickly
thank
our
main
for
the
amazing
talk,
and
I
really
hope
you
guys
enjoyed
the
talk
as
well.
A
I'm
going
to
if
you
have
questions
more
questions
for
romaine,
because
romaine
is
actually
in
the
the
matrix
chat,
please
head
over
to
the
matrix
chat
and
ask
your
questions
over
there.
I
also
quickly
want
to
thank
matthias
for
forwarding
some
questions
from
once
on
youtube
over
to
the
matrix.
So
thank
you
mathias,
and
I
will
also
I
have
a
little
bit
of
a
sneak
peek
last
time.
A
I
didn't
tell
you
guys
what
the
next
lecture
would
be,
but
this
time
I
I
know
what
the
next
lecture
will
be
and
I'm
gonna
drop
it.
The
next
lecture
will
be
given
by
given
sorry
by
john
ringer
and
his
lecture
will
be
about
the
history
and
structure
of
next
packages
or
architecture.
Rather,
I
do
hope
to
see
you
all
there.
I
hope
you
enjoyed
the
talk
by
romaine
as
well.
I
know
I
did
and
yeah
I'll
see
you
guys
later,
thanks
for
watching.