17 ms·
Guix 1.3
- rataata_jr 5y agoDo we have a gui installer for Guix these days? Last I checked, they didn't.
- eggie 5y agoA gui installer would be fun, but an installation process that fixed all the weird quirks (like with LANG settings) by default would also go a long way to making it more approachable. Guix is amazing, all the awkwardness aside.
- deleted 5y ago[deleted]
- nix23 5y agoWhy does anyone wants a Gui installer? It's a real question, not trolling. For example i would never use the Gui-Debian installer, instead i use the expert-text installer it's faster and not at all "expert'ish".
- marrs 5y agoPeople are intimidated by CLIs. Simple as that
- nix23 5y agoTextinstallers NOT CLI's https://i.stack.imgur.com/8OQdV.png https://i.stack.imgur.com/8OQdV.png Intimated about text-installers but using something like Guix? Sound like a strange mindset.
- swiley 5y agoI think most people would call a dialog driven installer running in a tty a GUI installer. They just don't want to be dumped into bash and told to set up GRUB on their own. Alpine's installer is the best IMO: you get a GUI style wizard but it's contained in a set of shell scripts (setup-*) so if you need it again you can run it yourself.
- medstrom 5y agoOpenBSD is another goodie. Answer a number of prompts and then it installs and configs stuff in one go (no more prompts midway through or afterwards). Plus you can "preload" your answers by referring to a file, good if you admin many machines.
- rataata_jr 5y agoHaven't tried Arch or other cli installers yet. Edit: Also, I just want things to work these days. I'm not interested in learning some installer tool's commands that I'm never going to use again.
- nix23 5y agoNot talking about arch...talking about text-installers like debian, openbsd etc. There is no learning involved just TAB, Space and Enter.
- rataata_jr 5y agoText installers work for me. Thanks.
- e3bc54b2 5y agoDiscoverability. I am very comfortable on CLI, and will always prefer it over GUI for most tasks, but for OS installations, GUI is vastly superior. From the get go, if installer loads with GUI, you know that you likely won't see black screen on first boot. All the drives can be easily formatted (I always multi-boot) and there is no mental translation of how much space is used in which drive under what layout. These 2 are my primary reasons. Apart from that, if something goes wrong during setup, GUI installer almost always comes with full browser available right there for looking IP errors, eliminating need for second device. With CLI installers, there usually isn't a DE included. (NixOS disk comes with full DE option, but CLI installer, making it a hybrid, not sure about GuixSD)
- mrslave 5y agoExcept with NixOS the whole point is system configuration in one file. Assuming you're comfortable getting on a network and partitioning a disk, there's not much need for a GUI. At work, with multiple machines with little difference, an experienced admin will just clone or fork a Git repository, format a full disk, and run the installation command.
- mbakke 5y agoThe Guix installer comes with a console-based GUI since version 1.0. You can see it in action here: https://guix.gnu.org/blog/2020/gnu-guix-1.1.0-released/ https://guix.gnu.org/blog/2020/gnu-guix-1.1.0-released/ I guess it depends on your definition of "GUI". :-)
- rataata_jr 5y agoOK, this much GUI is enough for me to give it a try.
- medstrom 5y agoGuix installer was the first time I experienced the info documentation available "side-by-side" with the CLI (that is, `info` was already open on a separate tty). So obvious in retrospect. Gentoo is another nice installer but much clumsier as they make you actually connect to gentoo.org with `links` to find the installation guide (when you may not have the internet working).
- pgtan 5y agoI really would like to see a Gentoo equivalent based on Lisp/Scheme, but as far Guix seems to be not even near. I just looked for no-multilib option (only 64bit of libc), custom compile flags or similar, but didn't find anything.
- mbakke 5y agoYou can get pretty far by defining custom variants of packages and using "package-input-rewriting"[0]. There is also work underway to support "parameterized" packages akin to USE flags. [0]: https://guix.gnu.org/manual/devel/en/guix.html#index-package_002dinput_002drewriting https://guix.gnu.org/manual/devel/en/guix.html#index-package... It is fairly easy to run a "forked" Guix channel if you want customization on a lower level (say, using '-march=native' everywhere), but I suppose that's a far cry from just editing /etc/make.conf.
- deleted 5y ago[deleted]
- medstrom 5y agoIf you wanted one based on Scheme, I'd actually just point straight at Guix. In our communities we often consider Nix/Guix an improvement on Gentoo in most possible ways, so wanting a Gentoo sounds odd like wanting to downgrade from Rust to C (I should probably nuance this view)... Yes there's no global no-multilib flag, so you have to put in some legwork to get the equivalent, but frankly you have to ask why you want that in the first place in a paradigm where none of your programs share libraries anyway. Indeed USE flags as a concept feel superseded.
- FrenchyJiby 5y agoBig fan of Guix, though I've only tested it in VMs, via Vagrant[1], for lack of disposable hardware. Its usability by non-specialists can be improved (and is, release by release) but the concept is very promising for reproducible systems. [1]: https://github.com/OverkillGuy/jibyconf/blob/master/GUIXSD_Vagrantfile https://github.com/OverkillGuy/jibyconf/blob/master/GUIXSD_V...
- capableweb 5y ago> Big fan of Guix, though I've only tested it in VMs, via Vagrant[1], for lack of disposable hardware. Slightly off-topic but this is why I really enjoy NixOS currently, and I'm assuming you can have a similar setup with Guix as the principles seems to be the same more or less, but different implementation. So the first time I tried Nix I did it in VMs as well. Found it worked out great for me, so I just copied all my configuration files to my laptop after installing NixOS, and now I had a identical copy running both on my desktop in VM and on my laptop "on metal". Great onboarding setup that doesn't waste anyone's time by having to do everything twice, and you get to play around with something you can keep afterwards. Modelling a desktop OS after reproducible builds is just so nice. Wanna try out a new desktop manager? Just install it, change everything and when you want to go back, simply rollback and everything is back to normal.
- aitchnyu 5y agoWill it avoid the following issues? Will it know if it should keep/delete/regenerate file manager indexes for each DE for install or uninstall? How will it roll back the app launcher icons, which is shared by all DEs? Each DE inserts stuff like system monitor, settings etc. Will it be possible to install/remove Firefox integration with KDE and Gnome, which is currently packaged by distro? Firefox by itself can disable/remove that extension too. If the OS needs Python, can we upgrade Python via PPA so that OS won't use an untested Python?
- capableweb 5y agoI'm no expert but I'll try my best to answer your questions. > Will it know if it should keep/delete/regenerate file manager indexes for each DE for install or uninstall? Yes > How will it roll back the app launcher icons, which is shared by all DEs? If they are shared, they won't be rollbacked as they are used by other DEs. > Each DE inserts stuff like system monitor, settings etc. Yes? > Will it be possible to install/remove Firefox integration with KDE and Gnome, which is currently packaged by distro? Possibly, as long as the install is proper, it'll rollback everything it did to install it. > If the OS needs Python, can we upgrade Python via PPA so that OS won't use an untested Python? No, PPA is for Ubuntu so it's not relevant here. You'd install Python from NixPKGs, and each tool would declare which version it needs, and you'll have all versions installed locally and each program pointed to the version they need. If you need a different version for a local project, just that local project will use that version. Overall, I'm mainly using AwesomeWM as my window manager. But some weeks/months ago, I wanted to try the full KDE setup. First I tried this on my Arch setup (big mistake) and I still have stray files and things from KDE that I can't seem to figure out how to remove when I wanted to go back. But, did the same thing on NixOS (from AwesomeWM -> KDE -> AwesomeWM) and I had nothing left from KDE when I went back, as I rolled back the entire system to before it even knew about KDE. Pleasure to try out new DE/WMs now.
- the_duke 5y agoObligatory comparison to Nix [1]: Pros: * Better, more coherent and unified tooling * Better docs * Built with LISP (edit: Scheme), A standard language that is not project-specific. Nix lang is somewhat quirky and takes some getting used to. It's pretty decent though for a narrowly focused domain language. Cons: * Tiny community that is much smaller than Nix. nixpkgs is the largest package repository out there, providing most software that you could want. * Really slow every time I tried it. Nix is written in C++ and actually performs quite well, even when building many hundreds of pacakges. * Not systemd based. Say of systemd what you will, but there is a reason almost every distro has adopted it. It's just better. Also: most Linux users are familiar with systemd tooling by now, so that makes adoption even harder. * Strong focus on freedom and not packaging proprietary software. Understandable, given the project origins. But awkward to the point of being mostly impractical for personal use - I can't package everything myself. * No equivalent to home-manager [1], which is amazing for declarative user environments [1] nixos.org/ [2] https://github.com/nix-community/home-manager https://github.com/nix-community/home-manager
- medstrom 5y agoMany design decisions are different. Nix and Guix are each other's Bizarro. It's a common misconception that Guix is just "Nix with Scheme" or "Nix without systemd" but those are frankly the least interesting differences. An example is that the package definitions sit in the same repo as the package manager, freeing the definition language to evolve without regard for compatibility (because they will always be read by the correct version of Guix) whereas Nix has to freeze the definition language and always test that old definitions work. Obviously there are pros and cons to each approach. https://guix.gnu.org/blog/2018/multi-dimensional-transactions-and-rollbacks-oh-my/ https://guix.gnu.org/blog/2018/multi-dimensional-transaction...
- the_duke 5y agoCan you elaborate on those differences? The concepts seemed pretty similar to me.
- 5y ago
- e3bc54b2 5y agoI'm a NixOS user and seriously considering at least trying out GuixSD. Does GuixSD come with Plasma desktop and other KDE assortments? My lazy google-fu is failing me, and the installer video does not list is as option. I also have an Nvidia Optimus laptop so I assume I'll be using nonguix repo and building non free kernel, but that can be tolerated. If anyone uses nonguix kernel/nvidia, can you please tell me how long of build times I should be expecting? I have an i5 8th gen.
- eointierney 5y agoRecommended to install a non-free repo such as https://gitlab.com/mbakke/guix-nonfree https://gitlab.com/mbakke/guix-nonfree for wifi and KDE etc.. Otherwise it's great if not as mature as Nix. Guile is nice and shepherd is cool
- alekq 5y agoAFAIK there is no KDE/Plasma for Guix and correct link for nonguix/guix-nonfree is https://gitlab.com/nonguix/nonguix https://gitlab.com/nonguix/nonguix Also, I think you can use the non-libre linux kernel build from substitutes instead building one yourself.
- e3bc54b2 5y agoI like plasma, but compiling even a subset of it might be overkill for my needs. Any particular reason why plasma is not upstreamed if not for lack of interest/contribution?
- swiley 5y ago"you need to sign in before continuing."
- catern 5y ago>Opportunistic use of neighboring substitute servers is entirely safe, thanks to reproducible builds. How does this work? Just because the builds are reproducible doesn't mean that the artifacts published by substitute servers are actually the outputs of the build process you expect.
- medstrom 5y agoIt is known what the SHA hash of the built artifact should be. https://guix.gnu.org/manual/en/html_node/Invoking-guix-challenge.html https://guix.gnu.org/manual/en/html_node/Invoking-guix-chall...
- catern 5y agoBut that SHA hash of the built artifact doesn't go in the package recipe. So how do I know what the SHA hash of the built artifact should be, if all I have is the Guix repo? I can always rebuild the artifacts myself using "challenge", but that defeats the purpose of using the substitute server...
- mbakke 5y agoIt means that if a server on your LAN advertises a substitute for a derivation that is bit-identical with one that is signed by an authorized substitute server (such as ci.guix.gnu.org), the build output will be downloaded from your network neighbor instead of over the internet. Of course this requires that ci.guix.gnu.org has already built the same derivation.
- catern 5y agoAh, thanks, makes sense! So it's just a bandwidth-saving device - still, sounds quite useful.
- medstrom 5y agoIt opens the door for more peer-to-peer distribution in the future. Imagine if every Guix system published their builds (as an opt-out setting). Then even if you modify a package's build options, a few other people might have made the exact same modification and you can download the built artifact from them.
- rstarast 5y agoJust as a warning if you're considering Guix for server use: Switching generations (e.g., rolling back a system update) requires rebooting to take effect.
- mbakke 5y ago"Rolling forward" aka 'guix system reconfigure' can typically be done without a reboot (but you need to restart affected services manually -- Guix will tell you which). "Rolling backward" aka 'guix system roll-back' is not as integrated IIRC and is easiest with a reboot. You can however "roll forward" to a previous generation (in this example generation 117): cd /var/guix/profiles/system-117-link guix time-machine -C channels.scm -- reconfigure configuration.scm
- pxc 5y agoWhy is there a difference between rolling backward and rolling forward?
- alekq 5y agoQuestions for the GuixSD and NixOS users: 1) Are these kind of systems overkill for the desktop user? 2) How easy is it to customize/tweak these systems in the manner that Gentoo does? So, building from source by tweaking the software options on build time?
- tadfisher 5y agoCheck out my Nix configuration repo; I manage a desktop, two laptops and a home server with it. The pkgs directory contains all my customized packages. https://github.com/tadfisher/flake https://github.com/tadfisher/flake
- mrslave 5y agoI haven't used Flakes yet. Any customization is done by giving the packages import an overlay. What am I missing?
- mrslave 5y agoWRT NixOS: 1. There might be slightly more convenience for the desktop user because installing applications in their user environment doesn't require root permission. You can set the system to a full Gnome with it's networking/wifi configuration if you like that sort of thing, but understandably it's less popular and minimalism is en vogue. 2. There is no global equivalent to Gentoo's USE flags, however most derivations follow conventions and expose comparable options with sensible defaults. These are largely easy to override. You usually lose the benefit of the large cache of binary builds so the culture of micromanaging all the options is not as prominent as in Gentoo. E.g. removing X11 support because you're not using it on a server might result in the need to locally build a lot of packages, some of them slow, and hence most don't bother with this level of "optimization." The single configuration file and rebuilding the whole system with one command (that actually runs quickly and is easily rolled back) is what caused me to finally leave Gentoo behind. I had way too much manual intervention with an almost vanilla Gentoo configuration when performing upgrades (e.g. newer profiles, but sometimes just a package update). I'm not sure if NixOS is resilient enough to allow such things as system-wide ABI changes (such as the last Gentoo profile bump) but I suspect it is, and it's mission is to provide a seamless user experience when rebuilding. Should a rebuild fail, it's not activated so you're not stuck with a partially working environment.
- snicker7 5y agoGuix is one of the most important software projects today. It can be bootstrapped from an auditable 357-byte binary seed [0]. No other package manager can claim that. It is also a unifying force for much of the GNU ecosystem. [0]: https://www.freelists.org/post/bootstrappable/wipfullsourcebootstrap-from-a-357byte-hex0-to-hello https://www.freelists.org/post/bootstrappable/wipfullsourceb...
- pxc 5y agoThat is very cool. I hadn't seen this update on the stage0 project. Didn't realize he got a working example all the way down to the hex monitor already!