I have been using Guix as my secondary package manager for quite while now on Kubuntu. I have a couple of remarks in regards to your points. - If compiling packages takes too long I recommend waiting a day or two after doing `guix pull`. That command updates the package definitions to the current bleeding edge. Letting the definitions ferment for a bit allows the Guix build servers to provide pre-compiled binaries. Then when you do `guix upgrade`, Guix will download the binaries instead of building from source. - The reason you cannot do `sudo make install` or use language-specific package managers is because you are not supposed to install libraries. No one actually needs libraries, people need applications, and it's the applications which need libraries. Of course you still *can* install libraries explicitly, but that's not the way it is supposed to be used. I'll elaborate a bit later. - As I said above, the Guix package manager can be used on foreign distros as well. That allows one to have a sort of rolling release package system on top of a stable distro. But the biggest advantage of Guix in my opinion is that it is a proper solution to dependency hell and breaking updates. - You don't really need to know Scheme to configure Guix, but it helps. Scheme is a programmable programming language (as are all Lisps), and the Guix developers added a special Guix "language" on top of Scheme. It looks a lot like JSON. However, if you know Scheme you can add logic to your config using a full programming language. This is particularly useful when defining new packages. If you want to learn Scheme I recommend the GNU Guile manual. If you want to off the deep end I recommend Structure and Interpretation of Computer Programs (SICP). The Guix website also has some more recommendations, check it out. Scheme is a very small and elegant language. It is quite different, so it might take a bit to wrap your head around, but once it clicks you will be good to go. The idea behind Guix is a novel concept pioneered by Nix: functional package management. What does this mean? It means that packages are not installed system-wide and that they do not modify the system. As you have noticed, there is a central place where packages are stored, called the store. Every package exists in isolation, you can have several different, even conflicting, packages in the store. If a package has a dependency on another package the connection is achieved through symlinks and environment variables. So how about libraries? Libraries are regular packages, except you never explicitly install them (although you can if you really want to). Instead you declare them as dependencies of other packages. If you really need a particular library, for example to compile some code, you can temporarily enrich your shell with the libraries using `guix environment`. Remember that the libraries are in the store. All `guix environment` does is set up some symlinks and environment variables for the libraries to be found. Guix does not modify the system (hence why you don't need sudo), so different users can have different versions of the same package installed without conflict. When it comes to language-specific libraries you are advised to do the same. Instead of doing `pip install blubb` you should do `guix environment --ad-hoc python-blubb` (sorry, can't think of any particular Python library off the top of my head). Guix has many more benefits, but I think these points are the most relevant to your video.
He was talking about installing st and dwm, both are programs from the suckless community. Their main idea is that if you want to customize them, you have to edit the code, compile and install them yourself.
FYI you can setup Guix to install binaries instead from src, and is one of the first things say the docs, so for that reason I think is not a good review
Make sure you have all substitutes enabled so you don't have to build everything. Also you can build things "regularly" by running the build script inside
This is pretty cool. Too bad I reinstalled arch yesterday and took way too long to set it up as I want it. Might try it in a VM though, so thanks for this video DT.
You can just install Guix as a secondary package manager, since that's really the entire point of GuixSD (now Guix System) in the first place. It works as secondary, so there's no conflicts with pacman (optimally).
Gentoo is awesome. Without bloated desktop environment the compiling times are not bad, though the initial installation takes a while. But the level of control, speed, and also security are worth it. The stability has really surprised me, and based on what some veterans told me, there really has been improvements on the package manager. I have both Ubuntu Mate, and Gentoo with Mate on the same laptop. The difference on speed, ram usage and responsiveness is quite amazing. But it's the feeling that you get when you are in control over your OS what has been the biggest surprise. I didn't expect this feeling, it has been complete surprise, but I guess lots of it comes from the fact that I had to learn a lot to really make Gentoo work on my laptop, had all the proper power management, Wifi and bluetooth firmwares etc. Gentoo's wiki is excellent, and the people helping in the IRC channel are so nice and helpful.
Gentoo really was incredibly stable when I used it. Never had a single issue with it. Used for it many months, maybe half a year, and then my computer died and I had to replace both the motherboard and the HDD, and I ended up installing Arch again. Then that reminded me that Arch kinda sucks for my purposes and I just installed Debian because it's quick and easy, it works and I don't care.
although if you run anything other than a source based distro i found the arch-wiki more helpful. in the few instances that i really read any of the two yet for solving some issue it seemed like in gentoo the answer to everything is using the right use flag. well too dumb if your on a distro where use flags arent really a thing... arch-wiki was more helpful in these cases...
6:49 This is nothing compared to Gentoo base utils' build times - LLVM11 - up to 3 hours, dev-lang/rust - 6 hours or more (and that's why I'm always using dev-lang/rust-bin)
I will still wait a little longer to try to use GuixSD for real. Seems almost ready, though. That's very nice. For a pretty long time, I thought that it would never really be usable, and I thought it was just a huge waste that it wasn't more popular so more people could work on it, but now it seems to be actually getting there.
I have tried Guix a few months ago. The graphical installation has improved a bit. This time I was able to complete the process after running into a dead-end a few times. The documentation still does not make sense. It is more like a reference than a guide. There is no easy way to find what a new user should do with the system after installation. Most guix commands take a long time to execute. I do not see any benefit of using Guix over a distro with Timeshift.
@@jacekjacenty I kinda lost interest in distributions like NixOS and GuixSD. They solve some problems, but add too much complexity and confusion to the system and stray even further away from the OS's Unix roots, so I don't think it's worth it. I don't think changing the system that much is the right way to solve those problems (there are other simpler ways of avoiding the same issues, like just being able create separate directory trees for older software, to avoid dependency hell, while keeping the overall system as it is). And I'm pretty comfortable with my current system, so those problems don't really affect me. If you want to revert changes to your system, filesystems like Btrfs and ZFS are capable of doing that already, so it's kinda unnecessary. I'm more interested in the BSD world now. They are more consistent, better organized, and actually have good documentation for everything. And FreeBSD has pretty much everything that GNU/Linux has and a little more. GNU and Linux are both too big and messy. The OS still feels like a bunch of stuff from multiple sources thrown in a blender. It's Frankenstein's OS. Personally, I'm more interested in having a more traditional Unix system at this point.
@full executable I changed the name because it connects it to the name of the 0dy533 account that I made, since this website is basically unusable now. And I'm going to make accounts in more places in general (maybe 64b too), so it's a way for people to know that I am that one guy with no name. I can't come up with usernames, so I guess a pun is the best that I can do. Oh, and I actually tried to respond since your comment was posted. That's how long it took for even a single comment to make it. The other comment already disappeared, as you can see, so even when they do get posted, they don't last very long. I hope it goes back to normal eventually because I did want to make videos at some point and as bad as this website is, a lot of people use it.
@full executable It's happening in two different ways. If the comment is rejected immediately, it never gets posted, so there is no email. If it gets posted and then removed, your email will still be there. Not worth it, though. I will be mostly commenting on Odysee from now on because it's better, and I'm going to leave links to whatever I'm using in my about section. I will still watch videos here from people that aren't there, and comment at least occasionally to see if it's better. Oh, and I forgot to talk about NetBSD. If you have any problems with that, remember that it's a very small project, so it's more likely to have development issues. The OpenBSD team is already small, and NetBSD is way smaller than that. GhostBSD is basically a FreeBSD that comes with a desktop environment, but I don't know much about it beyond that. I think overall, FreeBSD and OpenBSD are good choices. OpenBSD has the highest quality of any of the projects, and FreeBSD is stable too and has more features, like ZFS (NetBSD has it too, which is kinda crazy, and speaking of ZFS, keep in mind that their versions of it are always a little bit behind rolling-release Linux distributions, so moving ZFS from Linux to BSD can cause issues, so I would just do it on FreeBSD since it's more integrated anyway) and jails and poudriere. Anyway, none of them are exactly beginner-friendly. More friendly than Gentoo, technically, but there is also a lot more information about Linux out there than about any of them. Not a lot of videos about BSD either other than cool conferences (though I may make my own at some point, when my hardware situation isn't as precarious as it is now). Whatever you use, do read the handbooks (and if you use GhostBSD, use the FreeBSD handbook since it's still relevant). Some information can be outdated or incomplete, but it's still helpful. Technically OpenBSD is the friendliest because it has the best documentation because bad documentation is considered a bug (and it even comes with more stuff installed than you would expect, like their own version of X that is patched for security, with two window managers (cwm and FVWM), and tmux, and it's also secure by default so you don't have to worry as much about securing it yourself). I have read their mailing lists a lot too. Mostly for fun, but I'm sure that you can use that for troubleshooting as well. My intention is to set up a FreeBSD file server at some point, and then access that from my main machine, that will then be running OpenBSD. Anyway, it definitely is a level up from Linux. Already being good with Linux is a good thing, even though there will be tools that don't exist there, and that could confuse you. One case of that was lsblk. It's a thing that I use a lot, but they don't have anything like it on FreeBSD. Fortunately you can just doas pkg install lsblk and it installs a script that gets the job done. Also, lscpu and lspci don't exist, but there are other commands for listing hardware, so it's fine.
You should really try NixOS. It's similar in many ways, but the Nix package manager is far more popular than Guix, so it has more stuff in general, and there are lots of binary packages. For example, the NixOS manual has a section on suckless tools, emacs configuration and a bunch of other cool stuff.
Talking about systems that are hard to brick, how about taking a look at some ostree distros, like Fedora Silverblue? That's also a really interesting concept.
@@drsensor Silverblue's whole root system is a read-only immutable ostree image that can be rolled back or rebased like a git project. Container tools like Flatpak and Toolbox are the preferred way to customize a system, but you can also still layer RPMs on top of the base image. The stability and security benefits should be obvious, but there are still some rough edges to trying to do everything in containers.
4 года назад
@@xthebumpx Indeed. Although applying RPMs on top is probably going to cause some headaches, if done too much, when upgrading the OS, I imagine.
_If you don't use GNU Guix as a standalone GNU/Linux distribution, you still can use it as a package manager on top of any GNU/Linux distribution. _*_This way, you can benefit from all its conveniences._* - guix.gnu.org
You can also just run the GUIX package manager on top of just about any distro; and once it's setup, you can install packages from it as a regular user. There's even a convenience script to get it up and running! (i.e. kinda like flatpak)
Nix has some disadvantages that you might care about: 1. Not all nix packages are built from source. There's a lot of nix expressions that just download the binary 2. Cli is less friendly. There are multiple commands that do similar things and command names are not intuitive 3. Documentation for packages is pretty bad. You will most likely have to dig through a lot of code in the nixpkgs repo if you encounter any issues
whats the difference of this compared to other "libre" OS like Parabola? and whats the point of using a "libre" distribution when you are just gonna install anything else outside of its repo?
I want as many FOSS software as possible on my system, so Guix is something I really want to try out at some point. For Discord, you could use web-based interface if you can’t get Discord to work.
Yeah Discord is much less of a dealbreaker than Steam (or proprietary wifi / GPU drivers etc). I'd never install the official stinky Electron-based app -- the web version works fine in a pinned Firefox tab.
Guix package management is a different way to do things. Don't know if a whole OS would be able to meet my overall needs. But let's just say I used Guix as an additional package manager on an existing Linux distro. Well that opens up some serious possibilities. Certainly worth testing out.
My biggest reason for not using 'free' distros is that they're a pain in the ass. Things don't work, everything is a hassle, and you have to work 10x as hard to get anything done. It's great for a learning experience and something to tinker with, but I wouldn't use it in any environment where I needed anything to work quickly and correctly without a ton of extra work, research, and troubleshooting. I also don't use Windows for the same reasons, since it's always a bloated pain in the ass and seems to always need to update.
You can Achieve Guix Package Manager , with Btrfs + Snapper + Snap-pac + Snap-pac grub and Grub-btrfs. You can Easily rollback to any specific snapshot.
For bin specifically that would allow it to build but it won't be actually installed. It's less about having the dir and more about them being important to the system
Qt has 'non free' elements that makes some if not all Qt based programs more difficult to run on the FSF approved Distros, this is one of the reasons I use Arch and not Parabola. You may wanna get an atheros wireless card for that Thinkpad although you may need to re flash a third party or modified bios to do so (this may also fix the overheating and fan control)
@DistroTube seems to keep missing the point of Guix (and NixOS - contrary to what he says in the opening of this video, there is a distro that is very similar to Guix, and that's NixOS, which actually inspired Guix). So instead of editing /etc/config.scm, users can install most packages locally - obviously some packages don't make sense installed at a user level. The real power of Guix and NixOs is declarative configuration. You can stick most of your system-level config into one or more files in /etc, then put it in a git repository. To build your new machine, you clone your repo and then run the reconfiguration command and it installs, builds, and configures everything you've defined in your OS-level config (/etc/config.scm for Guix; /etc/nixos-config on NixOs).
If you set your EDITOR env var you can edit your files as root with said editor just by typing "sudoedit your/file" and it's just like editing your groups permissions with "visudo" ;)
Once it's developed and widely adopted you're supposed to never bother with packages or distros again. I can't wait for Guix to be more popular because every distro is a pain in the butt compared to what this promises.
unless you switch themes, customizations and such optical blings on a regular basis (wanting to be post of the month un reddit?), i find Arco to be bloated.
If you install everything in the scripts without editing them, yeah I could probably agree it is pretty bloated. But Spending a few minutes editing the install scripts in vim is still faster than a full Arch install.
For st and dwm you don't really need to run "make install". They are single-file binaries. You can just copy them in any dir in your $PATH. I usually keep them in $HOME/bin
I would assume, but could be wrong, that NIXOS is similar to GUIX. You already did a NIXOS video but could you please also take a look again at NIXOS ? and maybe do a small comparison between GUIX and NIXOS ? Anyway, thank you.
guix is inspired and based on the design of nixos. the main difference is the configuration language (which are both uncommon) and that guix is a GNU project while nixos is an open source project that also provides proprietary packages, when you allow it. nixos has way more packages while guix developers do a lot in the reproducible builds and bootstrapping area, which i have a lot respect for! disclaimer: i'm a nixos user and contributor
i have a question: How much language support is there for Guix? My computer has Japanese installed on mint (because i need it for both input and looking at sites) and i couldnt find any details on language packs in my searches.
Hey, DT, I think gobo is probably easier to use as a daily driver. It also has a very unique file system organization, but they're handled by symbolic links, so you won't have problems compiling
@@fish3977 well i guess there is a difference between optionally adding non free stuff yourself and having system non-free stuff from the beginning even if you don't need it. You know like a feeling that your base system is fully libre from the install and you can controll that better
It sounds like a cool distro, but the limitations are too much for me to use as a daily driver. I need to know that the software I need for school will run.
Check out NixOS. They follow many of the same concepts, but Nix allows nonfree package, etc. IIRC, the Nix package repositories are the largest of any distribution.
@@christopherprats as of today nixpkgs unstable has 51266 packages while AUR has 55271, but nixpkgs unstable has the most up-to-date packages. all other distributions are far behind. repology.org/repositories/graphs you can easily have a system on stable channel and use some packages from unstable but you really have to invest time in to learning NixOS and read the manual, unlike derek did in his first video about it. i use NixOS for more than 5 years and would not use anything else. i might look into Guix some day
if you like the concept, check out nixos. guix is inspired by it's design. nixos don't has many of the mentioned problems, but also a steep learning curve. you have to invest time to understand how to use it correctly
Got suck in the Guix. I had a sleepless night using Guix on qemu. Installed xfce and the monster Gnome. spent much of the time learning to add new channel to the repo. learned not to invoke the guix pull unless I want to stare the almost unending on-screen repo/channel/git surfing. All that just to make gnome more palatable. IMHO Guix needed a couple of more of versions before the low level system surfer like would consider it as a daily driver. It's fun but I was losing sleep so I deleted the VM.
There are only a few window managers officially supported, looking at their ‘ installing Guix’ pages. Gnome, xfce, lxde. No KDE. If DWM is similar to KDE structure it won’t be supported.
As far as advantages, the fact that config for the distro is a single file written in GNU Guile (a dialect of scheme) is pretty cool. Especially is you wanted to install on multiple machines. Also, the roll back features are nice. Theoretically, it should mean that you can't permanently break your installation.
Hey DT, i read up about an interesting distro called Bedrock Linux. Maybe it could be a way where you can run Guix as much as you can, and use resources from another distro when needed. Its weird how it works but Bedrock is very interesting, discovered it this morning and will most likely try
at that rate you could use something like debian for system packages and install basically everything else to your user's guix environment since it is a portable package manager. also with nix theres this conversion tool if you install it that way and idk if it will work for inheriting non-free firmware into guix
that's not how you do it. i don't know much about Guix, but i use NixOS which Guix is based on and on NixOS you just write this in your system configuration: networking.firewall = { enable = true; allowPing = true; allowedTCPPorts = [ 80 443 19999 ]; allowedUDPPorts = []; }; it's probably similar on Guix and you should find it easily in the documentation
I'm using Guix and there are some quirks, the icecat browser won't display numbers, the default bin file is write protected, the package manager is slow, and the /etc/host file keep resetting so I can't use 1.1.1.1 for Reddit.
Guix looks really cool, but I can't use it on my hardware. Anyway, the fan in your laptop might be running high because Guix may not have a free driver for your GPU, so everything may only be utilizing your CPU. I did a source install of Gentoo, and could not figure out how to get it to use my GPU. So my CPU was working pretty hard.
if you like the concept, check out nixos. guix is inspired by it's design. nixos don't has many of the mentioned problems, but also a steep learning curve. you have to invest time to understand how to use it correctly
Pls take another look at NixOS :) Guix is actually really influenced by it and the good thing about NixOS is that you can easily install unfree packages. Also the nixpkgs repository is nearly as big as the AUR and you get nearly everything (also most packages can be pulled pre-compiled from a cache server). For your configuration problem there is also an awesome solution: Home-Manager. It allows you to describe your dot-files and many more features in a file. The last video you made about NixOS is 2 years old and you did not get the point of it. It's philosophy is similar to Guix: Less (no) state - rollbacks - system is described in a configuration file. It's similar to the instantos video you made. You were not talking nicely about this distro without having fully understood it's features. Just check it out :)
i tried guix for about 1 day before i got frustrated and decided to go with nixos instead since it has the declarative configuration system that i wanted out of guix, it's just more mature and less restrictive.
Cool that Linux has any options for people that os what I like about Linux. I am going to stick with Ubuntu or Debian for my Linux stuff. The only other system I have an intreast in is FreeBSD.
btw dt just before you switch to it check openssl version. I am assuming they will be using libressl and kdenlive for some reason doesn't install when your using libressl atleast on my libressl gentoo based system
Did you ever get those old laptops you wanted? I have two older laptops/netbooks that are in fine working condition and I'd like to give them to you rather than trash them.
I have three laptops that I test distros on. I don't necessarily need anymore. But I do agree, definitely don't trash them. Put Linux on them and find someone in need. :D
Hi. Got interested in Guix because of your earliers video, thanks for that. Have not installed it yet, but did watch some videos. If I'm not mistaken then all packages are generated from a single git repo with all package metadata: git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages. Cheers!
@@DistroTube In my experience, making packages for Guix is about as easy as making Arch packages. My biggest hurdles were understanding scheme and how to define packages, but reading the manual helped me figure it out.
You should check out nixos again if you haven't recently. It's a lot like guix, but uses it's own functional language instead of scheme and has systemd and opt in proprietary packages. I haven't tried guix myself but I hear the philosophy is similar. I've been using nixos for a few years now and have even contributed a few packages to nixpkgs.
by the way on nixos to customize dwm it has a patches option. I install dwm 6.2 as a stable base with patches = [./dwm.patch], and on my local git checkout of dwm use a script that does git diff 6.2 HEAD > ~/.config/nixpkgs/dwm.patch. Then reinstall dwm and it recompiles.
also, these reddit threads might come handy when dealing/using with pre-compiled binaries (like appimages) www.reddit.com/r/GUIX/comments/desnjc/dirty_install_for_precompiled_binaries/ www.reddit.com/r/GUIX/comments/hxi5fj/do_appimages_work_on_guix_system/fz7bkow/
8:11 because you are not sudo/root, you can't change anything that 'high' up (I think). So try with sudo or by editing the global config file (Edit: oh you did...)
Guix directory structure and package manager ar enot "unique" per se, they are directly influenced (almost copy paste) of nixOS directory structure and package manager
Your alacritty build would have taken a minute or so from cold build if your vm had enough ram - rustc is absolutely notorious for requiring much more ram than most compilers, your vm should have at least 8gb, preferably 16. I can literally see you have 650mb ram free - this isn't even close to enough.
For Discord you can either bridge it to Riot.im which is called Element now, or Rocket.Chat server, Unfa(RU-vid) is also hosting a Rocket.Chat server, and he bridged his discord to his Rocket.Chat server, or you can just use the web version of Discord, in a Web Browser. BTW, why not use Hyperbola, Parabola or PureOS or even Trisquel which Richard Stallman uses.
I tried Parabola, but could not get the grub to install on the SSD I was using. I then could install Trisquel on that same SSD, so I believe there in an issue w/installing grub on my Scan Disk Pro SSD. Hmm?
@Buster Brown what partition table you were trying to install grub onto? Grub needs a separate partition when using GPT. Personally, while I can't comment on grub, because it's in my bios chip, I didn't have very smooth experience with Parabola.
If a user who is as comfortable as you are with tech and linux-style things runs into this many problems, the OS is basically dead from the get-go. I appreciate the mantra of GNU but this OS is just wasting people's time.
it is a distro for advanced users that can profit hugely from it. same for nixos, which guix is inspired on they advance in areas that other distros don't touch, like declarative configuration, reproducible builds and bootstrapping reproducible-builds.org/ www.bootstrappable.org/ i use nixos for more than 5 years and would not want to use any other distro. i have huge respect for what guix does
Nixos has everything you mentioned including Qtile already compiled, and the installs and generation switches are fast and rarely require reboots. Just sayin...
it would be great if you invest as much time to understand nixos. guix is based on it's design, so it's very similar, but don't has many of the mentioned problems. if you encounter any issue, reach out to the community... and rtfm, like your mug say ;)