Actually, there is a project tracking how many builds (of a vital subset of nix) are reproducible on two different machines.

If we repeatedly divide a solid in half, at what point does it stop being a solid? Almost all of them, actually. What's the deal with Deno? I've been running nixos as my main OS since about November after running Funtoo for a year or so before that. My experience with this was quite a while ago; it sounds like they may have fixed it since then.

Yeah, I've been running NixOS on production servers for about a year. On the cool side: Nix is the first linux distro I've contributed to, because it's the standard "hack, fork, pull request" process that most github-hosted open source projects use these days. Jump to Nix on this blog if you know nix already.

At the start of this year, I tried to install various Linux distros on my laptop using a USB drive. Also, it makes little to no difference on which machine the package is built. Combining declarative and transactional properties into the package system as effectively as they do is. Is it structurally sound to cut an I beam to a T on one end? Running. However, I sincerely doubt most distros will adopt it, for the simple reason that unifying the packaging infrastructure means more-or-less obsoleting the concept of a distribution.


and here i am on debian stable. I am the maintainer for NixOS's micronaut package.

This is not NixOS's issue, but using something minor means lack support, lack of tutorial.

However, this requires a more careful design for build process, lots of package does not follow Nix's philosophy, therefore requires patching before / after build, that patch can be dirty. Glad to hear it. The thought of having something break, and not fixing it immediately, escapes me. If you knew Nix already, maybe you found something new or interesting among this pile of words and snippets.

Some build script does not fit Nix's model. Last time I reinstalled a laptop was during the setup of my new one, this year, because I got a pretty messed-up set of kernel packages, and decided it were easier to just start from scratch. It also sets some exports that hie needs to properly function as well as the $THIRDPARTY variable to build the blog: The first file is used by nix-shell by default. Many people pointed out that NixOS has been discussed here many times already, but nobody mentioned Guix, so here it is, for reference: See also GNU Guix and the associated distro GuixSD, which is based on the same underpinnings of NixOS: I'm much more interested in guix since it has all the same upsides but uses scheme instead of a weird NIH language, and it also has some standards when it comes to the licenses of the packages. I have been using it for a while as my main OS. But packages never use /usr/bin/env, it's just there for convenience. It's for tinkerers currently, I think. I do have a rescue USB like you.

By atomic transaction, we mean simply this: either all of the changes happen in the repository, or none of them happens. Not using ‘global’ directories such as /bin is what allows multiple versions of a package to coexist. It creates a derivation which you add to environment.systemPackages.

NUR is the nix version of arch’s AUR, albeit not nearly as active sadly. However, Nix 1.9 was released today (/yesterday for the some): > nix-shell can now be used as a #!-interpreter. how to retrieve ssh password with working ssh key. Ubuntu has a lot of non-free/proprietary drivers available for laptops.

On Debian, which has the most traditional package manager in the world, I can still easily install several versions of Python at the same time. For example, setting up nice fonts with great default settings in Arch is a single AUR package away.

How have you found package support? By using our site, you acknowledge that you have read and understand our Cookie Policy, Privacy Policy, and our Terms of Service.

2d8ecbe: Fix a few typos in built-with-nix.

At some point a website like this one has to be generated, i.e. Looking for an ubuntu that didn't deteriorate, I switched to debian sid two years ago. As for the command-not-found program it's not present on non-nixOS systems anyway. always complaining i can't update often enough.

site design / logo © 2020 Stack Exchange Inc; user contributions licensed under cc by-sa.

But you can manually do a hack to substitute a patched version when you want the fix. I can probably replace a lot of these with appropriate shebangs :). I wonder how high the interest in something like that would be? I cannot install NixOS 16.09 directly, need to install an older version first and then upgrade due to. Try running the lsmod command on your laptop to see which kernel modules are loaded. I previously did even more with nix but specific GitHub Actions tend to do the job well enough.

Is guix compatible with nixpkgs, or do all package definitions need to be translated into scheme first?

As far as desktop goes, the rest of this thread rings true for me too: most of the important things are there, like desktop environments, window managers, browsers, etc.

By running the vim command, you are not running the original vim, but a shell script that injects flags to vim. can be used to make development environments for a project.

Had I had more time to do things properly, I would probably have stuck with it. Why is "help you save money" wrong if the subject was plural?

The windows registry is a tad more complex. All it does is call the shell attribute of the default.nix and controlling if hie is added, making use of the lazy nature of nix: hie will not get evaluated unless enabled. Hello highlight.js!

Can I replace a quick release skewer by something that needs a wrench to open?

15.2k 10 10 gold badges 46 46 …

I'm at a small startup, so it's not huge scale (yet!) This will essentially do the same but can do much more. (2020-07-04 14:31:17 +0200). That's the case for my native system. Aside from the default, I only priorly import all-hies, which is a project that maintains the Haskell Ide Engine on Nix.

Such a function is called a Derivation. Release Notes:

Ok, if env is supplied then scripts can at least use it to locate Python, etc. It introduces itself as "The Purely Functional Package Manager", but I would rather call it "An Immutable Package Manager" for easier understanding. How I use Nix to manage the development and CI of this blog, Nix is a purely functional package manger that allows isolated development environments and builds.

I was just under the impression that most of the hardware-facing software (kernel, drivers etc) were the same across distros and therefore keeping up with Ubuntu would almost be a given. Namely that I update openssh in one location and all my packages are now secure. good news is that it will be some 4 years until i have DRM on firefox... i mean iceweasel. Imagine using Nix on an embedded device. No. Sounds… good? Then they decide which drivers they feel like supporting and putting in the repositories, and which of those get loaded onto the installation media.

Asking for help, clarification, or responding to other answers. IF your DE does not look in $HOME/.nix-profile/share for .desktop files. I can't imagine a scenario where having python installed on a Linux desktop with non-ancient hardware would be a drawback. It allows to have multiple versions of one and the same program at the same time, even with the same version. Cool! Nix and GitHub Actions.

* some command line tools are cryptic at best, for example searching for available packages is done with nix-env -qa \* -P | fgrep -i "$1", The hardest part about going all in is of you find some of the software you rely on not being packaged.

I've been using it for nearly a year.

So far it has been great. It's not that it does not deteriorate.
which makes a lot of sense. Which phrase can be attributed to the “cat-o'-nine tails”? Is the desktop really that irrelevant? To date, Linux on the desktop has not shown mainstream appeal, but it does seem to gain more and more users every year. Generally, though, npm2nix works pretty well.

It makes it very hard to do things like write automation to make sure you can detect if mysql is vulnerable (because where will you get the pristine package you originally tested with?). (I didn't run nixos-rebuild or anything that would have changed the versions of command-not-found.). In many cases, switching to the new version of the package is nothing more than rewriting a symlink.

I use nix-env with the -qas flags to check package availability, perhaps that would be a helpful substitute in this case also. Other developer here.

It was window-esque... bit more info here: https://nixos.org/nixos/about.html, "A big implication of the way that Nix/NixOS stores packages is that there is no /bin, /sbin, /lib, /usr, and so on. My tolerance for hacking on my distro is maybe slightly above average. bullshit?

There is no /bin or /usr/bin. Notice: snapshots like these also allow rollbacks as they define which versions of dependencies get passed on. Come join us for a hack sometime. You can essentially think of a 'nix expression' as a program that gets compiled to a shell script, which does a build, and you run the shell script. Generally, all packages depending on that library will need to be rebuilt.

As nix functions are pure, wherever one uses the same nixpkgs instance, the exact same inputs are used to create the exact same output. It is also fun to use Nix as development environment. That was a dealbreaker for me.

Would it, though?

This blog uses a shell environment in which I have all the tools I need at hand.

Debian/Ubuntu have a lot of resources and protocols set up for this; for users like me, I can follow the mailing list where every package updated with security fixes is announced, and the updates seem to meticulously follow announcements about known vulnerabilities.

Why is this? You might be missing some packages so make sure to check this: It's still early for NixOS, the OS is solid but it's likely you'll need to package up a program or two (but it's not difficult). I would guess that Windows server on any given x86 server works a lot better than nixOS on my laptop. (Note: export XDG_DATA_DIRS=$HOME/.nix-profile/share:$XDG_DATA_DIRS did not work, XDG_DATA_DIRS ended up containing only $HOME/.nix-profile/share: which isn't even a valid path.). Most linux distros choose to prioritize server development over the desktop experience, because that is where their primary user base is. I've created a minimal git repository that reproduces this problem if you'd just like to take a look there.

This ORG-mode file generates an Emacs configuration. What are the advantages and disadvantages of the different chainset designs?