Re: Looking to contribute

2017-07-05 Thread Danny Milosavljevic
Here's an update :)

>> Installer:
>> - Currently, the installer invokes the parted executable for partitioning 
>> which is quite jarring (it looks very different).  It would be nice if it 
>> just used the parted library.

>>But there's no good guile-parted yet.  I've started hacking on one and it's 
>>starting to look OK but it's not done.  If you are interested in that I can 
>>upload it somewhere (github, gitlab etc).

>I would be happy to work on this.

guile-gcc-unit is 80% done now (it also works on the real parted headers by 
now).  See .  (I think I'll not use 
records after all and just keep the result as huge trees that you can (ice-9 
match) on).

What it allows you is to:
- invoke gcc (with a special option) on a tiny source file which only 
"#include"s stuff and then
- feed the output to guile-gcc-unit and then
- get out a Scheme list of all the C prototypes, records, enums etc that are 
available.

The next step would be to map the generated declaration tree (output of 
main.scm) to the wrapper forms I posted - to have actual callable parted 
procedures.

> - No mouse support yet.

Now the installer does have mouse support :)

Updated installer dev usage (branch "wip-installer-2" on 
):

$ ./pre-inst-env guix environment guix --fallback --pure --ad-hoc guile-ncurses 
kbd pciutils util-linux wireless-tools
[env]$ ./pre-inst-env guix system installer
... press Ctrl-z when you are fed up with it :)

Be careful that it doesn't nuke your system (it does ask before formatting or 
installing anything - so it's not that bad).

Also, don't run it as root...

> - We have ISO9660 CD support code so it would be quite easy to make it so 
> that the image file for the graphical installer (see link above) also worked 
> if you burned it to a CD.  See threads mentioning "grub-mkrescue" on the 
> mainling list.

95% done.  If would actually work if we came to a consensus about the volume 
label (it must be uppercase; see bug# 27520 in guix-patches).  Also, UUID boot 
support is still mostly missing - same as in the non-iso9660 case.

> Bootloader:
> - The bootloader support code doesn't support booting Windows systems etcetc.

Started to provide scaffolding on this - let's see what we decide about using 
 (see bug# 27529 in guix-patches).  I don't really have a use for 
it so I won't go much further than providing the scaffolding.

> - There's no u-boot installer yet.  (There's support for using existing 
> u-boot but it doesn't install the u-boot bootloader itself yet.  That's 
> because doing that safely is very difficult)

Depends on the parted bindings.

> Packages:
> - The GUI hooks for desktop files and mime types suck.  Usually, the desktop 
> file database is updated much too late (mostly by accident).  I've looked 
> into fixing it but it would entail rebuilding almost all the graphical 
> packages we have - and I think KDE would still not do it correctly.

宋文武 fixed it :)



Re: Looking to contribute

2017-06-29 Thread Mekeor Melire

Danny Milosavljevic  writes:

> Wait.  AFAIK one cannot delete system generations [yet].  Has that changed?
>
> But deleting user [package] generations works, yes.

Somewhere on the mailing-list I found out that you can delete a system
generation like this:

$ rm /var/guix/profiles/system-N-link
$ guix gc

(as root?)



Re: Looking to contribute

2017-06-29 Thread Pjotr Prins
On Thu, Jun 29, 2017 at 09:22:46AM -0400, cinde...@hushmail.com wrote:
> telling Portage (the package manager) to meet the specs. Then I
> remembered using NixOS a while back, which had exactly solved that
> problem! And when I heard of a Nix-based, libre system using Scheme,
> I knew I was home.

Yep, that is me too. Nix is great; Guix is even better.

Pj.



Re: Looking to contribute

2017-06-29 Thread Danny Milosavljevic
Hi Leo,

On Wed, 28 Jun 2017 11:01:45 -0400
Leo Famulari  wrote:

> This seems very high to me. I had >100 system generations over 6 months
> with less than 100 GB, although that was not a graphical system. 

I have a graphical system with fluxbox, some electrical engineering & FPGA 
programs, D, Rust, Haskell, gimp, a (Guix) cross compilation environment for 
armhf - and a lot of Python packages.  It's basically what I need for work and 
some play.  That's rally annoying to use with 80 GB (I should know, my old 
system partition has that...).

I have 568 system generations, I win ;-)  But it's mostly because of excessive 
bootloader testing - no normal person should have that many system 
generations... so I guess it's an overestimate.

>So, it depends on how "big" you make each generation, and how many generations 
>you keep.

Wait.  AFAIK one cannot delete system generations [yet].  Has that changed?

But deleting user [package] generations works, yes.



Re: Looking to contribute

2017-06-29 Thread Alex Vong
cinde...@hushmail.com writes:
[...]
> I'm a big fan of Alan Kay, and one thing he always made clear is that
> there should be no separation between the language and the operating
> system. I've found that many of the problems which plague modern OSes
> are the same which plague C. Which is why a system which sits on top
> of Scheme, one of the most powerful programming paradigms we have,
> is so appealing.
>
Since you mentioned you see analogy between language and OS (they face
similar problems), I think you will find this[0] interesting. It
discusses how delimted continuations are often used in OS without
explicit mentioning it.

Also, this reminds me of the joke: Emacs is an operating system

> More concretely, I can be of the most help with:
> - Texlive and dealing with pdf stuff (cairo, etc)
> - Emacs
> - Networking
> But realy I'll try to help wherever it's needed, because this project
> should be a reality.

[0]: http://okmij.org/ftp/continuations/zipper.html#context-OS


signature.asc
Description: PGP signature


Re: Looking to contribute

2017-06-29 Thread Katherine Cox-Buday
cinde...@hushmail.com writes:

> I'm a mathematician, which means I'm lazy and want to do things the
> right way once so I don't have to do them again. The way that modern
> operating systems work, with their one huge environment and no
> tracking of state, is insane and unsustainable. (How many times have
> I wasted a Saturday morning trying to get audio work on a new Gentoo
> install?) Stateless, declarative systems seem to be the obvious way
> forward.
>
> I'm a big fan of Alan Kay, and one thing he always made clear is that
> there should be no separation between the language and the operating
> system. I've found that many of the problems which plague modern OSes
> are the same which plague C. Which is why a system which sits on top
> of Scheme, one of the most powerful programming paradigms we have,
> is so appealing.
>
> More concretely, I can be of the most help with:
> - Texlive and dealing with pdf stuff (cairo, etc)
> - Emacs
> - Networking
> But realy I'll try to help wherever it's needed, because this project
> should be a reality.

I have nothing meaningful to contribute except to say that I appreciate
and agree with this line of thinking.

I have also found this to be a wonderful, warm, and welcoming community
doing great work. The only thing I don't like is that I haven't been
able to find time to contribute :)

Welcome!

-- 
Katherine



Re: Looking to contribute

2017-06-29 Thread cinder88


On 6/28/2017 at 9:49 AM, "Danny Milosavljevic"  wrote:
>
>Hi and welcome,

Thanks for for the excellent post. It looks like there's a good community here.

>If there are bugs on system update, you can roll back by selecting 
>another entry in the bootloader menu (a new one is created 
>everytime you reconfigure the system).  This includes all the 
>installed packages ().  So it's pretty much indestructible - I 
>think that this is the killer feature of GuixSD.

Exactly. Currently I run Gentoo with systemd. To manage packages
and configuration, I wrote a script which tracks config files throughout
the system. Then a system-wide recompile with Gentoo updates any
reconfigured software to meet the new config specifications. Effectively
what I'm doing is specifying the state of the system with the config, and
telling Portage (the package manager) to meet the specs. Then I
remembered using NixOS a while back, which had exactly solved that
problem! And when I heard of a Nix-based, libre system using Scheme,
I knew I was home.

>> How can I best contribute?
>
>If you want to install GuixSD there's a "wip-installer" (WIP means 
>"work in progress") branch on git 
>.  If you just want to 
>test the finished installer please download 
>http://web.fdn.fr/~lcourtes/software/guix/guixsd-graphical-
>installer-x86-64-linux.lz and unpack it by invoking "lzip -d 
>guixsd*.lz".  This results in a disk image that you can flash onto 
>a USB flash drive (don't copy it as a file unto the filesystem on 
>the flash USB drive - rather replace the entire drive by it).
>
>It has quite a few rough edges so don't expect Ubuntu-style 
>usability (yet).
>
>If you do try the installer, it would be good if you noted which 
>areas suck :)

Alright, I will try that and let you all know how it goes.

>I think you should contribute in an area that you care about.  
>There's plenty to do.  For example:
>
>Installer:
>- Currently, the installer invokes the parted executable for 
>partitioning which is quite jarring (it looks very different).  It 
>would be nice if it just used the parted library.  But there's no 
>good guile-parted yet.  I've started hacking on one and it's 
>starting to look OK but it's not done.  If you are interested in 
>that I can upload it somewhere (github, gitlab etc).

I would be happy to work on this.

>Packages:
>- Texlive for a long time was a 2 GB download which was done every 
>time one of the dependencies changed.  It's better now but there 
>are still situations where it does that.  It should be more 
>modular so the downloads aren't that large (and not done as often).

I'd be happy to work on this as well, as I use TeX extensively.

>Some of the areas I work in are mostly bootloader, filesystem and 
>partitioning stuff - which happen to be the areas where I have to 
>be quite careful about not breaking the killer feature.  If you 
>like that anyway, please help us with it :)
>

> What are your interests?

Professionally I do higher-level software design and implementation.
I'm not too used to lower level system details, but by using Gentoo
I've learned a decent amount about how GNU/Linux operates.

I'm a mathematician, which means I'm lazy and want to do things the
right way once so I don't have to do them again. The way that modern
operating systems work, with their one huge environment and no
tracking of state, is insane and unsustainable. (How many times have
I wasted a Saturday morning trying to get audio work on a new Gentoo
install?) Stateless, declarative systems seem to be the obvious way forward.

I'm a big fan of Alan Kay, and one thing he always made clear is that
there should be no separation between the language and the operating
system. I've found that many of the problems which plague modern OSes
are the same which plague C. Which is why a system which sits on top
of Scheme, one of the most powerful programming paradigms we have,
is so appealing.

More concretely, I can be of the most help with:
- Texlive and dealing with pdf stuff (cairo, etc)
- Emacs
- Networking
But realy I'll try to help wherever it's needed, because this project
should be a reality.




Re: Looking to contribute

2017-06-28 Thread James Richardson

cinde...@hushmail.com writes:

> Hello. I recently learned about GuixSD, and it seems like a distro
> I would actually _enjoy_ using. Essentially, my questions are:
>
> What is the current state of GuixSD? Is it currently too buggy or
> feature-deficient to use as a day-to-day os?
>
I use it on my laptop and my wife's laptop. feature-deficient is a
rather subjective term. I have xfce on my wife's laptop. Occasionally
she'll complain about lack of flash or that a website doesn't like
icecat. I have a few boxen that I haven't converted (from Debian) yes as
I rely heavily on lvm and don't want to sort out how to do without
lvm. On those boxen I use guix as a foreign package manager which
actually works out quite well.


> How can I best contribute?
>
I've found the people on the #guix channel and on this list to be very
helpful. The website has a section on how to contribute. I've started by
just packaging programs that I use that were net yet in Guix. Knowing
guile is not (IHMO) a prerequisite, although willingness to learn
probably is ;).

HTH, James.
-- 
I prefer encrypted email.
GPG Fingerprint = 8FD2 7619 C19A 2201 CB1D  E131 EA1C F14B D846 7AFB
https://jamestechnotes.com/gpgkey
https://jamestechnotes.com



Re: Looking to contribute

2017-06-28 Thread Leo Famulari
On Wed, Jun 28, 2017 at 03:49:43PM +0200, Danny Milosavljevic wrote:
> Note that a normal GuixSD system takes at least 80 GB of disk space
> (it will suck), better 160 GB (that will work very nicely).  That
> mostly because of the rollback feature.

This seems very high to me. I had >100 system generations over 6 months
with less than 100 GB, although that was not a graphical system. So, it
depends on how "big" you make each generation, and how many generations
you keep.


signature.asc
Description: PGP signature


Re: Looking to contribute

2017-06-28 Thread Alex Vong
Hi Cinder,

Welcome to Guix!

cinde...@hushmail.com writes:

> Hello. I recently learned about GuixSD, and it seems like a distro
> I would actually _enjoy_ using. Essentially, my questions are:
>
> What is the current state of GuixSD? Is it currently too buggy or
> feature-deficient to use as a day-to-day os?
>
> How can I best contribute?
>
This webpage contains a lot of useful information:


> -Andrew


signature.asc
Description: PGP signature


Re: Looking to contribute

2017-06-28 Thread Danny Milosavljevic
Hi and welcome,

On Tue, 27 Jun 2017 18:16:08 -0400
cinde...@hushmail.com wrote:

> What is the current state of GuixSD? Is it currently too buggy or
> feature-deficient to use as a day-to-day os?

I'm using it every day, also for professional programming.

It's quite okay to use.  There are occassional problems - which can be 
mitigated by the feature below:

If there are bugs on system update, you can roll back by selecting another 
entry in the bootloader menu (a new one is created everytime you reconfigure 
the system).  This includes all the installed packages ().  So it's pretty 
much indestructible - I think that this is the killer feature of GuixSD.

Check the package list https://www.gnu.org/software/guix/packages/ for 
information on which packages are available.

Note that a normal GuixSD system takes at least 80 GB of disk space (it will 
suck), better 160 GB (that will work very nicely).  That mostly because of the 
rollback feature.

> How can I best contribute?

If you want to install GuixSD there's a "wip-installer" (WIP means "work in 
progress") branch on git .  If you 
just want to test the finished installer please download 
http://web.fdn.fr/~lcourtes/software/guix/guixsd-graphical-installer-x86-64-linux.lz
 and unpack it by invoking "lzip -d guixsd*.lz".  This results in a disk image 
that you can flash onto a USB flash drive (don't copy it as a file unto the 
filesystem on the flash USB drive - rather replace the entire drive by it).

It has quite a few rough edges so don't expect Ubuntu-style usability (yet).

If you do try the installer, it would be good if you noted which areas suck :)

I think you should contribute in an area that you care about.  There's plenty 
to do.  For example:

Installer:
- Currently, the installer invokes the parted executable for partitioning which 
is quite jarring (it looks very different).  It would be nice if it just used 
the parted library.  But there's no good guile-parted yet.  I've started 
hacking on one and it's starting to look OK but it's not done.  If you are 
interested in that I can upload it somewhere (github, gitlab etc).
- No mouse support yet.
- We have ISO9660 CD support code so it would be quite easy to make it so that 
the image file for the graphical installer (see link above) also worked if you 
burned it to a CD.  See threads mentioning "grub-mkrescue" on the mainling list.

Bootloader:
- The bootloader support code doesn't support booting Windows systems etcetc.
- There's no u-boot installer yet.  (There's support for using existing u-boot 
but it doesn't install the u-boot bootloader itself yet.  That's because doing 
that safely is very difficult)

Packages:
- Texlive for a long time was a 2 GB download which was done every time one of 
the dependencies changed.  It's better now but there are still situations where 
it does that.  It should be more modular so the downloads aren't that large 
(and not done as often).
- Rust is not the newest version because they changed the build system they use 
(sigh...) and I didn't get it to work yet.
- Our packaging is such that each package goes into its own directory 
/gnu/store/3523523643262hashvaluehere WHICH IS READ-ONLY, you can't possibly 
write there.  But dub, the D package manager, sometimes tries to do that and 
fails.  This is a design limitation in the D package manager (it has so-called 
"configurations" and if you switch configurations it will try to switch 
symlinks) but it means you can't run many of the D tests.  Fixing that in dub 
would be great.
- The GUI hooks for desktop files and mime types suck.  Usually, the desktop 
file database is updated much too late (mostly by accident).  I've looked into 
fixing it but it would entail rebuilding almost all the graphical packages we 
have - and I think KDE would still not do it correctly.

Some of the areas I work in are mostly bootloader, filesystem and partitioning 
stuff - which happen to be the areas where I have to be quite careful about not 
breaking the killer feature.  If you like that anyway, please help us with it :)

What are your interests?



Looking to contribute

2017-06-28 Thread cinder88
Hello. I recently learned about GuixSD, and it seems like a distro
I would actually _enjoy_ using. Essentially, my questions are:

What is the current state of GuixSD? Is it currently too buggy or
feature-deficient to use as a day-to-day os?

How can I best contribute?

-Andrew