16 ms·
NixOS 22.11 “Raccoon”
- lvncelot 4y ago> Graphical installer I've recently installed NixOS on an old Thinkpad I got from work, and I was pleasantly surprised by the graphical installer. Even though NixOS is far from a beginner distro, removing friction in the initial installation process is a good thing.
- smoldesu 4y agoIt's very new. Just a year ago you still had to partition/install everything by hand, which was a pain but still worth doing.
- lvncelot 4y agoYeah, that was what I remembered, hence the surprise. It wasn't too bad, coming from arch, but creature comforts are welcome nonetheless.
- n_jd 4y agoI was also pleasantly surprised, especially by how easy it was to setup disk encryption. I probably wouldn't have done so otherwise.
- 331c8c71 4y agoI set up LUKS with NixOs like 5 years ago without any prior experience and it was straightforward (just followed the docs). I wish that dealing with nix/nixos was always that easy...
- bsnnkv 4y agoLast week I switched from my Arch VM to a NixOS 22.05 VM full-time and it has been an excellent experience so far. Looking forward to seeing and reporting back on what my first NixOS upgrade experience is like.
- bspammer 4y agoHaving absolutely no fear going into an OS upgrade is one of the best parts of nix. If anything breaks, you can go back to your old config and be sure it’ll still work. Going back to an OS that doesn’t have this property feels like programming without version control.
- actionfromafar 4y agoTouching on that version control and Nix are the same thing. Would be cool if they merged in some system.
- williamvds 4y agoYou may be interested in Flakes[0], which locks your nixpkgs (and other "inputs") to a specific known version. Obligatory disclaimer, they're still in beta, but everyone's using them anyway. There's some ongoing work[1] before they're officially released. [0] https://nixos.wiki/wiki/Flakes https://nixos.wiki/wiki/Flakes [1] https://www.youtube.com/watch?v=JE-vLFMTXxM https://www.youtube.com/watch?v=JE-vLFMTXxM
- williamvds 4y agoDefinitely up there for the top Nix benefits - truly atomic OS upgrades. It's a shame this isn't explicitly highlighted on nixos.org, it's only implied in the "Is the previous version better? Roll back anytime."[0] section, when it's true for both packages and your entire system's config. [0] https://nixos.org/explore.html https://nixos.org/explore.html
- bsnnkv 4y agoUpdate: I'm on the nixos-unstable "rolling distro" so I don't actually need to do anything. Also if anyone is wondering, nixos-unstable feels very stable as an end-user.
- codedokode 4y agoI might want to try some new Linux distribution so I wonder: what doesn't work in nix? What are its weaknesses? What about devices with non-free firmware?
- justoreply 4y agoyou can't run binaries built for other distributions, without patching them
- bfrog 4y agoSort of true, you can but it require a fhs environment setup
- Filligree 4y agosteam-run usually. That gives you a Ubuntu-like environment.
- throwup 4y agoI wonder why Nix doesn't give every package a FHS env by default. In 2022 chroot and overlayfs should be available everywhere. Wouldn't that solve a ton of problems?
- chriswarbo 4y agoNix has no concept of "package". Applications are defined as derivations, but so is everything else (I wouldn't want an entire FHS directory structure for, e.g., a single text file). If you want an FHS, you can get one using a function like buildFHSUserEnv (that's defined in the Nixpkgs project; Nix itself doesn't know or care what FHS is; indeed, Nix will happily run on non-Linux platforms)
- SuperSandro2000 4y agoA FHS adds slight overhead to a package and to launch times. It also shadows part of the file system. For example /lib would probably be different for every other program which would be even more confusing.
- kvandy 4y agoSeems like a good time to flatten my Dell windows 11 laptop and install Nix on it. I've really loved using NixOS in various VMs but the experience is so good I want to use it full time. Any recommendations on how to best set up pre boot encryption and opt in state these days?
- Cloudef 4y agoI haven't used NixOS directly yet myself, but I use nixpkgs regularly. It really does make my life easier, so I'm thankful for that. I've built some nixos vms with nix however, that's also pretty nifty.
- ngcc_hk 4y agoIs it like docker? Anyway trying my hand on Kivy. Work for once for iOS and android undder macOS. Then never so far. Trying Gm even of macOS. No. May be start again with this and try to install Kivy again
- 3836293648 4y agoNix is a package manager and NixOS is a distro. It's (very) kinda like a docker and gentoo combination done by haskell people
- funcDropShadow 4y agoAlthough nix predates docker by a couple years.
- chriswarbo 4y agoTry decade ;)
- chriswarbo 4y ago> Is it like docker? No. Docker is a way to execute processes (e.g. servers). Nix is a way to define the contents of files (e.g. an OS filesystem).
- Asdrubalini 4y agoMy router (a VM with passed through network card) is currently running on NixOS, I’m really happy so far, it makes kernel patching (which in my case is required for the nic to work properly at 2500BASE-T) much easier than manually patching and building the kernel every time. It also gives me the guarantee that I will be able to rebuild the exact same host almost bit by bit in the future, in case of necessity, which is important for something like a router (I also take vm snapshots but upgrades are crucial for something potentially facing the internet and handling firewall). Looking forward to move away from proxmox to a fully NixOS virtualisation host too.
- rb2k_ 4y agoDid you base your router config on some existing template or did you just built it up from scratch?
- Asdrubalini 4y agoI based much of the configuration on [1] but I took the nftables rules from the official nftables wiki. [1] https://francis.begyn.be/blog/nixos-home-router https://francis.begyn.be/blog/nixos-home-router
- madjam002 4y agoYeah I used to use pfSense but hated having a load of config and firewall rules created manually, it all felt quite brittle. Moved to NixOS almost 5 years ago now and haven’t looked back, my router config is in Git and I’m able to make changes with confidence. Best part is making a change/installing an update and being able to rollback if I mess something up. I also use Nixus to push new configs which has a nifty feature where it will autorollback if you e.g make a config change that locks you out of SSH. I also moved from ESXI to NixOS for a virtualisation host more recently and that has been great as these machines are inherently long lived so you can’t apply the “cattle not pets” mindset here, but I feel like I can make changes and install updates with confidence. It also helped when I migrated to a Threadripper build where there were some strange quirks which needed Linux kernel patches, it’s nice being able to do this declaratively and to store everything in a versioned Git repo.
- brandhout 4y agoThough I've liked NixOS in the past, the documentation is an absolute mess. I've switched to GNU Guix.
- rollcat 4y agoAs someone just getting started with Nix & NixOS, I couldn't agree more. In terms of documentation: the lines between nix-the-language, nix-the-tool, and nixos-the-system are often too blurry. Familiarity with one of the three is often assumed or implied. Everyone seems to be using Flakes and/or home-manager; the official docs and tools all try to scare you away by labeling it unstable/experimental (if ever mentioning them at all), yet it seems difficult to find third-party resources that don't refer you to Flakes at some point. The "getting started" manual is very good at getting you to a basic and very usable desktop system, but once you want to go anywhere beyond that, the difficulty (and complexity) immediately ramps up to crazy levels. The references usually feel like they're complete, but I found it extremely difficult to find a simple answer to quite basic questions of the "how to do X" kind; e.g. I want to supply the same list of packages to python310.withPackages and python311.withPackages, to have both Python versions available system-wide (so I can trivially fire up an IPython shell and hack away at a simple problem). I solved this on other systems e.g. by using stupid text substitutions in a shell script, or calling "python3.xx -m pip -r requirements.txt", but it's still unclear to me how to do it with Nix - do I need to learn more of the language, or more about nixpkgs, do I stick with copy-pasting the package list, etc. I wish the documentation was even 10% as good as OpenBSD's, but many commands don't even have basic man pages. It's definitely the most intriguing OS I've tried in many years, with a lot of promise for a return on the investment, it's just that it feels incredibly steep to get anywhere when you're just getting started.
- SuperSandro2000 4y agoThe lines are often blurry because they are quite interlacing and all where purpose build for each other. > python310.withPackages and python311.withPackages I think that should be solvable by supplying them the same function. env = ps: with ps; [ numpy toolz ] python39.withPackages(env) python310.withPackages(env)
- pca006132 4y agoMy experience with NixOS: Package installation is usually just from the official channel, system options can usually be done with `/etc/nixos/configuration.nix` and home-manager. Major problems: installing niche proprietary software that you may have to package yourself, and fighting Nix for languages with package manager, e.g. Python, which frequently uses packages not in nixpkgs.
- sleepycatgirl 4y agoFor niche software, I found steam-run, or distrobox As for last problem.. Yeah. It is a problem. x.x
- SuperSandro2000 4y agosteam-run is just a fat wrapper around bubblewrap fhs. If you want to optimize your system you can easily build a smaller one yourself.
- SuperSandro2000 4y agonixpkgs is already one of the largest package collections. There is a good chance your software is already included. The nix language itself is pretty straightforward and if you know haskell your should feel straight at home. You shouldn't use nixpkgs python packages as a replacement for your python development. That would also not work that great on other distros.
- suprfnk 4y ago> nixpkgs is already one of the largest package collections. There is a good chance your software is already included. Yes, but that still doesn't solve this: > Major problems: installing niche proprietary software that you may have to package yourself If some software _isn't_ packaged, it's a pain in the butt to get it running on NixOS. Either you have to create Nix derivations, which have a pretty steep learning curve, or you have to do some hackery patchelf business, which also isn't easy. At least, as of 2018, when I last tried. Things could be better now.
- jawadch93 4y ago[dead]
- bfrog 4y agoYeah I’m ready to finally stick with it now I think, having it on my server means no/low effort admin
- thomastjeffery 4y agoHow long are we going to sit on our hands and pretend flakes aren't the only way forward? Am I just missing something?
- melvyn2 4y agoI have not used flakes at all for my NixOS server. To put it one way, why should I care?
- pmarreck 4y ago(speaking as someone who hasn't actually fully converted over to flakes yet) Because it actually fulfills the original promise of Nix: Forever-reproducible builds. Anyone who's ever dealt with a lockfile across any stack that supports that idea in dependency definition, knows how this works and what it's good for.
- lijogdfljk 4y agoCouldn't agree more. I love Nix (well, i have nits with the lang/UX), but Flakes is essential imo. Using Nix without Flakes is going through 99% of the trouble for concrete, reproducible builds but then dropping the last 1%. I had my non-Flake builds break like it was a mutable operating system. I just don't get why Flakes aren't the standard.
- rgoulter 4y agoThe UX is much nicer with flakes. Flakes provide a consistent entry-point to a set of Nix files (rather than just a hoping that Nix files conform to some convention). Nix flakes also let you get by with even less worry about the system state: e.g. you don't need to add channels or put your code in your user's overlays directory. You can just use the path/URI to a flake, and nix will take care of downloading all the inputs appropriately.
- chriswarbo 4y agoI've not bothered with flakes (yet?); mostly because I don't quite understand/appreciate what they're for/add. They're apparently better than using channels, and env vars like NIX_PATH; but I don't bother with those either. I just use `fetchgit`/`fetchFromGitHub` with specific commit IDs, and that seems mostly reproducible. I've got Nix repos dating back about 8 years, and the only reason some commits can't be reproduced is due to link rot (mostly GitHub repos being deleted in protest at Microsoft purchasing it). I don't think flakes solve that? (Seems more suitable for something like IPFS)
- SuperSandro2000 4y agoSo far no one mentioned that you can: - easily cross compile packages: pkgsCross.aarch64-multiplatform.hello - NixOS has modules to get complete services like Nextcloud, Mastodon or Matrix Synapse up and running within minutes including nginx configs - it is possible to switch Desktops and clean up all packages
- JamesSwift 4y agoYou easily can, but its a pretty miserable user experience compared to non cross-compilation (e.g. build times are incredibly long since happy-path nix is mostly backed by binary cache).
- nh2 4y agoSomething that isn't stated in this thread yet is how easy NixOS makes version upgrades. I maintain multiple pet servers. When I used Ubuntu, doing release upgrades cost me ~6 hours per server per upgrade every 2 years. Most of that time went into merging updated upstream configuration files with my changed configuration files, often for silly stuff like upstream changing tabs to spaces in the config file syntax. With the Debian-style upgrader, you also have to wait 5 minutes until you're prompted for the next config file to merge, while other packages are "configuring" with `dpkg`. So you cannot do them all in a batch, but have to stare at the screen throughout the procedure, attending every 5 minutes. So with multiple servers that was multiple days of upgrades per year. With NixOS, these days are is reduced to minutes. For example, on one of my servers I upgraded just now: 18:07 -- starting NixOS 21.05 -> 21.11 upgrade command 18:10 -- download finished 18:10:15 -- rebooted into new running system This server currently runs: * webserver * mailserver (with web UI, spamfilter, etc) * nameserver (with dynamic DNS updates) * VPN server * mumble voicechat server * XMPP server * Matrix server with signal bridge * vaultwarden server * some custom web services This is possible because with NixOS, you do not mutate text files in `/etc` for configuration. Instead, you write a structured config similar to a JSON object (but in the Nix language, so you can use stuff like `map` and `filter` to solve repeated tasks over e.g. all the domains in your web server). This config only contains the differences from the default config. So concepts like "does the upstream Apache config file indent with tabs or spaces" no longer play any role. For the server above, the config file is 800 lines long, of which 200 are comments. So NixOS is saving me multiple days per year in sysadmin tasks, which is pretty good!
- mrslave 4y agoAgreed. When I'm selling Nix to other Linux users, instead of getting lost in an explanation of deterministic package versions, I tell them system upgrades are atomic: you either enter the new environment or you don't. Either way you're in a consistent state. If for some reason there's difficulty booting, you can always go back to the previous system state from the boot menu. Mostly Debian and Gentoo users have nibbled on this bait. Arch users less so. YMMV
- 4y ago
- alanwreath 4y agoRecently installed nixos and was trying to get docker installed with little success - I tried googling for a while and came up short. Maybe it’s obvious to veteran nixos users. Does anyone know of a comprehensive nixos guide or YouTube series? I’d love you forever.
- tmountain 4y agoAdd this to configuration.nix: virtualisation.docker.enable = true; The best comprehensive guide is the manual: https://nixos.org/manual/nixos/stable/ https://nixos.org/manual/nixos/stable/
- deleted 4y ago[deleted]
- pxc 4y agotmountain's reply has the best direct response to the issue you ran into. Check it out, it's a one-liner. :) I think video resources are maybe under-emphasized in talk about Nix on HN, and they're important for people who prefer that modality, so I've compiled a list of videos on Nix that I have watched and feel might be helpful for learning it. There is no comprehensive YouTube series that I can recommend, but you can find really good introductory and overview videos in the form of past conference lectures in the NixCon and NixOS channels on YouTube. NixCon: https://youtube.com/@NixCon https://youtube.com/@NixCon NixOS: https://youtube.com/@NixOS-Foundation https://youtube.com/@NixOS-Foundation Here are some playlists and direct references to educational material on Nix and NixOS that I've actually watched. Taken together, they will at least outline all of the normal stuff you might want to do on NixOS, from configuring your system to writing packages to (if you want) leveraging flakes to running your own binary cache. Reading Nix Expressions (Zimbatm, NixCon 2019) — https://youtu.be/61MuMY9XFNo https://youtu.be/61MuMY9XFNo Nix: Why and How It Works (Graham Christensen, NixCon 2019) — https://youtu.be/lxtHH838yko https://youtu.be/lxtHH838yko Fearless Tinkering: How NixOS Works (Graham Christensen, NixCon 2019) — https://youtu.be/DK_iLg2Ekwk https://youtu.be/DK_iLg2Ekwk Learning the Nix Store Layer (John Ericson, NixCon 2022) — https://youtu.be/utQf4VH7QMw https://youtu.be/utQf4VH7QMw Overrides: In and Out (Graham Christensen, NixCon 2019) — https://youtu.be/6VepnulTfu8 https://youtu.be/6VepnulTfu8 Nix Flakes in Production: What, Why, and How (Alexander Bantyev, NixCon 2020) — https://www.youtube.com/watch?v=o1Y7rWrPEO8 https://www.youtube.com/watch?v=o1Y7rWrPEO8 Nixpkgs Overlays: A place for all excluded packages (Nicolas B. Pierron, NixCon 2017) — https://www.youtube.com/watch?v=W85mF1zWA2o https://www.youtube.com/watch?v=W85mF1zWA2o The Architecture and History of Nixpkgs (Jon Ringer, Summer of Nix 2022) — https://www.youtube.com/watch?v=TKgHazs3AMw https://www.youtube.com/watch?v=TKgHazs3AMw Hydra, Nix's CI (Thomas Bereknyei a.k.a. tomberek, Summer of Nix 2022) — https://www.youtube.com/watch?v=AvOqaeK_NaE https://www.youtube.com/watch?v=AvOqaeK_NaE There's also some really good content outside of the official NixOS YouTube channels! See below. Informal intro to the Nix language, derivations, and Nixpkgs (Silvan Mosberger, from a Nix onboarding for another Tweag employee, recorded 2022): https://www.youtube.com/watch?v=9DJtHIpdp0Y https://www.youtube.com/watch?v=9DJtHIpdp0Y Burke Libby's Nixology series — https://youtube.com/playlist?list=PLRGI9KQ3_HP_OFRG6R-p4iFgMSK1t5BHs https://youtube.com/playlist?list=PLRGI9KQ3_HP_OFRG6R-p4iFgM... NixOS 101: Introduction to a Different Type of Linux Distro (Tweag onboarding document, 2022) — https://www.youtube.com/watch?v=pfY9Hc_zChs https://www.youtube.com/watch?v=pfY9Hc_zChs Introduction to NixOS (Charles Strahan, NYLUG Presents 2017) — https://www.youtube.com/watch?v=VivXSoovUFI https://www.youtube.com/watch?v=VivXSoovUFI Nix Flakes 101 (Jörg Thalheim a.k.a. Mic92, rC3 2020) — https://www.youtube.com/watch?v=QXUlhnhuRX4 https://www.youtube.com/watch?v=QXUlhnhuRX4 Why NixOS: An Introduction (Ingolf Wagner, rC3 2020) — https://www.youtube.com/watch?v=0eTgQaNiRF0 https://www.youtube.com/watch?v=0eTgQaNiRF0 Sane System Management with NixOS (Tim Steinbach, LambdaConf 2020) — https://www.youtube.com/watch?v=_LDzO5_d1a0 https://www.youtube.com/watch?v=_LDzO5_d1a0 Nix for Functional Systems (Brian McKenna, YOW! LambdaJam 2017) — https://www.youtube.com/watch?v=mIxtBVKo7JE https://www.youtube.com/watch?v=mIxtBVKo7JE There are others out there which I didn't list because I've never watched them, and there are probably some older ones I did enjoy which I was unable to dig up. It's probably really only worth watching one or two of the generic, overview, intro-type videos. But there are plenty of them, so feel free to decide within a few seconds whether one clicks with you, and choose it based on that. FWIW, I think Charles Strahan's NixOS intro video is my favorite of that type. If you really want a comprehensive lecture playlist, the curriculum I recommend is: 1. Charles Strahan's intro to NixOS 2. Burke Libbey's Nixology series (because his videos are relatively short) 3. The listed NixCon and Summer of Nix videos 4. Mic92's Flakes 101 After that, the world's your oyster and you'll definitely know what to search for in the written documentation whenever you need a proper reference. NixCon videos not listed here can be useful for pointing you to interesting, new or important ancillary and third-party projects in the ecosystem. :)
- pxc 4y agoNixOS' infamous learning curve has an undersung sweet spot. I recently discovered a bit of a ‘vlog’ (the video part is just a static image) describing NixOS from the perspective of a self-described, impatient, fickle hacker, which I think testifies to this very well. It begins: > I am not a smart man. The difference between success and failure to me, is razor thin. I am impatient. I am hubristic. I am easily bored. I have it in my to be tenacious, but it has to be drawn out by reward at the end. And NixOS ticks all these boxes for me, in a way that other systems really don't. https://www.youtube.com/watch?v=17-TRCpDizA https://www.youtube.com/watch?v=17-TRCpDizA I think it's worth listening to as it is, but below, I've tried to condense and summarize the parts of that 30-minute video most relevant to that point, for folks to whom the pacing of a relaxed, rambly, personal monologue does not appeal. > I'll give you an example. All my systems have the same set of installed programs now. Now that seems real simple. Y'know, they all say, let's say, `screen`, or `tmux, or they all have Ardour, or they all have the same Emacs configuration. I know that sounds basic, but that has never happened to me before [laughs]! I'm just too easily bored [smiles] to invent such a thing that would make it possible for me to do that. [...] System configuration, instead of being this laundry list of chores to be done, becomes a programming exercise. I'm comfortable with programming exercises. I do not like chores. > [...] > The integration between Nix the language, Nix the package manager, and NixOS the operating system means that I'm not required to invent very much. [...] Everything I just described to you, I could have done 15 years ago, with systems like Puppet [or] Ansible[.] [...] However, while using those systems, I am required to make choices about how things are done. And those choices really have some stop[ping] energy to them. Some of the choices are so low-level that they're uninteresting, and it becomes rather boring rather quickly to do [something like] Puppet or Ansible. ‘Where is this `authorized_keys` file supposed to go?’ I don't really care! [laughs] I just want [...] to be able to log into that system. > On top of all that, where [with NixOS, it feels like] I'm just motoring along [unimpeded]— I'm creating a configuration very quickly that rewards [rather than drains] me— at the end of it, I can share that configuration with someone else in a meaningful, even executable, way. And the way to execute it is well-understood. There's no trickery [hidden in the deployment environment]. This is also [supposedly] the same with Puppet and Ansible, but somehow, no one seems to do it! You don't see people sharing Ansible configurations. This culture of sharing configuration, of sharing declarative statements about builds, is something that is [...] in quantity and quality, unique to NixOS. > I recently heard from a friend [...] who somehow saw my videos [on NixOS]. [...] We never spoke about NixOS before I heard from him [about this]. But he took the configuration that I'd put up on GitHub, [...] made a couple of changes to it, and he got one system up and running. And he said ‘Wow, that was easy!’. This guy has been doing [Unix and Linux systems administration] for 25 years, and I can't imagine that he's ever done such a thing before. [I can't imagine that he has ever] just walked up to some repository, and [simultaneously] had [...] the inclination, the confidence, and the ability to repeat a build [of it] on his own system. [...] He actually said to me at some point, ‘What have you done to me?’ [laughs]. Of course, I didn't do anything. He's well on his way to converting all of his other systems to NixOS. > [...] > I think [Nix's features] sort of feed into each other, as a [...] virtuous cycle. Like I said: I am not a smart man, I am not a patient man. I can be tenacious, but it really takes me feeling like I'm gonna get something at the end. [...] [W]ith Nix, I don't feel like I'm wasting my time, I find myself— surprisingly!— getting to the bottom of issues that I could have gotten to the bottom of on Ubuntu, or Manjaro, or Fedora, or whatever else I was using, [but never did]. I could have fixed them there, but man, the reward for doing so was just minimal. > [...] > [That's because] first of all, if you're not running a configuration management system, and you have to do it manually on every system... that is really boring to have to do. So the answer is to run a configuration management system. But the configuration management tools that are available for these systems are [...] just me typing, except automated. [...] There are sort of [declarations], but they definitely have an order. And you have to know the order, you have to control the order. In the NixOS stuff, I'm not concerned about order. [...] Nix uses `bash`, under the hood, so of course I'm [actually] running bash— yeah, sure. But I'm not [thinking about it] very often. > People have anticipated the kinds of things I wanna do in [the] Nix [world;] I just reuse whatever they did. It is [admittedly] a game of inches here. I often found myself in a place, with my other systems, where all of them were configured completely differently. I just didn't bother with configuration management stuff. It's not like I haven't used configuration management tools. I use them all the time. [I use them] at work and stuff, but for my own systems, it just seemed like ‘ugh’. It was like going to work! [...] ‘Ok, now I'm back at work, and I have to name these steps.’ It's dull. It's boring. > [But] now that I have Nix[OS], I'm getting to the bottoms of these stupid issues, like [...] fixing my computer's sleep. Even though I would have had to do exactly the same thing on Ubuntu or Manjaro or Fedora, or any of that stuff— it's the same system— but I actually do it now. Because I'm like ‘Okay, fine. I can write this down once [and for all].’ NixOS has nudged me over the edge of feeling like I'm not wasting my time [...] and that makes me tend to get to the bottoms of issues. Success [now] more often seems possible than impossible. Before, it just seemed impossible, like > > I am never gonna get this under control. I am just gonna live with chaos. > [laughs] Everyone has chaos. But in this game of inches, NixOS has just pushed me over the edge that little bit, to where I have things working that I've never had working before. Some concrete examples: > - I can bring up a new system with the vast majority of configuration that I actually use in 20 minutes. [...] (20 minutes would be a long time, actually. I would have to make a couple mistakes.) > - [Due to random differences in sleep behavior, mDNS configuration, and God knows what, before] it was always a crapshoot when I'd type `ssh some-host-name` whether I'd actually get in. [...] Now that all of these systems share the same configuration, that hasn't happened to me. > - I can print from any system. I know it sound stupid. But yes! I don't print often, but when I wanna print, I just wanna print. That was never possible in my old configurations. I'd always have to [fuck] around with printing. > - I can shut the lid on any of my laptops that are connected to external monitors... and the won't go to sleep. I know, I know— it seems stupid, but it's true! I figured it out. [Thanks to NixOS], I put enough time into that to fix it. > - I can shut the lid on laptops not connected to external monitors, and they do go to sleep. They go to sleep! They don't just sit there [...] [shining] the monitor light on the keyboard for two hours, running down my battery. [...] It's because I was rewarded [along the way] when I put the time in. > - I can carry around [...] an external ZFS-formatted drive, and I can plug it into any of these systems and mount it. It can even be encrypted! > - Once I log in, I can send and receive Keybase messages on any of these [5] systems. > - I can use my stupid Roland looper on any of these systems. [NixOS encouraged me to] put the time in to add the kernel patch that it requires. > - I can use an old build of a package— built years ago— to solve dependency bitrot. The current version of a package I use will not build. But I can transport myself back in time, just for that one. > Another thing I noticed while I was asking questions in various support channels for NixOS is that it somehow also happens to have a really excellent community. I haven't seen this kind of community in many other places. I saw it (way back in the day) with Python. And before then, [laughs] I think the only other place I've seen it was on bulletin board systems. There's unreal politeness, and humility, and thoughtfulness, and thoroughness on all of the support channels I can think of— Discourse, Matrix, IRC, GitHub. [...] There's no ‘RTFM’, there's nobody flexing there. [...] It is the default [on the Internet] to see people flexing and being assholes in support [...] but there's none of that in the NixOS community. [...] It is astounding to me. How did it happen? [In the NixOS community], everybody is smarter than I am. Everyone. I love that! > [...] > Once you give [NixOS] a fair shake, you will not go back to something else. [...] The idea that you would look at NixOS, use it for a month, and then be like ‘eh, idk, I'll go back to Fedora’... I don't see that happening to many people. My mind would be blown by that happening.
- chem83 4y agoWhat's the best way to use nix (pkg manager) to set up dev environments these days (i.e. as an alternative to, say, asdf)? devenv.sh? Creating a vanilla flake.nix for each project to use with nix shell and direnv doesn't seem like a practical approach considering each language has very different requirements and there doesn't seem to be a go to repository of flake templates available anywhere.
- jljljl 4y agoIf you are looking for a simple interface that is an alternative to asdf, but uses Nix under the hood, you could check out Devbox (https://github.com/jetpack-io/devbox https://github.com/jetpack-io/devbox). Our goal is to make spinning up per-project dev environments easy and approachable, without having to write a full nix.flake.