Hi! I contribute a bit to Guix, and we’re discussing turning some of the things you mentioned into bug reports to help future users :-) Join us at #guix on Freenode if you have IRC!
Also, what I do for contributing back to Guix is the following, it’s really quite simple!
git clone https://git.savannah.gnu.org/git/guix.git
cd guix
guix environment guix # enter an environment suitable for building guix
./bootstrap && ./configure --localstatedir=/var
make -j$(nproc)
# make changes (add packages, etc)
make -j$(nproc)
./pre-inst-env guix build mynewpackage # invoking guix as "./pre-inst-env guix" means you're using the guix you just built
I was planning on joining the IRC, but the fact that I have to register with NickServ is a major incontinence inconvenience. I usually don’t join these kinds of channels, so I don’t remember what my username of password is, ergo I have to create a new one, that requires Email as far as I recall – which isn’t working.
I will see what I can report back, since I would like to see these bugs fixed.
I decided to stick with NixOS even though I programmed in Lisp based languages rather than ML ones… I configured the system (really simple i3 /w compton, firefox, emacs and xterm) and it just worked. Backed up /etc/nixos/configuration.nix and I’ve stopped caring about my Linux dev system. Everything works like a charm on my Thinkpad T440p.
Have you ever tried DEs? I know some people don’t consider it cool, in times like these I see that I need a boring environment, to do interesting stuff. And a functioning DE kind of like functioning water, electricity service and waste management. I’d like to not have to think about it too much.
Tried KDE like a month ago, while it was pretty pleasant aesthetically it felt like “too much”, kitchen sink kinda thing, despite feeling snappy. It would require a lot of inital tweaking. On the other hand XFCE always felt half-assed even though I liked the lightness and overall design. I think decluttering KDE and making it behave like XFCE would be biggest win for me.
But now the main reason why I like using tiling WM is space efficiency. On if I were to make jump to 1440p and 4k screens I would go for DE, as of right now on my 14” and 24” 1080p screens I feel like i3 does the job better.
I haven’t tried it in Nix or Guix, but my current favourite environment is i3 for window management, with gnome-flashback handling all the desktop-environment things (volume keys, mounting USB drives, brightness, etc.)
It looks like all the complaints have to do with GUI and sound configuration?
If so, does anyone have experience to share on using Guix or Nix for “server” / CLI stuff?
One thing I’ve been meaning to try is to try out Oil’s dev dependencies in Guix or Nix – a bunch of shells and re2c, all of which have few dependencies themselves.
If anyone’s interested in chatting about this, let me know :) I don’t have a totally pressing need right now, but I feel like it would make the lives of contributors easier if there was a single command that worked across distros to pull these dependencies.
For example, I’m on Ubuntu but other contributors use Arch Linux. From what I understand Guix and Nix are both supposed to be able to work like that.
As I mentioned on another thread, I think most distros should be split in half. The GUI and sound stuff seems to cause a lot of problems that aren’t present on the server. I guess Alpine Linux started on the server so it’s a little like this. I think they’ve had kernel-less container support for a long time.
This won’t help you all the way though since <nixpkgs> is impurely referencing a local nixpkgs copy.
With just a few more lines we can pin nixpkgs project local:
let
pkgs = import (builtins.fetchTarball {
name = "nixos-unstable-2019-10-20"; # Descriptive name
url = https://github.com/nixos/nixpkgs-channels/archive/1c40ee6fc44f7eb474c69ea070a43247a1a2c83c.tar.gz;
sha256 = "0xvgx4zsz8jk125xriq7jfp59px8aa0c5idbk25ydh2ly7zmb2df";
}) {};
in pkgs.oil.overrideAttrs(old: {
patches = [];
src = pkgs.lib.cleanSource ./.;
})
This will ensure all contributors are working with the same set of dependencies.
Beware that I have not tested any of the above specifically for Oil, though it should be enough to get you started.
Feel free to ask any questions here or drop me a line on IRC (adisbladis @ freenode).
I’ve set up a server with Guix recently. It’s clearly not ready for that, standout issues being
mcron (guile cron replacement) is not reliable (stops running jobs maybe once a week)
system reconfiguration can’t be rolled back without a reboot
But there’s also a general impression that the system isn’t robust. There’s a lack of attention for operations things; most of the community seem more interested in desktop issues.
Hi! I contribute a bit to Guix, and we’re discussing turning some of the things you mentioned into bug reports to help future users :-) Join us at #guix on Freenode if you have IRC!
Also, what I do for contributing back to Guix is the following, it’s really quite simple!
I was planning on joining the IRC, but the fact that I have to register with NickServ is a major
incontinenceinconvenience. I usually don’t join these kinds of channels, so I don’t remember what my username of password is, ergo I have to create a new one, that requires Email as far as I recall – which isn’t working.I will see what I can report back, since I would like to see these bugs fixed.
I think you mean “inconvenience”. :-)
Nah, both words work in this context…
That’s what happens when you rely too much on your spell checker.
I can’t believe this isn’t parody.
I decided to stick with NixOS even though I programmed in Lisp based languages rather than ML ones… I configured the system (really simple i3 /w compton, firefox, emacs and xterm) and it just worked. Backed up
/etc/nixos/configuration.nix
and I’ve stopped caring about my Linux dev system. Everything works like a charm on my Thinkpad T440p.Have you ever tried DEs? I know some people don’t consider it cool, in times like these I see that I need a boring environment, to do interesting stuff. And a functioning DE kind of like functioning water, electricity service and waste management. I’d like to not have to think about it too much.
Tried KDE like a month ago, while it was pretty pleasant aesthetically it felt like “too much”, kitchen sink kinda thing, despite feeling snappy. It would require a lot of inital tweaking. On the other hand XFCE always felt half-assed even though I liked the lightness and overall design. I think decluttering KDE and making it behave like XFCE would be biggest win for me.
But now the main reason why I like using tiling WM is space efficiency. On if I were to make jump to 1440p and 4k screens I would go for DE, as of right now on my 14” and 24” 1080p screens I feel like i3 does the job better.
I’ve got a full-screened Emacs for a reason ;^)
I haven’t tried it in Nix or Guix, but my current favourite environment is i3 for window management, with gnome-flashback handling all the desktop-environment things (volume keys, mounting USB drives, brightness, etc.)
I use GNOME on NixOS and I don’t have any problems. Everything works just like it would on e.g. Fedora.
It looks like all the complaints have to do with GUI and sound configuration?
If so, does anyone have experience to share on using Guix or Nix for “server” / CLI stuff?
One thing I’ve been meaning to try is to try out Oil’s dev dependencies in Guix or Nix – a bunch of shells and re2c, all of which have few dependencies themselves.
If anyone’s interested in chatting about this, let me know :) I don’t have a totally pressing need right now, but I feel like it would make the lives of contributors easier if there was a single command that worked across distros to pull these dependencies.
For example, I’m on Ubuntu but other contributors use Arch Linux. From what I understand Guix and Nix are both supposed to be able to work like that.
As I mentioned on another thread, I think most distros should be split in half. The GUI and sound stuff seems to cause a lot of problems that aren’t present on the server. I guess Alpine Linux started on the server so it’s a little like this. I think they’ve had kernel-less container support for a long time.
Also, but that’s not quite my point. What I am experiencing is a lack of packaging quality, unexpected behavior and that kind of stuff.
If you want to go the Nix route you can very easily use the upstream Nixpkgs derivations with a small override:
In your
shell.nix
put:Then from that directory simply invoke
nix-shell
.This won’t help you all the way though since
<nixpkgs>
is impurely referencing a local nixpkgs copy. With just a few more lines we can pin nixpkgs project local:This will ensure all contributors are working with the same set of dependencies.
Beware that I have not tested any of the above specifically for Oil, though it should be enough to get you started. Feel free to ask any questions here or drop me a line on IRC (adisbladis @ freenode).
I decided to actually attempt a build in
nix-shell
and it seems to work with some more minor changes: https://github.com/oilshell/oil/pull/509Thanks for getting this started! Let’s chat over on Github.
I’ve set up a server with Guix recently. It’s clearly not ready for that, standout issues being
But there’s also a general impression that the system isn’t robust. There’s a lack of attention for operations things; most of the community seem more interested in desktop issues.