I was WRONG! This is the BEST Package Manager.
Vložit
- čas přidán 26. 06. 2024
- This standalone package manager is absolutely stunning and I can’t believe I’m just now discovering it’s true power. .
►► Digital Downloads ➜ www.cttstore.com
►► Reddit ➜ / christitustech
►► Titus Tech Talk ➜ / titustechtalk
►► Twitch ➜ / christitustech - Věda a technologie
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
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?
"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
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, @@drishalballaney6590 -- 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.
Totally going to give this a try. Thanks Chris!
This is the Holy Grail of package management. Thank you!
I would love a full walkthrough of configuring/using Nix in video form. Nix looks pretty awesome!
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?
Very insightful video. Thanks
Cheers bro. As always the best the best to refresh an old unix engineer
Great catch and recovery! Thank you for the info shared on NIX OS... very cool distro!
I love Chris he has helped me. Customize windows & Linux alot
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 😕
Great work 🎉🎉🎉 Thanks 💜💜💜
Thanks. Will check it out.
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.
just tried it, now I am going into the rabbit whole now!! this blew my mind
Now that's cool! Installed before the video even finished ‼️💯😎
very inspring, thanks for sharing!
Congratz! Time for you to discover now Home Manager :)
That's awesome Chris Titus Tech. Do you have your configs of Linux your using now.
Nice install code, I was able to install while listening so quickly.
I just want to say that I can see CZcams Dislikes and there are none in here! Really shows how amazing your videos are, Chris! Keep it up!
Finally on Nix. Good! I still am on Arch but I do think that Nix is awwwesome and I woulnd't mind using it.
Damn!! Nix is so awesome, gonna try out on ubuntu and maybe even fedora. Thanks a ton Chris!
thanks! and i like your terminal environment, what is this and how can i customized like that?
As a nix user im happy you finally looked at it
curious what your thoughts are on wiping utilities like dban and what some folks recommend like parted magic...
True enlightenment. Next step is NixOS
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
@@drishalballaney6590 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?
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!
I've used NixOS for a while and loved the idea of basically having ur system blueprint in 1 file but nix itself is also great
when i first switched to nix i was so utterly shocked to see how much configuration you can do in just one file
all my packages, kernel, networking, systemd services and drivers, partitions and mount points
MY WHOLE FIREFOX CONFIG with custom css and everything (sadly lacking extensions which aren't in nix's repos)
MY WHOLE SWAY CONFIG
MY WHOLE EMACS CONFIG
basically every piece of configuration you could imagine is possible from just your configuration.nix
the only downside is its over 1000 lines...
yeah, especially because he always says that at its core every distro is the same
but imo NixOS is kinda an exception to this rule
@@nilnailscrew4784 How exactly is it a downside? I would expect an extensive config file with every option to want to be long.
@@lfox02 well I mean of course the king of all config files is going to be long, I'm just not happy it's long since it makes it harder to work with
Sometimes I wonder why distros like that r not more popular 🤔
Nice to see Alpine finally gaining popularity in unixporn circles as well. Such a underrated distro
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.
Tomorrow, i was wrong again....😂😂
ahaha
Lmfao
I was wrong! winget is the best package manager!... just kidding, I don't do drugs.
@@ChrisTitusTech 😂
Hello Chris one question do you install nix to remove Brew?
That's the kind of video I really like! No ego, just fun and learning. And he read the comments. KKKK
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)
Great vid!
So the next step is to give a shot at NixOS ;)
Chris, What are your thoughts on using nix as a package manager for a LFS based distro.
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.
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.
what distro (and terminal) does chris use here?
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?
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
do a kickflip titus with your OG toy machine deck in the background. I see you there. I see you.
have you used nix-shell yet? you don't have to install things globally, with that you can load some apps to your current terminal
Very cool!!! Using Nix package manager with Debian and Arch now thanks!
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....
Which distro are you running on your Studio PC? Setup looks really clean, I NEED IT!!! 😂
Debian sid with bspwm and Nala apt wrapper.
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!!
Did you try out NixOS ? it sounds really cool, can you make a video about it ?
I am new to linux and still deciding what distro to use but since finding out about Nix, I think I will go with NixOs.
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
Can you try and review GNU Guix too? package manager that directly inspired by nix?
I'd love if you can do a full NIX OS installation video
meh
A bit offtopic, but how do you did the 'took' part to give you wasted time on every run?
I just installed nala in ubuntu after seeing a video of you for replacing apt, now I see this.
What about security? Is it safe to use nix in single user mode?
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.
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.
Nixos is even more powerful. One configuration can rule all in Nixos.
how would I remove nix from my Debian system? I have stopped the nix daemon with the systemctl command.
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
2:15 yo + roo, 夜, yoru literally means "night" in Japanese.
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
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.
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.
Video on nix os soon?
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
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
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?
Very nice video! I'm curious why you chose to show nix-env rather than nix-shell - I like how nix-shell allows me to have different shells with different sets of applications available, and haven't really found a strong need for nix-env
I installed the full NixOS distro and I am new to this. How can I install nala on the konsole?
So is this nix pm available for manjaro?
Wicked wallpaper can you point where to get it please?
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.
Wow!!! Nix is the best, you saved me for yet another time, thank a lot Titus, keep up the great work!!! :)
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.
Hey Chris, just curious, what's your thoughts on Gentoo? Just got my first install up and running, and so far I'm enjoying it. Going through the learning curve, like always when switching to a new distribution, and installs are a bit painfully long 😂 But I picked my beast lol, and I feel like I'm noticing some subtle performance gains in places. Not sure if it's just a placebo since it's a new install or not lol, but seeing how Gentoo works makes me wonder if maybe one day SteamOS will be built using it. Would love to hear your thoughts about Gentoo and the possibility of making a full blown gaming dedicated OS from it, if you're interested in it.
If not, peace and long life anyways 🖖 Stay well
well, gentoo has no learning curve and the docs are also pretty gud.
Did you compile the kernel or used genkernel ?
@GeneralHub even On my i3 4500U it takes less than an hour for the kernel with everything I need.
So, select only modules which are required.
@GeneralHub Im on NixOS, nix can do anything portage can. Only one bad thing init=systemd. I was an dinit+nix user earlier later became NixOS user.
You go for different packages like young studs choose girlfriends - fresher, faster, fewer dependencies.
Found my next distro to hop to
To my understanding, pretty much any package that is available on other linux distros is available via nix
Its true power. You use it's when you are contracting it is. Good video, though Chris!
Brew has the latest package versions that I need (like neovim) before nix.
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!
You have to try, nixos linux, home manager, direnv and flakes!!!
when reviewing nix os?
Chris, what entry to you make in apt.conf to replace apt with nala?
How do you verbose when running nix-env commands?
Bro, you change your mind every 4 months 😂
I agree on Nix/OS being best.
Does it work on SElinux?
Is it good if we install nix pkg manager in fedora and install apps from nix repo incase if its not found in fedora repo will there be any performance issues and how its advised to install apps on non nixos some community members said we should not use nix-env cmnd in non nix os
Nix won't share any resources with Fedora, so there can be extra disk and memory usage because of that. There's nothing wrong with using nix-env on non-NixOS systems. It's just that it tends to be discouraged in general since it's just Nix masquerading as a traditional package manager and doesn't show the full power that Nix is capable of.