Guix v1.0.0 has officially been released! Step up to based beautiful future of package management, the GNU operating system, and free software in general. There's even a graphic installer now for you incapable retards. And they're just calling the OS `Guix System' now instead of GuixSD. I'm here to help.
Will the ISO now work witth a Zalman HDD enclosure?
Jeremiah Bell
I don't even know what that is... It ships with nearly every free driver known to man - If your thing requires nonfree software, then probably not.
Bentley Morales
Basically, it's an external hdd, which appears as both a hard drive and a cd drive. You copy the iso on it, then you can boot from it like it was a cd. It works fine with the ISOs of Ubuntu, Fedora, Clonezilla ... But last time I tried not with the ISO of GuixSD.
Jackson Howard
Based GNU
Wyatt Harris
haha upvoted for GNU!!!
Blake Stewart
I like to install an extremely small instance and then build it up as I need to from there. You can discover any issues you might have quickly and don't have to wait for a ton of stuff to build before booting into the new install. Here's about as minimal as you can get: (use-modules (gnu)) (operating-system (host-name "desktop") (timezone "America/Denver") (locale "en_US.utf8") (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (target "/boot/efi"))) (file-systems (cons* (file-system (device (uuid "E4E4-AC21" 'fat)) (mount-point "/boot/efi") (type "vfat")) (file-system (device (file-system-label "a")) (mount-point "/") (type "ext4")) %base-file-systems)) (swap-devices '("/dev/sda3")) (users (cons* (user-account (name "buen") (group "users") (supplementary-groups '("audio" "netdev" "video" "wheel")) (home-directory "/home/buen")) %base-user-accounts)) (packages %base-packages) (services %base-services))
I'd just like to interject for a moment. What you're referring to as Guix, is in fact, GNU/Guix, or as I've recently taken to calling it, GNU plus Guix. Guix is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called "Guix", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Guix, and these people are using it, but it is just a part of the system they use. Guix is the kernel: the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Guix is normally used in combination with the GNU operating system: the whole system is basically GNU with Guix added, or GNU/Guix. All the so-called "Guix" distributions are really distributions of GNU/Guix.
This is awesome. How do I install proprietary drivers for my atheros wifi card?
Ian Collins
>proprietary drivers for my atheros I'm pretty sure those have Libre drivers. That's why the FSF always seems to recommend Atheros dongles.
Luke Martinez
I'm doing the graphical install and it chooses a UEFI grub installation even when my disk label is msdos. Can I just edit config.scm and do `guix system init /mnt/etc/config.scm /mnt` before rebooting to fix this?
Joshua Scott
Thanks. Will test in a VM.
Samuel Evans
I know it doesn't, it's a qualcomm era card and I already tried linux-libre.
Kayden Wright
Nevermind, the install doesn't even succeed. I guess I'll just copy the config it generates by hand and do a manual one.
Henry Lopez
>no ARM support yet >implying I want to run FOSS just on backdoored systems (x86)
Might check it when they support ARM devices, specifically a Librebooted snsv C201.
Michael Evans
A disk label and partition scheme are different things... You haven't finished the graphic install then? Yeah, just change ttys and do a manual install like you said and it should be fine assuming everything in the config is how you need/want it.
Carter Richardson
>or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, and AArch64 machines don't know where you got no arm support out of that the installation image even ships with an example config for the beaglebone black
Juan Williams
Might actually try it if so - how much time to get X + i3wm running from a scratch install?
Jordan Sullivan
What are you on about? It's only available for x86(_64). Pic related.
I am very interested in Guix, but give me the straight distilled gestalt on why I'd use it instead of NixOS. I've been using NixOS for almost two years and it's been great. Guix seems less mature, with worse documentation and configuration interface (I don't like the lisp/scheme style, it's too loose, I think Nix got it right with the declarative/functional hybrid DSL)
Henry Wilson
How is Scheme not declarative/functional?
Colton Rogers
Does Guix support running as dom0 for Xen on a 64-bit UEFI machine? That's really the only way I'd consider using it.
Brayden Perry
I also don't like Scheme.
Then again, Nix' CLI is such a mess. What the fuck were they thinking with all the poorly designed and often verbose and weird commands to search / install / remove packages and package repository information and so on?
Alexander Stewart
>Free software only Yikes. Gonna stick with Nix.
Easton Hughes
cool
Angel Turner
How fucking i can configure config.h in GUIXSD?
Joseph Jenkins
post plz configuration
luks + lvm dmcrypt and dwm + st + dmenu.
help me plz anons.
Levi Miller
i didn't say it wasn't, I said it's too loose, and Guix is less mature than NixOS. As far as I can tell, Guix is just a wrapper for Nix for people that want to configure their OS the same way they configure emacs.
The Nix language was built specifically for the Nix package manager. Guile was made to fit Nix through Guix. I don't see why I'd use Guix when I already know Nix.
Brayden Morgan
I agree on both points. There is slow work being done to rebuild the nix CLI. Personally I have a bunch of functions and aliases in my shell profile to work around the crappy interface.
Austin Wright
short answer is >lisp >freedom >no systemd
Some people who were working on Nix wanted to reassess some things that couldn't be touched without starting over from scratch, and Guix was born - So in some sense it's perhaps more mature. It's the logical necessary continuation of everything started with Nix. If NixOS works for you and you don't care about the points above, by all means stick with it. Though I think most people will find Guix to be much more clean, cohesive, and friendly.
Ayden Perez
>The Nix language was built specifically for the Nix package manager. That doesn't stop it from being a crippled DSL when compared to a general purpose programming language.
Nolan Gomez
If my computer doesn't work well with linux-libre is there any point in even bothering with Guix?
Kayden Walker
I'll admit that NixOs has some serious flaws, the CLI is one of them, another is that everything is kept in one repository full of files which cant really be decoupled easily, and related to that point, it's not straightforward to create standalone packages or overlays, or even package derivatives for that matter (think like USE flags). I don't see how Guix makes a significant improvement on any of those fronts though. I like that Guix doesn't use systemd, but I also don't think shepherd is as powerful or mature. Despite all of that, I'll try it out, but I'm not going to dump a month of time into making it work for me.
Carter Wright
>Guix System Distribution (abbreviated GuixSD) is a Linux distribution built around the GNU Guix package manager.
Jayden Wilson
fuck systemd, fuck nixos faggots.
Joseph Hill
I'm not convinced they're doing a good job if the rework is slow and their own.
They really should just paludis, emerge/eix, equo, apk (Alpine's... not apt), dnf, git or some such as example, and rework the syntax to be ~the same and then deploy that as nix-env2 and so on.
They probably also should start using Gentoo's package qualifiers ">=media-video/mpv-0.29" or such, although that is a bit more work on the parser.
Adam Foster
>I like that Guix doesn't use systemd I don't. It really should support openrc, runit and systemd for practical reasons even if they really want to also try their toy project (shepherd).
Ian Butler
>practical pandering to casuals and retards is what ruined debian guix is doing this right shepherd is fucking awesome
Hunter Smith
I'd just like to interject for a moment. What you're referring to as GNU/Guix, is in fact, GNU/Linux/Guix, or as I've recently taken to calling it, GNU/Linux plus Guix. Guix is not an operating system unto itself, but rather another free component of a fully functioning GNU/Linux system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU/Linux system every day, without realizing it. Through a peculiar turn of events, the version of GNU/Linux which is widely used today is often called "Guix", and many of its users are not aware that it is basically the GNU system, developed by the GNU Project, using the Linux kernel, developed by Linus Torvalds.
There really is a Guix, and these people are using it, but it is just a part of the system they use. Guix is the package manager: the program in the system that installs and manages the software packages you put on your computer. The package manager is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Guix is normally used in combination with the GNU/Linux operating system: the whole system is basically GNU/Linux with Guix added, or GNU/Linux/Guix. All the so-called "GNU/Guix" distributions are really distributions of GNU/Linux/Guix.
Josiah Gomez
Ruined? Debian always had pretty silly package managers, from dpkg over apt-get to apt. They even updated their package managers in a way where some functionality still is in dpkg or apt-get, not the current apt; they even failed to account for their own package managers.
What I'm saying is that ultimately you should look at better manager's CLI and implement these, what use is it to reinvent yours without referring to any others and end up with "nix-env -qa" for a basic search.
Also, looking at Guix, I guess you should not let Lisp/Scheme users participate, they'll try to do fucking everything including the init poorly with Lisp/Scheme.
Brandon Sullivan
As long as they make installing nonfree firmware unnecessarily hard, I''m staying on Gentoo.
Lincoln King
> what is a source code > how do I compile
Matthew Myers
Yes, but you're nothing thinking the Guix way. I believe the best way to go about that would be to spin up a GuixSD VM, then build and spit out an instal image using guix system for the different architecture, then follow the normal install steps with that image.
Samuel Flores
I was talking about systemd. systemdebian became absolutely unusable when they opted to move to it for `practical' reasons.
Having everything be configurable with Guile is the best thing ever. It's clear and consistent, straightforward yet powerful, easy to read and understand, easy to change or extend.. Finally, a humane way to approach operating system configuration. I have real trouble understanding how anyone could learn about this and still prefer the mess of chains of scripts and files in all different languages and places we've been struggling with for so long.
Brayden Smith
>nothing thinking
Nathaniel Flores
>I guess you should not let Lisp/Scheme users participate, they'll try to do fucking everything including the init poorly with Lisp/Scheme. This. We should write 10 new different shitlangs instead to do the job. Surely inventing entirely new shitlangs to deal with a complicated general programming task will not in any way detract from the development of the actual software.
have some hack gross aliases I've found useful: gpFi () # install all font packages { guix package -i $(guix package -s ^font- | grep name: | cut -c 7-) } gpG () # list globally available packages { INSTALLED="$(PACKAGES="$(guix package -p /run/current-system/profile \ -I | grep -v ^font-)" echo "$PACKAGES" | while IFS= read -r PACKAGE; do NAME="$(echo "$PACKAGE" | cut -f 1)" VERSION="$(echo "$PACKAGE" | cut -f 2)" OUT=":$(echo "$PACKAGE" | cut -f 3)" if [ "$OUT" == ":out" ]; then OUT="" fi echo "$NAME""$OUT" "$VERSION" done)" echo "" echo "$INSTALLED" | sort | column -t echo "" } gpI () # list installed packages { INSTALLED="$(PACKAGES="$(guix package -I | grep -v ^font-)" echo "$PACKAGES" | while IFS= read -r PACKAGE; do NAME="$(echo "$PACKAGE" | cut -f 1)" VERSION="$(echo "$PACKAGE" | cut -f 2)" OUT=":$(echo "$PACKAGE" | cut -f 3)" if [ "$OUT" == ":out" ]; then OUT="" fi echo "$NAME""$OUT" "$VERSION" done)" echo "" echo "$INSTALLED" | sort | column -t echo "" echo "$(guix package -I | wc -l) packages in profile" echo "$(guix package -I | grep ^font- | wc -l) font packages" echo "" }
Hudson Ward
Someone post a screenfetch.
Josiah Davis
Guix has neofetch instead of screenfetch. I will when I've upgraded to v1.0.
Jacob Gutierrez
>luks + lvm dmcrypt Also interested in this. I can't seem to manage to properly define a config which doesn't somehow fuck up either in the initial stage of booting when you type the password right after "Welcome to GRUB!", or a bit later when you type it a second time and it throws you into a Guile debugging REPL.
>no nonfree software So how does this work? It's just a package manager so nothing's stopping someone from creating a repository with nonfree software, right?
Jordan Rivera
Yes. Luckily, most of those who don't care about freedom are too stupid to figure out how.
Matthew Taylor
Give me a tl;dr.
Is it a distro?
Daniel Ross
Guix is a transactional/functional package manager. Basically impossible to fuck up beyond repair as you can roll back to any previous working state. Everything about it is configured with Guile[Scheme(Lisp)] so it's easy to read and fully extendable with the power of a real programming language. But when a package manager exists so perfectly, an OS just sort of falls into place around it. You can install and use Guix on any distro, but you can also install their distro built around Guix - This is now called Guix System (but you'll probably still see GuixSD[System Distribution] being used for a while). And Guix System isn't like a normal distro at all, it's far more meta and processive. They give you this nice framework and then you declare exactly what you want your OS to be using Guile - So every instance of it will be unique and perfectly tailored to the one installing it, lisp hackable on every level, and with all the glorious benefits of functional package management and guix. It's a meta distribution. It's the best thing ever. That we ever didn't do package management or OS design like this is in retrospect, absolutely retarded.
Jeremiah Myers
ok thanks. I wish them well. Any other distro adopted or has plans to adopt the package manager?
Anthony Richardson
Thanks, sounds interesting.
Christian Cruz
I'm trying to do an encrypted install with LUKS. Assuming my mapped-devices is like this (mapped-devices (list (mapped-device (source "/dev/sda3") (target "cryptroot") (type luks-device-mapping))))
and my lsblk output looks like pic related, are these file-system declarations correct? (file-system (mount-point "/") (device "/dev/mapper/guixsd-root") (type "ext4") (dependencies mapped-devices))
I've never done any fully encrypted systems. I really want to try it though. If this does work, let me know.
Brody Sanchez
Based. Lispfags will win.
Charles James
I really doubt any distro would replace their own package manager with Guix, since it would just be like making another Guix System, but you can use the Guix package manager in any other "host" distro in conjunction with the native package manager, there are instructions on the download page. I even remember reading some tutorials for getting an extremely minimal Debian system working and using Guix for as many packages as possible, these are a bit old though.
Joseph Wilson
Please. Let's finally ditch Linux and complete the GNU system, as it was always meant to be.
Jason Wood
Yeah, once you begin to understand the benefits of Guix at all, moving to Guix System becomes inevitable. Being able to use Guix on other distros is great, but anything along the way seems needlessly restrictive. Without willfully crippling Guix, anything that embraces it ultimately must become Guix System. This metadistro thing blows my mind. The distro tree has finally been deconstructed and will no longer make much sense or be relevant going forward - You either have a Guix System or some arcane mess.
Owen Johnson
If I already did one `guix system init`, is it safe to run it again from the livecd onto the same /mnt or do I need to run some other command?
Colton Torres
>I was talking about systemd. I have no issues with systemd, although Debian should of course support multiple inits. dpkg/apt/apt-get is fucked up.
> It's clear Only Lisp/Scheme users would think that way.
The rest of the world prefers key-value or YAML or something else that is actually simple on the user end.
Or at least a programming language that can do imperative as well as functional, because requiring people to FP pretty much everything is retarded; it resulted in almost no production software despite Lisp, Haskell and friends having been around since forever.
> how anyone could learn about this and still prefer the mess of chains of scripts and files in all different languages No, requiring another esoteric language almost no one was using for anything on top of that doesn't help.
Gavin Fisher
Did it fail? If not you should boot into the new system and run as root `guix system reconfigure .../config.scm' from there. I don't know what running a system init twice from the install media would do...
Easton Reyes
So is this like the terraform of on-prem?
Christian Cruz
I have no idea what that is, but probably not.
Brody Harris
>Only Lisp/Scheme users would think that way. And what exactly is stopping you from becoming familiar with Scheme? >key-value or YAML How the fuck is this simpler or better to use than Scheme? You can't write your entire package manager in YAML, just the shitty package definitions. Which means you immediately lose out on any possibility of the end user extending the package manager/the way you define packages without recompiling the entire program. With Scheme, you can write both the package manager and package definitions in the same language, so you just write a package as you would other "normal" code in the language. >Or at least a programming language that can do imperative as well as functional Nice display of your ignorance about what Lisp or Scheme even are. >esoteric language How is Scheme "esoteric"? It has really simple syntax and semantics by design. Any retard could start writing programs in it after a really short time of learning.
Jose Perry
It technically didn't fail, but I can't load the kernel after booting into GRUB. Seems like doing it twice works just fine, as I still boot into GRUB with a different more clearer error now.
Jaxson Robinson
best not to argue with retards people spewing that kind of nonsense are incapable of certain basic modes of understanding and cannot be reasoned with give up man these peoples' fear of lisp keeps our little world nice and beautiful
Asher Moore
>Is it the GNU system, paired with a different kernel? GNU/$program, for example GNU/Linux, GNU/kFreeBSD, etc (note the slash) >Is a program part of the GNU system? GNU $program, for example GNU Linux-libre, GNU wget, etc (not the missing slash)
I honestly believe all this FUD over the Lisps has been fueled by AT&T and Bell Labs to steer people towards Unix and C, and conveniently sweeo under the rug superior technology that came before that.
Carter Anderson
That's wrong.
Ian Bailey
Meant for
Angel Robinson
Why does it require root? I wanted to use Nix to install user packages but its root only. Baffling.
>As far as I can tell, Guix is just a wrapper for Nix Guix is another implementation of Nix concepts, not a wrapper.
Guix has much more simplified CLI (though Nix is working on this problem), and making package derivatives is as easy as making a new package, just add `inherit' (define-public my-package (package (inherit other-package) ;; package definition here ...))
>key-value The problem with key-value configuration is that it's awkward at best for defining more complex package definitions, impossible to sanely do at worst. Nix approaches this problem by using their own little DSL, however Guix tries to go one step further and uses an E-DSL so that they'll never have problems with expressability, because they could just extend the language.
It's to create the nix store and building packages.
Lincoln Thompson
dammit OP. I've been using gentoo for 2 years and I wasn't planning on hopping agian but this is just too much to pass on
>And what exactly is stopping you from becoming familiar with Scheme? The same as it stopping me from learning any other ancient meme language that never got adopted much: They're useless except for less than a handful of things.
> You can't write your entire package manager in YAML Exactly. What's useful is having an useful package manager, not getting to write it in code (never mind in a dialect of a meme language like Lisp).
> Nice display of your ignorance about what Lisp or Scheme even are. No, I know. There are lots of claims how Lisp/Scheme/Guile are multiparadigm things that change the world. They're next to completely useless at just about anything other than FP though, and third rate at FP.
> How is Scheme "esoteric"? Same way as just any LISP. Verbose syntax, crappy standard lib, weak compiler and tooling, and so on,
> Any retard could start writing programs in it after a really short time of learning. Again, you could waste your time on any language, many are easy to learn. But Scheme is >40 years old, Lisp >60 years, and virtually nothing good has come from it - it's nearly exhaustive proof just how useless it is. Inb4 emacs.
Luke Rodriguez
if you respond to it you lose
Jace Ortiz
hurd was kind of a failure, read about it
it wasnt a TRUE microkernell
Parker Taylor
And before any of you make fools of yourselves, it's pronounced like the English word `Geeks'.
Julian Howard
what's the guisd waifu? what anime girl comes in the wallpaper?
You have to switch from the default Linux-Libre kernel that comes with it to the full Linux kernel.
I'm really hoping someone will put it upon themselves to maintain a public repository for stuff like this, but here is my copy of it (this was posted by a guix dev a while back and all I've done is update the download links with the latest versions and hashes of the Linux kernel and firmware) As of the time of this post this will get you the most up to date versions. pastebin.com/TRD6s7pg
To use it all you have to do is add (add-to-load-path "/path/to/my/shit") (use-modules gnu packages linux-nonfree)
(operating system ... (kernel linux-nonfree) ...) into your guix system config file then create the directories: /path/to/my/shit/gnu/packages and just copy and paste everything in that pastebin to a file called /path/to/my/shit/gnu/packages/linux-nonfree.scm