5 ms·
I wish guides like these contained screenshots. Do people use Nix for desktop OSes? As a VM they SSH into? A collection of config scripts that they don't direc
by lynndotpy 4y ago
I wish guides like these contained screenshots.
Do people use Nix for desktop OSes? As a VM they SSH into? A collection of config scripts that they don't directly issue commands to?
I certainly can't tell from a quick glance of this guide
- whateveracct 4y agoScreenshots of what exactly? Installing packages? Running nixos-rebuild switch? I guess screenshots of a bunch of text.
- lynndotpy 4y agoYes! Assuming that is what "using Nix" looks like for an expected use case, that would be informative for someone who does not know what using Nix looks like.
- whateveracct 4y agoYou will like nixos.org then :) https://nixos.org/ https://nixos.org/ Lots of examples if you scroll down!
- lynndotpy 4y agoOh this is completely and exactly what I was thinking of, thank you! :)
- flexiondotorg 4y agoZero to Nix introduces Nix, not NixOS the operating system. So, there's not really a need for screen shots as Zero to Nix it teaching how best to install and use Nix on any Linux or macOS. For that, code snippets are convenient I think.
- MikeTheGreat 4y agoFrom the questions in the parent post I wonder if it would be good to have a clear definition of what Nix is, what NixOS is, how they're different, and when to use each? Could just be a short paragraph, but if the site is for people just starting out it might be helpful...
- turboponyy 4y agoYes, all of the above - and much more.
- rprospero 4y agoI can tell you that I do all three. My daily driver is a laptop running NixOS with a highly customised desktop environment. I also have a small VPS that running NixOS that I communicate with via SSH. Finally, as work, we use a nix flake to simplify our build system. Most days of the year, that is handled entirely by the CI script and I don't have to think about it.
- pxc 4y agoPeople use Nix on desktop a ton, but the GUI tools in the ecosystem are still largely marginal and incomplete. The screenshots here would just be images of text, which is probably why there aren't any.
- jsmith45 4y agoAll of the above. NixOS is actually fairly well suited to a full desktop OS. They package-up basically everything you would expect. You can even pull in Steam its proton environment without much hassle. It is also perfectly workable as simple server OS running on bare metal or a VM. One can use it on other OSes as a way to create fully deterministic environments for developing. (Like the python virtualenv concept, but for any language, pulling any arbitary tools you might need). Almost like a docker container, but without isolating the filesystem. Using just nix tool not as part of NixOS, can be an underwhelming experience, as the default does not quite give the fully declarative environment setup you might want. For example, under the default you can imperatively request packages to be added to the nix store. But if you chose to use the "correct" versions of commands, you can get the intended result. Alternatively, using it in conjunction with tools like direnv (which enables you to configure your shell to ask nix for a specific environment when you cd into it, or alternatively when you run a specific command within it). This environment can have exactly the set of tools you need for developing the project that lives in this folder, even if the rest of your OS has a different and incompatible version of the compilers installed, or whatever.
- deleted 4y ago[deleted]
- choward 4y agoBeen using it as my desktop for about 5 years and have never looked back.
- tripdout 4y agoYou can use 'Nix' itself for writing NixOS packages, creating Docker images, etc. For NixOS, it's perfectly valid as a desktop OS (I use it on my daily driver laptop) as well as on a server.
- OmarAssadi 4y agoNix is pretty usable for both desktops and headless servers. Personally, I even use it on macOS without much trouble. My system looks like any other install of Ventura, but all of my configuration, ranging from the terminal and VS Code to macOS-specific system preferences and Safari, is done declaratively in Nix [1]. The overwhelming majority of my installed software also comes from Nix packages, with some exceptions for stuff that is not packaged yet (e.g., I have Podman Desktop, the macOS ZFS port, Lulu, yubikey-manager-qt installed through Homebrew -- fortunately nix-darwin [2] also just lets me have an set of brews/casks in my config). It was been a bit of a nightmare at first since the error messages are kind of horrific, and there can be a lack of good examples/docs on flakes. But I think the weekend worth of time I invested was worth it since I no longer need to rely on hacky shellscripts or remember to manually configure anything. [1]: <https://github.com/nix-community/home-manager https://github.com/nix-community/home-manager> [2]: <https://github.com/LnL7/nix-darwin https://github.com/LnL7/nix-darwin>
- pxc 4y agoHoly crap! I had no idea that Nix-Darwin will even install, configure, and wrap Homebrew for you now. That's awesome. Love the inclusive, impure approach. The Homebrew module for Nix-Darwin also looks awesome, like extremely feature-complete.
- JamesSwift 4y agoInteresting, so you are running both home-manager and nix-darwin? When I got into the game, it seemed like they were a bit of a one-or-the-other. I use home-manager but keep homebrew around for some cask management and its mostly "out of band" right now, so I'd be interested to move that "in band" if possible.