Website Guide for copy/paste: christitus.com/nix-package-manager/ -------------------------------------- Thanks Internet for its "nicks" not " N-I-X". I've since been using NIX in tandem with apt on a debian system and it is fantastic. No extra repositories and rock solid performance.
I still love how informative nala's front-end is, and how universally supported apt is. I literally just change the word apt to nala when doing installs.
I wonder how badly Debian Stable will break using a powerful package manager like this? I run MX Linux, and being based on stable they are still several versions behind on desktops, etc. Must prepare USB stick for testing....
@@rishirajsaikia1323 Thank you; I haven't had time to try it on a USB stick bootable (I FINALLY learned to stop messing with my daily-driver setup :) ).
@@markh.6687 Not at all, nix's packages are not installed into the system itself at all - they actually live in their own directory-structure and are just PATH'ed. That ist of course only as long as you do not "Override" important system tools (e.g. by installing them from nix besides the original Version) and therefore make them basically shadow debian's versions.
its nice to see nix and nixos gain more attention from the linux community in recent times, hopefully with more exposure the nix repos will get bigger and more well maintained, and documentation will improve. Nixos really is a gamechanger and has fixed many of the problems the community is dealing with right now (immutability and cross distro packaging)
@@AndersHass don't think so but I meant that nix was around before flatpak and snap and by immutability I was also referring to silverblue and steamos since their goals were to have immutable packages
I really wish Nix would've started taking off before Flatpak. It really seems to be a good solution to cross-distro packaging, it's just a bit complex. If Nix was a little more beginner-friendly and had half the corporate funding that Flatpak does I legitimately think it could've won
"nix-env operations such as upgrades (-u) and uninstall (-e) never actually delete packages from the system. All they do (as shown above) is to create a new user environment that no longer contains symlinks to the “deleted” packages. Of course, since disk space is not infinite, unused packages should be removed at some point. You can do this by running the Nix garbage collector. It will remove from the Nix store any package not used (directly or indirectly) by any generation of any profile. Note however that as long as old generations reference a package, it will not be deleted. After all, we wouldn’t be able to do a rollback otherwise." This is what's written on the "Garbage Collection" section of the manual. Am I missing something? I don't think what's showed in this video is the proper way to manage applications via Nix.
The reason upgrades an uninstall does not remove things is to have all the backups available. That's usefull if you break something and want to recover the previous system status. Of course, depending what you use the machine for, that can vary a lot. The workflow of installations, upgrades, garbage collection, etc... Depends on you. For a personal machine, you would probably have very few generations available and run garbage collection after updates, but for a production machine running a server that might be different. So, you aren't missing anything, it all depends on how you use nix
Within the Nix community, a lot of attention goes toward 'advanced' uses of Nix, like storing and deploying the configuration of a fleet of NixOS machines in a 'GitOps'-y workflow, or writing your own custom packages for your own applications. It's really nice to see content that focuses on what cool stuff Nix can do for people even before they go all the way down the rabbithole!
My understanding of what you're saying is basically something like a configuration file that is capable of reproducing packages and applications on new instances/PCs. I was able to find this stuff for NixOS, but not for Nix package manager. Is there something you could point me towards?
@@varungawande9321 configuring plain nixos seems easy, but dabbling into the nix-pkgs... holly molly, it feels yet another level of newthings. > _"I was able to find this stuff for NixOS, but not for Nix package manager."_
I have joined the Nix train as well, with home-manager, and it IS great. It's not perfect, and it is far more complicated than it needs to be for casual use, but IMHO this is truly the perfect companion to flatpak, especially for CLI stuff. It makes more sense to use Nix over snaps in my opinion, and between Nix, flatpak, and distrobox, the amount of time I need to touch my host package manager can now be counted by hand. They legitimately made immutable a viable path for me.
I always heard it pronounced "nicks" so I did a little digging and in the original paper it's stated that the name Nix is derived from the Dutch word niks, meaning nothing, it's not an abbreviation.
Actually it's closer to "which is better: a car, or a car factory." The car is NixOS; the car factory is Nix. NixOS is really just a single, absolutely large and absurdly customizable, package for Nix.
I installed Nix for my Steam Deck, as pacman was both pain(I used mainly Debian based distros before) and new StemOS updates would wipe everything anyway, and now my newest laptop will run NixOS. Nix is such a good package manager.
Just be prepared to learn Haskell. I loved NixOS but a lot of things are dependent on Haskell However, it's one of the easiest Linux installations to do despite being so different from traditional distributions
I use none of them, works great, but I only use arch, and never should go for snap or appimage, can't understand why I should install same dependency several times? Love pacman and AUR and never have any problem with that
Nix-shell provides some of that functionality. If all you are using those for is to get apps, then yeah. If you care about the security benefits of these options then look into the details. I haven't, so they may be comparable, but I don't know.
@@fordonmekochgalenskaper5665 what do you do on your pc?. Also Flatpak still share dependencies bro. The main thing flatpak about is sandboxing, it aims a package that behave exactly the same on every distro, flatpak also very useful on something like steam deck when the system is immutable. Nix can also do this but AUR can't.
Nix is not a package manager, it's a build system and a great one at that. It can also handle a build artifact cache and remote building. It is NOT a package manager, because it doesn't do things that apt or homebrew or yum or what have you do. For example, it does not put systemd service files in any location. It does not copy config files. It does not do any setup in any way. It's important for new users to know, that they have to do that kind of setup themselves.
@@drishalballaney the only thing i wished to was that NixOS wasn't so dependent on systemd. Don't get me wrong there is nothing wrong with systemd but i would preffer init freedom as personally i preffer runit over systemd for a init system.
@@rahilarious Does Gentoo let you specify all your customizations in source code and then apply them globally to all packages you install, except for a small handful that you decided to use the vanilla versions for? Did Gentoo check for if you actually customized a package and then downloads a binary version if it can prove that you didn't and only compile packages that your actually customized? Does Gentoo let two different packages depend on different versions of the same dependency?
Really this incredible minimal interface terminal is BASH? Man I'm a newbie learning Linux and Terminal prior to coding. Do you have any tutorial about this configs? The readability is AMAZING! A big hug from Brazil!
Chris, if you search a bit then you can find a scientific paper from the developer of NixOS, a Dutch computer scientists (Utrecht), about the package-manager. How deep are you willing to dive into the rabbit-hole?
At the beginning I didn’t understand why NIX is easier than homebrew (mac user here ) but then I read the homebrew cask feature is only available for Mac OS. So that's the reason NIX still necessary
Can you make a video about NixOS? The Gnome version seems to be really lite on ram - half what Fedora is using on a cold boot. I am wondering why and would love to hear your opinion on the os and if it is good for day to day use
@@rahilarious unfortunately I don't know about that stuff, but thank for the answer. I guess that could be a reason. But nearly 50% more ram on a cold boot. Fedora should be able to become more efficient on that side.
@@jehovahnissi1961 It is kinda weird. Of course I was testing in a vm (Gnome Boxes) and NixOS was running with 650mb ram while Fedora used around 1.3GB. But when I tested it on Hardware (live, not installed) both used around 1.05 while NixOS I think had a little bit of a higher average workload. I am now on Fedora and also had problems with the Nvidia gpu and the battery indicator is not working but there is a workaround and it seems to be a Kernel issue. It was not a great start and I am not sure if I am gonna stay on Fedora. The Battery consumption was also through the roof (1h50 while on Zorin I got around 7h). Now with the GPU fixed it is at least around 3 to 4 hours.
Hi Chris, This was an interesting video! Can you say a bit more about your terminal (prompt, config etc) that we see in this video? The mod looks nice. Also can you say a bit more about the pros and cons of using two package managers in a linux system?
Multiple repos for the one and only packagemanager apt is one of the biggest reasons I run Debian SID over Arch. I don't have to juggle both pacman and AUR stuff
about 20% of apps I install on LMDE via NIX are broken in different ways. They either have broken buttons (that just don't work) or eat too much cpu/ram. what am I doing wrong?
so, trying out nix as a replacement for brew on my apple silicon mac. installed a few apps like inkscape and vscode. Installation successful, but app icons do not show up in the launchpad screen, nor can I launch them via spotlight. Also, many apps are out of date... like Ultimaker Cura 3D. Latest release as of now, 5.3... nix only shows 4.13. If this is the "best" pkg manager, I must be doing something wrong.
It's stated in other comments but this only just scratches the benefits of nix. Flakes, nix-shell, integration with direnv, configuring your entire system (if running NixOS)
IMO Guix would be much more suited for me. Not only am I then going to learn a package specification language (GNU Guile, based on Scheme), but also a language which is not a DSL (unlike Nixlang) and can thus be used for pretty much everything.
Ha, how interesting that you mentioned doing a do over of an awesomewm set up on Debian. Just been trying to do that on Debian testing myself. Got so far, but couldn't work out how to launch apps with a particular screen 😕
If you can effectively put any package in a container and nix is cross platform .. this sounds really neat. I hope they get round to doing a gui version as many people like me like to minimise terminal use as it seem rather obscure
Thanks, Chris! Nice to see you adopting 'new views that are true views' to paraphrase Abraham Lincoln. As for Debian being " a little behind"...they are WAY behind on Stable.
Did you some how modify or aliased apt to use nala? I'm looking at timestamp 4:28 you typed "sudo apt update" and the output looks a lot like the out of nala. I've also watched your "Stop using APT" and that's how I know that the output looks like nala's output. I have this bad habit defaulting to "apt", regardless of what other package manager is available. Anyway, could you make a video showing us how to set up apt to use nala? Just like your "sudo apt update" at 4:28 and "sudo apt purge github-desktop". I'm looking forward to that video!!
To me, nix is a kind of flatpak but using docker image layers instead of just putting files to separate directories. In both cases, whenever you're trying to "install" something small, they both bring all the dependencies with it, so the software you're "installing" won't be depending on packages of your OS. But there's a limit for this approach for sure. Most obvious is not even the disk space, gigabytes are cheap these days. It's integration to your desktop. Flatpak solves that with using portals. But how does that nix? And unfortunately nix is not ideal. I just tried to "install" retroarchFull and it failed (aarch64) somewhere in the middle while leaving a tonns of garbage behind it
No, nix doesn't duplicate dependencies for every app. If two apps depend on the same lib, it will be installed only once. If two apps depend on a different version of a lib, both versions will naturally be installed side by side. That's the crux of nix.
After seeing your vid Chris, I tried it on Fedora 36. Which kinda failed for me. But I had to do a reinstall anyway so I did a clean install and reinstalled NIX, per your explaining, and actually it works like a charm now. Thx for the heads up. Looking forward to your vid about the YORU environment.
@@Dark_Lobster Well, it only works for the user you install it for. Getting for mutli user is a bit sketchy, and in my case would mean that I have to reinstall my entire system... I suppose depending on your distro, you can install mutli-user easier... but I didn't get prompt for multi-user...
@@SebMcC2007 yeah, tried this on a new Fedora install, but no apps are showing in the apps list of my Gnome de. Have to run all via terminal....definately not integrating out of the box....
Chris Titus Tech What OS are you using in this video? The bit where you showed freshfetch, lists your OS as "x86-64"; I don't know of any, by that name.
I tried it and it unfortunately doesn't work to well. The apps start via command line, but you don't get a .desktop (I.e. no entry in any menus) and if you use "Pin to Task Manager", the icon doesn't show. It is probably fixable somehow...
I like this, however some of the critical packages I add (such as Brave browser) are kind of out-of-date in Nix. For instance, the most recent version of Brave today is 1.42.97 however the latest version with Nix is 1.38.115 which is seriously out-of-date. This is a real security issue. So even though I like the idea of not pulling in additional third party deb repos, I think Nix is not a solution for me.
@@JohnSmith-ky2qn Yep most up to date ones are in the unstable branch, and Brave is out of date because Nix uses the latest stable release to date, which is branch release-22.05, not the unstable one
Apologies if this is off-topic. I've just tried moving my desktop environment to nixos with the plasma desktop. I suspect nixos is not really aimed at desktop users. I've mostly got it working, and some elements of that were a lot easier than a conventional debian/ubuntu install. But there are some frustrating omissions. In particular, I like to use a GUI SVN client. I'm currently using kdesvn on debian/plasma. But kdesvn is not a package supported by Nixos, nor is it a flatpak. The only SVN GUI client that nixos knows about is rapidsvn. But rapidsvn crashes with errors about gnome-settings. So that highlights one of the issues, as a package manager, its list of packages is not exhaustive. For example, it should provide all the kde apps if it is going to provide the kde desktop. I'll look to building from source, but that is a backwards step, IMHO.
nix on other OSs is nice, but you don't get gpu support on that kind of setup, only on nixOS. You can symlink a nix mesa installation to /run/opengl-driver but other stuff like intel-media-driver/vaapi drivers are messier to deal with
What's weird to me is that NO ONE ever mentioned this powerful aspects of nix package manager when they coverd or reviewed NixOS on YT. Wich is to me is a shame on linux distros YT reviews. I thought it is a normal package manager with small packages number
@@lolololo-cx4dp thanks for the reply. That would make sense although I guess I was referring more to the underlying mechanics of nix: as for example nix-env and nix-shell work very similarly under the hood, in fact you don't even need nix-env at all since nix-shell will install whatever you need as you need it. There's also just a lot of customization you can do and also you can effectively guarantee that a version of your project will always work in all environments with nix installed. (tbh I'm just nix obsessed and hope for the comment section to have some good discussions and get the word out about how awesome nix is)
Can we get a dive into the install-script? Usually when programs have you pipe a script to sh, it's an os-probe that gets you a traditional package for your OS. Here it gets a tarball with 4 interlinked scripts. I'm sure it's doing what it should, but it's a bit complex to follow what it's actually doing.
@@paulkreuzmann3155 Thanks. Not to dwell too much on XDG_Base ...but won't this break alot of things? I hated this in flatpak as everything even config files would be stashed under ~/.var/cache/com.blablabla
@@adrianteri configs are also in store and symlinked on activation as everything else. So whenever you change something, you get a New config built and symlinked while the old one is kept in the store if you want to switch back until garbage collected. Same applies to home-manager
Packages in Nix don't just work. The theory and fact are two different things. They have too many individuals responsible for too many packages. Some just aren't keeping up with upgrades, etc. Nope.
I compared it to apt, and it seems a lot slower (8x). Do I need to change something? raspberry pi4 8G Rasbian 2Ghz nix - real 0m49.066s apt - real 0m6.284s
Depends on commands used maybe; like nix-env --install package will take forever, while nix-env -iA nixpkgs.package shouldnt take long. Guess it depends on how the command evaluates the expression, but I find Nix confusing ;)
Apparently no way to install into a custom directory from what I can find. How do you get it to install in /home if it forces the base install into /nix?
@@paulkreuzmann3155 steam deck or any other distro that uses an immutable file system. Or if I want all those apps local to that user. There are lots of benefits to being able to specify the install root.
Website Guide for copy/paste: christitus.com/nix-package-manager/
--------------------------------------
Thanks Internet for its "nicks" not " N-I-X".
I've since been using NIX in tandem with apt on a debian system and it is fantastic. No extra repositories and rock solid performance.
A-P-T
nala?
@@jt_hopp 🤣
I still love how informative nala's front-end is, and how universally supported apt is. I literally just change the word apt to nala when doing installs.
@@joshuacanter6843 yup, I think he commented about setting up an alias a couple of episodes ago.
Package manager hopping inbound
I wonder how badly Debian Stable will break using a powerful package manager like this? I run MX Linux, and being based on stable they are still several versions behind on desktops, etc. Must prepare USB stick for testing....
@@markh.6687 I heard that the nix package manager doesn't conflict with a distro's main package manager at all.
@@rishirajsaikia1323 Thank you; I haven't had time to try it on a USB stick bootable (I FINALLY learned to stop messing with my daily-driver setup :) ).
@@markh.6687 Not at all, nix's packages are not installed into the system itself at all - they actually live in their own directory-structure and are just PATH'ed.
That ist of course only as long as you do not "Override" important system tools (e.g. by installing them from nix besides the original Version) and therefore make them basically shadow debian's versions.
@@dundee248 Thank you; now hold my beer, I wanna try something....(Famous Last Words in Linux Series, Entry #1) 😆
its nice to see nix and nixos gain more attention from the linux community in recent times, hopefully with more exposure the nix repos will get bigger and more well maintained, and documentation will improve.
Nixos really is a gamechanger and has fixed many of the problems the community is dealing with right now (immutability and cross distro packaging)
Any of the cross distro packaging that doesn't have immutability?
@@AndersHass don't think so but I meant that nix was around before flatpak and snap
and by immutability I was also referring to silverblue and steamos since their goals were to have immutable packages
@@nilnailscrew4784 oh it is older than those
i wish nixos and vanilla os would make a baby js
I really wish Nix would've started taking off before Flatpak. It really seems to be a good solution to cross-distro packaging, it's just a bit complex.
If Nix was a little more beginner-friendly and had half the corporate funding that Flatpak does I legitimately think it could've won
"nix-env operations such as upgrades (-u) and uninstall (-e) never actually delete packages from the system. All they do (as shown above) is to create a new user environment that no longer contains symlinks to the “deleted” packages.
Of course, since disk space is not infinite, unused packages should be removed at some point. You can do this by running the Nix garbage collector. It will remove from the Nix store any package not used (directly or indirectly) by any generation of any profile.
Note however that as long as old generations reference a package, it will not be deleted. After all, we wouldn’t be able to do a rollback otherwise."
This is what's written on the "Garbage Collection" section of the manual. Am I missing something? I don't think what's showed in this video is the proper way to manage applications via Nix.
The reason upgrades an uninstall does not remove things is to have all the backups available. That's usefull if you break something and want to recover the previous system status. Of course, depending what you use the machine for, that can vary a lot. The workflow of installations, upgrades, garbage collection, etc... Depends on you. For a personal machine, you would probably have very few generations available and run garbage collection after updates, but for a production machine running a server that might be different. So, you aren't missing anything, it all depends on how you use nix
Within the Nix community, a lot of attention goes toward 'advanced' uses of Nix, like storing and deploying the configuration of a fleet of NixOS machines in a 'GitOps'-y workflow, or writing your own custom packages for your own applications.
It's really nice to see content that focuses on what cool stuff Nix can do for people even before they go all the way down the rabbithole!
My understanding of what you're saying is basically something like a configuration file that is capable of reproducing packages and applications on new instances/PCs. I was able to find this stuff for NixOS, but not for Nix package manager. Is there something you could point me towards?
@@varungawande9321 configuring plain nixos seems easy, but dabbling into the nix-pkgs... holly molly, it feels yet another level of newthings.
> _"I was able to find this stuff for NixOS, but not for Nix package manager."_
Nix makes the AUR look tiny. It's fantastic! Also it's not N.I.X. It's literally called nix "nicks"
"We're the Knights who say "Nix! We demand you bring us....a server!!" (Nix!)
-- From Monty Python and the Holy Grail.
Nick's package manager? ;)
@@nafg613 Oh, you persistently silly person! :)
Tiny? You need more than 83k from aur?
@@linuxmobile Upload ALL the softwares!
I have joined the Nix train as well, with home-manager, and it IS great. It's not perfect, and it is far more complicated than it needs to be for casual use, but IMHO this is truly the perfect companion to flatpak, especially for CLI stuff. It makes more sense to use Nix over snaps in my opinion, and between Nix, flatpak, and distrobox, the amount of time I need to touch my host package manager can now be counted by hand. They legitimately made immutable a viable path for me.
I have been using NixOS for 3 years now and will never look back. It now powers all my servers, laptops, raspberry pis at home and in my company.
I always heard it pronounced "nicks" so I did a little digging and in the original paper it's stated that the name Nix is derived from the Dutch word niks, meaning nothing, it's not an abbreviation.
See also German's "nichts", also meaning 'nothing'.
@@markh.6687 or the English word nix, haha.
actuallt it is better to use home manager and flakes for an even more reproducable setup, and if you want to go all out you can take a look at nixos
@@Khovh that's like asking, which is better apt or debian?
But which _is_ better, @@drishalballaney -- a car, or tires?
Actually it's closer to "which is better: a car, or a car factory." The car is NixOS; the car factory is Nix. NixOS is really just a single, absolutely large and absurdly customizable, package for Nix.
I installed Nix for my Steam Deck, as pacman was both pain(I used mainly Debian based distros before) and new StemOS updates would wipe everything anyway,
and now my newest laptop will run NixOS. Nix is such a good package manager.
Just be prepared to learn Haskell. I loved NixOS but a lot of things are dependent on Haskell
However, it's one of the easiest Linux installations to do despite being so different from traditional distributions
@@clocked0What depends on Haskell?
@@mgord9518 Apparently not Nix! But the two languages are very similar, so still worth learning.
So will Nix package manager mean that you dont need Snaps, Flatpacks or Appimages anymore? That would be fantastic!
I use none of them, works great, but I only use arch, and never should go for snap or appimage, can't understand why I should install same dependency several times? Love pacman and AUR and never have any problem with that
Nix-shell provides some of that functionality. If all you are using those for is to get apps, then yeah. If you care about the security benefits of these options then look into the details. I haven't, so they may be comparable, but I don't know.
@@fordonmekochgalenskaper5665 your app never broke even once?
@@lolololo-cx4dp no, my Arch install is 5 years old never been any issue, most applications I use in my work comes from AUR
@@fordonmekochgalenskaper5665 what do you do on your pc?. Also Flatpak still share dependencies bro. The main thing flatpak about is sandboxing, it aims a package that behave exactly the same on every distro, flatpak also very useful on something like steam deck when the system is immutable. Nix can also do this but AUR can't.
Nix is not a package manager, it's a build system and a great one at that. It can also handle a build artifact cache and remote building. It is NOT a package manager, because it doesn't do things that apt or homebrew or yum or what have you do. For example, it does not put systemd service files in any location. It does not copy config files. It does not do any setup in any way. It's important for new users to know, that they have to do that kind of setup themselves.
This is the Holy Grail of package management. Thank you!
Just wait untill you findout about the power that NixOS offers :D
This^
NixOS is one of the best distributions I have used till now
@@drishalballaney the only thing i wished to was that NixOS wasn't so dependent on systemd. Don't get me wrong there is nothing wrong with systemd but i would preffer init freedom as personally i preffer runit over systemd for a init system.
Just wait untill you findout about the power that Gentoo offers :D
@@rahilarious Does Gentoo let you specify all your customizations in source code and then apply them globally to all packages you install, except for a small handful that you decided to use the vanilla versions for? Did Gentoo check for if you actually customized a package and then downloads a binary version if it can prove that you didn't and only compile packages that your actually customized?
Does Gentoo let two different packages depend on different versions of the same dependency?
Linux users are like heroine addicts. Always chasing that dragon and never able to catch it.
This is fair.
And we want to ride that damn dragon.
@@valentinomelis8331
Not like I like f-female d-dragons or anything; I..I just agree with you.
But NixOS is that dragon :p
Tomorrow, i was wrong again....😂😂
ahaha
Lmfao
I was wrong! winget is the best package manager!... just kidding, I don't do drugs.
@@ChrisTitusTech 😂
I would love a full walkthrough of configuring/using Nix in video form. Nix looks pretty awesome!
True enlightenment. Next step is NixOS
Finally on Nix. Good! I still am on Arch but I do think that Nix is awwwesome and I woulnd't mind using it.
just tried it, now I am going into the rabbit whole now!! this blew my mind
Totally going to give this a try. Thanks Chris!
As a nix user im happy you finally looked at it
Congratz! Time for you to discover now Home Manager :)
Great work 🎉🎉🎉 Thanks 💜💜💜
Really this incredible minimal interface terminal is BASH?
Man I'm a newbie learning Linux and Terminal prior to coding.
Do you have any tutorial about this configs? The readability is AMAZING!
A big hug from Brazil!
Great catch and recovery! Thank you for the info shared on NIX OS... very cool distro!
Chris, if you search a bit then you can find a scientific paper from the developer of NixOS, a Dutch computer scientists (Utrecht), about the package-manager. How deep are you willing to dive into the rabbit-hole?
At the beginning I didn’t understand why NIX is easier than homebrew (mac user here ) but then I read the homebrew cask feature is only available for Mac OS. So that's the reason NIX still necessary
I don't thing mac users are necessary, but that's just my opinion.
Cheers bro. As always the best the best to refresh an old unix engineer
Can you make a video about NixOS?
The Gnome version seems to be really lite on ram - half what Fedora is using on a cold boot.
I am wondering why and would love to hear your opinion on the os and if it is good for day to day use
maybe cause fedora packages are compiled with lto, pgo and -O3 which uses more RAM but gives faster performance
@@rahilarious unfortunately I don't know about that stuff, but thank for the answer. I guess that could be a reason. But nearly 50% more ram on a cold boot.
Fedora should be able to become more efficient on that side.
@@jehovahnissi1961
It is kinda weird. Of course I was testing in a vm (Gnome Boxes) and NixOS was running with 650mb ram while Fedora used around 1.3GB.
But when I tested it on Hardware (live, not installed) both used around 1.05 while NixOS I think had a little bit of a higher average workload.
I am now on Fedora and also had problems with the Nvidia gpu and the battery indicator is not working but there is a workaround and it seems to be a Kernel issue. It was not a great start and I am not sure if I am gonna stay on Fedora. The Battery consumption was also through the roof (1h50 while on Zorin I got around 7h). Now with the GPU fixed it is at least around 3 to 4 hours.
I just want to say that I can see RUclips Dislikes and there are none in here! Really shows how amazing your videos are, Chris! Keep it up!
I love Chris he has helped me. Customize windows & Linux alot
Hi Chris,
This was an interesting video! Can you say a bit more about your terminal (prompt, config etc) that we see in this video? The mod looks nice.
Also can you say a bit more about the pros and cons of using two package managers in a linux system?
Multiple repos for the one and only packagemanager apt is one of the biggest reasons I run Debian SID over Arch. I don't have to juggle both pacman and AUR stuff
@pancake same with pamac
about 20% of apps I install on LMDE via NIX are broken in different ways. They either have broken buttons (that just don't work) or eat too much cpu/ram. what am I doing wrong?
A bit offtopic, but how do you did the 'took' part to give you wasted time on every run?
so, trying out nix as a replacement for brew on my apple silicon mac. installed a few apps like inkscape and vscode. Installation successful, but app icons do not show up in the launchpad screen, nor can I launch them via spotlight. Also, many apps are out of date... like Ultimaker Cura 3D. Latest release as of now, 5.3... nix only shows 4.13. If this is the "best" pkg manager, I must be doing something wrong.
So the next step is to give a shot at NixOS ;)
Nice install code, I was able to install while listening so quickly.
when reviewing nix os?
It's stated in other comments but this only just scratches the benefits of nix. Flakes, nix-shell, integration with direnv, configuring your entire system (if running NixOS)
Nixos is even more powerful. One configuration can rule all in Nixos.
Now that's cool! Installed before the video even finished ‼️💯😎
IMO Guix would be much more suited for me. Not only am I then going to learn a package specification language (GNU Guile, based on Scheme), but also a language which is not a DSL (unlike Nixlang) and can thus be used for pretty much everything.
Ha, how interesting that you mentioned doing a do over of an awesomewm set up on Debian. Just been trying to do that on Debian testing myself.
Got so far, but couldn't work out how to launch apps with a particular screen 😕
I'd love if you can do a full NIX OS installation video
meh
Very insightful video. Thanks
how would I remove nix from my Debian system? I have stopped the nix daemon with the systemctl command.
Damn!! Nix is so awesome, gonna try out on ubuntu and maybe even fedora. Thanks a ton Chris!
very inspring, thanks for sharing!
If you can effectively put any package in a container and nix is cross platform .. this sounds really neat. I hope they get round to doing a gui version as many people like me like to minimise terminal use as it seem rather obscure
2:15 yo + roo, 夜, yoru literally means "night" in Japanese.
Wow!!! Nix is the best, you saved me for yet another time, thank a lot Titus, keep up the great work!!! :)
“Keep true” has to be the most roundabout way of saying “pin”.
That's the kind of video I really like! No ego, just fun and learning. And he read the comments. KKKK
what desktop environment are you using Chris, it looks fantastic
as far as i know it's fedora server edition with bspwm
@@scientiac thanks man
Thanks, Chris! Nice to see you adopting 'new views that are true views' to paraphrase Abraham Lincoln.
As for Debian being " a little behind"...they are WAY behind on Stable.
Did you some how modify or aliased apt to use nala?
I'm looking at timestamp 4:28 you typed "sudo apt update" and the output looks a lot like the out of nala. I've also watched your "Stop using APT" and that's how I know that the output looks like nala's output.
I have this bad habit defaulting to "apt", regardless of what other package manager is available.
Anyway, could you make a video showing us how to set up apt to use nala? Just like your "sudo apt update" at 4:28 and "sudo apt purge github-desktop". I'm looking forward to that video!!
To me, nix is a kind of flatpak but using docker image layers instead of just putting files to separate directories. In both cases, whenever you're trying to "install" something small, they both bring all the dependencies with it, so the software you're "installing" won't be depending on packages of your OS. But there's a limit for this approach for sure. Most obvious is not even the disk space, gigabytes are cheap these days. It's integration to your desktop. Flatpak solves that with using portals. But how does that nix?
And unfortunately nix is not ideal. I just tried to "install" retroarchFull and it failed (aarch64) somewhere in the middle while leaving a tonns of garbage behind it
Tbh, Nix is not intended for graphical applications as much as for making enviroents, specifically development environments in my opinion
@@kintrix007 yeah this is exactly how its creators are seeing it's purpose
No, nix doesn't duplicate dependencies for every app.
If two apps depend on the same lib, it will be installed only once.
If two apps depend on a different version of a lib, both versions will naturally be installed side by side.
That's the crux of nix.
@@retropaganda8442 well flatpak and snap also do that, but in a bit broader sense - they do install shared runtimes
Thanks. Will check it out.
After seeing your vid Chris, I tried it on Fedora 36. Which kinda failed for me. But I had to do a reinstall anyway so I did a clean install and reinstalled NIX, per your explaining, and actually it works like a charm now. Thx for the heads up. Looking forward to your vid about the YORU environment.
Did you get it to integrate with your system, i.e do it show in your application list etc?
@@Dark_Lobster Well, it only works for the user you install it for. Getting for mutli user is a bit sketchy, and in my case would mean that I have to reinstall my entire system... I suppose depending on your distro, you can install mutli-user easier... but I didn't get prompt for multi-user...
@@SebMcC2007 yeah, tried this on a new Fedora install, but no apps are showing in the apps list of my Gnome de. Have to run all via terminal....definately not integrating out of the box....
@@Dark_Lobster did you run the 'ln -s /home/$USER/.nix-profile/share/applications/* /home/$USER/.local/share/applications/' as stated by Chris?
@@SebMcC2007 Oh, I did not see that...thanks :) saved me some googling....
Video on nix os soon?
NixOS sounds like a stable Arch. If so, it's a rolling release dream distro! Too good to be true. 🤩
Hello Chris one question do you install nix to remove Brew?
what distro (and terminal) does chris use here?
thanks! and i like your terminal environment, what is this and how can i customized like that?
Which distro are you running on your Studio PC? Setup looks really clean, I NEED IT!!! 😂
Debian sid with bspwm and Nala apt wrapper.
Chris, have you touched on the security, or threat, imprecations of pulling software from all these different repos? Great videos, thanks.
Using flakes with pure evaluation mode you're pulling from specific releases or commits. So not as bad as you'd think
Chris Titus Tech What OS are you using in this video? The bit where you showed freshfetch, lists your OS as "x86-64"; I don't know of any, by that name.
Chris, What are your thoughts on using nix as a package manager for a LFS based distro.
That's awesome Chris Titus Tech. Do you have your configs of Linux your using now.
You go for different packages like young studs choose girlfriends - fresher, faster, fewer dependencies.
curious what your thoughts are on wiping utilities like dban and what some folks recommend like parted magic...
Thanks Chris!!! This is an awesome looking desktop environment would love to see this on Fedora KDE Plasma.
I tried it and it unfortunately doesn't work to well. The apps start via command line, but you don't get a .desktop (I.e. no entry in any menus) and if you use "Pin to Task Manager", the icon doesn't show. It is probably fixable somehow...
@@Golgafrincham Good to know!
do a kickflip titus with your OG toy machine deck in the background. I see you there. I see you.
I like this, however some of the critical packages I add (such as Brave browser) are kind of out-of-date in Nix. For instance, the most recent version of Brave today is 1.42.97 however the latest version with Nix is 1.38.115 which is seriously out-of-date. This is a real security issue. So even though I like the idea of not pulling in additional third party deb repos, I think Nix is not a solution for me.
It's 1.42.88 in unstable channel.
@@JohnSmith-ky2qn Yep most up to date ones are in the unstable branch, and Brave is out of date because Nix uses the latest stable release to date, which is branch release-22.05, not the unstable one
@@danielphan.2003 why not use unstable then? It is the default branch when installing nix
AUR from arch got it!
Apologies if this is off-topic. I've just tried moving my desktop environment to nixos with the plasma desktop. I suspect nixos is not really aimed at desktop users. I've mostly got it working, and some elements of that were a lot easier than a conventional debian/ubuntu install. But there are some frustrating omissions.
In particular, I like to use a GUI SVN client. I'm currently using kdesvn on debian/plasma. But kdesvn is not a package supported by Nixos, nor is it a flatpak. The only SVN GUI client that nixos knows about is rapidsvn. But rapidsvn crashes with errors about gnome-settings.
So that highlights one of the issues, as a package manager, its list of packages is not exhaustive. For example, it should provide all the kde apps if it is going to provide the kde desktop. I'll look to building from source, but that is a backwards step, IMHO.
Maybe consider submitting a packing request
How did you map and apt command to nala?
alias
I have a copy-paste guide @ christitus.com/stop-using-apt/#convert-apt-to-nala
It a simple bash function for your bashrc files.
nix on other OSs is nice, but you don't get gpu support on that kind of setup, only on nixOS. You can symlink a nix mesa installation to /run/opengl-driver but other stuff like intel-media-driver/vaapi drivers are messier to deal with
What's weird to me is that NO ONE ever mentioned this powerful aspects of nix package manager when they coverd or reviewed NixOS on YT. Wich is to me is a shame on linux distros YT reviews.
I thought it is a normal package manager with small packages number
Which powerful aspects do you refer to?
@@simplehaskellbyace4949 maybe the nix shell, nix config and nix env?
@@lolololo-cx4dp thanks for the reply. That would make sense although I guess I was referring more to the underlying mechanics of nix: as for example nix-env and nix-shell work very similarly under the hood, in fact you don't even need nix-env at all since nix-shell will install whatever you need as you need it.
There's also just a lot of customization you can do and also you can effectively guarantee that a version of your project will always work in all environments with nix installed.
(tbh I'm just nix obsessed and hope for the comment section to have some good discussions and get the word out about how awesome nix is)
How do you verbose when running nix-env commands?
So is this nix pm available for manjaro?
What about security? Is it safe to use nix in single user mode?
Can you try and review GNU Guix too? package manager that directly inspired by nix?
Can we get a dive into the install-script? Usually when programs have you pipe a script to sh, it's an os-probe that gets you a traditional package for your OS. Here it gets a tarball with 4 interlinked scripts. I'm sure it's doing what it should, but it's a bit complex to follow what it's actually doing.
I installed the full NixOS distro and I am new to this. How can I install nala on the konsole?
Great vid!
Very cool!!! Using Nix package manager with Debian and Arch now thanks!
Once you see what Nix offers, you can't unsee it and you'll want it installed on all your machines. It's a curse, lol
Does NIX clean up files that may remain after an install which are beyond the scope of other package managers?
Nix puts everything in its store so it does not mess with your system. Then, nix has a garbage collector that clears unused stuff from the store
@@paulkreuzmann3155 Thanks. Not to dwell too much on XDG_Base ...but won't this break alot of things? I hated this in flatpak as everything even config files would be stashed under ~/.var/cache/com.blablabla
@@adrianteri configs are also in store and symlinked on activation as everything else. So whenever you change something, you get a New config built and symlinked while the old one is kept in the store if you want to switch back until garbage collected. Same applies to home-manager
So this replaces Nala on debian?
To my understanding, pretty much any package that is available on other linux distros is available via nix
Packages in Nix don't just work. The theory and fact are two different things. They have too many individuals responsible for too many packages. Some just aren't keeping up with upgrades, etc. Nope.
Bro, you change your mind every 4 months 😂
the only problem with nix is, that you can't really install it without root access.
Isn't that the same for all traditional package managers? At least Nix let's you install individual packages without root.
Did you try out NixOS ? it sounds really cool, can you make a video about it ?
Does it work on SElinux?
I compared it to apt, and it seems a lot slower (8x). Do I need to change something?
raspberry pi4 8G Rasbian 2Ghz
nix - real 0m49.066s
apt - real 0m6.284s
Depends on commands used maybe; like nix-env --install package will take forever, while nix-env -iA nixpkgs.package shouldnt take long. Guess it depends on how the command evaluates the expression, but I find Nix confusing ;)
because nix install all the dependencies for each package. No libraries are shared so it has to download and install more. It is not the case for apt.
Apparently no way to install into a custom directory from what I can find. How do you get it to install in /home if it forces the base install into /nix?
Why would you want to install in /home anyway?
@@paulkreuzmann3155 steam deck or any other distro that uses an immutable file system. Or if I want all those apps local to that user.
There are lots of benefits to being able to specify the install root.
@@simeonjohnston5941 you can have packages local to user with nix without installing them in /home, though
@@paulkreuzmann3155 Nix itself needs to be installed in /home
nix-user-chroot. It requires user namespaces, but lets you use ~/.nix which then gets linked to /nix inside the chroot.