Microsoft is integrating copilot in their os. Copilot in each and every app. I'm sure they will add copilot into powershell. What do I need Nix command line and tinkering for.
You lost me at flatpak - I don't see a use for something that the OS cannot see is installed. It's how viruses wants to be installed - with the OS completely oblivious to it. I dislike how integrated it is in SteamOS and how you cannot launch the lutris from command-line.
I've been using NixOS for the past 8 months or so. It's completely changed how I manage my system. Everything has a learning curve, but once you get past it the rewards never stop flowing.
@@fizipcfx It's not a problem for me because I have 2 fallbacks... steam-run and Distrobox. This has solved 100% of software/scripts that don't run out of the box on Nix.
@@fizipcfxpersonally faced no issues as just about everything I need is on nixpkgs. but if you have a binary that requires FHS, nixos has a builder function that just wraps a package in an FHS environment, which is the recommended way (this is how the official package for steam, android-studio works) but if you want to add back some DLLs system-wide, there's nix-ld. it just adds support for dynamic libraries the way it's done in regular distros (with the version incompatibilities and all, that nix is trying to solve. i recommend using it but keeping it to a minimum)
I am going to answer my own question because i had used nixos for a while now. Most of the generalized stuff works out of the box without much intervention thats very nice but, development almost always get in my way. (Python c++ cuda) Either do everything inside docker, or you are gonna have to let the nix define the way you work. I have installed it on my laptop that i carry everywhere but i dont see it being my main development setup. I had to deal with these: - install every tmux extension through nixpkgs - install every python package through nixpkgs - forget using pyenv - migrate almost all of the dotfiles so that it is compatible with nix ecosystem - rollback is nice but it doesnt rollback your configuration so if you did so many successive changes without rebooting you dont really know which one messed up the system - nvidia support is ass Regardless, it was a fun learning experience.
Migrated to NixOS some months ago due to not being able to make my old outdated NVIDIA GPU to work under Arch, but under NixOS it took 3 lines of config at I have been fine ever since. NixOS is truly amazing once you get used to it.
i have a lod laptop with dual graphics cards intel and nvidia geforce 820m.. but it doesnt work in any distro on wayland can you guys tell me how you make it work in nixos please . im gonna switch to it .??
I've been using NixOS for a year now. It's great but the main problem for me it's the lack of documentation in some parts of the project. Btw, using flakes (which are unstable but have been unastable for quite a few years) is really a game changer. Makes everything easier to configure and to manage in your daily chores.
I am in awe to see this magnificent distro receiving so much appreciation. Thank you very much for your contribution in making NixOS more beginner friendly. I greatly appreciate it!
Many many years ago when I was first planning my move to Linux I researched a ton of distros. Based on my criteria and what I wanted from an OS NixOS was by far the winner. However, at the time I was severely lacking in technical acumen. As a result I ended up on Mint. After years of Mint I moved to Kubuntu, then KDENeon, all were less than great experiences... Finally two years ago I moved to Nix. It's so damn good and they have made huge improvements in the areas that made it previously overly technical to many users.
(Note Bene, the following is not a brag, more like a "heh" is the proper noise if I were capable of majing it. Actually today is my 42nd birthday, which is too old to do anything.) I remember when I switched to Linux, I used Slackware on 3.5" floppies, because that was the only extant distro in 1997.
Good to know! I started down the "normal" Linux path like everyone else, distros years ago (and still, sometimes) then a year ago Arch with Window Manager, been running Arch + Hyprland for about 4 months now as my daily and love it. But I keep hearing/reading about Nixos more and more recently. Obviously jumping into something new there will be the learning curve but based on how you explained your experience, I am encouraged. I think I will check it out, thanks for the comment.
Documentation should still be better, bigger and much more specific, I tried it few months ago and I couldn't figure out how to install nvidia drivers, I believe I followed their documentation step by step exacly, tried tinkering on my own, still couldn't get it to work.
Very dependent on what kind of configuration you’re running IMO, flakes + home-manager + unstable pkgs can definitely be a headache at times. What’s your config look like? Are you relying on stable channels?
@@user-kn6pn1cn8m I think it's more like not knowing how to undo things. I had a time where I was poking around I would mess up things and didn't know what I did and how to undo it. So I would reinstall and copy paste old configs. Usually something to do with audio, multi monitors or login manager was my main points of failure. Once you understand it. It's simple but getting there is tough. Especially if you moved from windows and Mac os
@@user-kn6pn1cn8m From personal experience, no. It sure is fun having to reinstall from a backup each time a driver update or system update corrupts your system! You learn this is not too uncommon from helping family and friends reinstall their systems
I have wanted to run nixos as my main distro for a long time. But I've not had enough time to get my head wrapped around the setup. These videos will be awesome!!
Hi Chris ! I am so glad that you gave a look to NixOS. I was sure you would love it ! I have been using, hacking and exploring Nix/NixOS for almost two years. Would you be interested in exchanging more about it ? I would be very happy to give you more insights about things you might not have learnt yet (flakes, home-manager, packaging, development environment etc). Anyway, I wish you the best Nix-journey possible and will be following your adventure. Have fun and thank you for sharing those great videos with us :)
I tried to use NixOS a few weeks ago, but wanted to use flakes and home manager to do things, having separate branches for my desktop and laptop configs which could be chosen by using a single command. I wound up getting frustrated and quit because it seemed like everyone was doing different things and finding answers to my questions was a pain.
Since Nix is its own language kinda - There's often multiple ways to solve the same problem. Just like programming. Pick the way that appeals to you most.
Just do your own thing, trying to copy paste is the worst thing you can do in this case. Find the simplest templates and slowly add things on and change things as you go.
@@benign4823 I wasn't simply copy-pasting, I was encountering a problem and looking up the solution to find someone else had an entirely different setup, which added complexity in isolating what I actually had to do to solve my problems.
@@TownspersonBYou should've asked on the for***, dis***** or mat***** then. Having different configurations for different things IS part of a basic template though, which you can Google, the powers that be won't allow me to spell it. Ni*O* is so different you need to do the same things people that start with Linux do all over again.
I've been waiting for something like this for years (decades actually). I deliberately avoid doing any config to my linux systems and I use the easiest plain vanilla linux I can because it's a deadly rabbit hole of confusion and breakiness trying to customize a system. The NixOS one-off virtualization scheme is freaking brilliant and long overdue. THANKS FOR THIS!!!!
I 1000% agree why spend all that time when one wrong move and you need to rebuild and do it all again. this is gong to change my whole IT infrastructure
Changing your config on NixOS is still a rabbit hole but at least you are highly unlikely to break anything. Out of the probably thousands of changes only once ever broke something that I couldn't just roll back.
So, I'm a bit dense, but are you saying that w/ Nix, it's sort of running an "instance" of what he's specifying in the config screen in the video, almost like the OS is a hyperviser host and you're operating in an isolated "sandbox"? As compared to a more traditional distro where you're running in an "all-encompassing/all-in-one" OS?
Thank you. I've been reading up on NixOS for 3 days now and started installing it this morning to try my hand at configuring it. I typically find your videos easy to follow and for the most part can replicate your outcomes from them so this is going to be a really nice resource as I'm not gonna lie NixOS confuses me just a tad.
Chris, Discovered your channel a long time ago starting as an amateur hobbyist. Enrolled in college and have tried to completely immerse myself in the computer world. I even emailed you once about audio mixer configurations. I'm just about done with a bachelor's in cybersecurity and information assurance. Working on the SSCP certification exam right now, I have SEC+, A+, Net+, project management certified.. trying to crunch all of that before 30. I watch your videos even if they aren't relevant to what I'm studying because I am fascinated by everything. I want to become a tech priest, basically (joke, not literal lol). Blue-collar upbringing, etc. I have never installed a Linux distribution by myself, only in labs, and I have been too nervous/not confident in installing by myself. This video with the "$300k salary" made my ears perk up. I will have to tackle this. If you were starting again today, fresh out of school in 2023, what would you say to yourself? Thanks, -Ted.
It's a fun hole to jump into, learned a ton and tried to make myself some random notes on how to do certain things, but got a job JUST after I plunged myself into one distro and tested stuff on it. Now a lot of that knowledge has been replaced by my new job and stress :D I bought an old "1 liter" HP Elitedesk to use as a "lab" for installing stuff like Proxmox, Unraid, OPNsense etc. Super cheap way to get into the swing of things, paid 150-ish bucks for it and it's not too shabby, i5-8600T, 8GB (32GB max), 250GB M.2 NVMe SSD (two slots), 10Gbit USB-C, 2 DPs, one HDMI etc. Nice value and if you have more to spend, there's a ton of them around cause companies lease them for 2-3 years and sell off cheap.
This is fantastic. Thank you so much for taking the time to create and share your knowledge. I googled nix setup documentation and clicked this video. One stop. You have everything. Awesome work!
I don't think I'd ever use NixOS as daily driver, but as a rather mass deployment "device" (per see), which would be GODLY for data centers and blade servers running similar/same things. Great video, CTT! :D
It's interesting because obviously that's the intended target audience but with some refinement it could easily become the best way to setup a desktop environment.
It's actually sad that that this is the way nixos advertisement is pitched. It's actually really good for personal use, if you know how to use it. It feels like a straight up superior system, but it came from the aliens.
Just started down the nix rabbit hole. Got it installed in a vm on proxmox and used it to build a nix os pi image. Its about a 80 percent solution but I'm already a huge fan of this distro. Thanks for the videos on it, it has b3en a huge help for the steep learning curve it has!
I've been using NixOS for a few months and I love how stable it is but if you don't need supreme reproducibility I find it pretty overkill. I enjoy tinkering with it so I don't mind but I've lost count of the times I've thought "I could solve this in 10 seconds on Ubuntu" while trying to nixify a config or just get a program working the way I'd expect (NordVPN is especially brutal imo). That said the massive package list helps keep me here. I'd love to see a couple of videos about flakes and HM, I just changed my config over to them a few weeks ago and while it made some things much easier I do kinda miss the simplicity of using 1 configuration.nix for nearly everything.
When you go to do a major distro update in a year you'll be thanking that you configured it using NixOS and not a bunch of ad-hoc configs that break when software is updated. updates in Arch or Ubuntu was always a PITA if you had used software from AUR or other 3rd parties and dependencies changed. I ran a patched kernel and it automatically applies my patch to nixpkgs upstream kernel version, and it keeps the old kernel around for if anything goes wrong during boot.
I won't install it as my host OS for now but would try to learn it in docker for sure. As someone said below, it would be really taxing to rebuild the whole system every time. This is good for a particular use case, like settings up dozens of machines with the same configuration.
Wow, really interesting concept. It feels like taking a dockerfile to set up a standard container but then multiplying that 10x and doing it for a whole OS!
I have just moved to Nixos and I am having an hard time with some services that are not there in the repo, it is very difficult to understand what the code behind it is actually do it, the language itself is easy but many time it is not evident how expression are evaluated how they translate to the actual configuration. In my case I have a program that takes a configuration file as input and it is supposed to run in background. The program is that I don't know how to write the configuration to a file on the immutable filesystem and how to pack the command into a systemd service. Everything in NixOS seems ready to be used, but as soon as you have to do things "manually", it really takes a lot of time to research as the documentation is not really easy to grasp
NixOS can be awesome but the documentation is lacking and some apps don't work right with its non-standard file structure and you just want to pull your hair out getting stuff to work. I used it for while on the desktop but I ended up switching back to Fedora because configuring Neovim right was a huge headache on NixOS. I still use NixOS as a server OS on my NAS and other machines and that's where it really shines. It's so easy to configure and automate things and you can even configure docker containers with it. If there is a hardware issue, no problem just reinstall the OS, copy over your config file, rebuild the whole system and everything just works.
configuring neovim on nix os is not that hard, i managed to make it install lunarvim automatically, which is a really big configuration that turns neovim into a full blown IDE. I basically did that creating a custom package.
Nix OS has always interested my and I think it's great for deploying on a fleet of computers if you want the same configuration on every computer. It's a well done project. Also congrats on reaching 500k subs.
I started using Linux back in 2007 and did my share of distro hopping, yet i never heard about NixOS back then. I think it is because i didn't have a broadband internet connection and I used to buy IT magazines that included Linux CD-ROMs and DVD's. Finally I settled with Ubuntu because it worked fine on my Thinkpad and that's what I've being using since.
Chris, I saw that you have packages from flatpack and nix-os on your system. So I have a question: if you need to download a package and it's available in both nix and flatpack, which one would you choose and why?
i never used nix, but i guess we need to go with officially supported one.. and mostly it would be flatpak.. so if there any errors, we could easly report but then again, i guess it will hurt reproducibility of the build
Depends on what the end goal is. I find flatpak does a better job of sandboxing it... Discord for example is something I don't want having access to my files on my system. Very easy to lock it down, and still use the program. If this isn't a concern I find nix packages a bit faster than flatpak and would use it for something I want everywhere... for example neovim a text editor I use.
Ive looked a NixOS twice. The second time I tried it, I was happily generating my system config and realized you cant install the amdgpu-pro without quite a bit of hassle. This is a showstopper for me - I realized that the problem with NixOS is there are too many configuration options for all the open source projects out there, so there will always be a game of catch up on the part of Nix developers and users. A great idea in theory, but it really needs an opinionated set of core software and to direct the users to use that software if they want it easily configured.
At 07:39, actually NixOS won't build something it has already built unless the inputs change, so if you didn't touch your dwm build, there will be no extra compilation, etc. The version already built and in the Nix store will be used.
I wonder if NixOs will be suitable for my daily driving. I need KDE plasma desktop with sddm-git, pytorch with rocm enabled, firefox browser and flatpak. Will checkout sometime later this year or the next year when plasma 6 will be released. The hard block is the sddm-git which I prefer to run on wayland instead of the usual rooted xorg with plasma 5. Auto upgrade caught my attention the most. Arch does well with chaotic-aur repo. As you said , since there is very less documentation on this I was skeptical to switch to it since long time.
I have been for 3 months and used indeed for the job postings. The 300k offer was sent personally to my email and not a public posting. Just used indeed.com and Nixos as search term to get a baseline. Which is normal anything over 200k typically is privately handled by recruiters since they get a percentage of the salary if the hire goes past 90 days. Different type of hiring procedure when you get in to that realm.
I spent the last few months trying to get nixOS going. My final hurdle was a proper local WordPress development install. I tried many ways, including their WP stuff. Had to drop it to get work done but I still want to get in.
So a request to the community: What is the path to utilizing this kind of configurability? I am using Mint because I just couldn't STAND Windows anymore. (Even with Chris' tools I could never seem to get away from telemetry and updates overwriting my preferences.) Since installing Mint I have used it for routine tasks like web browsing and word processing. I know this must sound completely lame but I was a ham and egg Windows/NT networks sysadmin for a few years then transitioned into human services ten years ago; I want to learn how to use this system. I was never into bleeding edge and I never subscribed to tech magazines - I just managed desktops and LAN and CRM at a small software company. Every time I try to engage with Linux I just get frustrated and fall back into standard tasks. Can you recommend a path to understanding how to maintain a stable Mint system and then broaden my horizons?
I have heard about nixos b4 that it's really good for maintenance, security and configuration. Though, I would be interested to see the heights of automations that can be done in nixos which sets it apart from other distro. Also, I use Manjaro like an Arch user. I use Hyprland btw.
What sets it apart is that it's "config as code" all the way, meaning that everything you'd do on another distro by clicking, pointing, selecting, editing configs and what not *on every machine* manually, you do once in your (ideally version controlled) nix config. That means that even if it's a steep learning curve, you'll never need to do the same task more than once. And that's just the start, you can also build logic in your system declarations that makes settings depend on eachother, or the device architecture, etc.
So are we going in circles? We were trying to make things more modular , I am wondering what is going to happen if that file gets corrupted and a user doesn’t have a backup.
simply whoa. just the simple fact that I can export this to a git repo and rebuild by system from scratch on another machine is enough of a selling point for me. Time to spin up a VM and start tweaking.
I’m on a Manjaro system at the moment. Running Plasma Wayland with a btrfs disk and I am failing to see why NixOS is *that* good otherwise from a deployment standpoint (which doesn’t make any difference to me whatsoever with a single system under my administration). Maybe if I were imaging lots of stations I could agree, but perhaps I’m just missing the point here. Looks slick enough though.
So for the job types referenced, which is enterprise level, how does this fit into what is traditionally a RHEL world on hosted virtual hosts or public cloud? Is this replacing RHEL or complimenting it? Is this like Vagrant in being able to create the server and app setup and replicate it in situations where you are not using containers?
I tried using it once before and absolutely love it. I love having everything managed in a single file (if you want to), my issue came when trying to install things that are tricky to install on, let's say, pop os or arch. I keep looking for reasons to go back, I just need to know a bit more on how it works.
I ran it for a while about a year ago, I can't remember why I went back to tumbleweed, probably because I wanted a rolling release again, but I just switch back to nixos a few days ago after realizing I could just run the unstable branch as a rolling release, so I got stable installed and sorted, then I switched to unstable, and now I can choose to boot either stable and unstable, I don't know of any other distro that can do that, and if something eventually breaks on unstable I can just boot back into either another working unstable generation, or boot back into stable, its kind of like having btrfs snapshots without having to run btrfs, I can't see myself moving to another distro ever again.
@Kurt M. No, the nix store is read only. So your active config (everything, binaries and configs) is immutable and can only be updated with "nixos-rebuild switch" (with sudo).
Going to go through all of your nix contents. I've been using it, but the most advanced thing I've done has been to set some aliases (pretty complex ones, but still nothing unique to nix) and options. Thanks, I really needed these examples and explanations.
i configured the whole thing in like 4 days by rushing it and now i am fixing stuff! really good distro i love it and i love configuring my os with nix
Around 7:40 you said the custom derivation might be rebuilt on every rebuild. Except it won't, the artefacts will remain in the nix store. Which is the point of caching derivations by hash.
I'm a Nix (shell.nix) user on macOS for Clojure development, for ~5 years by now. I did use NixOS too a couple of times on real hardware too. No more lengthy installation notes in READMEs to follow (for most software)! It's just faaaantastic! I still install my GUI apps with `brew install --cask` though.
I spent a whole day trying to install NixOS onto one of my SSD partitions last week via different methods but I could never figure out how to get it to boot. I even attempted manual installation via command line before giving up. I am currently using three distros on my boot SSD, and I have distro hopped about a dozen distros so far. Maybe NixOS doesn’t share a sandbox well with others? rEFInd is my boot manager. rEFInd cannot see a bootable NixOS volume following installation from the NixOS gnome live installer USB stick. Various work arounds with GRUB (which rEFInd knows about and allows me to load) did not succeed in getting NixOS to show up. Hours spent reading forums and the NixOS installation guide did not solve it. Maybe I will try installing NixOS onto a freshly formatted SSD and see if I can get a bootable computer that way, but I don’t have the time to waste another day on this project right now. I am too frustrated with the installation process versus all the other linux distros I tried and succeeded installing. PS, None of the NixOS installers work from my Ventoy flash drive. They all kernel panic early in the installer’s boot… at least on my HP Dev One laptop (Ryzen 7 with 64 gb RAM.) I currently have six other distros on my Ventoy USB stick that work perfectly well. Only NixOS panics every time.
Nix is a from-source package manager with optional binary caches. Installing a package will check if that exact configuration of that exact package is available in a binary cache (built by Hydra). If it's there, it'll download it and move on. If not, it'll instead fetch the source files and build it locally. For dwm shown in the video, Nix technically would still check if it's in the binary cache, see that it's not there since the source files are slightly different, and then build using the local source code.
I'm intrigued. One problem I have with my computers at home is they tend to accumulate cruft as I solve problems, and I forget what I've done. I've tried putting config files in Git and so on but it takes discipline. It seems as if nixOS might have the answer to that.
Ok. Absolutely one to try out if you are planning to become an it-professional. Not quite Arch, but before diving into some deep level OS stuff. Intermediate difficulty.
I always wondered why linux package managers didn't support version targetting to avoid dependency hell where upgrading a library can potentially blow everything up, maybe I should give NixOS a try
Nixpkgs is more similar to other package managers than you might expect, in that regard. Out of the box you can not upgrade a single package, you can only upgrade your entire system. The nixpkgs repo mostly has a single version of any given package at any given time - though for major packages or language runtimes (like node or ruby) it's common to have distinct packages for different major versions. Pinning a single package from an older version of nixpkgs is certainly possible, and works pretty well, but it's a bit advanced, and has its drawbacks. For example, an old package will use an old version of OpenSSL, no matter what. Nix more or less forces all dynamic linking to be "static".
It has the potential to become useful, but putting all or even most config options for the system into one file only makes sense if the file is going to be auto-generated by a script or something of that sort. It can very quickly get bloated and become a burden to have to search through it each time you want to make a simple change...whereas Fedora, which I prefer, and most other linux distros keep all config stuff in /etc and it's just a matter of knowing what you want to configure. Usually the config is the same name as the program .conf which isn't difficult to remember.
So let me get this right. My single config file that I create that has all my desktop settings, all the software details that I have can be saved externally? So if my machine dies, get a default build up and running and import (for want of a better word) the config file- to recreate my "original" box?
I've set up an old laptop, with manual password at start of Bios bootup (thus owner "0" set access - not internet boots), then it needs Encryption Password, then you need user/root passwords. This has been successful so far, Do you have a safer method to protect against intrusions? Maybe lockout bios password if not successful within 3 attempts (only accessible if unlock password is entered)? I've left the laptop on, with Int, access enabled, in sleep mode and i haven't had any problems because of encryption - should I worry? Maybe limit root password access to specific user? PS. really enjoyed your automation of NIXos, and it makes understanding linux processes a lot easier for this 67year old.
Thanks for this video. I was wanting to configure NixOS, but didn´t have the time to figure it out. It looked like something I would love once I got it configured though. Great video explaining the basics of how to get up and running.
Been playing with NixOS and I like it. BUT, I have discovered they have zero tracking or facilities for handling security issues and updates. There is no one tracking what security issues exist, what needs to be updated etc, its totally up to whoever to updates the individual nix software packages whenever they feel like it.
how did i never view any of this distro after so many year using archlinux... thx fir the discovery, it probably will become my main OS in a week or 2.
Small thing, unrelated to nixos itself: you say you like the Meslo font, and kitty reports Meslo as the font being used, but looking at your terminal, Meslo is not the current font, that's actually Google's Noto Sans Mono. Config error?
idk if this matters, I used to use Gentoo back in the day, but anything I usually want to do these days is only supported on ubuntu/centos. Fussing around with nixos just doesn't have the same value. It's kind of annoying to have to rebuild the entire config just because I need to install one program too.
Funny, suddenly today, I'm seeing videos about NixOS suddenly show up on YT. NixOS has been around since before Ubuntu but it's always been that quiet one in the back of the room kind of distro for me with the louder ones, Arch, Fedora, Debian, Ubuntu, etc., having the main focus. Definitely time I finally take a look at this one.
same for me. today half my recommended videos are about nix and i had never heard of it before, certainly never searched for it. did they pay for that or what lol
I have been streaming it for 2 week straight and talking about it on twitter. I guess everyone decided today was the day to put a video out about it. I only looked at it because of the job offer I received last month.
I tried it 2 times before , both unsuccessful the amount of time needed to learn the language is beyond me. i don't have that much time. One of my problems was i couldn't open specific appimages on nix. i suspect some of runtime dependencies were not universally available . now i hope i can go for a 3rd dive using your tutorial.
Thanks for the video, Some months ( 6 or 8 ) ago looked Nixos but in that time, for my looks outdated the distro but now, feels like has everything. With your config, can you run Steam and Retro Arch and code in C++ and C# ?
Thanks to this video, I've tried Linux for the first time, and now migrated to it. Everything in NixOS worked straight out of the box, and although in the end I still needed to do a lot of configuration and figuring out, it is easier to set up lagless and optimized system than on Windows. Much less work and arcane knowledge required. And result? I have a more stable, prettier and better working system!
One of the biggest things to pay attention which want to mention though - I had limited color range set by default on Intel videocard. On X11 with KDE for some reason there is no option for this in System Settings. Curiously enough, this option exists when using Wayland. But Wayland is not ready for serious gaming yet. So, the program to know if you have limited color range is "xrandr --verbose". You will find you display there and line saying "Broadcast RGB" (this is for Intel cards). By default I had it at "Limited 16:235" (which is obviously not good). The way I figured out to change it, is to execute xrandr command when display manager starts each time when you load your system. I've done it from configuration.nix in the following way: services.xserver.displayManager.setupCommands = '' ${pkgs.xorg.xrandr}/bin/xrandr --output --set 'Broadcast RGB' 'Full' '';
in the same way, it is also possible to for example, overclock your monitor. My monitor has only 60 Hz modes officially integrated, but is actually capable of 75 Hz. I was able to do so on Windows with NVIDIA card. Unfortunately, either because of Intel card or different OS, right now I can only do 73 Hz otherwise it is messed up, but at least it's not 60 Hz.
NixOS Article: christitus.com/nixos-explained/
Titus Tech Talk NixOS Videos: th-cam.com/play/PLgVG4PNqM5SbjFzePr_YZJKafNf_ngbq3.html
Microsoft is integrating copilot in their os. Copilot in each and every app. I'm sure they will add copilot into powershell. What do I need Nix command line and tinkering for.
@@univera1111 bro enjoys getting his data collected 💀💀💀
You lost me at flatpak - I don't see a use for something that the OS cannot see is installed. It's how viruses wants to be installed - with the OS completely oblivious to it.
I dislike how integrated it is in SteamOS and how you cannot launch the lutris from command-line.
Off topic possibly: Do a video on the 'virsh' command. Seems to be super powerful but slightly obscure.
You need to use flakes!
I've been using NixOS for the past 8 months or so. It's completely changed how I manage my system. Everything has a learning curve, but once you get past it the rewards never stop flowing.
i have a question
does nixos being non-FSH compliant makes anything impossible or harder for you?
I heard that this is a deal breaker for some people
@@fizipcfx It's not a problem for me because I have 2 fallbacks... steam-run and Distrobox. This has solved 100% of software/scripts that don't run out of the box on Nix.
@@fizipcfxpersonally faced no issues as just about everything I need is on nixpkgs.
but if you have a binary that requires FHS, nixos has a builder function that just wraps a package in an FHS environment, which is the recommended way (this is how the official package for steam, android-studio works)
but if you want to add back some DLLs system-wide, there's nix-ld. it just adds support for dynamic libraries the way it's done in regular distros (with the version incompatibilities and all, that nix is trying to solve. i recommend using it but keeping it to a minimum)
I am going to answer my own question because i had used nixos for a while now. Most of the generalized stuff works out of the box without much intervention thats very nice but, development almost always get in my way. (Python c++ cuda) Either do everything inside docker, or you are gonna have to let the nix define the way you work. I have installed it on my laptop that i carry everywhere but i dont see it being my main development setup.
I had to deal with these:
- install every tmux extension through nixpkgs
- install every python package through nixpkgs
- forget using pyenv
- migrate almost all of the dotfiles so that it is compatible with nix ecosystem
- rollback is nice but it doesnt rollback your configuration so if you did so many successive changes without rebooting you dont really know which one messed up the system
- nvidia support is ass
Regardless, it was a fun learning experience.
@@fizipcfxYeah ! Very same question from me as well ;{
Migrated to NixOS some months ago due to not being able to make my old outdated NVIDIA GPU to work under Arch, but under NixOS it took 3 lines of config at I have been fine ever since.
NixOS is truly amazing once you get used to it.
Same thing for me, now i'm using hyprland with nvidia gpu on nixos with no issues at all. It's really good, but it took me more than 3 lines to set up
bro how to fully delete firefox and other basic packages?I use this distro but i dont know.And how i can install thorium browser appimage?
@@FedoraSilverbluethorium is bad, please use ungoogled chromium instead my friend.
i have a lod laptop with dual graphics cards intel and nvidia geforce 820m.. but it doesnt work in any distro on wayland can you guys tell me how you make it work in nixos please . im gonna switch to it .??
the card run under nvidia legacy 390xx
"One config to rule them all" i absolutely love this kind of approach. Chris thank you for sharing your research. That's really cool ro know!
I tried nixOS back in the nightingale release. It was a lot of work. Felt like it hadn't matured yet. Great to see it again.
I've been using NixOS for a year now. It's great but the main problem for me it's the lack of documentation in some parts of the project. Btw, using flakes (which are unstable but have been unastable for quite a few years) is really a game changer. Makes everything easier to configure and to manage in your daily chores.
like touching grass?
@@556WalkemdownTorrents 😂
I am in awe to see this magnificent distro receiving so much appreciation. Thank you very much for your contribution in making NixOS more beginner friendly. I greatly appreciate it!
Many many years ago when I was first planning my move to Linux I researched a ton of distros. Based on my criteria and what I wanted from an OS NixOS was by far the winner. However, at the time I was severely lacking in technical acumen. As a result I ended up on Mint. After years of Mint I moved to Kubuntu, then KDENeon, all were less than great experiences... Finally two years ago I moved to Nix. It's so damn good and they have made huge improvements in the areas that made it previously overly technical to many users.
(Note Bene, the following is not a brag, more like a "heh" is the proper noise if I were capable of majing it. Actually today is my 42nd birthday, which is too old to do anything.)
I remember when I switched to Linux, I used Slackware on 3.5" floppies, because that was the only extant distro in 1997.
@@merbst pretty sure Debian and Red Hat existed before 1997
Good to know! I started down the "normal" Linux path like everyone else, distros years ago (and still, sometimes) then a year ago Arch with Window Manager, been running Arch + Hyprland for about 4 months now as my daily and love it. But I keep hearing/reading about Nixos more and more recently. Obviously jumping into something new there will be the learning curve but based on how you explained your experience, I am encouraged. I think I will check it out, thanks for the comment.
Documentation should still be better, bigger and much more specific, I tried it few months ago and I couldn't figure out how to install nvidia drivers, I believe I followed their documentation step by step exacly, tried tinkering on my own, still couldn't get it to work.
why not just use Arch?
Been using it as a daily driver for about 1 and half Years. I have found it to be shockingly stable.
@@chan.sorman Tbf that's surprisingly easy to do
Very dependent on what kind of configuration you’re running IMO, flakes + home-manager + unstable pkgs can definitely be a headache at times. What’s your config look like? Are you relying on stable channels?
@@user-kn6pn1cn8m I think it's more like not knowing how to undo things. I had a time where I was poking around I would mess up things and didn't know what I did and how to undo it. So I would reinstall and copy paste old configs. Usually something to do with audio, multi monitors or login manager was my main points of failure.
Once you understand it. It's simple but getting there is tough. Especially if you moved from windows and Mac os
@@user-kn6pn1cn8m From personal experience, no. It sure is fun having to reinstall from a backup each time a driver update or system update corrupts your system! You learn this is not too uncommon from helping family and friends reinstall their systems
1.5 years, and you only have that much to say? Well you sound like the guy who only uses his pc for YT
I have wanted to run nixos as my main distro for a long time. But I've not had enough time to get my head wrapped around the setup. These videos will be awesome!!
Hi Chris !
I am so glad that you gave a look to NixOS. I was sure you would love it !
I have been using, hacking and exploring Nix/NixOS for almost two years.
Would you be interested in exchanging more about it ? I would be very happy to give you more insights about things you might not have learnt yet (flakes, home-manager, packaging, development environment etc).
Anyway, I wish you the best Nix-journey possible and will be following your adventure.
Have fun and thank you for sharing those great videos with us :)
This is amazing! Thanks for highlighting it, I'm definitely interested in this project. Congrats on the 500K sub milestone, as well!!
I tried to use NixOS a few weeks ago, but wanted to use flakes and home manager to do things, having separate branches for my desktop and laptop configs which could be chosen by using a single command. I wound up getting frustrated and quit because it seemed like everyone was doing different things and finding answers to my questions was a pain.
Since Nix is its own language kinda - There's often multiple ways to solve the same problem. Just like programming. Pick the way that appeals to you most.
Just do your own thing, trying to copy paste is the worst thing you can do in this case.
Find the simplest templates and slowly add things on and change things as you go.
@@benign4823 I wasn't simply copy-pasting, I was encountering a problem and looking up the solution to find someone else had an entirely different setup, which added complexity in isolating what I actually had to do to solve my problems.
@@TownspersonBYou should've asked on the for***, dis***** or mat***** then.
Having different configurations for different things IS part of a basic template though, which you can Google, the powers that be won't allow me to spell it.
Ni*O* is so different you need to do the same things people that start with Linux do all over again.
@@TownspersonBCan't spell those names without my comment getting instantly deleted, sorry for the stars.
I've been waiting for something like this for years (decades actually). I deliberately avoid doing any config to my linux systems and I use the easiest plain vanilla linux I can because it's a deadly rabbit hole of confusion and breakiness trying to customize a system. The NixOS one-off virtualization scheme is freaking brilliant and long overdue. THANKS FOR THIS!!!!
I 1000% agree why spend all that time when one wrong move and you need to rebuild and do it all again. this is gong to change my whole IT infrastructure
NixOS already having been in development since 2003, older than most distros lol
Changing your config on NixOS is still a rabbit hole but at least you are highly unlikely to break anything. Out of the probably thousands of changes only once ever broke something that I couldn't just roll back.
So, I'm a bit dense, but are you saying that w/ Nix, it's sort of running an "instance" of what he's specifying in the config screen in the video, almost like the OS is a hyperviser host and you're operating in an isolated "sandbox"? As compared to a more traditional distro where you're running in an "all-encompassing/all-in-one" OS?
You're not the targeted audience for Linux, my friend. If you're afraid of configurations, just stick to Windows.
I use arch btw.
I use SteamDeck, so technically me too btw! :D
@@dandiaz19934 w
i use endeavouros btw
@@linuxstreamer8910 another w distro.
@@linuxstreamer8910 endeavouros and arco linux arch cheating right XD
Thank you. I've been reading up on NixOS for 3 days now and started installing it this morning to try my hand at configuring it. I typically find your videos easy to follow and for the most part can replicate your outcomes from them so this is going to be a really nice resource as I'm not gonna lie NixOS confuses me just a tad.
Chris,
Discovered your channel a long time ago starting as an amateur hobbyist. Enrolled in college and have tried to completely immerse myself in the computer world. I even emailed you once about audio mixer configurations. I'm just about done with a bachelor's in cybersecurity and information assurance. Working on the SSCP certification exam right now, I have SEC+, A+, Net+, project management certified.. trying to crunch all of that before 30. I watch your videos even if they aren't relevant to what I'm studying because I am fascinated by everything. I want to become a tech priest, basically (joke, not literal lol). Blue-collar upbringing, etc. I have never installed a Linux distribution by myself, only in labs, and I have been too nervous/not confident in installing by myself. This video with the "$300k salary" made my ears perk up. I will have to tackle this. If you were starting again today, fresh out of school in 2023, what would you say to yourself? Thanks, -Ted.
It's a fun hole to jump into, learned a ton and tried to make myself some random notes on how to do certain things, but got a job JUST after I plunged myself into one distro and tested stuff on it. Now a lot of that knowledge has been replaced by my new job and stress :D
I bought an old "1 liter" HP Elitedesk to use as a "lab" for installing stuff like Proxmox, Unraid, OPNsense etc. Super cheap way to get into the swing of things, paid 150-ish bucks for it and it's not too shabby, i5-8600T, 8GB (32GB max), 250GB M.2 NVMe SSD (two slots), 10Gbit USB-C, 2 DPs, one HDMI etc. Nice value and if you have more to spend, there's a ton of them around cause companies lease them for 2-3 years and sell off cheap.
good luck with your stuff
This is fantastic. Thank you so much for taking the time to create and share your knowledge. I googled nix setup documentation and clicked this video. One stop. You have everything. Awesome work!
I don't think I'd ever use NixOS as daily driver, but as a rather mass deployment "device" (per see), which would be GODLY for data centers and blade servers running similar/same things.
Great video, CTT! :D
It's interesting because obviously that's the intended target audience but with some refinement it could easily become the best way to setup a desktop environment.
It's actually sad that that this is the way nixos advertisement is pitched. It's actually really good for personal use, if you know how to use it. It feels like a straight up superior system, but it came from the aliens.
Thanks!
Just started down the nix rabbit hole. Got it installed in a vm on proxmox and used it to build a nix os pi image. Its about a 80 percent solution but I'm already a huge fan of this distro. Thanks for the videos on it, it has b3en a huge help for the steep learning curve it has!
I've been using NixOS for a few months and I love how stable it is but if you don't need supreme reproducibility I find it pretty overkill. I enjoy tinkering with it so I don't mind but I've lost count of the times I've thought "I could solve this in 10 seconds on Ubuntu" while trying to nixify a config or just get a program working the way I'd expect (NordVPN is especially brutal imo). That said the massive package list helps keep me here.
I'd love to see a couple of videos about flakes and HM, I just changed my config over to them a few weeks ago and while it made some things much easier I do kinda miss the simplicity of using 1 configuration.nix for nearly everything.
When you go to do a major distro update in a year you'll be thanking that you configured it using NixOS and not a bunch of ad-hoc configs that break when software is updated. updates in Arch or Ubuntu was always a PITA if you had used software from AUR or other 3rd parties and dependencies changed. I ran a patched kernel and it automatically applies my patch to nixpkgs upstream kernel version, and it keeps the old kernel around for if anything goes wrong during boot.
bro how to fully delete firefox and other basic packages?I use this distro but i dont know.And how i can install thorium browser appimage?
I won't install it as my host OS for now but would try to learn it in docker for sure. As someone said below, it would be really taxing to rebuild the whole system every time.
This is good for a particular use case, like settings up dozens of machines with the same configuration.
The entire system isn't rebuilt. Everything you build is saved in the Nix store and reused. Most packages are also pulled from a global cache.
@@quasigod1083 Fair, makes a lot of sense.
Thanks!
next up, dig into home-manager and Flakes.. that takes nix to a whole new level.
Wow, really interesting concept. It feels like taking a dockerfile to set up a standard container but then multiplying that 10x and doing it for a whole OS!
I have just moved to Nixos and I am having an hard time with some services that are not there in the repo, it is very difficult to understand what the code behind it is actually do it, the language itself is easy but many time it is not evident how expression are evaluated how they translate to the actual configuration.
In my case I have a program that takes a configuration file as input and it is supposed to run in background. The program is that I don't know how to write the configuration to a file on the immutable filesystem and how to pack the command into a systemd service.
Everything in NixOS seems ready to be used, but as soon as you have to do things "manually", it really takes a lot of time to research as the documentation is not really easy to grasp
NixOS can be awesome but the documentation is lacking and some apps don't work right with its non-standard file structure and you just want to pull your hair out getting stuff to work. I used it for while on the desktop but I ended up switching back to Fedora because configuring Neovim right was a huge headache on NixOS. I still use NixOS as a server OS on my NAS and other machines and that's where it really shines. It's so easy to configure and automate things and you can even configure docker containers with it. If there is a hardware issue, no problem just reinstall the OS, copy over your config file, rebuild the whole system and everything just works.
configuring neovim on nix os is not that hard, i managed to make it install lunarvim automatically, which is a really big configuration that turns neovim into a full blown IDE. I basically did that creating a custom package.
Nix OS has always interested my and I think it's great for deploying on a fleet of computers if you want the same configuration on every computer. It's a well done project.
Also congrats on reaching 500k subs.
I started using Linux back in 2007 and did my share of distro hopping, yet i never heard about NixOS back then. I think it is because i didn't have a broadband internet connection and I used to buy IT magazines that included Linux CD-ROMs and DVD's. Finally I settled with Ubuntu because it worked fine on my Thinkpad and that's what I've being using since.
Chris, I saw that you have packages from flatpack and nix-os on your system. So I have a question: if you need to download a package and it's available in both nix and flatpack, which one would you choose and why?
i never used nix, but i guess we need to go with officially supported one..
and mostly it would be flatpak.. so if there any errors, we could easly report
but then again, i guess it will hurt reproducibility of the build
I personally always use flatpak packages for all the GUI apps I have, love the modularity.
Depends on what the end goal is. I find flatpak does a better job of sandboxing it... Discord for example is something I don't want having access to my files on my system. Very easy to lock it down, and still use the program. If this isn't a concern I find nix packages a bit faster than flatpak and would use it for something I want everywhere... for example neovim a text editor I use.
@@ChrisTitusTechGreat examples
Really appreciate your work Chris! It's crazy how you single handedly work so much to give back to the community.
Been using NixOS for 2 years now. It's absolutely revolutionary. It's the correct way of packaging software and handling dependencies.
This is the best explanation I've seen yet, as someone that has no idea about it. Thank you!
Business loves it, because it can be long term supported , in theory.
Like a machine that can have 20 year software support.
Having everything in one config file is wonderful. That’s always been an issue finding where everything is in every slightly different distros
Ive looked a NixOS twice. The second time I tried it, I was happily generating my system config and realized you cant install the amdgpu-pro without quite a bit of hassle. This is a showstopper for me - I realized that the problem with NixOS is there are too many configuration options for all the open source projects out there, so there will always be a game of catch up on the part of Nix developers and users. A great idea in theory, but it really needs an opinionated set of core software and to direct the users to use that software if they want it easily configured.
Looks like I've got some distro-hopping to do now!
At 07:39, actually NixOS won't build something it has already built unless the inputs change, so if you didn't touch your dwm build, there will be no extra compilation, etc. The version already built and in the Nix store will be used.
I wonder if NixOs will be suitable for my daily driving. I need KDE plasma desktop with sddm-git, pytorch with rocm enabled, firefox browser and flatpak.
Will checkout sometime later this year or the next year when plasma 6 will be released. The hard block is the sddm-git which I prefer to run on wayland instead of the usual rooted xorg with plasma 5.
Auto upgrade caught my attention the most.
Arch does well with chaotic-aur repo.
As you said , since there is very less documentation on this I was skeptical to switch to it since long time.
I'm currently working on transitioning to NixOS on my laptop and hopefully soon on my main rig. Absolutely love it so far
I have two questions:
Do you plan to daily drive this?
Can you link the job postings?
I have been for 3 months and used indeed for the job postings. The 300k offer was sent personally to my email and not a public posting. Just used indeed.com and Nixos as search term to get a baseline.
Which is normal anything over 200k typically is privately handled by recruiters since they get a percentage of the salary if the hire goes past 90 days. Different type of hiring procedure when you get in to that realm.
An app that makes a config file for nix os would be nice. Like the debloater you have for windows, just for nixos before install.
Gcc can do it
I spent the last few months trying to get nixOS going. My final hurdle was a proper local WordPress development install. I tried many ways, including their WP stuff. Had to drop it to get work done but I still want to get in.
So a request to the community:
What is the path to utilizing this kind of configurability? I am using Mint because I just couldn't STAND Windows anymore. (Even with Chris' tools I could never seem to get away from telemetry and updates overwriting my preferences.) Since installing Mint I have used it for routine tasks like web browsing and word processing.
I know this must sound completely lame but I was a ham and egg Windows/NT networks sysadmin for a few years then transitioned into human services ten years ago; I want to learn how to use this system. I was never into bleeding edge and I never subscribed to tech magazines - I just managed desktops and LAN and CRM at a small software company. Every time I try to engage with Linux I just get frustrated and fall back into standard tasks. Can you recommend a path to understanding how to maintain a stable Mint system and then broaden my horizons?
First thought: you found out what a real, coherent OS looks like. I miss them times when that was more common.
Haha imagine your OS sticks together and isn't just a weird mess lol
I have heard about nixos b4 that it's really good for maintenance, security and configuration. Though, I would be interested to see the heights of automations that can be done in nixos which sets it apart from other distro.
Also, I use Manjaro like an Arch user. I use Hyprland btw.
What sets it apart is that it's "config as code" all the way, meaning that everything you'd do on another distro by clicking, pointing, selecting, editing configs and what not *on every machine* manually, you do once in your (ideally version controlled) nix config. That means that even if it's a steep learning curve, you'll never need to do the same task more than once. And that's just the start, you can also build logic in your system declarations that makes settings depend on eachother, or the device architecture, etc.
I use arch linux with xmonad btw
I had some problems with my second SSD, and I had to mount it every time again and again. Any idea what the problem was?
So are we going in circles? We were trying to make things more modular , I am wondering what is going to happen if that file gets corrupted and a user doesn’t have a backup.
obviously rule number 1 is back up and version this file
Wow! Thanks for your time & effort putting all this together. I’m going in!
How do you manage secrets? You mount the remote shares, how do you handle the password for those remote shares?
simply whoa. just the simple fact that I can export this to a git repo and rebuild by system from scratch on another machine is enough of a selling point for me. Time to spin up a VM and start tweaking.
I’m on a Manjaro system at the moment. Running Plasma Wayland with a btrfs disk and I am failing to see why NixOS is *that* good otherwise from a deployment standpoint (which doesn’t make any difference to me whatsoever with a single system under my administration). Maybe if I were imaging lots of stations I could agree, but perhaps I’m just missing the point here. Looks slick enough though.
bro! im installing nixos RIGHT NOW. this is amazing!
Thanks Chris for you educational videos! much apreciate all your work. kind regards from Argentina
this seems fantasic, i love that you do content like this as like a more educationally focused thing - nice work
So for the job types referenced, which is enterprise level, how does this fit into what is traditionally a RHEL world on hosted virtual hosts or public cloud? Is this replacing RHEL or complimenting it? Is this like Vagrant in being able to create the server and app setup and replicate it in situations where you are not using containers?
I tried using it once before and absolutely love it. I love having everything managed in a single file (if you want to), my issue came when trying to install things that are tricky to install on, let's say, pop os or arch. I keep looking for reasons to go back, I just need to know a bit more on how it works.
I ran it for a while about a year ago, I can't remember why I went back to tumbleweed, probably because I wanted a rolling release again, but I just switch back to nixos a few days ago after realizing I could just run the unstable branch as a rolling release, so I got stable installed and sorted, then I switched to unstable, and now I can choose to boot either stable and unstable, I don't know of any other distro that can do that, and if something eventually breaks on unstable I can just boot back into either another working unstable generation, or boot back into stable, its kind of like having btrfs snapshots without having to run btrfs, I can't see myself moving to another distro ever again.
Interesting how they have a central registry/config file kinda like Windows. Doesn't that make for a vulnerability?
It's not like all the apps will mess with it willy nilly
It not like you can install software via windows registry
@Kurt M. No, the nix store is read only. So your active config (everything, binaries and configs) is immutable and can only be updated with "nixos-rebuild switch" (with sudo).
Going to go through all of your nix contents. I've been using it, but the most advanced thing I've done has been to set some aliases (pretty complex ones, but still nothing unique to nix) and options. Thanks, I really needed these examples and explanations.
I'm curious which hedge fund offered you the position? Citadel? Not sure if they work with NixOS though.
i configured the whole thing in like 4 days by rushing it and now i am fixing stuff! really good distro i love it and i love configuring my os with nix
Around 7:40 you said the custom derivation might be rebuilt on every rebuild.
Except it won't, the artefacts will remain in the nix store. Which is the point of caching derivations by hash.
Thank you so much Titus - I had been getting around to learning and trying it out - with many job offers for this expertise.. hard to pass up.
Hey Chris, I am wondering why you disable IPv6 in your NixOS configuration. Any particular reason?
i think he explained it in the live stream probably some bit got edited .
because he doesn't have anything that uses ipv6 in his setup.
Great video. I actually started looking into getting good with Nix and see if I can get a job doing that
I'm a Nix (shell.nix) user on macOS for Clojure development, for ~5 years by now.
I did use NixOS too a couple of times on real hardware too.
No more lengthy installation notes in READMEs to follow (for most software)!
It's just faaaantastic!
I still install my GUI apps with `brew install --cask` though.
I spent a whole day trying to install NixOS onto one of my SSD partitions last week via different methods but I could never figure out how to get it to boot. I even attempted manual installation via command line before giving up. I am currently using three distros on my boot SSD, and I have distro hopped about a dozen distros so far.
Maybe NixOS doesn’t share a sandbox well with others?
rEFInd is my boot manager. rEFInd cannot see a bootable NixOS volume following installation from the NixOS gnome live installer USB stick. Various work arounds with GRUB (which rEFInd knows about and allows me to load) did not succeed in getting NixOS to show up. Hours spent reading forums and the NixOS installation guide did not solve it.
Maybe I will try installing NixOS onto a freshly formatted SSD and see if I can get a bootable computer that way, but I don’t have the time to waste another day on this project right now. I am too frustrated with the installation process versus all the other linux distros I tried and succeeded installing.
PS, None of the NixOS installers work from my Ventoy flash drive. They all kernel panic early in the installer’s boot… at least on my HP Dev One laptop (Ryzen 7 with 64 gb RAM.) I currently have six other distros on my Ventoy USB stick that work perfectly well. Only NixOS panics every time.
Is there a way to automatically install and build software from source, bzc a lot of softwares are not available in package form.
Nix is a from-source package manager with optional binary caches. Installing a package will check if that exact configuration of that exact package is available in a binary cache (built by Hydra). If it's there, it'll download it and move on. If not, it'll instead fetch the source files and build it locally.
For dwm shown in the video, Nix technically would still check if it's in the binary cache, see that it's not there since the source files are slightly different, and then build using the local source code.
Great video! Are you recording this on a NixOS machine? Or is this some kind of VM?
Thanks for the quick overview, this distro, seems to be everywhere now and not sure how I missed it before now. Again, thanks, and God bless
I'm intrigued. One problem I have with my computers at home is they tend to accumulate cruft as I solve problems, and I forget what I've done. I've tried putting config files in Git and so on but it takes discipline. It seems as if nixOS might have the answer to that.
You're doing the lord's work up here Chris!
Why not just use ansible or something like it? What's the value prop to investing in a new distro?
Ok. Absolutely one to try out if you are planning to become an it-professional. Not quite Arch, but before diving into some deep level OS stuff. Intermediate difficulty.
I always wondered why linux package managers didn't support version targetting to avoid dependency hell where upgrading a library can potentially blow everything up, maybe I should give NixOS a try
Nixpkgs is more similar to other package managers than you might expect, in that regard. Out of the box you can not upgrade a single package, you can only upgrade your entire system. The nixpkgs repo mostly has a single version of any given package at any given time - though for major packages or language runtimes (like node or ruby) it's common to have distinct packages for different major versions.
Pinning a single package from an older version of nixpkgs is certainly possible, and works pretty well, but it's a bit advanced, and has its drawbacks. For example, an old package will use an old version of OpenSSL, no matter what. Nix more or less forces all dynamic linking to be "static".
Will be giving this a try!
It has the potential to become useful, but putting all or even most config options for the system into one file only makes sense if the file is going to be auto-generated by a script or something of that sort. It can very quickly get bloated and become a burden to have to search through it each time you want to make a simple change...whereas Fedora, which I prefer, and most other linux distros keep all config stuff in /etc and it's just a matter of knowing what you want to configure. Usually the config is the same name as the program .conf which isn't difficult to remember.
Ctrl-F
well done Chris 👏🏻👏🏻👏🏻👏🏻
What would be the pros & cons between using NixOS and Docker ?
Yes finally love the concepts going to install this tomorrow
Whats the difference between this 'one config file' and using an Ansible playbook to recreate systems consistently?
as usual chris, another amazing tutorial for both noob and advanced.....
Looks like a nice configuration management built into the OS like Puppet or Chef. Reminds me of the 'gitlab-ctl reconfigure' command.
Hi Chris, great content, can you add an article how to auto-add a local samba share on the machine?
So let me get this right. My single config file that I create that has all my desktop settings, all the software details that I have can be saved externally? So if my machine dies, get a default build up and running and import (for want of a better word) the config file- to recreate my "original" box?
Thank you for reminding me that we only die once we stop learning and that it's possible to be as young as yourself for so very long.
I've set up an old laptop, with manual password at start of Bios bootup (thus owner "0" set access - not internet boots), then it needs Encryption Password, then you need user/root passwords.
This has been successful so far, Do you have a safer method to protect against intrusions? Maybe lockout bios password if not successful within 3 attempts (only accessible if unlock password is entered)? I've left the laptop on, with Int, access enabled, in sleep mode and i haven't had any problems because of encryption - should I worry? Maybe limit root password access to specific user?
PS. really enjoyed your automation of NIXos, and it makes understanding linux processes a lot easier for this 67year old.
Hi Chris can you comment on how NixOS compares to Tuxedo?
Thanks for this video. I was wanting to configure NixOS, but didn´t have the time to figure it out. It looked like something I would love once I got it configured though. Great video explaining the basics of how to get up and running.
Been playing with NixOS and I like it. BUT, I have discovered they have zero tracking or facilities for handling security issues and updates. There is no one tracking what security issues exist, what needs to be updated etc, its totally up to whoever to updates the individual nix software packages whenever they feel like it.
how did i never view any of this distro after so many year using archlinux...
thx fir the discovery, it probably will become my main OS in a week or 2.
Small thing, unrelated to nixos itself: you say you like the Meslo font, and kitty reports Meslo as the font being used, but looking at your terminal, Meslo is not the current font, that's actually Google's Noto Sans Mono. Config error?
3:00 Anyone noticing the flickering in the background starting at this timestamp? Seems to go on throughout the whole video. Very distracting!
idk if this matters, I used to use Gentoo back in the day, but anything I usually want to do these days is only supported on ubuntu/centos. Fussing around with nixos just doesn't have the same value. It's kind of annoying to have to rebuild the entire config just because I need to install one program too.
Funny, suddenly today, I'm seeing videos about NixOS suddenly show up on YT. NixOS has been around since before Ubuntu but it's always been that quiet one in the back of the room kind of distro for me with the louder ones, Arch, Fedora, Debian, Ubuntu, etc., having the main focus. Definitely time I finally take a look at this one.
same for me. today half my recommended videos are about nix and i had never heard of it before, certainly never searched for it. did they pay for that or what lol
I have been streaming it for 2 week straight and talking about it on twitter. I guess everyone decided today was the day to put a video out about it.
I only looked at it because of the job offer I received last month.
I tried it 2 times before , both unsuccessful the amount of time needed to learn the language is beyond me. i don't have that much time. One of my problems was i couldn't open specific appimages on nix. i suspect some of runtime dependencies were not universally available .
now i hope i can go for a 3rd dive using your tutorial.
Thank you for popularizing "the only linux". It is getting better and better.
How is the experience in comparison to maintaining the configuration with Ansible?
Thanks for the video, Some months ( 6 or 8 ) ago looked Nixos but in that time, for my looks outdated the distro but now, feels like has everything.
With your config, can you run Steam and Retro Arch and code in C++ and C# ?
Thanks to this video, I've tried Linux for the first time, and now migrated to it. Everything in NixOS worked straight out of the box, and although in the end I still needed to do a lot of configuration and figuring out, it is easier to set up lagless and optimized system than on Windows. Much less work and arcane knowledge required. And result? I have a more stable, prettier and better working system!
One of the biggest things to pay attention which want to mention though - I had limited color range set by default on Intel videocard. On X11 with KDE for some reason there is no option for this in System Settings. Curiously enough, this option exists when using Wayland. But Wayland is not ready for serious gaming yet. So, the program to know if you have limited color range is "xrandr --verbose". You will find you display there and line saying "Broadcast RGB" (this is for Intel cards). By default I had it at "Limited 16:235" (which is obviously not good).
The way I figured out to change it, is to execute xrandr command when display manager starts each time when you load your system. I've done it from configuration.nix in the following way:
services.xserver.displayManager.setupCommands = ''
${pkgs.xorg.xrandr}/bin/xrandr --output --set 'Broadcast RGB' 'Full'
'';
in the same way, it is also possible to for example, overclock your monitor. My monitor has only 60 Hz modes officially integrated, but is actually capable of 75 Hz. I was able to do so on Windows with NVIDIA card. Unfortunately, either because of Intel card or different OS, right now I can only do 73 Hz otherwise it is messed up, but at least it's not 60 Hz.