GNU Guix and GuixSD 0.15.0 released (the new official distro of Jow Forums)

gnu.org/software/guix/blog/2018/gnu-guix-and-guixsd-0.15.0-released/

GuixSD is a GNU/Linux distro actually made by the GNU project. it would go very well with the stallman worship and the sticky image, and it's 100% libre and has not botnets, with no binary blobs and no systemd.

Attached: guixsd-logo.png (882x645, 46K)

Other urls found in this thread:

web-artanis.com/scheme.html
github.com/wingo/guix-nonfree/blob/master/gnu/packages/linux-nonfree.scm
github.com/guix-users/guix-nonfree
gnu.org/software/guix/contribute/
lists.gnu.org/archive/html/help-guix/
github.com/wingo/guix-nonfree/blob/master/gnu/packages/linux-nonfree.scm#L124
gnu.org/software/guix/manual/en/guix.html#Services
gnu.org/software/guix/manual/en/guix.html
gnu.org/software/guix/manual/en/guix.html#System-Services
gnu.org/software/guix/packages/
git.savannah.gnu.org/cgit/guix.git/commit/?id=84ee33787e011fbf7d04eed1bc2d0765cef57b52
gnu.org/software/guile/manual/html_node/Modules.html#Modules
gnu.org/software/guix/manual/en/html_node/Services.html#Services
gnu.org/software/guix/manual/en/html_node/Service-Reference.html#Service-Reference
gnu.org/software/guix/manual/en/html_node/Defining-Packages.html#Defining-Packages
gnu.org/software/guix/blog/2018/guix-welcomes-outreachy-gsoc-and-guix-hpc-interns/
nixos.org/nixos/nix-pills/
gnu.org/software/guix/blog/tags/bioinformatics/
biorxiv.org/content/early/2018/04/11/298653
berlin.guixsd.org/
twitter.com/NSFWRedditGif

>package manager is unloved
Can someone expand on this?

>uterus distro

Attached: 1525187533350.jpg (948x776, 54K)

>no binary blobs
So hardware support is shit...

>Bootloader definitions are availablefor many boards —Novena, A20OLinuXino, BeagleBone, andeven NES
>NES
What?

>not using Hurd kernel
DOA

Gonna be trying it in a VM. From what I've seen it does appear to be a good choice for Jow Forums's official distro.

Unfortunately most people on Jow Forums are too lazy to learn nix or scheme.

Yeah but many are also too lazy to learn how to InstallGentoo. At least you'd be learning a bit about a programming language with guix (guile scheme)

>stallman
Into the trash it goes. Also, install Crux!

Support for Hurd is actually in the works. Or was, haven't heard anything about it lately. Not that Hurd is usable anyways.

can't unsee

based

Attached: 1530549673742.png (1024x576, 110K)

is it easier or harder than gentoo, and what kind of advantages does it have over ubuntu, arch, or even other fully-free distros like trisquel and parabola?

This could not have come at a better time. I was just sitting here last night wondering when the new release would be.

It's a rolling release distro but without all of the downsides. If you install 0.14 even right now and then update it, you would be exactly where anyone that installs 0.15 system is right now.

Yeah the scheme part was a big turn off for me because I know jack shit about it.

>inb4 brainlet
Yeah, I know

It is much easier than even Ubuntu in theory. Not all the sharp edges may be polished as of yet, but eventually, it will be the most /comfy/ thing in existance.

Attached: 1530549736583.png (942x774, 119K)

(((scheme))) is very simple. Learn scheme and way more than you need for guix in 15 minutes here:

web-artanis.com/scheme.html

Attached: 1530529059580.png (1176x991, 466K)

This is an example from someone's system configuration file where they use the non-free linux kernel with binary blobs for their hardware. Compare and contrast to the default one as recommended by the guixSD manual and adopt accordingly. You should be able to do this.

github.com/wingo/guix-nonfree/blob/master/gnu/packages/linux-nonfree.scm

Attached: 1530484003478.png (1422x1275, 205K)

actually that link only has some global package definitions for non-free binaries and not much more.

Explore this github readme and see the example provided. Some other nonfree software definitions can be found there too like chromium. It seems like that chromium definition is a bit old though so may not work anymore since guix has had some structural updates since then.

github.com/guix-users/guix-nonfree

In order to find more info on running guixSD of non-free system do a search for `guix nonfree` in your search engine of choice and go through the relavant links.

Attached: 1530550864244.png (814x576, 257K)

I installed GuixSD a few days ago. Here are my experiences.
xmonad is horribly broken. I'm just going to switch to i3, since this package doesn't work on the distro
When I first installed, guix was completely broken, giving me "guix system: command not found", but I eventually fixed it with some clever searching
Guix is horribly slow. Compiling the scheme takes several minutes, without even building packages
And why do I have to build packages? NixOS has binary packages. Why doesn't GuixSD do the same thing?
Why is there no "poweroff" command? I have to use "sudo halt"????
There's no nethack package

It works pretty well, but it's awfully rough, really.

I have a new computer coming in a few days so thats why. I'm probably gonna find some time this weekend to write instructions on building a system image that'll boot into the regular linux kernel with firmware.

On one hand I'll incite the wrath of RMS, and on the other I'll make the most annoying part of installing Guix go away.

Well shit looks like someone beat me to it. Fucking rad.

Help it be polished. This will happen eventually regardless, but significantly faster if some of us would like to contribute their technical abilities to the project. Package what you need, it will help others. Resources:

15 minute intro to scheme: web-artanis.com/scheme.html

Contributing to Guix: gnu.org/software/guix/contribute/

Biggest thing it needs imo is a central github repo that holds all the non-free stuff. Guix can be resolute in their FSF'ness, that's fine by me. But I actually want to use scheme as my configuration manager without gimping literally everything.

Yeah, I appreciate you saying so. When I have some free time this weekend I was thinking I'd fix xmonad. It might be a little mind-bending, but I'll look at the Nix package for reference. I installed it so that I could contribute, actually.

those instructions still use some old definitions for the kernel and stuff, so if you could document your experiences in detail and create a static webpage on github pages or something it would accellerate adoption of guix.

I could post my config for nonfree guix with linux 4.17.2 kernel with iwlwifi drivers in order to get my intel wifi card in X230 to work. Do people want this?

Ask the people at #guix on freenode. Fairly active and insightful. All of the main developers hang around there from time to time, although a bunch of them are in Europe so there's a time difference to watch out for if you're trying to catch them.

Also don't be averse to sending an email to:
help-guix at ganoo dot org
lists.gnu.org/archive/html/help-guix/
Lots of good discussions and answers to be found in the archives. Use the search function.

Attached: 1530539626891.png (1157x868, 120K)

I have my own github repos that go up to 4.10.x somewhere. A 4.17.2 would be great though.

Wingo's definitions include something that I'm pretty sure pulls in ALL of the firmware drivers.

I think if we got the newer kernel and the wingo firmware together and got some nice instructions on github people might try it. But the problem is the instructions would have to consist of:

>Installing guix on some linux system
>cloning the repo
>building the kernel and others to make the bootable image

We'd have to figure out some way to host pre-built images that'll let people install with all the firmware available. The most annoying part of guix to me is I have intel wifi so I have to go hardline into a router just to download the non-libre kernel and compile it.

github.com/wingo/guix-nonfree/blob/master/gnu/packages/linux-nonfree.scm#L124

Meh, I'm sticking with semi-proprietary OpenSUSE, because it is the only distro that allows making web server, squid proxy, DNS server, with ein kick. Like Windows, but it works, and doesn't fuck brain with updates.

What really will have to happen is a Guix derivative akin to what Ubuntu did to Debian, although without all the cucking.

Anyone of you who reads this post can initiate this at any point.

Make sure to stay as true to the ethical ideals as possible. Libre by default is the best option, but leaving the choice of installing proprietary stuff still remains for the user post-installation. This is what debian gets right. They fail by not keeping to this separation in the wiki articles and other guides, where the distinction is blurred and ignored.

Some of what Debian does is very important: strict repo segregation so that it's still possible to run it as a libre distro. i.e. at least 2 repos: libre & non-libre. 3 like they do is ideal, for the same reasons. And always offer two official (for the derivative) install image isos. One with no closed blobs that is as pure as the upstream GuixSD and one with what a lot of users will need to have a functioning machine as one would expect in 2018 (closed firmware), without additional work to procure a libre wireless card, etc.

This will happen. Help make it happen sooner.

This will also put your name along the lines of the rest of the libre hackers and the community will be forever indebted to your contributions. If you care for that stuff.

Attached: Guix_System_Distribution_logo.svg.png (2000x1782, 123K)

One cool thing about Guix is that you can always rollback after an update

And in OpenSUSE as well.

How would you go about enabling daemons to run at boot with shepherd? I see options for starting a service and stopping one, but not enabling, as in 'systemctl enable *service*' in systemd, or the symbolic link creation method in runit?
Also, is there a way to get a list of all the services on the system?

Yeah, if this is true, I really don't want to have to go down that path of researching hardware support all over again. Linux was a real pain in the ass years back.

Enabling services happens via /etc/config.scm

dumbasses, its a tree because it has branches, and trees are easier to read upside down

Ah so you just throw it in the config file with the initial setup?
How about getting the service names?

In your /etc/config.scm file there is a place for services. That's where you can add new ones that are already predefined. You can look at the source to see how those definitions explicitly use herd.

Find all the predefined services with their options here: gnu.org/software/guix/manual/en/guix.html#Services

Big Idea: in guix you should never edit files outside of $HOME of your user. Everything should be done through the central configuration file i.e. /etc/config.scm that you then rebuild the system with by running `sudo guix system reconfigure /etc/config.scm` which will create a new 'generation' of your system that could include changed to anything including your kernel. Upon reboot your default boot option will point to that new generation (some things will already take effect immediately, but actually starting to use the new kernel that you reconfigured the system, will take a reboot), and the one you had just been in before reboot will also be available to choose from manually along with every single other generation of the system since you first installed it on your hardware. This lets you go back to any kernel version/ system service version and any "state" of the system of the past.

This obviously takes more space since the old packages don't get deleted. In order to clean up space you must delete old generations manually and then run the gargage collector by running `sudo guix gc` which will delete any package versions that are no longer pointed to by any system generations.

In general, RTFM: gnu.org/software/guix/manual/en/guix.html

Although this is admirable and what I want to work on I wouldn't expect any love from the Guix people over it.

They've made their choice, they aren't going to promote or support you. If you do this I'd try as long as possible to not let them on to your actual goals.

see

I want to learn nix but its website doesnt hold my hand enough and im a busy guy

>Everything should be done through the central configuration file
ah so you don't use the command-line tool? ie: 'guix package -i PACKAGE'

Learning scheme is much more useful which is why I secretly think everyone wants guix to take off as opposed to continuing with the nix train.

Well, I just think that this is the real world and if we want beautiful technology like this to grop in adoption, we must be accomodating.

If I install Trisquel, I can add ppa's that provide binaries for proprietary software; I can use snap/appImage/flatpak.
Same for PureOS (libre debian testing). I can quite literally (and do) add debian's contrib and nonfree to my /etc/apt/sources.list in PureOS and have the same software available to me as in debian testing. If I make the choice on my machine that's the end of the story.

GNU is (or should and must be) about freedom over one's own computing. If there was not libre software it would be impossible in principle, but given the possibility of a libre system by default, who are the developers to dictate what the operator of their machine will do with it past that?

Libre is about giving people a default clean slate that is ethically consistent and doesn't violate their freedom of computing. If people choose to remain in a jail, that is their freedom that FSF or GNU should not attempt to remove since THAT in turn would become unethical.

Thats what I hear; I know neither so at this point theres no time investment lost for me if one or the other won out

see Also see how to define your system here: gnu.org/software/guix/manual/en/guix.html#System-Services

When adopting this default system definition to your own needs, you will simply need to edit things like the default packages installed, the host name, the user name. The file is very self-explanatory and lisp avoids the programming language overhead by having lean syntax, as you can see.

The Manual in general is fairly comprehensive and has many use cases.

This motherfucker thinks he has the authority to name an official distro for Jow Forums.

[spoiler]Install Gentoo.[/spoiler]

Attached: get_a_load_of_this_faggot.jpg (711x400, 61K)

Important Guix concept:

SYSTEM configuration is different from USER configurationS.

What that means is that the system configuration has the list of all groups, services, GLOBALLY-installed packages (all users may use them), etc.

Every user also has their own profile and they're free to install whatever they want for themselves, without affecting other users or the system. You could think of this as if everything is containarized logically. You have the system itself, and then every user also has their own container.

This means that different users, on the same machine, can have different versions of the same software installed without ANY conflict.

>no multilib
>no wine
>no steam
>no nvidia drivers
>no chrome
in the trash it goes

Help it become what you want it to be. Don't be a silly memeposter.

see

I get where you're coming from. However in more cases than less I've seen the GNU philosophy shift from "Freedom of computing" to "Forced freedom of computing".

Look at the GPL if you want to understand that, although you probably have given how well written your response is.

Really the only important point in your whole thing is: "who are the developers to dictate what the operator of their machine will do with it past that?"

They have every right when it's within the bounds of their own repos. All I'm saying is, to make Guix-nonfree you have to step outside the bounds of their repo with a completely different philosophy of what it means to have "freedom of computing". They likewise don't have any duty to support that, and I don't think, from what I've seen on their website, that they ever will.

So I'm saying if we waltz in the IRC saying "Oh hey we're gonna add a bunch of nonfree stuff to your system", then I wouldn't expect much help from them and possibly even a little warranted harassment.

You basically have to shit all over their idea of what they want to make, to say it's not good enough in philosophical terms and needs something else to be better. And there's literally nothing wrong with that but once again it's not anything they're going to help you with.

Which is why I would support or maybe even try to make myself, some website that can act as a completely separate project from it. An overlay ontop of Guix if you will.

This lets them keep their purity and us get what we want out of guix without causing unnecessary tension between competing mindsets.

multilib is hard work this is why meme distros don’t have it available, nvidia drivers are a bitch to package and tend to break shit with their installer and why use scheme overcomplicating things when bash script package build are perfectly fine (arch, crux, void)

>it's 100% libre and has not botnets, with no binary blobs and no systemd.
aka it's incompatible with 95% of the hardware that works with normal linux distros

Does it have KDE yet?

Ok so if you want a package to be global, you use the scheme thing, and if you want it to be installed for a certain user, you use the command line tool?

install gentoo

see

Basically. The scheme thing (/etc/config.scm) is also invoked in order to rebuild your system generation using the command line tool. You must run it as root however.

If you have 1 user on your system this is how you upgrade everything:
1. Pull in the new guix version for the user (updates the repo in essence): `$ guix pull`.
2. Update the installed packages for the user: `$ guix package -u`
3. Pull in the new guix version for the root (root is the one who updates the system; notice the hash symbol meaning superuser priviledges

that is sadly one of a weaker points at the moment. There are plenty of qt and kde stuff, but not the whole of KDE from what I understand.

Check here for complete package list: gnu.org/software/guix/packages/

One file to deploy any system from 0-100% is one nice aspect. Meaning completely automated set-up. That's just one aspect.

Learn more: gnu.org/s/guix

Ok wow. I think i'll start with a really basic desktop install with the given template and then figure out the rest as I go. Thanks for the advice though!

>made by the GNU project.

Attached: 4a8.jpg (600x792, 87K)

There is some really awesome features Guix, the package manager, has. I use it ontop of my GNU/Linux distro. My favorite feature is the environment command, makes it really easy to set up a dev environment, similar to Python's virtual environment but for any project.

The existence of LGPL indicates the realization of even FSF of the need to compromise on planet Earth in the 20th and 21th centuries. Hopefully that will not be the case for ever.

I didn't mean to imply that FSF or the GNU project would ever endorse a derivative of GuixSD which would make it feasible and easy to run proprietary software on demand. In icecat they go even so far as to try to censor what addons one sees as available for gnu version of (essentially) firefox esr.

Guix will stick to their philosophy since they're a part of the GNU project nor would I ever want them to deviate from where they currently stand philosophically.

What I proposed here would be a compromise. Even I would not choose to use such a derivative distro, most of the time, because I accept a loss of functionality in order to have a more libre system. I compensate by having VMs for some tasks.

A website would be a temporary solution and a needed one, I fully agree with you, but that still would not be foolproof or optimal. Look at fedora. They commit in a great extent to making their system mostly libre, while making very few compromises in their repos. People resorted to having outside repos like copr and RPMfusion in order to address this. If a non-tech-literate person installs fedora they would not know about the existence of these outside solutions for getting media codecs, nvidia drivers, whatever else. I think a more proper solution must be in place.

Fedora markets itself to developers so it's a non-problem to them or at least one they care not to address.

GuixSD in my understanding is what GNU was going to become back in 1983 when Stallman decided to start the project. The reason that it's so simply (kind of is) to switch the kernel from linux-libre to linux-mainline is because that functionality is in place for the eventual Hurd port. (you can try debian gnu/hurd already; keyword: TRY). GNU is for everyone, tech-literate or illiterate alike.

Attached: 1528546775778.png (602x500, 25K)

Just gotta say, i'm loving all these GuixSD memes and art. Makes me excited to get it installed and check it out

no one posted this image

Attached: change.png (500x2000, 352K)

that's why they exist :)

Feel free to save them for many referential uses in the future

Your pic is nice and so is mine, both are only semi-true, however.

Guix is Good without the memes.

Attached: 1529034118461.png (1132x1122, 183K)

Why should you use this instead of NixOS? What other benefits does it have other than 'freedom'?

NES classic edition.
git.savannah.gnu.org/cgit/guix.git/commit/?id=84ee33787e011fbf7d04eed1bc2d0765cef57b52

Literally why

Where's the information about these module things? at the top of the config file there's use-modules, use-service-modules, and use-package-modules. What's a module/service module/package module, what's the difference, where can I find what my options are, how do these relate to globally-installed packages? I've been searching through the documentation and can't seem to get a clear idea.

Nice to see GuixSD mentioned here.

>use-modules
That is part of guile
gnu.org/software/guile/manual/html_node/Modules.html#Modules

>use-service-modules
>use-package-modules
are just wrappers over use-modules but provides some better error reporting.

>What's a module/service module/package module, what's the difference
So modules are just normal Guile modules that add procedures to whatever is using it. The package module is a Guile module that exports Guix packages, this is the definitions of the software you want to install. Service modules contain services which define the daemons and how to configure them.

List of services that Guix defines can be found at
gnu.org/software/guix/manual/en/html_node/Services.html#Services

The API for interacting with service objects can be found at
gnu.org/software/guix/manual/en/html_node/Service-Reference.html#Service-Reference

Some information about package objects can be found at
gnu.org/software/guix/manual/en/html_node/Defining-Packages.html#Defining-Packages

You might need to read more of the Guix code to find more about how to interact with these objects.

>how do these relate to globally-installed packages?
These modules are just definitions for packages and services, you have to add the specific packages and services to your operating-system for them to do anything.

oh ok. yeah this is looking to be way over my head and i'm kinda not seeing the benefit of any of this stuff. Like, how am I supposed to know which ones should be used and what exists? just a lot of trial and error? I tried to install vim in the installation image to get a nicer editor and it started compiling shit for some reason and opening up ncurses windows and popped up an ascii drawing of a smiley face for half a second, and was taking forever so I killed it. I guess that's because of the whole "SYSTEM vs USER" packages thing?

I'm just gonna use the desktop scm file. I was reluctant to use it because it threw UEFI and disk encryption stuff into the mix, but I guess i'll just try to edit that out as best I can, and just ignore all the parts I don't get just so I can get to an installed system. Looking at it, there's no packages other than certs and some mounting stuff in the package list, so I guess that stuff is in the modules?

Just giving my thoughts and questions as I'm going through the install process with not much prior knowledge other than "it's a distro", "gnu made it", and "no systemd".

you're a fucking nigger. I told you this on Jow Forums: ITS MADE BY SJWS.

Back to Jow Forums kiddo, the adults are talking

Once GuixSD becomes mature, and has easy access to non-free stuff, I'd be happy to switch my system over to it for the sole reason of it not being infested with systemd.

Dont you mean Linux for Negroes? Kek

How is GuixSD pronounced and why cant these autists learn simple marketing and name it something better ffs.

Ok, but what other benefits do you get from it?

you get forced to use some over complicated way to manage your system, a repo that takes away your freedom to run non-free software and probably a shitty bloated init. there is literally no point in GuixSD on a single user desktop pc, I guess it would make sense in a multi-user multi-pc environment such as a school cs lab or library.

>supports outreachy
gnu.org/software/guix/blog/2018/guix-welcomes-outreachy-gsoc-and-guix-hpc-interns/
DROPPED
Daily reminder that only SJW's use GUIXSD

Why are you pretending to be me?

>some over complicated way to manage your system
That's what I get from it. I was super optimistic about it because of the origin, the lack of systemd, and the fact that they have a libre kernel that also apparently has a broadcom wireless driver (b43-open i think), but the configuration is just really confusing.

Main advantage is to have different development environments but docker helps with that.

The configuration is actually supposed to be easier with Guix than with a traditional system. Instead of having your configuration files scattered around /etc and written in 10 different languages, it's all in scheme and in one /etc/config.scm.
So ideally it'd be easier to configure, but I think we're just not to that point yet.

I dunno if it's "not to that point yet", or just "not intuitively documented". I'll give it some more time, read deeper into the info pages, and see how it goes, as I really want to like it.
I think one thing that would help (especially for people who might not be all that experienced with scheme) is to include a text editor with parentheses highlighting. For example, in the default vim, you can move the cursor over a parenthese, and it will highlight the other one it's connected to. With a language that involves typing more parenthesis than your average Jow Forums poster, having something like that by default would be helpful, as it's often hard to tell where one thing ends and another begins.
I dunno if that can be done in nano (the recommended editor), but if so, that ought to be enabled by default in the installer at least.

kys

The default installer comes with (I think) nvim, which can do parenthesis matching

As others have said scheme is easy, but nixos has also it's pros. If you want to learn nix just learn nix. I get what you mean about the site, but you might have missed the nix pills part. Start here: nixos.org/nixos/nix-pills/

could they have made it even more unpronounceable

GOO-WEEZ

>Guix System Distribution is an advanced GNU/Linux distro built on top of GNU Guix (pronounced “geeks”), a purely functional package manager for the GNU system.

>geeks
lol So retarded.

NixOS: NIH edition

Some laboratories prefer it over nixos.
gnu.org/software/guix/blog/tags/bioinformatics/
biorxiv.org/content/early/2018/04/11/298653
berlin.guixsd.org/