►
From YouTube: What's new in Nix 2.7.0?
Description
An overview of changes in Nix 2.7.0.
https://discourse.nixos.org/t/nix-2-7-0-released/18072
Chapters:
00:00 Intro
00:14 Welcome
00:34 Bug fixes and performance
02:15 Changes in flake.nix format
06:50 Extended nix bundle support
09:30 Command line suggestions
10:05 nix store ping verbosity
11:10 sourcehut flake input type
12:18 nix profile remove verbosity
13:03 Final comments
13:28 Outro
B
A
B
Team
nix
2.7
is
an
incremental
release
of
the
nyx
package
manager
on
a
six-week
release
cycle.
There
are
many
bug
fixes
and
some
new
features
being
added.
Many
of
the
changes
are
related
to
experimental
feature
called
flakes
and
we
are
to
help
stabilize
and
fix
bugs
in
preparation
for
an
ultimate
3.0
release.
B
B
Penne
has
done
quite
a
bit
of
work,
improving
the
performance
over
the
last
few
cycles,
and
this
is
a
quick
summary
of
that
work.
We
can
see
that
we
have
the
nyx
releases
on
the
bottom,
starting
from
2.3.16
all
the
way
to
some
2.7,
as
well
as
a
pr
being
merged
being
labeled
here
as
2.8
pre
release.
B
As
you
can
see,
there
are
some
initial
performance
regressions
up
until
2.4
and
even
into
2.5,
but
we've
been
steadily
been
able
to
get
some
of
these
numbers
back
down,
let's
zoom
in
a
little
bit
to
take
a
little
bit
closer
look
at
the
section
in
progress,
and
you
can
see
that
this
is
for
a
nick's
evaluation
and
again
that
initial
performance
degradation
and
then
subsequent
improvement.
B
As
we've
gone
up
to
this
current
release
and
the
potential
future
performance
gains,
we
have,
along
with
the
pr
6218,
giving
us
another
10
to
20
percent.
The
cpu
performance
improvement
usually
goes
hand
in
hand
also
with
memory
improvements
of
somewhat
equivalent
magnitude.
A
Next,
we're
going
to
look
at
the
changes
to
the
flake.next
format.
As
you
can
see,
I
already
installed
nyx270,
but
before
we
continue,
let's
check
if
flake
feature
is
a
built
on
our
system.
We
do
this
by
looking
at
the
nyxnxconfig
and
there
you
go
experimental
features,
nick's
command
and
fleet
flakes.
Are
there
first,
let's
look
at
nyx
templates.
A
Let's
do
this
by
creating
an
example
flake
projects
using
the
next
like
new
command,
then
specifying
the
template.
Let's
say
in
this
case:
let's
use
the
full
template
and
give
it
a
name
sample
there
we
go.
There
two
features,
two
additions
to
the
that
were
added
into
seven
zero
already
shown.
First,
we
are
listing
all
the
files
that
were
created
and
after
that
we
are
displaying
some
sort
of
welcome
text
that
is
defined
in
each
template.
A
A
A
So
now,
let's
enter
the
template
and
we
look
at
another
change
that
happened
in
flake
template.
Let's
first
make
sure
that
the
log
file
is
up
to
date.
A
A
A
So
if
we
look
at,
let's
say
the
over,
let's
say
the
default
template
right:
let's,
let's
try
to
fix
it,
so
we
go
to
the
flag.nick,
so
the
default
template
is
deprecated
and
please
use
templates.default
there
we
go.
I
think
this
is
at
the
end
exactly
so.
First
we
change
the
default
template
and
we
say
template
dot
default.
So
that's
now
the
the
that's
still
the
same
default
and
we
also
need
to
change
all
the
reference
to
this
default,
template
template
and
default.
A
Now,
if
we
rerun
nick's
flick
checked
again,
we
should
have
one
less
deprecation
warning
there
we
go
so,
as
you
can
see,
maybe
it's
obvious,
but
we
didn't
break
any
changes
with
when
introdu
when
doing
this
flake
dot
next
change,
so
you
can
still
continue
to
use
old
default
flake
output,
but
I
suggest
moving
to
the
new
ones,
yeah
and
yeah.
But
if
you
wanna
know
exactly
the
changes
for
all
the
outputs
that
were
changed,
please
consult
the
the
nix
manual.
B
B
B
We
can
take
something
like
a
normal
hello
package
and
say
we
want
to
bundle
it
to
something
called
an
ark's
executable.
What
we
end
up
with
is
a
link
to
this
thing
and
when
we
run
this
thing,
it
is
going
to
extract
itself
to
temp
and
is
is
now
runnable.
This
allows
you
to
run
this
on
nearly
any
linux
system
that
has
certain
features
enabled
and
certain
utilities
available,
but
we
can
go
even
farther.
We
can
also
produce
a
docker
image.
B
B
This
one
simply
provides
a
quick
runtime
report.
This
was
provided
by
and
matia
a
little
while
ago
and
provides
what
the
dependencies
are
licenses
and
some
of
the
maintainers.
So
you,
by
giving
by
working
over
a
derivation,
it
could
do
something
a
little
bit
richer
and
inspect
the
derivation
itself
to
provide
reports
or
probably
to
provide
other
sorts
of
outputs.
A
B
B
If
we
try
to
ping
a
store,
it
is
going
to
be
successful,
but
you
don't
really
get
much
feedback
that
it
was
successful.
Now,
if
you
ping
a
store,
we
end
up
getting
a
little
bit
more
information
that
a
about
what
the
version
is
and
where
it
is.
This
is
going
to
be
on
standard
error,
so
it
should
not
impact
any
sort
of
scripts
or
anything
like
that.
Let's
go
take
a
look
at
what
happens
if
we
make
it
something
a
little
bit
more
realistic
as
a
remote
store.
B
Now,
let's
see
what
the
error
looks
like
if
we
go
somewhere
else,
looks
like
we
have
some
error
with
it
being
resolved,
and
now
we
can
go,
take
a
look
at
something
that
does
resolve
but
is
not
an
actual
store,
so
this
should
make
a
using
next
store
ping
a
little
bit
easier.
Next
up
we
have
the
sourcehut
input
type
in
nix
versions.
If
you
try
to
use
a
sourcehead
input
type,
it
would
fail.
This
is
not
something
that
was
supported,
but
this
was
added
in
2.7.
B
B
This
can
is
going
to
be
a
little
bit
nicer
in
terms
of
usage
and
also
has
some
optimizations
that
we
can
start
to
utilize.
B
So
now,
let's
also
run
this
against
some
file
that
we
have
available
to
us.
So
we
have
a
markdown
file,
we're
going
to
run
this
program
against
and
now
let's
go
take
a
look
at
what
actually
happened.
We
had
a
file
that
had
a
output
defined
and
what
this
program
apparently
does
is
it
pulls
that
out
and
turns
it
into
its
own
file
by
pulling
up
some
of
this
things
from
the
inside
of
the
markdown
anyway,
this
is
us
running
something
with
the
sourcehut
input
type.
A
Hello
world
a
hello
package
installed,
you
can
see
it's
listed
here
when
you're
uninstalling,
it
all
removing
it
from
the
profile,
no
confirmation
of
what
is
being
removed
or
is
there
something
removed
was
displayed,
and
in
this
case
now
with
two
seven
zero
yeah.
We
we
are
displaying
that
some
something
gets
removed.