Re: D-Bus service files on foreign distributions

2024-09-12 Thread Nils Landt


> Roman Riabenko via  hat am 11.09.2024 20:57 CEST 
> geschrieben:
> 
>  
> У пн, 2024-08-26 у 10:27 +0200, Nils Landt пише:
> > > Roman Riabenko via  hat am 25.08.2024 13:08 CEST
> > > geschrieben:
> > > 
> > > How to expose service files to D-Bus on a foreign distribution?
> > 
> > I'm 100% guessing here, but I think systemd just doesn't see your
> > service files because they are not in the search path.
> > If this is the case, you can set XDG_DATA_DIRS in
> > ~/.config/systemd/user.conf (under the Manager header), i.e.:
> > [Manager]
> > ManagerEnvironment="XDG_DATA_DIRS=/home/purism/.guix-profile/share"
> 
> Thank you for the suggestion. The lines are already present. I assume
> that the guix installation script added them.

>From what I can tell, the installation script does not do this. Maybe you did 
>it in the past already? Anyway, shouldn't matter.

> $ cat ~/.config/systemd/user.conf
> [Manager]
> ManagerEnvironment="XDG_DATA_DIRS=/home/purism/.guix-profile/share"
> 
> It may be working because the systemd environment for the user session
> gets the value.
> 
> $ systemctl --user show-environment | grep XDG_DATA_DIRS
> XDG_DATA_DIRS=/home/purism/.guix-profile/share:/home/purism/.guix-
> profile/share:/usr/share/librem5:/home/purism/.guix-
> profile/share:/home/purism/.guix-
> profile/share:/usr/share/librem5:/home/purism/.local/share/flatpak/expo
> rts/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/
> 
> But systemd does not pass the value to the user DBus environment.
> 
> $ systemctl --user status dbus | grep PID
>Main PID: 1261 (dbus-daemon)
> $ sudo strings /proc/1261/environ | grep XDG_DATA_DIRS
> XDG_DATA_DIRS=/home/purism/.local/share/flatpak/exports/share:/var/lib/
> flatpak/exports/share:/usr/local/share/:/usr/share/
> 
> So, DBus does not see the service files in the guix profile.
> 
> $ LC_ALL=C gdbus call --session --method
> org.freedesktop.DBus.Introspectable.Introspect --dest
> org.gnome.TextEditor --object-path=/org/gnome/TextEditor
> Error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
> org.gnome.TextEditor was not provided by any .service files
> 
> The manual page for systemd-system.conf says that to set manager
> environment variables passed to all executed process, one can set
> DefaultEnvironment option. I set it as suggested in
> https://unix.stackexchange.com/a/698459/423679
> 
> $ cat ~/.config/systemd/user.conf
> [Manager]
> ManagerEnvironment="XDG_DATA_DIRS=/home/purism/.guix-profile/share"
> DefaultEnvironment="XDG_DATA_DIRS=/home/purism/.guix-profile/share"
> 
> This change was ignored. So, I tried adding it to the file specified in
> the manual page.

DefaultEnvironment does nothing here. Processes spawned by the user manager 
inherit the environment variables from the user manager.

> $ cat /etc/systemd/user.conf | grep DefaultEnvironment
> DefaultEnvironment="XDG_DATA_DIRS=%h/.guix-profile/share"

Looking at the purism docs 
(https://software.pureos.net/package/src/pureos/byzantium/systemd), systemd is 
version 247. But %h expansion in user config is only available since systemd 
256.1 (https://github.com/systemd/systemd/pull/26675).
So maybe you can try explicitly specifying the path here.
I don't think it will help, but it's something :)

BUT! While I was writing this, I noticed that ManagerEnvironment itself was 
added in version 248! So if you're really on 247, it can't work.

In this case, I suggest you try a drop-in file for the dbus, e.g.:
systemctl --user edit dbus
(add the following two lines as only uncommented ones):
[Service]
Environment="XDG_DATA_DIRS=/home/purism/.guix-profile/share"



Re: D-Bus service files on foreign distributions

2024-08-26 Thread Nils Landt
> Roman Riabenko via  hat am 25.08.2024 13:08 CEST 
> geschrieben:
> 
>  
> Hello
> 
> How to expose service files to D-Bus on a foreign distribution?
> 
> I installed gnome-text-editor with guix on a foreign distribution
> (PureOS byzantium). It would run from command line, but fail to start
> from the applications grid with the following error.
> 
> $ journalctl -f
> сер 25 10:35:03 pureos phosh[1402]: Failed to launch app 'Текстовий
> редактор' with startup id: '6546b399-a2e0-4ded-b278-84863a9f32bf'
> 
> I considered the presence of "DBusActivatable=true" in its desktop file
> and copied the service file. That allowed me to launch the application
> from the icon as expected. 
> 
> $ sudo cp /home/purism/.guix-profile/share/dbus-
> 1/services/org.gnome.TextEditor.service /usr/share/dbus-1/services/
> 
> Is there a better approach for making the service files available to D-
> Bus on a foreign distribution?

I'm 100% guessing here, but I think systemd just doesn't see your service files 
because they are not in the search path.
If this is the case, you can set XDG_DATA_DIRS in ~/.config/systemd/user.conf 
(under the Manager header), i.e.:
[Manager]
ManagerEnvironment="XDG_DATA_DIRS=/home/purism/.guix-profile/share"

If that doesn't work, I'm out of ideas :)



Re: How to use guix-for-channels together with -L without errors?

2024-08-15 Thread Nils Landt
> Tomas Volf <~@wolfsden.cz> hat am 15.08.2024 21:46 CEST geschrieben:
> 
> Now I have a different problem however.  Given a channel list with commits,
> hence resolving to the same code every time, it still gets pulled every time,
> and Guix derivation computed every time.  Illustrated here:
> 
> /tmp/repro $ cat x.scm
> (use-modules (guix channels)
>  (gnu packages package-management))
> 
> (guix-for-channels (list (channel
>   (name 'guix)
>   (url "https://git.wolfsden.cz/.git/guix";)
>   (commit
>"b03eddc326ee4eb26b25743faee2080de6aded7e")
>   (introduction
>(make-channel-introduction
> "028e445a2028068e3c83996daa281057f19141a0"
> (openpgp-fingerprint
>  "B783 49B3 8C14 7D36 2988  68A4 2FBF EE7D 
> B67F C1A9"))
> /tmp/repro $ guix build -f x.scm
> Updating channel 'guix' from Git repository at 
> 'https://git.wolfsden.cz/.git/guix'...
> Computing Guix derivation for 'x86_64-linux'... |
> /gnu/store/9i597ckynirxy4w5iv2wbmy288vc7gf0-profile
> /tmp/repro $ guix build -f x.scm
> Updating channel 'guix' from Git repository at 
> 'https://git.wolfsden.cz/.git/guix'...
> Computing Guix derivation for 'x86_64-linux'... |
> /gnu/store/9i597ckynirxy4w5iv2wbmy288vc7gf0-profile
> 
> This does not seem necessary (it uses commit, so it does not change) and makes
> re-deploys *much* slower.  Would you happen to have magical trick for this as
> well?

Sorry to disappoint, I don't use Guix system, only Guix home, so no idea :(



Re: How to use guix-for-channels together with -L without errors?

2024-08-15 Thread Nils Landt
> Tomas Volf <~@wolfsden.cz> hat am 15.08.2024 00:24 CEST geschrieben:
>
> Now, what I do not understand is why this error:
> 
> no code for module (foo)
> 
> is there.  I am building guix from %default-channels, why is it even loading
> files in the local directory?  And how do I make it stop?  In this case, I 
> could
> just drop `-L .', but in real code I need the argument to load modules 
> required
> for the system.

When that happened to me, it took me forever to find out, so I'm happy to save 
you some pain:
The -L adds to the *package* module search path. Guix loads all the scm files 
there to get the package definitions, I'm guessing so there doesn't need to be 
empty modules with a huge "requires" list of every package-containing module.

So I put my package definitions in a subdirectory of the channels directory, 
add that subdirectory to GUIX_PACKAGE_PATH, and add the channel root directory 
to GUILE_LOAD_PATH.



Re: Opinions on packaging parinfer-rust-mode

2024-07-14 Thread Nils Landt
> Lee Thompson  hat am 14.07.2024 14:21 CEST geschrieben:
>
> What I'm unsure about is this: parinfer-rust-mode is designed to offer
> you the option of automatically downloading the companion Rust library
> from the repo at https://github.com/justinbarclay/parinfer-rust-emacs.
> This worked fine for testing and resulted in a working
> parinfer-rust-mode for Emacs, though I'm suspecting having Guix handle
> the downloading and manipulation of this library would be more
> preferable (Guix-ier perhaps?).

I'd definitely suggest packaging parinfer-rust-emacs and adding it as an input.
This might be very easy - judging by the readme, parinfer-rust-emacs is a fork 
of https://github.com/eraserhd/parinfer-rust, which is packaged in guix (gnu 
packages text-editors).
Copying that package definition seems like it's worth a try, but I haven't 
checked what changed in the fork.



Re: What else could set the GUIX_PROFILE variable?

2024-06-22 Thread Nils Landt


> Adam McCartney via  hat am 22.06.2024 08:33 CEST 
> geschrieben:
> 
>  
> Hi Guix,
> 
> Does something set the GUIX_PROFILE variable to $HOME/.guix-home/profile by 
> deafault?
> 
> So I've been scratching my head about this today. It may be obvious to someone
> else what is happening. I'm running guix ad a foreign distro on a number of 
> machines, others are guix system on one. Some use a profile that exists in 
> '~/.guix-home/profile' others rely on 
> '.guix-extra-profiles/$(hostname)/$(hostname)'. 
>
> I realize that the problem goes away if I remove the control block. So maybe 
> it's just a logic error on my part. I'd still like to know what is setting 
> the 
> GUIX_PROFILE to $HOME/.guix-home/profile when I launch tmux.

The installer adds /etc/profile.d/zzz-guix.sh which, among other things, sets 
GUIX_PROFILE.

But I don't know why this happens with tmux and not your regular shell session.



Re: Ruby without RVM - what to do if the version I want is missing?

2024-06-14 Thread Nils Landt
> Andreas Enge  hat am 14.06.2024 19:36 CEST geschrieben:
> 
> An interesting question would be whether all the packages that still depend
> on ruby@3.1 can use ruby@3.2 or ruby@3.3 instead.

There are breaking changes between these Ruby versions.
For most packages, upgrading Ruby and having the tests run would work, but I 
count 209 packages with tests disabled (I did not check how many of them run on 
2.7).
Personally, I wouldn't want to risk it :)

> And whether we still need ruby@2.6 in addition to ruby@2.7; no package
> depends on the former.

Probably not, end of support for Ruby 2.6 was 2022-04-12. 
Fwiw, end of support for 2.7 was 2023-03-30. The 2.7 -> 3.0 migration was 
pretty big in the Ruby ecosystem, I wouldn't expect there to be a lot of open 
source applications running 2.7 any more. Having a quick look at (gnu 
packagages ruby), very few packages still depend on 2.7.



Re: Guix home reconfigure fails with "In procedure symlink: permission denied"

2024-06-06 Thread Nils Landt
> Tanguy LE CARROUR  hat am 06.06.2024 13:14 CEST 
> geschrieben:
>
> Case closed! Thanks again!
> 
> -- 
> Tanguy

Happy to hear you managed to fix it. Sorry I didn't catch this when you 
originally asked for help 2½ weeks ago.



Re: Guix home reconfigure fails with "In procedure symlink: permission denied"

2024-06-06 Thread Nils Landt
> Tanguy LE CARROUR  hat am 06.06.2024 08:49 CEST 
> geschrieben:
> 
>  
> Hi Simon,
> 
> Quoting Simon Tournier (2024-06-04 21:24:10)
> > On Tue, 21 May 2024 at 11:38, Tanguy LE CARROUR  
> > wrote:
> > 
> > >2 (primitive-load "/gnu/store/fvly06ac6y0c01r8zavc2m1zfk6?")
> > [...]
> > >0 (symlink "/gnu/store/676qwqy15al2zi7a5s4kb1lwjr6yxqpf-?" ?)
> > [...]
> > > # But files with longer names exist! Could the problem be the `?` 
> > > caracter?
> > > $ ls /gnu/store/fvly06ac6y0c01r8zavc2m1zfk6?*
> > > /gnu/store/fvly06ac6y0c01r8zavc2m1zfk6pvhn9-files-builder
> > >
> > > $ ls /gnu/store/676qwqy15al2zi7a5s4kb1lwjr6yxqpf-?*
> > > /gnu/store/676qwqy15al2zi7a5s4kb1lwjr6yxqpf-config
> > > ```
> > 
> > Yeah, the character ’?’ is only to point that the string is cut.
> > 
> > The two files are:
> > 
> > /gnu/store/fvly06ac6y0c01r8zavc2m1zfk6pvhn9-files-builder
> > /gnu/store/676qwqy15al2zi7a5s4kb1lwjr6yxqpf-config
> > 
> > 
> > Now, why there is an issue with the symlink of these files is another
> > story. :-)
> 
> Why! 😭
> I tried reverting to an older version of my `home.scm`, without luck. 😞
> 
> 
> > Have solved this issue since then?
> 
> No! But… I’ve found a workaround! 😎 … I’ve just stopped using Guix Home! 😅
> Yeah, it’s a **BIT** radical, but I can live with old style config file 
> editing
> and no package updates for a while… I hope! 🤞 And if I need a newer package, I
> can still add it to a profile, a shell or my system.
> But, not knowing how to properly debug Guile by myself is starting to be a 
> problem…

I think /gnu/store/676qwqy15al2zi7a5s4kb1lwjr6yxqpf-config is a file you 
generate, right? Using home-files-service-type, or some service that extends it.
If so, try to see where you want it to be symlinked to. Maybe the target file 
exists twice in your guix home configuration, or it exists in your home 
directory but is owned by root?



Re: Come speak at the Guix Social meetup

2024-06-04 Thread Nils Landt
> Steve George  hat am 04.06.2024 10:19 CEST geschrieben:
>
> - Something mad, interesting or curious!

I built a home service for systemd. It is currently unpublished, but I could 
demo it, and publish the WIP version.

Not sure if there's enough interest in this to warrant a talk, systemd is not 
packaged for Guix (and quite possibly never will be). This would only be of 
interest for users of Guix Home on a foreign distro who, for some reason or 
another, want to use systemd units instead of shepherd / mcron. 

Nils



Re: Bitwarden build with "npm-build-system" : Fails to install dependencies : "npm ERR! code ENOTCACHED"

2024-03-24 Thread Nils Landt
> Pablo Zamora  hat am 23.03.2024 12:38 CET 
> geschrieben:
>
> It seems that npm tries to download package dependencies but has no network 
> during the build and fails. I printed dummy network connnexion (or no 
> connexion) messages before and after the 'unpack' phases as well as before 
> the 'configure' phase to debug and the result is that no network is available 
> at those steps. I tried it with 'curl' and it says no network at all during 
> the build. So far, I understood that this is normal but I would like to 
> download the dependencies - HOW ?
> 
> I checked the 'gnu/packages/node-xyz.scm' to see whether other packages have 
> a workaround and could not find a general pattern. It seems that every node 
> package add 0,1 or 2 specific dependencies in the 'inputs' field but nothing 
> huge compared to the bitwarden dependencies list. Here is the 'package.json' 
> file pretty printed : https://paste.debian.net/1311744

In Guix you need to define all dependencies in terms of Guix packages. This is 
helped by the guix import subcommand.
Sadly, there is no importer for npm.

Your biggest chance of success might be to either write an importer, or find a 
way to convert the package.json to something that works with guix import json.
On the other hand, your biggest chance of happiness might be to not package npm 
packages in Guix.



Re: [question] How to start systemd services installed by packages in Ubuntu?

2024-02-23 Thread Nils Landt
> Rodrigo Morales  hat am 22.02.2024 18:56 CET 
> geschrieben:
> I noticed that =/home/rodrigo/.guix-profile/lib= was included to the
> variable =XDG_DATA_DIRS= (see result of the command below).
> 
> #+BEGIN_SRC sh
> echo $XDG_DATA_DIRS | tr ':' '\n' | sort
> #+END_SRC
> 
> #+RESULTS:
> #+begin_example
> /gnu/store/16kl9gx8k8ygkcj7dw1xrpw2p1h1bhjh-emacs-29.1/share
> /gnu/store/23rprfqw8jy1xr0bcfvq644s2jmycdkr-gtk+-3.24.37/share
> /gnu/store/gc4q34l7yc63qv2qcqq7avmf34hdpbwp-shared-mime-info-1.15/share
> /gnu/store/m26kdkgr4c09wc0djn2pgcz9jl7j2rw1-glib-2.72.3/share
> /home/rodrigo/.guix-home/profile/share
> /home/rodrigo/.guix-profile/lib
> /home/rodrigo/.guix-profile/share
> /home/rodrigo/.guix-profile/share
> /home/rodrigo/.local/share/flatpak/exports/share
> /usr/share/gnome
> /usr/share/i3
> /var/lib/flatpak/exports/share
> /var/lib/snapd/desktop
> #+end_example

This shouldn't be due to the changes you made - ManagerEnvironment only sets it 
for the systemd user management process, not for any spawned processes and 
especially not your shell.
You mentioned below that you removed ~/.config/systemd/user.conf, is 
/home/rodrigo/.guix-profile/lib still in XDG_DATA_DIRS after that?

> The problem I noticed was that applications that were installed
> through =guix package -i= took more than usual to start.
> 
> Inkscape took 25 seconds to print the version.
> 
> #+BEGIN_SRC text
> $ time /home/rodrigo/.guix-profile/bin/inkscape --version
> 
> (inkscape:42859): dbind-WARNING **: 11:58:15.650: AT-SPI: Error retrieving 
> accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not 
> receive a reply. Possible causes include: the remote application did not send 
> a reply, the message bus security policy blocked the reply, the reply timeout 
> expired, or the network connection was broken.
> Inkscape 1.2.1 (9c6d41e410, 2022-07-14)
> /home/rodrigo/.guix-profile/bin/inkscape --version  0.02s user 0.03s system 
> 0% cpu 25.072 total
> $ echo $?
> 0
> #+END_SRC

I'm almost afraid to hear the answer, but how many files are in 
/home/rodrigo/.guix-profile/lib (including all subdirectories)?

My best guess here is that inkscape / thunar enumerate all files in 
XDG_DATA_DIRS on startup, and so they become slow if there's a lot of files. 
But, as mentioned above, setting ManagerEnvironment should not affect 
XDG_DATA_DIRS for them!



Re: [question] How to start systemd services installed by packages in Ubuntu?

2024-02-22 Thread Nils Landt
> Rodrigo Morales  hat am 22.02.2024 03:17 CET 
> geschrieben:
> 
> 1. Is using systemd user services for packages, that are installed
>through =guix package -i=, the way how daemons are intended to be
>started in Ubuntu?

I'm guessing the expected usage is to write a shepherd service.
Looks to me like almost everyone using Guix uses shepherd / mcron, not systemd. 
I hacked something together for systemd, but haven't published it.

Also, it looks like you're not using Guix home, which I think is the best way 
to use Guix on a foreign distro.
So I suggest looking into that: 
https://guix.gnu.org/manual/en/html_node/Home-Configuration.html

> 2. Is it possible to make systemd in Ubuntu aware that there might be
>user services in =~/.guix-profile/lib/systemd/user=? I want to do
>this in order to avoid the manual task of creating a symbolic link
>to the directory that is actually ser. 

Yes. In ~/.config/systemd/user.conf (file probably doesn't exist yet):

[Manager]
ManagerEnvironment="XDG_DATA_DIRS=%h/.guix-profile/lib"

In case the %h doesn't work for you (depends on systemd version), write 
/home/rodrigo (or whatever) instead.
After restarting the user session, it should pick up the unit files.

You can check the paths that are checked for user unit files with:
systemctl --user show -p UnitPath --value

and of course, the following:
systemctl --user list-unit-files "thunar*"

>Ideally, I want to install a
>package and just execute =systemctl --user start <>=.

Just making sure, but are you sure you want to start, and not enable, or enable 
--now?



Re: How to debug a failed build of rust application under cargo-build-system?

2024-02-15 Thread Nils Landt
> Tomas Volf <~@wolfsden.cz> hat am 15.02.2024 17:23 CET geschrieben:
> 
> Oh...  Right, so I managed to track down the difference.  The importer uses
> async-stream in 0.3.2 while cargo in 0.3.5.  After updating the packaged 
> version
> to 0.3.5, it now compiles, so that is nice.
> 
> Wait, it is not.  I assumed that rust is big on the semver.  Should 0.3.2 and
> 0.3.5 be the same (except bug fixes)? :-O

This was in fact a bug fix in 0.3.3:
https://github.com/tokio-rs/async-stream/blob/master/async-stream/CHANGELOG.md#033

I have been bitten by Guix's "let's disregard patch versions unless it's 
version 0.0.x" style a few times now.

> But thanks to you I managed to solve this, so thanks :)

Happy to hear you solved it!



Re: How to debug a failed build of rust application under cargo-build-system?

2024-02-15 Thread Nils Landt
> Tomas Volf <~@wolfsden.cz> hat am 15.02.2024 14:26 CET geschrieben:
> 
>  
> On 2024-02-15 13:06:23 +, woshilapin wrote:
> > Hi,
> >
> > It is indeed a code error which looks weird. Are you sure the 2 
> > compilations compile the same source code?
> 
> Well, technically I am not sure.  I ran the `guix import crate -r netavark' 
> and
> used the output from that.  My expectation was that it would walk the
> dependencies, and produce the same dependency tree cargo would use.  Is that a
> correct expectation?

Not necessarily correct, no. 
cargo install does not use the lockfile, see 
https://doc.rust-lang.org/cargo/commands/cargo-install.html#dealing-with-the-lockfile
The cargo-build-system also doesn't use it.
The crate importer also doesn't use it :)

> > > Could someone nudge me in the right direction regarding how to debug this 
> > > issue?
> > > I am not really sure where to start.

First, I'd try to make sure that guix build rust-tonic works.

This page helped me a lot in getting started: 
https://guix.gnu.org/manual/en/html_node/Debugging-Build-Failures.html

I tried to reproduce this locally (import and build), building rust-tonic works 
fine for me.
Funnily enough, I'm running into a completely different error, related to 
https://github.com/hyperium/tonic/blob/408f46d5f2e1a25547831eb4b064bdeaf3868979/tonic-build/src/lib.rs#L47-L60



Re: "Command not found" when using `home-mcron-service`

2024-01-15 Thread Nils Landt


> Tanguy LE CARROUR  hat am 15.01.2024 13:30 CET 
> geschrieben:
> > If I'm correct, setting the PATH environment variable in the mcron job
> > should fix it.
> 
> You mean inside the `#~(job …)`? Sorry, but… how would you do that? 😅

Haven't tried it, but something like:

#~(job '(next-minute (range 0 60 5)) (string-append #$bash " -c 
\"PATH=$HOME/.guix-home/profile/bin " #$notmuch "/bin/notmuch new\""))

> And this means that I would have to do it for every single job? 🤔

Yes.

> Sounds suboptimal to me.

Agreed! Alternatively, you could install the dependent packages (like pass) in 
guix system, not guix home.

> So I would definitively favour a solution where the PATH is set once and
> for all by Mcron.

I'm pretty sure this does not exist for mcron.



Re: "Command not found" when using `home-mcron-service`

2024-01-15 Thread Nils Landt
> Tanguy LE CARROUR  hat am 15.01.2024 10:38 CET 
> geschrieben:
>
> ```scheme
> (gnu packages dav)  ; vdirsyncer
> (gnu packages mail)  ; notmuch
> ; […]
> (service home-mcron-service-type
> (home-mcron-configuration
>  (jobs (list
>  #~(job '(next-minute (range 0 60 5)) (string-append 
> #$notmuch "/bin/notmuch new"))
>  #~(job '(next-hour) (string-append #$vdirsyncer 
> "/bin/vdirsyncer sync"))
> ```
> 
> And now Mcron finds `notmuch` (and `vdirsyncer`), but… Notmuch has hooks
> that depend on other commands and I now have the following error message
> in my logs:
> 
> ```
> 2024-01-15 10:20:00 6198 /gnu/store/[…]-notmuch-0.37/bin/notmuch new: 
> […]/.config/notmuch/default/hooks/pre-new: line 3: mbsync: command not found
> ```
> 
> `mbsync` is in my profile, but Mcron cannot find it.
> Do I have to declare all the required packages… somehow?! 🤔

That sounds like it's related to this issue I reported: 
https://issues.guix.gnu.org/65471

If I'm correct, setting the PATH environment variable in the mcron job should 
fix it.



Store file names / how to intern files in subdirectory?

2023-10-04 Thread Nils Landt
Hello,

I'm working on my home-systemd-service, and systemd cares about the file name 
behind links. Specifically, it emits a warning when the file name of the link 
target does not match the link name.
Example:
ls -alh ~/.config/systemd/user/default.target.wants/greenclip.service ->
/home/nl/.config/systemd/user/default.target.wants/greenclip.service -> 
/gnu/store/pznbc8xxhfkwxjbaff9h982cy4df1y1a-greenclip.service

results in this log message:
"default.target: Wants dependency dropin 
/home/nl/.config/systemd/user/default.target.wants/greenclip.service target 
/gnu/store/pznbc8xxhfkwxjbaff9h982cy4df1y1a-greenclip.service has different 
name".

Still, I would like to fix this warning.
The file is a serialized configuration created with (mixed-text-file 
"greenclip.service" (serialize-configuration ...)).
If I change the first argument to "test/greenclip.service", I get an error, so 
it's really just the file name, not a path.
I understand it makes no sense to try to get /gnu/store/greenclip.service, but 
would it be possible to achieve 
/gnu/store/pznbc8xxhfkwxjbaff9h982cy4df1y1a-greenclip.service/some-directory/greenclip.service?
 Or are files always saved at the "top level" of the store?

Nils



Re: Recursive substitute-keyword-arguments / setting default on build system

2023-09-27 Thread nils


> Hilton Chain  hat am 27.09.2023 16:13 CEST geschrieben:
> 
>  
> Hi Nils,
> 
> On Tue, 26 Sep 2023 19:08:06 +0800,
> nils@landt.email wrote:
> >
> > Hello,
> >
> > I use a slightly customized emacs package, and want to use it as the 
> > package that is used in emacs-build-system for the emacs plugins I'm using.
> > The default emacs gets garbage collected and takes quite a while to 
> > reinstall, I would like to avoid that. Also, it seems cleaner to build the 
> > plugins with the exact version that they will be used with.
> >
> > Here's what I have:
> >
> > (define emacs-package
> >   ((const
> >  ((options->transformation
> > '((with-configure-flag . 
> > "emacs=--program-transform-name='s/^ctags$/ctags.emacs/'")))
> >   emacs
> >
> > (define (set-build-system-emacs plugin-package)
> >   (package
> > (inherit plugin-package)
> > (arguments
> >   (substitute-keyword-arguments (package-arguments plugin-package)
> > ((#:emacs emacs) `,emacs-package)
> >
> > (map set-build-system-emacs package-list)
> >
> > From what I can tell this does work for the packages in package-list, but 
> > not for any inputs to those packages. That makes total sense to me, but I 
> > don't know how to solve it.
> > Any pointers? Or is it possible to set the default package for a build 
> > system, removing the need for this mapping altogether?
> 
> `package-input-rewriting' (documented in [1]) can be used for the
> purpose:
> 
> --8<---cut here---start->8---
> (map (package-input-rewriting
>   `((,emacs-minimal . ,emacs-package)
> (,emacs . ,emacs-package)))
>  package-list)
> --8<---cut here---end--->8---
> 
> Thanks
> ---
> [1]: 
> https://guix.gnu.org/en/manual/devel/en/html_node/Defining-Package-Variants.html

Thank you for the reply. I was already using package-input-rewriting (well, the 
/spec version of it) but supplemented it with the keyword argument substitution 
because I thought it only worked on the inputs / native-inputs / 
propagated-inputs fields.
But you are right, just the input-rewriting works!



Recursive substitute-keyword-arguments / setting default on build system

2023-09-26 Thread nils
Hello,

I use a slightly customized emacs package, and want to use it as the package 
that is used in emacs-build-system for the emacs plugins I'm using.
The default emacs gets garbage collected and takes quite a while to reinstall, 
I would like to avoid that. Also, it seems cleaner to build the plugins with 
the exact version that they will be used with.

Here's what I have:

(define emacs-package
  ((const
 ((options->transformation
'((with-configure-flag . 
"emacs=--program-transform-name='s/^ctags$/ctags.emacs/'")))
  emacs

(define (set-build-system-emacs plugin-package)
  (package
(inherit plugin-package)
(arguments
  (substitute-keyword-arguments (package-arguments plugin-package)
((#:emacs emacs) `,emacs-package)

(map set-build-system-emacs package-list)

>From what I can tell this does work for the packages in package-list, but not 
>for any inputs to those packages. That makes total sense to me, but I don't 
>know how to solve it.
Any pointers? Or is it possible to set the default package for a build system, 
removing the need for this mapping altogether?

Nils



Setting shepherd log dir

2023-08-29 Thread nils
Hello,

with 1c30d5a6bfc5d48137f4bdcc271189a06fdc6ed3 , my (user) mcron log file 
changed from ~/.local/state/log/mcron.log to ~/.local/state/shepherd/mcron.log 
(though strangely this did not seem to take effect until 
552d0703776c532f25498d5cb852c3c497cb9252 et. al.).

I prefer the old location, and changed it back with home-mcron-configuration 
(which is missing the documentation for the log-file option, but I found it in 
the code).
However, if I ever use one of the other services utilizing %user-log-dir, it 
will also log to ~/.local/state/shepherd/ .
So I think it would be great to overwrite %user-log-dir, but I haven't found a 
way to do so. Does anyone have any ideas?

Nils



Re: Problem with Shepherd after `guix home reconfigure`

2023-08-29 Thread nils


> Tanguy LE CARROUR  hat am 22.08.2023 18:56 CEST 
> geschrieben:
> 
>  
> Hi Hilton,
> 
> 
> Quoting Hilton Chain (2023-08-22 17:18:15)
> > If you happen to use the system mcron service as well, please pull to
> > the latest commit again, my bad :(
> 
> Done!
> Reboot and…
> 
> 
> > > ```
> > > $ guix home reconfigure
> > > # […]
> > > Loading /gnu/store/zbfyaxxigns5lqyxhxzxhm92w54ns1cz-shepherd.conf.
> > > herd: error: exception caught while executing 'load' on service 'root':
> > > In procedure fport_write: Input/output error
> > > ```
> > >
> > > I've just tried something that, as weird as it sounds, I had never done 
> > > before:
> > > `herd stop mcron`! And… it just hangs forever!? I guess it not the
> > > expected behaviour?! 🤔
> > > I `ctrl+c`-ed it and, now, `herd status` also hangs forever!? 😞
> > > I'll see if everything goes back to normal after the next reboot…
> > 
> > I don't know much about Shepherd but rebooting seems to be the only
> > solution when it hangs...
> 
> I now have a slightly different error message:
> 
> ```
> $ guix home reconfigure
> # […]
> SSLoading /gnu/store/zbfyaxxigns5lqyxhxzxhm92w54ns1cz-shepherd.conf.
> herd: error: exception caught while executing 'load' on service 'root':
> In procedure fport_write: Broken pipe
> ```
> 
> ```
> # herd status
> Started:
>  + root
> Starting:
>  ^ mcron
>  ^ mpd
> Stopped:
>  - tor
>  - transmission
> ```
> 
> I usually have:
> 
> ```
> # herd status
> Started:
>  + mcron
>  + mpd
>  + root
> Stopped:
>  - tor
>  - transmission
> ```
> 
> Even though `mpd` is reported as "starting" it actually works.
> `herd stop mcron` still hangs forever, but `herd status` keeps on
> working and reporting "starting" services.
> 
> Thoughts? 🤔

I had a similar issue about 2 months ago. I was using XDG_LOG_HOME in a 
shepherd service definition, and it was not available anymore.
The error message I got was different, but the result was the same - some 
services shown as "starting" and working, but herd  not working for 
one particular broken service.

I suggest to check your 
/gnu/store/zbfyaxxigns5lqyxhxzxhm92w54ns1cz-shepherd.conf file for the log path 
of the mcron job. Maybe your XDG_STATE_HOME points to a non-writable directory?

> 
> -- 
> Tanguy



Re: Specifying licenses that are not included with guix

2023-05-15 Thread nils
> Simon Tournier  hat am 15.05.2023 14:05 CEST 
> geschrieben:
> 
>  
> On sam., 13 mai 2023 at 11:36, n...@promisedlandt.de wrote:
> 
> > 1. What do I do if a package specifies a license that is not included
> > in guix/licenses.scm ?
> 
> And in all, I am afraid to say it will be hard to include such package.
> 
> > 2. What do I do if a package specifies no license at all?
> 
> Without license, it cannot be included.

Thank you for the answers. 
In that case, I will keep the problematic plugins in my own channel, and will 
only try to upstream the other plugins.



Specifying licenses that are not included with guix

2023-05-13 Thread nils
Hello,

I'm currently packaging vim plugins. This is mostly going well, but I've hit 
some license-related issues.

1. What do I do if a package specifies a license that is not included in 
guix/licenses.scm ? For example, vim-sandwich uses the NYSL license [1] 
(between public-domain and WTFPL), coc.nvim is the originator of the "Anti 996" 
License [2] (modified version of MIT / expat).

2. What do I do if a package specifies no license at all? For example see 
https://github.com/coderifous/textobj-word-column.vim/issues/11


[1] 
https://github.com/machakann/vim-sandwich/blob/c5a2cc438ce6ea2005c556dc833732aa53cae21a/doc/sandwich.txt#L6-L8
[2] 
https://github.com/neoclide/coc.nvim/blob/3014125e4ab7d35e08bbcde946dca4812b84f105/LICENSE.md



Re: attempt to scan in Guix

2023-02-25 Thread nils
> Gottfried  hat am 25.02.2023 10:41 CET geschrieben:
> 

> I checked the SANE database and it seems that my printer is not 
> supported, because of the older version of SANE in Guix.

Some HP printers *require* a proprietary plugin to scan. In my case (LaserJet 
Pro MFP M127fw), I can print without hplip, but not scan.
But I'm using guix on a foreign (Debian) system, and haven't managed to set up 
hplip-plugin (from nonguix) yet.

There is a list of which printers require the plugin at 
https://developers.hp.com/hp-linux-imaging-and-printing/binary_plugin.html

My guess (and it is only a guess) would be that you will not have any luck with 
libsane if your printer shows up on that list.



Re: Generating helptags for vim plugins

2023-02-21 Thread nils
> Efraim Flashner  hat am 19.02.2023 21:06 CET 
> geschrieben:
> 
>  
> On Sun, Feb 19, 2023 at 11:09:57AM +0100, n...@promisedlandt.de wrote:
> > Solutions I could think of:
> > 
> > 1) Run the helptags generation after *all* plugins are installed
> > 2) Do not install all plugins to ~/.guix-home/profile/share/vim/vimfiles 
> > but rather keep them in one subfolder per plugin (which is how the built-in 
> > vim package management works, and most or all vim plugin managers). 
> > 
> > How could 1) be implemented? I could do 2) rather easily I think, but it 
> > would contributing the plugin packages difficult, since it needs changes in 
> > the gnu/packages/aux-files/guix.vim to add those directories to the vim 
> > runtime path.
> > 
> > Has anyone already spent some time on this? It looks to me like an issue 
> > that everyone would run into if they use the already packaged plugins in 
> > gnu/packages/vim.
> 
> There are two possibilities that I can see at this point:
> 1: There's a patch to install all the vim plugins into their own prefix
> and use vim's :packadd to actually load the packages when they're
> wanted. I feel like this is probably the technically correct way to do
> it.
> 
> 2: Add a profile hook to build all the help tags as part of building the
> profile, similar to the emacs sub-directories or the font cache or the
> mime database or other things. This would introduce the least amount of
> change to users since they wouldn't need to start doing :packadd and the
> help files would just show up.
> 
> As someone who actively wants the help files, I'm curious which you'd
> prefer.

I also think that having each plugin in its own folder is the most robust 
solution. Both vim and neovim have package loading that works with no or 
minimal configuration for quite a few years now, and to me it makes sense if 
guix adds the plugins in the structure the built-in loaders expect.
However, I would not expect the user to have to :packadd each plugin 
separately. Having plugins autoload is the behaviour with the current guix 
packages, and I think that's the most common use case anyway.
For that, I think all that needs to be done is to install the plugins  at 
~/.guix-home/profile/share/vim/plugins/pack/guix/start/
and then having set packpath=~/.guix-home/profile/share/vim/plugins in the 
system vimrc. 

For neovim plugins, the path would be 
~/.guix-home/profile/share/nvim/site/pack/guix/start/.

The "luxury" solution would be to specify for each plugin whether it's a vim or 
neovim plugin, and whether it should be autoloaded or not, but the above 
solution mimics the current behaviour of the guix vim plugin packages.

I was unable to locate the code for the profile hooks you mentioned. Where can 
I find them?



Generating helptags for vim plugins

2023-02-19 Thread nils
Hello everyone,

I'm trying to switch my home environment to guix home (from Chef).
As a first step, I'm writing package definitions for the various vim plugins I 
use.
I followed the simple plugins in gnu/packages/vim, using git-fetch + 
copy-build-system. This worked fine, but I noticed that there is no code to 
generate the helptags, meaning the plugin documentations don't show up in vim 
when using :help. Having the documentations available is important to me! 

My solution was to write a vimplugin-build-system. It uses copy-build-system 
for most things, but generates the helptags for the plugin as an additional 
step after installation. Technically that works, in that the helptags for the 
plugin are generated and available in vim. Sadly the concept was wrong, because 
the helptags file is always named "tags" and needs to be in the same directory 
as the help file. This means installing multiple plugins has the doc files for 
all plugins symlinked in ~/.guix-home/profile/share/vim/vimfiles/doc , and then 
the "tags" file of (I'm guessing) the last plugin, meaning only that last 
plugin documentation is available in vim.

Solutions I could think of:

1) Run the helptags generation after *all* plugins are installed
2) Do not install all plugins to ~/.guix-home/profile/share/vim/vimfiles but 
rather keep them in one subfolder per plugin (which is how the built-in vim 
package management works, and most or all vim plugin managers). 

How could 1) be implemented? I could do 2) rather easily I think, but it would 
contributing the plugin packages difficult, since it needs changes in the 
gnu/packages/aux-files/guix.vim to add those directories to the vim runtime 
path.

Has anyone already spent some time on this? It looks to me like an issue that 
everyone would run into if they use the already packaged plugins in 
gnu/packages/vim.



Re: LXDE desktop in config.scm

2018-09-23 Thread Nils Gillmann
znavko transcribed 5.3K bytes:
> Thank you very much, Leo Famulari! Yes, only 2 changes in config make my 
> system offers LXDE on login screen.  These:
> adding to (use-modules (gnu packages lxde))
> and adding to (packages (cons* lxde))
> But I have 4 troubles now.
> First is that I have all DEs installed now, but I want only Xfce and LXDE.
> I have 5 elements on login screen now:
> - Xfce, as it was
> - KDE,
> - LXDE, as I wanted to add
> - Gnome
> - Openbox
> Sorry, why? I do not need KDE, Gnome. I thought this config only adds LXDE. 
> Please, what is wrong in my config? I only added lxde, gedit, icecat to 
> (packages) list and (gnu packages lxde), (gnu packages gnuzilla) to 
> (use-modules) list.

I think KDE and GNOME appear (but you won't be able to use them iirc
since you don't have them) because LXDE in theory can be used with
other DMs. I never tested this capability in GuixSD and doubt that it
will work since I only cared about LXDE alone when I packaged
this. Just regard it as a sideeffect which should eventually get
fixed. If it bothers you too much, report a bug about it.

If you want to know why this happens: SLIM (or whatever login manager
you use) detects any .desktop file in a certain location. LXDE
provides these .desktop files.

> 
> # cat /etc/config.scm
> ;; This is an operating system configuration template
> ;; for a "desktop" setup with GNOME and Xfce where the
> ;; root partition is encrypted with LUKS.
> 
> (use-modules (gnu)
>  (gnu system nss)
>  (gnu packages lxde)
>  (gnu packages gnuzilla)
> )
> (use-service-modules desktop)
> (use-package-modules certs gnome)
> 
> (operating-system
>   (host-name "antelope")
>   (timezone "Europe/Moscow")
>   (locale "en_US.utf8")
> 
>   ;; Use the UEFI variant of GRUB with the EFI System
>   ;; Partition mounted on /boot/efi.
>   (bootloader (bootloader-configuration
> (bootloader grub-bootloader)
> (target "/dev/sda")))
> 
>   ;; Specify a mapped device for the encrypted root partition.
>   ;; The UUID is that returned by 'cryptsetup luksUUID'.
>   ;(mapped-devices
>   ; (list (mapped-device
>   ;(source (uuid "12345678-1234-1234-1234-hash888abc"))
>   ;(target "my-root")
>   ;(type luks-device-mapping
> 
>   (file-systems (cons (file-system
> (device "/dev/sda1")
> (mount-point "/")
> (type "ext4")
> )
>   %base-file-systems))
> 
>   (swap-devices '("/dev/sda2"))
> 
>   (users (cons (user-account
> (name "bob")
> (comment "bob is good too")
> (group "users")
> (supplementary-groups '("wheel" "netdev"
> "audio" "video"))
> (home-directory "/home/bob"))
>%base-user-accounts))
> 
> 
>   ;; This is where we specify system-wide packages.
>   (packages (cons* nss-certs ;for HTTPS access
>gvfs  ;for user mounts
>gedit
>icecat
>lxde
>%base-packages))
> 
>   ;; Add GNOME and/or Xfce---we can choose at the log-in
>   ;; screen with F1.  Use the "desktop" services, which
>   ;; include the X11 log-in service, networking with
>   ;; NetworkManager, and more.
>   (services (cons* (xfce-desktop-service)
>%desktop-services))
> 
>   ;; Allow resolution of '.local' host names with mDNS.
>   (name-service-switch %mdns-host-lookup-nss))
> 
> 
> The second problem is that in LXDE I cannot switch keyboard to another 
> language. I added applet 'Keyboard handler', configured it not to use system 
> configurations, added russian (and turkish to try), checked Left-Win and also 
> Alt-Shift for switch, but no keyboard keys, no mouse clicks to flag nothing 
> giving effect. I have only US keyboard. How to figure? May be, I need to add 
> other packages to config.scm like lxde-common, lxpannel, lxinput?
> 
> The third problem, when I add applet Volume control it does not appears. I 
> need something else to add to config? In Xfce I had nice pavucontrol applet 
> on a panel.
> 
> Th fourth is that on Xfce and LXDE I have no menu icons in video players, 
> also in xfce-terminal: http://0x0.st/sxlH.png http://0x0.st/sxkQ.png  What to 
> do?
> 
> I ask this cause last `guix system reconfigure /etc/config.scm` worked too 
> long on my Lenovo G50-30 and I need exact instructions that were never 
> described specially for me.
> 
> 
> 
> 
> ‐‐‐ Original Message ‐‐‐
> среда, сентябрь 19, 2018 12:48 ночи, Leo Famulari  пишет:
> 
> > On Tue, Sep 18, 2018 at 04:58:52PM +, znavko wrote:
> >
> > > Here are presented only xfce-desktop-service, gnome-desktop-service, 
> > > mate-desktop-service, but no lxde.
> >
> > These services, which provide desktop using XFCE, GNOME, and MATE, are
>

Re: guix system reconfigure compiles everything too long

2018-09-23 Thread Nils Gillmann
Hi,

two comments inlined.

znavko transcribed 21K bytes:
> Hello! I have been running `guix system reconfigure /etc/config.scm` before, 
> and it finished after 1 or 2 hours. Now it is working more than 6 hours on 
> Lenovo G50-30. It compiles everything
> http://0x0.st/sxda.png http://0x0.st/sxnm.png even icecat 
> http://0x0.st/sx51.png I want it uses binaries, do not need to compile 
> sources. Cannot understand, why adding (packages (cons* icecat)) produces 
> compilation process of icecat?
> Please, what is wrong?
> 
> My current /etc/config.scm is this:
> # cat /etc/config.scm
> ;; This is an operating system configuration template
> ;; for a "desktop" setup with GNOME and Xfce where the
> ;; root partition is encrypted with LUKS.
> 
> (use-modules (gnu) (gnu system nss)
>  (gnu packages lxde)
>  (gnu packages gnuzilla)
>  (gnu packages image-viewers)
>  (gnu packages curl)
>  (gnu packages wget)
>  (gnu packages compression)
> )
> (use-service-modules desktop)
> (use-package-modules certs gnome)
> 
> (operating-system
>   (host-name "antelope")
>   (timezone "Europe/Moscow")
>   (locale "en_US.utf8")
> 
>   ;; Use the UEFI variant of GRUB with the EFI System
>   ;; Partition mounted on /boot/efi.
>   (bootloader (bootloader-configuration
> (bootloader grub-bootloader)
> (target "/dev/sda")))
> 
>   (file-systems (cons (file-system
> (device "/dev/sda1")
> (mount-point "/")
> (type "ext4")
> )
>   %base-file-systems))
> 
>   (swap-devices '("/dev/sda2"))
> 
>   (users (cons* (user-account
> (name "bob")
> (comment "bob is good too")
> (group "users")
> (supplementary-groups '("wheel" "netdev"
> "audio" "video"))
> (home-directory "/home/bob"))
>%base-user-accounts))
> 
>   ;; This is where we specify system-wide packages.
>   (packages (cons* nss-certs ;for HTTPS access
>gvfs  ;for user mounts
>lxde lxde-common lxde-icon-theme
 ^
 lxde is already a package containing all of the
 other lx* lxde* packages (+ pcmanfm etc) you list
 below and above. If there is something I forgot
 to include in lxde, which is already present in
 the lxde module, that's a bug. Otherwise, you can
 reduce this list already.

> lxpanel lxmenu-data lxinput lxsession
>pcmanfm
>gedit file-roller evince gpicview
>icecat
 is there a reason why you put icecat in a system
 profile instead of a user profile? Usually it is
 better to have this in your user profile, unless
 you want to have all system users to have access
 to it (instead of installation per user).

>curl wget unzip
>%base-packages))
> 
>   ;; Add GNOME and/or Xfce---we can choose at the log-in
>   ;; screen with F1.  Use the "desktop" services, which
>   ;; include the X11 log-in service, networking with
>   ;; NetworkManager, and more.
>   (services (cons* (xfce-desktop-service)
>%desktop-services))
> 
>   ;; Allow resolution of '.local' host names with mDNS.
>   (name-service-switch %mdns-host-lookup-nss))
> 
> And my old config was this:
> # cat /root/config.scm
> ;; This is an operating system configuration template
> ;; for a "desktop" setup with GNOME and Xfce where the
> ;; root partition is encrypted with LUKS.
> 
> (use-modules (gnu) (gnu system nss))
> (use-service-modules desktop)
> (use-package-modules certs gnome)
> 
> (operating-system
>   (host-name "antelope")
>   (timezone "Europe/Moscow")
>   (locale "en_US.utf8")
> 
>   ;; Use the UEFI variant of GRUB with the EFI System
>   ;; Partition mounted on /boot/efi.
>   (bootloader (bootloader-configuration
> (bootloader grub-bootloader)
> (target "/dev/sda")))
> 
>   (file-systems (cons (file-system
> (device "/dev/sda1")
> (mount-point "/")
> (type "ext4")
> )
>   %base-file-systems))
> 
>   (swap-devices '("/dev/sda2"))
> 
>   (users (cons* (user-account
> (name "bob")
> (comment "bob is good too")
> (group "users")
> (supplementary-groups '("wheel" "netdev"
> "audio" "video"))
> (home-directory "/home/bob"))
>%base-user-accounts))
> 
>   ;; T

Re: LXDE desktop in config.scm

2018-09-19 Thread Nils Gillmann
Leo Famulari transcribed 2.3K bytes:
> On Tue, Sep 18, 2018 at 04:58:52PM +, znavko wrote:
> > Here are presented only xfce-desktop-service, gnome-desktop-service, 
> > mate-desktop-service, but no lxde.
> 
> These services, which provide desktop using XFCE, GNOME, and MATE, are
> defined in the file 'gnu/services/desktop.scm':
> 
> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/desktop.scm
> 
> Currently, we don't have a desktop service for LXDE.
> 
> Maybe a service is not required? It's possible to use i3 without a
> desktop service. One just adds 'i3-wm' to the 'packages' field of their
> config.scm and it will be available at the login screen.
> 
> >   ;; This is where we specify system-wide packages.
> >   (packages (cons* nss-certs ;for HTTPS access
> >gvfs  ;for user mounts
> >gedit
> >icecat
> >%base-packages))
> 
> You could try adding lxde to that list...

As far as I know we don't even have a functional LXDE stack?
I've been working slowly on lxde + lxqt, none of them in a
state where you can log into it.

> > 
> >   ;; Add GNOME and/or Xfce---we can choose at the log-in
> >   ;; screen with F1.  Use the "desktop" services, which
> >   ;; include the X11 log-in service, networking with
> >   ;; NetworkManager, and more.
> >   (services (cons* (xfce-desktop-service)
> >%desktop-services))
> 
> ... and, unless you want to use XFCE, change that to (services
> %desktop-services)





Re: LXDE desktop in config.scm

2018-09-19 Thread Nils Gillmann
Nevermind my last email, I got a bit mixed up between lxqt and lxde.
(Oops, I even added 'lxde' myself)



Re: bug#30680: [racket-users] Using Racket's raco on on Guix(SD)

2018-08-11 Thread Nils Gillmann
Christopher Lemmer Webber transcribed 3.3K bytes:
> Timothy Sample writes:
> 
> > Christopher Lemmer Webber  writes:
> >
> >> Konrad Hinsen writes:
> >>
> >>> In my tests, all packages ended up working, but performance is indeed
> >>> worse than with a Racket installation outside of Guix.
> >>>
> >>> It would be nice if someone with more knowledge of Racket internals
> >>> could give a hint or two for debugging this issue!
> >>>
> >>> Konrad.
> >>
> >> I'm posting a bug bounty on this issue: if someone can fix this I will
> >> pay them $250 USD.  I don't have the time or knowledge enough of Racket
> >> internals to do so myself.
> >
> > I have discovered a few things, but I’m not sure how to fix the
> > underlying problem(s).
> >
> > The reason Racket is trying to recompile the OpenSSL files is because of
> > a hash mismatch.  This can be seen by enabling debugging output:
> >
> > $ PLTSTDERR=debug raco setup openssl
> >
> > Which says a lot of things, but most interestingly it says:
> >
> > 
> > ...
> > compiler/cm: checking: 
> > /gnu/store/jx0bkmaafb8fq0mqs5ywgnxq8rbpn8j1-racket-6.12/share/racket/collects/openssl/libcrypto.rkt
> > compiler/cm: different src hash... 
> > (5d9ca57f3e267d956c7b5e62578467beb8ccc1d2 
> > 4d21ac412723fbf33f97669c2f73f0e9367f4510)
> > compiler/cm: maybe-compile-zo starting 
> > /gnu/store/jx0bkmaafb8fq0mqs5ywgnxq8rbpn8j1-racket-6.12/share/racket/collects/openssl/libcrypto.rkt
> > compiler/cm:   start-compile: 
> > /gnu/store/jx0bkmaafb8fq0mqs5ywgnxq8rbpn8j1-racket-6.12/share/racket/collects/openssl/libcrypto.rkt
> > compiler/cm:   compiling 
> > /gnu/store/jx0bkmaafb8fq0mqs5ywgnxq8rbpn8j1-racket-6.12/share/racket/collects/openssl/libcrypto.rkt
> > open-output-file: cannot open output file
> >   path: 
> > /gnu/store/jx0bkmaafb8fq0mqs5ywgnxq8rbpn8j1-racket-6.12/share/racket/collects/openssl/compiled/tmp15340167971534016797570
> >   system error: Read-only file system; errno=30
> >   context...:
> > ...
> > 
> >
> > This hash mismatch is caused by grafting.  When the package is built,
> > the path to OpenSSL gets hard-coded in a source file.  The SHA-1 hash
> > for this file is stored in its “.dep” file.  When the output is
> > grafted, the source file gets updated with a new OpenSSL path, but the
> > hash does not get updated.  This makes Racket think that the cached
> > bytecode file is incorrect (even though it was likely grafted too),
> > and it tries to recompile it.  It fails because it tries to write this
> > new bytecode file to the store.
> 
> Interesting... I hadn't even considered grafting.  (I still wonder why
> it's even trying to open *any* file in the store for output though...)
> 
> > I double checked this by trying with an ungrafted Racket, and got better
> > results.  (There was still a warning about writing to the store, but it
> > seemed less significant.)
> 
> Cool!
> 
> > The only thing I can think of for a fix would be to patch Racket to be
> > more lenient with bytecode files in the store.  That is, ignore hash
> > mismatches in store-files.  I might give this a try later tonight if
> > nobody has any better ideas.
> >
> > -- Tim
> 
> BTW, some examples of packages where I've had trouble, in case it helps
> with testing:
> 
>  - Raart
>  - Gregor
>  - crypto (seemed to work last time, not sure why it wasn't working before)
> 
> Though at this point I also can't do just "raco setup" on a local
> package either, but maybe resolving this issue will fix that.
> 
From what I've learned in the last couple of hours, the last problem could
be due to leftovers in your raco / dotRacket folder from an older installation.



Re: How should I install non-guix software?

2018-08-07 Thread Nils Gillmann
Benjamin Slade transcribed 807 bytes:
> I'm still getting to grips with Guix, so a fairly basic question which
> seems connected:  how do I execute a binary? So for instance, I can
> download a precompiled binary for the kitty terminal app:
> https://sw.kovidgoyal.net/kitty/binary.html
> 
> But when I try to execute it in Guix, I get the message:
> "./kitty: No such file or directory"
> 
> I tried symlinking /bin/bash and /usr/bin/env, but this didn't help.
> 
> I'm sure something in the manual or this thread probably answers this,
> but I often find I can generalise from concrete examples better than 
> vice-versa.
> 
> -- 
> Benjamin Slade - https://babbagefiles.xyz
>   `(pgp_fp: ,(21BA 2AE1 28F6 DF36 110A 0E9C A320 BBE8 2B52 EE19))
> '(sent by mu4e on Emacs running under GNU/Linux . https://gnu.org )
>`(Choose Linux ,(Choose Freedom) . https://linux.com )
> 

In this case you have to use patchelf, and use the conventional Unix
tools to figure out what's missing in rpath and interpreter.

As far as I can guess.



Re: Fish shell error: __fish_pwd in command substitution called on standard input

2018-07-18 Thread Nils Gillmann
Pierre Neidhardt transcribed 916 bytes:
> I use fish shell as a user shell.
> (Actually I only use it for its completion database via emacs-fish-completion 
> -- and the completion does not work beyond file completion).
> 
> Neither $HOME/.config/fish/ nor $HOME/.local/share/fish/ exist.
> 
> -- 
> Pierre Neidhardt

Integration of shells other than Bash are suboptimal in GuixSD at the moment,
you might want to search through the bugtracker and read the tickets I
opened a while back with regards to fish:

https://debbugs.gnu.org/cgi/pkgreport.cgi?include=subject%3Afish;package=guix

Contributions to fix this are welcome.



Re: Fish shell error: __fish_pwd in command substitution called on standard input

2018-07-18 Thread Nils Gillmann
Pierre Neidhardt transcribed 1.0K bytes:
> > guix --version
> guix (GNU Guix) 63e708f4681cc8e2bdf2e5b2a3b2599bb823551b
> Copyright (C) 2018 the Guix authors
> License GPLv3+: GNU GPL version 3 or later 
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> 
> > fish --version
> fish, version 2.7.1
> 
> -- 
> Pierre Neidhardt


I'm on an older(?) guix version but the same fish version.
Can you describe your problem a bit more?
Are you using fish as a login shell? As a user shell?
Is there anything in $home/.config/fish/ ? Same for $home/.local/share/fish/



Re: Fish shell error: __fish_pwd in command substitution called on standard input

2018-07-17 Thread Nils Gillmann
Pierre Neidhardt transcribed 1.2K bytes:
> Since recently I've noticed the following error when starting the fish
> shell and on every command execution:
> 
> --8<---cut here---start->8---
> > fish
> fish: 
> __fish_pwd
> ^
> in command substitution
>   called on standard input
> 
> in command substitution
>   called on standard input
> 
> ambrevar@mimimi > ls
> ambrevar@mimimi > ls
> booking.html
> fish: 
> __fish_pwd
> ^
> in command substitution
>   called on standard input
> 
> in command substitution
>   called on standard input
> --8<---cut here---end--->8---
> 
> Is anyone else seeing this?

not really, but my version could be older. Which version of fish and
which version of guix are you on?

> -- 
> Pierre Neidhardt





Re: Recommendations for browsing via Tor pre tor-browser?

2018-07-16 Thread Nils Gillmann
Christopher Lemmer Webber transcribed 254 bytes:
> Anyone have recommendations on how they're doing web browsing via Tor,
> sans tor-browser?  In the interim I have been using the more
> lightweight, non-js using browsers like links.
> 
> What are you doing in the interim?  icecat with a set of extensions?
> Or?
> 
I am cheating: I use torbrowser unwrapped, compiled by nix.
Icecat with proxy works probably.



Re: No dvorak in window manager

2018-06-20 Thread Nils Gillmann
Luther Thompson transcribed 1.8K bytes:
> I installed GuixSD today. When I boot up, both the login manager and
> the desktop session use qwerty. I do see dvorak when I hit Ctrl+Alt+F2
> for a non-window console. `loadkeys dvorak` has no effect in either

That is because loadkeys is for the tty. In X you would use setxkbmap
or your WM/DM provided tools for setting it. setxkbmap comes as part
of the package 'setxkbmap' in guix.

For SDDM and SLIM the fact that it's just en_US is a bug in our
invocation of it (or upstream? I forgot, simply because I opened
a bug report long time ago not to think about reasons why this
happens).

> place. Here is my OS definition:
> 
> (use-modules (gnu) (gnu system nss))
> (use-service-modules desktop)
> (use-package-modules certs gnome)
> 
> (operating-system
>   (host-name "targaryen")
>   (timezone "America/New_York")
>   (locale "en_US.utf8")
> 
>   (bootloader (bootloader-configuration
> (bootloader grub-bootloader)
> (target "/dev/sda")))
> 
>   (file-systems (cons (file-system
> (device "my-root")
> (mount-point "/")
> (type "ext4")
> (title 'label))
>   %base-file-systems))
> 
>   (users (cons (user-account
> (name "luther")
> (comment "Luther Thompson")
> (group "users")
> (supplementary-groups '("wheel" "netdev"
> "audio" "video"))
> (home-directory "/home/luther"))
>%base-user-accounts))
> 
>   ;; This is where we specify system-wide packages.
>   (packages (cons* nss-certs ;for HTTPS access
>gvfs  ;for user mounts
>%base-packages))
> 
>   ;; Add GNOME and/or Xfce---we can choose at the log-in
>   ;; screen with F1.  Use the "desktop" services, which
>   ;; include the X11 log-in service, networking with Wicd,
>   ;; and more.
>   (services (cons* (console-keymap-service "dvorak")
>   (gnome-desktop-service)
>(xfce-desktop-service)
>%desktop-services))
> 
>   ;; Allow resolution of '.local' host names with mDNS.
>   (name-service-switch %mdns-host-lookup-nss)
> 
>   (swap-devices '("/swapfile")))
> 
> -- 
> Luther Thompson
> 



Re: Mount /tmp as tmpfs?

2018-05-18 Thread Nils Gillmann
Pierre Neidhardt transcribed 998 bytes:
> 
> I was wondering if it's commendable to mount /tmp as tmpfs with GuixSD.
> I think it could be useful to speed up Guix builds.

Guix maybe, for a developer system you run out of RAM for everything
that has serious demands in RAM and/or Diskspace for building.

If waste of writes is your concern, getting a separate disk for
/tmp is a good choice. As long as you don't have to build big
applications from source/without substitutes tmpfs is alright.

Been there, tried that and considered it now only for machines that
will never build anything big.

> What would be the best way to do so?
> Can't test now, but what about
> 
>  (file-system
>(mount-point "/tmp")
>(device "tmpfs")
>(type "tmpfs")
>(flags '(no-dev no-suid))
> 
> ?
> 
> -- 
> Pierre Neidhardt





Re: IceCat's user-agent reports Windows NT 6.1, Re: IceCat's user-agent reports Windows NT 6.1

2018-05-13 Thread Nils Gillmann
Chris Marusich transcribed 1.8K bytes:
> Nils Gillmann  writes:
> 
> > Reducing fingerprinting is hardly advertisment.
> 
> I agree with Nils: the IceCat default user agent string is accomplishing
> its intended purpose, which is to protect users' privacy by default by
> obscuring your fingerprint.  You can change it if you want to.
> 
> Pierre Neidhardt  writes:
> 
> > Sounds like a misfeature to me: lots of website use it to display the
> > right content depending on the OS the user is running (tutorials,
> > downloads, etc.).  Disclosing the OS family the user is running is
> > hardly a threat to privacy in my opinion.
> 
> On this topic, you might find the following humorous article to be
> interesting:
> 
> https://webaim.org/blog/user-agent-string-history/
> 
> The meaning of the user agent string is pretty muddy in today's world!
> 
> -- 
> Chris


Offtopic, but gmail seems to have broken Mailinglist / Thread interaction now.
You are sending every reply with a double subject. Not that it's distracting,
but it would be great if it could be avoided.



Re: On network management and documenting nmcli

2018-05-13 Thread Nils Gillmann
Nils Gillmann transcribed 603 bytes:
> swedebugia transcribed 391 bytes:
> > 
> > 
> > On May 13, 2018 9:26:14 AM GMT+02:00, Nils Gillmann 
> >  wrote:
> > ... 
> > >
> > >Gentoo has a neat little tool in their install image.
> > >net-setup detects cards and prompts you for passwords etc.
> > >https://gitweb.gentoo.org/proj/livecd-tools.git/tree/net-setup
> > 
> > I saw no license declarations in those files or in the repo. 
> > Are they free software? 
> 
> They are meant to be included in the base of the installer image of Gentoo.
> Gentoo's default license is GPL2, so I assume they will be licensed in
> the context of the image's license.

For reference: https://packages.gentoo.org/packages/app-misc/livecd-tools
where they use the default Gentoo license (GPL2). You interact with this
usually with portage, so you will see the license statement then.
iirc the license file is then included on the system which builds the
ebuild through the definition of the license in the package definition.



Re: On network management and documenting nmcli

2018-05-13 Thread Nils Gillmann
swedebugia transcribed 391 bytes:
> 
> 
> On May 13, 2018 9:26:14 AM GMT+02:00, Nils Gillmann 
>  wrote:
> ... 
> >
> >Gentoo has a neat little tool in their install image.
> >net-setup detects cards and prompts you for passwords etc.
> >https://gitweb.gentoo.org/proj/livecd-tools.git/tree/net-setup
> 
> I saw no license declarations in those files or in the repo. 
> Are they free software? 

They are meant to be included in the base of the installer image of Gentoo.
Gentoo's default license is GPL2, so I assume they will be licensed in
the context of the image's license.



Re: IceCat's user-agent reports Windows NT 6.1

2018-05-13 Thread Nils Gillmann
Pierre Neidhardt transcribed 981 bytes:
> 
> Sounds like a misfeature to me: lots of website use it to display the
> right content depending on the OS the user is running (tutorials,
> downloads, etc.).  Disclosing the OS family the user is running is
> hardly a threat to privacy in my opinion.

This is to reduce fingerprinting. With Guix it's even more crucial because
the user base is (probably) rather small. Compare to what you can find about
Torbrowser's reasons for displaying the same string.

> Besides, isn't it deceptively advertising the dominance of a non-free
> OS?  Doesn't sound quite GNU to me...

Reducing fingerprinting is hardly advertisment.

> --
> Pierre Neidhardt





Re: On network management and documenting nmcli

2018-05-13 Thread Nils Gillmann
Devan Carpenter transcribed 1.4K bytes:
> Pierre Neidhardt transcribed 1.1K bytes:
> > 
> > Devan Carpenter  writes:
> > 
> > > Oleg Pykhalov transcribed 1.8K bytes:
> > > 
> > >> We could pick a ‘nmtui’ program as we pick ‘cfdisk’ instead of ‘fdisk’.
> > >
> > > +1
> > 
> > Is nmtui on the install image as well?
>  
> I'm not sure. We should consider adding it, if not.
> 

Yes, it is:

readlink $(which nmtui)
/gnu/store/kp99ls7p93j640ghsgfzma0fr9ql72p3-network-manager-1.8.4/bin/nmtui


If I remember correctly NM had something about PAM and groups so that you
could add connections.

Gentoo has a neat little tool in their install image.
net-setup detects cards and prompts you for passwords etc.
https://gitweb.gentoo.org/proj/livecd-tools.git/tree/net-setup



Re: Librem

2018-05-09 Thread Nils Gillmann
Chris Marusich transcribed 2.5K bytes:
> Pierre Neidhardt  writes:
> 
> >> https://www.raptorcs.com/TALOSII/
> >
> > Nice!  I was originally referring to laptops only, but since I was
> > planning to look into desktops soon, so thanks for chiming in!
> >
> > It's waay too expensive for my needs though ;) Would you also happen
> > to know of libre desktop hardware in the 500-1000€ price range?
> 
> It's true that the TALOSII costs more than your average consumer-grade
> desktop.  However, I like the fact that they seem to put a strong focus
> on empowering the desktop owner to control their own computing by
> freeing as much software as possible.  For example, they use OpenBMC,
> and a lot of the firmware used in the system is apparently available as
> free software:
> 
> https://git.raptorcs.com/git/
> 
> But it is expensive.  :-) I haven't bought one yet, myself.  Depending
> on your needs, I've heard you can put together a pretty good Libreboot
> desktop system for between 500 and 1000 US dollars, if you order and
> assemble the parts yourself.

The coreboot systems I have, and the small amount of the libreboot systems,
range between 100 Euro and 250 Euro (excluding the ~100? Euro I paid for the
flashing equipment).

> For me, "pretty good" means about 16 GiB
> of RAM, 8 CPU cores, and an SSD, since I'm mainly interested in generic
> development work (need those cores to build stuff in parallel!).  But I
> haven't tried assembling my own Libreboot desktop yet, either.  I would
> love to hear more from people who have!
> 
> For a Libreboot-enabled system, you might also consider asking the
> Libreboot IRC chat room for help (last I heard, their email list was not
> working).  I'm sure they can make some good recommendations!
> 
> -- 
> Chris





Re: Live cd/dvd?

2018-05-09 Thread Nils Gillmann
Ricardo Wurmus transcribed 471 bytes:
> 
> Nils Gillmann  writes:
> 
> > You will be able to build a live-cd from an existing system with the
> > guix provided tools. Let's say you pick a GNOME-based system as the
> > configuration you build your system from, then you can build a
> > (limited) Live CD from that. I've identified a number of limitations
> > over the years, but for simple usecases the resulting system would
> > work.
> 
> Could you please create bug reports for each of those limitations?
> 
> --
> Ricardo
> 

It could take some time. I need to extract those which are suited for Guix.
There's also "issues" I still need to think about more in depth, occasionally
I have (offline) discussions with people about this. For example:
There are operating systems which support booting multiple architectures from
one Live USB, to my knowledge only compatible architectures. The last discussion
happened so long ago that I need to gather sources for that (example OS'?).
etc.



Re: dvorak

2018-05-09 Thread Nils Gillmann
Mathieu Lirzin transcribed 526 bytes:
> Hello,
> 
> Divan Santana  writes:
> 
> > There's been several mails and configs I've seen for dvorak
> > configuration.
> >
> > Though, I can't seem to find any info or examples on how to configure
> > dvorak for grub. I have an encrypted boot and on boot up grub asks for
> > crypt passphrase as does the system on boot up.
> 
> Same problem here but with an azerty layout.

As far as my experience with other Operating Systems goes:
we need to make the keyboard layout configurable in the initrd.
You can already achieve this with a custom initrd today, but
having a service would be more convenient.
For expected defaults we should make this hypothetical service
default to en-us.
I see two possible entry points to writing the service here:

1) extending the console-keymap-service
2) writing a new service that extends the initrd and reuses code from
   the previously mentioned service.

Logical mistake can happen, I've constructed this from memory.

> I would be interested in finding a solution for this annoyance too. :-)
> 
> -- 
> Mathieu Lirzin
> GPG: F2A3 8D7E EB2B 6640 5761  070D 0ADE E100 9460 4D37
> 



Re: Does Linux 4.16.1 blast out battery time? (9h+ -> 3h+)

2018-05-09 Thread Nils Gillmann
Pierre Neidhardt transcribed 1.4K bytes:
> 
> Thanks for the tip! :)
> 
> > I can't advocate how to package or do this here (which is
> > too bad),
> 
> Why not?  Is it non-free?  Custom kernel compilation is fine to discuss
> on this mailing list if I'm not mistaken.  Only proprietary firmware
> packaging isn't.  Correct me if I'm wrong.

drm-tip is a branch of the Linux kernel, not the GNU variant linux-libre.

> > but for all things graphics related this will be suggested
> > by upstream most certainly.
> >
> >
> > 0: branch as in the repository, not linux repository itself. In case you
> >are unfamilar with linux development branching model.
> 
> Which repository?  Sorry, I didn't get this.

Linux drm-tip. I didn't link to it for reasons, but "git kernel.org linux 
drm-tip"
should help.. if it helps in your case at all. I'm not sure.

> > 1: Variants of 
> > https://bugs.freedesktop.org/buglist.cgi?quicksearch=i915%20intel_cpu_fifo_underrun_irq_handler&list_id=579081
> >and this is still going on.
> 
> Indeed, I've seen this issue many times on a couple of machines.
> 
> -- 
> Pierre Neidhardt




signature.asc
Description: PGP signature


Re: Building guix-modular with cuirass

2018-05-08 Thread Nils Gillmann
Ludovic Courtès transcribed 800 bytes:
> Hello,
> 
> Mathieu Othacehe  skribis:
> 
> >> If you add a similar entry on your server, it should be fine.
> >>
> >> Can you try and report back?
> >
> > Yes you're right it works fine, thanks :)
> >
> > However, some of my machines are not picking up the substitutes builded
> > while running 'guix pull'.
> >
> > I found why, on machines that I didn't reconfigure recently,
> > 'default-guile' is guile-2.2.2, while on the cuirass machine it is
> > guile-2.2.3. When reconfiguring them before, substitutes are picked-up
> > correctly.
> 
> Oh indeed.
> 
> In the near future, I want ‘guix pull’ to install a ‘guix’ binary as
> opposed to simply dropping a bunch of modules in ~/.config/guix/latest.
> At that point we won’t have this kind of problem anymore.
> 
> Ludo’.
> 

Not trying to derail this thread too much, but could you explain that a
bit more Ludovic? I'm curious.
This is moving beyond the current change with modular guix (which still
drops a bunch of modules into the store and compiles them), correct?



Re: Live cd/dvd?

2018-05-08 Thread Nils Gillmann
Catonano transcribed 1.1K bytes:
> 2018-04-30 8:01 GMT+02:00 n0ctilucient  >:
> 
> > I'm a newly signed up n00b.  Do you have or plan a cd/dvd?
> >
> 
> Te installation already is mean to be from a cd image
> I suppose you mean a live image.
> 
> not that I know of, no

You will be able to build a live-cd from an existing system with the
guix provided tools. Let's say you pick a GNOME-based system as the
configuration you build your system from, then you can build a
(limited) Live CD from that. I've identified a number of limitations
over the years, but for simple usecases the resulting system would
work.

Another option you have right nowm is to download the image (could even
be the qemu image) and install one of the system configurations that
come with it into a virtual machine like qemu.

Our general .iso can be written to a flash disk with 'dd' or even
burned to a CD/DVD (a feature that was introduced some time in the
last 12 months).



Re: Does Linux 4.16.1 blast out battery time? (9h+ -> 3h+)

2018-05-08 Thread Nils Gillmann
Pierre Neidhardt transcribed 1.0K bytes:
> 
> I've re-tested with 4.16.6: still happening, the battery life is about
> 50% down.
> 
> If I blacklist the nouveau kernel module, then the module stops crashing
> in loop, which improves battery time a little bit, but the difference
> with 4.15 is still startling.
> 
> Note that blacklisting the nouveau kernel module has the side effect of
> preventing the kernel from putting the video card to sleep, which drains
> the battery even more.
>
> --
> Pierre Neidhardt


Out of Guix suppport scope, but I have a mainboard (not with nouveau)
which showed problems with a certain 4.x version of Linux[1]. The debug
sugesstion by Intel is to configure and run the drm-tip branch[0] of
the kernel. I can't advocate how to package or do this here (which is
too bad), but for all things graphics related this will be suggested
by upstream most certainly.


0: branch as in the repository, not linux repository itself. In case you
   are unfamilar with linux development branching model.
1: Variants of 
https://bugs.freedesktop.org/buglist.cgi?quicksearch=i915%20intel_cpu_fifo_underrun_irq_handler&list_id=579081
   and this is still going on.



Re: GSoC strikes again

2016-03-04 Thread Nils Gillmann
l...@gnu.org (Ludovic Courtès) writes:

> Good news!  GNU has been accepted as a mentoring organization for
> Google’s Summer of Code (GSoC).  So if you’d like to help Guix & GNU and
> on top of that get a paycheck, now is the time to see how you can help!
> Ideas have been collected for Guix, GuixSD, and the Shepherd at:
>   https://libreplanet.org/wiki/Group:Guix/GSoC-2016

Would it be better to post a news item (they are fed from or to
savannah, right?) and link to this or put a GsoC thing which
links to the gnu projects listing for the GsoC 2016 in the banner
of the guix page?

wdyt?
-- 
ng
irc://loupsycedyglgamf.onion:67/~NiAsterisk
https://psyced.org:34443/NiAsterisk/
EDN: https://wiki.c3d2.de/Echt_Dezentrales_Netz/en




Re: Some things to be aware of for docs

2016-02-15 Thread Nils Gillmann
Esteban Enrique  writes:

> On 02/15/2016 05:00 PM, Leo Famulari wrote:
>> Personally, I feel a tension between improving the fdisk manual so that
>> beginners can use it and just giving step-by-step instructions in our
>> manual.
>>
>> I really don't like Arch's approach of working around poor upstream
>> manuals by giving step-by-step instructions in their wiki, because it
>> only helps Arch users [0]. If the fdisk manual is insufficient, we
>> should help them improve it.
>>
>> On the other hand, in the meantime, *our* potential users are struggling
>> to get started.
>>
>> I _do_ think it's valuable to provide instructions on using 3rd party
>> software when it relates to quirks in our use of said software. For
>> example, I wrote a section in our manual about using QEMU with our `guix
>> system vm-image` command.
>>
>> What do people think?
> Okay, so this is what RMS means when he encourages writing/editing
> documentation for the GNU project as a primary way to help these
> days. There exists documentation but it is poorly written for the
> aspiring beginner. The whole documentation situation is very bad on so
> many programs, it is not just you guys. I think it might stem from the
> fact that the developers of programs are so knowledgeable about their
> program that it is difficult to write in a way that welcomes new users
> rather than scare them away.
>
> For example, I have been learning emacs lately and the documentation
> there is top notch, very clearly written, for example.
>
> So yes, I agree with your disdain for the Arch way of creating
> documentation for 3rd party programs. I have always found their
> information helpful, and I frequently visit their site because it is
> so well documented.
>
> I have never written documentation or even edited or proofread or
> suggested anything, so this is something I would be willing to get
> practiced at and help doing for GuixSD. Also, as a part of the GNU
> project, I agree that our community should work on GNU documentation
> rather than create our own.

But after reading this response of Esteban I agree with it more
than with what I have written. Maybe the best way would be to
provide temporary workaround to the documentation situation and
also encourage users to help us with changing upstream
documentation, so we can provide links to good, readable,
understandable manual sections from an inexperienced users
view. Maybe this could also be pointed out on the website / the manual.

>> The current version of the manual does mention this at certain points.
>> Can you look at it and tell us where it's missing so we can add it? I
>> know this is important to new users.
>>
>> FYI, you can build HTML pages of the current version of the manual from
>> a git checkout like this:
>> $ make doc/guix.html
> Sure. In 7.1.4, probably in the beginning, 'guix pull,' as that is the
> advice I got from the IRC channel (which is great and very active!
>> Some of us are willing to spend *a lot* of time helping individual users
>> get started. Please bug us on #guix or the help-guix mailing list with
>> your specific problems :) We want to know your problems so we can
>> improve the manual!
> Yes, I have been frequenting #guix for a while now and it sure is helpful.
>

-- 
ng



Re: Some things to be aware of for docs

2016-02-15 Thread Nils Gillmann
Leo Famulari  writes:

> On Mon, Feb 15, 2016 at 02:33:47PM -0500, Esteban Enrique wrote:
>> 
>>  First, formatting the drive. I have some experience with Arch Linux, so I
>> had a general sense  of how to use fdisk. However, for the vast majority of
>> those who don't know about this, there could be a link or a self-contained
>> explanation that goes through the process of formatting the disk.
>
> Personally, I feel a tension between improving the fdisk manual so that
> beginners can use it and just giving step-by-step instructions in our
> manual.
>
> I really don't like Arch's approach of working around poor upstream
> manuals by giving step-by-step instructions in their wiki, because it
> only helps Arch users [0]. If the fdisk manual is insufficient, we
> should help them improve it.
>
> On the other hand, in the meantime, *our* potential users are struggling
> to get started.
>
> I _do_ think it's valuable to provide instructions on using 3rd party
> software when it relates to quirks in our use of said software. For
> example, I wrote a section in our manual about using QEMU with our `guix
> system vm-image` command.
>
> What do people think?
>
 --snip--
>
> [0] I know that in practice users of other distros refer to the Arch
> wiki.
I would refer to gentoo wiki section handbook, subsection
formating the disks (or smth like that) for this as it's very
understandable for inexperienced user in my opinion.
But that's just me, where I already had 14+ years of experience
when I read it 1 or 2 years ago. Gentoo documentation is overall
very good (the wiki section) and gets the balance right.

I think something similar to this is a nice approach.
Documentation is something most people don't do good
enough, and as long as the upstream docs aren't good, it would be
good to have something in one place to refer to.

-- 
ng



Re: Recommendations for libre WiFi-USB adapters?

2016-02-15 Thread Nils Gillmann
l...@gnu.org (Ludovic Courtès) writes:

> Florian Paul Schmidt  skribis:
>
>> this was discussed on IRC a while ago, but I couldn't find the
>> reference to it anymore. What are some decent WiFi-USB adapters that
>> are affordable and easy to get in Europe/Germany?
>
> FWIW, I use the RYF-stamped, Atheros-based USB dongle:
>
>   
> https://www.fsf.org/news/ryf-certification-thinkpenguin-usb-with-atheros-chip
>
> It’s certified to work with GuixSD.  :-)  Firmware is available and
> built from source:
>
>   https://www.gnu.org/software/guix/packages/#ath9k-htc-firmware
>
> Ludo’.
>

Would it be okay to put links on the website for not-prefered,
but GNU and FSF endorsed hardware, like having an FAQ to explain
what linux-libre implies and how to get working hardware (list
hnode and a number of sellers there), something like this?

-- 
ng



How can I test better?

2016-02-09 Thread Nils Gillmann
Regarding:
https://lists.gnu.org/archive/html/guix-devel/2016-02/msg00313.html

I wonder how I can be sure if `guix environment` does not give me
a 100% reproduction of what is happening with the files later on,
how can I verify what I push as patch does work and which doesn't
if I have to write the install procedure of `make` myself?
Is `guix system vm` better?
How can I test things *better* to give me expected results?

I referenced the thread because this is currently broken because
of this one issue.
-- 
ng



Re: Recommendations for libre WiFi-USB adapters?

2016-02-08 Thread Nils Gillmann
Florian Paul Schmidt  writes:

> Hi,
>
> this was discussed on IRC a while ago, but I couldn't find the
> reference to it anymore. What are some decent WiFi-USB adapters that
> are affordable and easy to get in Europe/Germany?
>
> Regards,
> Flo
>
> --
> https://fps.io

Hi,

there's hnode.org and some other pages covering it I don't have
at hand at the moment. If you have no problems with dongles and
maybe want it to use for future purposes as an WiFi AP, you could
get TP-Link TL-WN722N, v1.10 works with linux-libre (personally
tested) and there are some more resources on this out there.

-- 
ng



Re: developing for guix with git

2016-02-03 Thread Nils Gillmann
Ricardo Wurmus  writes:

> Nils Gillmann  writes:
>
>> Leo Famulari  writes:
>>
>>> On Tue, Feb 02, 2016 at 10:28:25PM +0100, Nils Gillmann wrote:
>>>> Ricardo Wurmus  writes:
>>>> 
>>>> > Nils Gillmann  writes:
>>>> >
>>>> >> Do you happen to know why guix in the situation I described,
>>>> >> being on an up to date branch following master refuses to build,
>>>> >> but once I switch to master branch, make clean, make clean-go (or
>>>> >> go-clean?) and run make (and the other commands) again it builds
>>>> >> successfully? This was my initial confusion.
>>>> >
>>>> > It’s hard to say without being able to take a look at the state of the
>>>> > branch.  It is possible that a change you introduced in your branch
>>>> > broke things.  Maybe you could share error messages?
>>>> 
>>>> I'll inline all the things here now:
>>>
>>> [...]
>>>
>>>> ;;; ERROR: Unbound variable: git-fetch
>>>
>>> Did you import (guix git-download)?
>>
>> I am not sure.
>> Adding to the Email I just wrote to this thread, how would I do this?
>
> Leo means to add this to the file you have edited (lisp.scm).
> Currently, there’s only
>
>   #:use-module (guix download)
>
> but you need to also add
>
>   #:use-module (guix git-download)
>
> if you’re using the ‘git-fetch’ procedure.  Because ‘git-fetch’ is
> undefined otherwise Guile fails to load “lisp.scm” and this failure
> cascades through everything else.
>
> It would certainly be nice if the actual error would appear on the last
> line instead of one of the errors resulting from not being able to load
> “lisp.scm”.
>
> ~~ Ricardo
>

Okay, I do understand now that if "make check" fails with some errors,
those are related to a file I am working on and that fixing those errors
lets "make check" pass. If one thing is broken, everything falls.
This might be information I know when I am not ill. Good that I did
waste some days on this. Problem seems solved now, by reading more into
sources.

Thanks,
-- 
ng/ni*
vcard: http://krosos.sdf.org



Re: developing for guix with git

2016-02-03 Thread Nils Gillmann
Ricardo Wurmus  writes:

> Nils Gillmann  writes:
>
>> Leo Famulari  writes:
>>
>>> On Tue, Feb 02, 2016 at 10:28:25PM +0100, Nils Gillmann wrote:
>>>> Ricardo Wurmus  writes:
>>>> 
>>>> > Nils Gillmann  writes:
>>>> >
>>>> >> Do you happen to know why guix in the situation I described,
>>>> >> being on an up to date branch following master refuses to build,
>>>> >> but once I switch to master branch, make clean, make clean-go (or
>>>> >> go-clean?) and run make (and the other commands) again it builds
>>>> >> successfully? This was my initial confusion.
>>>> >
>>>> > It’s hard to say without being able to take a look at the state of the
>>>> > branch.  It is possible that a change you introduced in your branch
>>>> > broke things.  Maybe you could share error messages?
>>>> 
>>>> I'll inline all the things here now:
>>>
>>> [...]
>>>
>>>> ;;; ERROR: Unbound variable: git-fetch
>>>
>>> Did you import (guix git-download)?
>>
>> I am not sure.
>> Adding to the Email I just wrote to this thread, how would I do this?
>
> Leo means to add this to the file you have edited (lisp.scm).
> Currently, there’s only
>
>   #:use-module (guix download)
>
> but you need to also add
>
>   #:use-module (guix git-download)
>
> if you’re using the ‘git-fetch’ procedure.  Because ‘git-fetch’ is
> undefined otherwise Guile fails to load “lisp.scm” and this failure
> cascades through everything else.
>
> It would certainly be nice if the actual error would appear on the last
> line instead of one of the errors resulting from not being able to load
> “lisp.scm”.

I see. Okay, I'll try that and see if world builds again successfully.

I might've been preoccupied due to being a bit ill and not fully capable
in understanding what I am doing, I guess. I dislike giving answers
which are shorter than the actual message, but thanks for helping ill-me
so far. I hope this solves the problem I had.

--ng

>
> ~~ Ricardo
>

-- 
ng/ni*
vcard: http://krosos.sdf.org



Re: developing for guix with git

2016-02-02 Thread Nils Gillmann
Leo Famulari  writes:

> On Tue, Feb 02, 2016 at 10:28:25PM +0100, Nils Gillmann wrote:
>> Ricardo Wurmus  writes:
>> 
>> > Nils Gillmann  writes:
>> >
>> >> Do you happen to know why guix in the situation I described,
>> >> being on an up to date branch following master refuses to build,
>> >> but once I switch to master branch, make clean, make clean-go (or
>> >> go-clean?) and run make (and the other commands) again it builds
>> >> successfully? This was my initial confusion.
>> >
>> > It’s hard to say without being able to take a look at the state of the
>> > branch.  It is possible that a change you introduced in your branch
>> > broke things.  Maybe you could share error messages?
>> 
>> I'll inline all the things here now:
>
> [...]
>
>> ;;; ERROR: Unbound variable: git-fetch
>
> Did you import (guix git-download)?

I am not sure.
Adding to the Email I just wrote to this thread, how would I do this?
Isn't 'guix environment guix git' taking care of that already?
Or is this git-fetch message entirely related to the file (lisp.scm) I am
working on where I might have forgotten to add (guix git-download)?

I'll investigate further tomorrow.

Thanks,
-- 
ng/ni*
vcard: http://krosos.sdf.org



Re: developing for guix with git

2016-02-02 Thread Nils Gillmann
I hope I can turn my current confusion and the notes I am taking to
something productive to beginners documentation/guide at some point.

So what happened today was:
- I tried the build of the sourcetree described below in some
variations. Failed.
- I mounted an external disk with what used to be my working repo of the
source before I made the decision to not rely on external disks that
much. switched to some branch on this disk I was working on, excluding
problems with the file I was working on it did theoretically build.

Now I wonder what could be the difference? Why does my current checkout
fail, but the other one doesn't?

iirc the current one went:
git clone $url-on-sv-guix
git checkout -b wip-lispf4
emacs gnu/packages/lisp.scm and work on that file, save it but not
commit
guix environment guix (also tried adding git make)
make clean-recursive
./bootstrap
./configure --localstatedir=/var
make check

what would be a simple step by step command list to get to the point of
a working branch which can build?

I feel like I am asking weird questions and it might be that I just try
too much too hard to see where the problem is so that I lost track of
the actual problem.

Nils Gillmann  writes:

> Ricardo Wurmus  writes:
>
>> Nils Gillmann  writes:
>>
>>> Do you happen to know why guix in the situation I described,
>>> being on an up to date branch following master refuses to build,
>>> but once I switch to master branch, make clean, make clean-go (or
>>> go-clean?) and run make (and the other commands) again it builds
>>> successfully? This was my initial confusion.
>>
>> It’s hard to say without being able to take a look at the state of the
>> branch.  It is possible that a change you introduced in your branch
>> broke things.  Maybe you could share error messages?
>
> I'll inline all the things here now:
>
> Generation 29 Feb 02 2016 13:20:50(current)
>   rxvt-unicode9.21out 
> /gnu/store/2wrafhvqzzqzsks3mxz1lkd37phdaq5p-rxvt-unicode-9.21
>   mc  4.8.11  out /gnu/store/8263vk2gf013ryg4hgjwdpln6xfhyfwz-mc-4.8.11
>   getmail 4.48.0  out 
> /gnu/store/xay7x51ivl6dbk5gy2nd5xrxifwm4v4y-getmail-4.48.0
>   youtube-dl  2016.01.09  out 
> /gnu/store/w53rdk9hs4v4mm2lrdjj15p27fqfdf2m-youtube-dl-2016.01.09
>   setxkbmap   1.3.0   out 
> /gnu/store/cnq54ch7vhdm0cbgbgq85lbn7xsxm96i-setxkbmap-1.3.0
>   xrdb1.1.0   out 
> /gnu/store/gfwx3ngj1kp349p62lrls5iismicp2v1-xrdb-1.1.0
>   tmux2.1 out 
> /gnu/store/7a5brlhz30scv6hk9pj9nmyxvnjyv6qk-tmux-2.1
>   torsocks2.0.0   out 
> /gnu/store/zmy09dkn8d9avv3f6626fw6ch4pp74v2-torsocks-2.0.0
>   tor 0.2.7.6 out /gnu/store/rvzq8czssqzrfln7qis7ai734afl4qjp-tor-0.2.7.6
>   gnurl   7.45.0  out 
> /gnu/store/rdvcazdkm3lf0zzk4nrkmdz34h2nhyfl-gnurl-7.45.0
>   wget1.17.1  out 
> /gnu/store/z1vby28dy003jyvidzbbz3n2749ajnp1-wget-1.17.1
>   icecat  38.5.2-gnu1 out 
> /gnu/store/626i6n86wv224cw5r3a5d81ylsxjwc2m-icecat-38.5.2-gnu1
>   alsa-utils  1.0.27.2out 
> /gnu/store/kmr9vzpm2kbf27mjvamln2j4wzw37bpp-alsa-utils-1.0.27.2
>   openssh 7.1p2   out 
> /gnu/store/b5f6p26qc6wxik9xln1igzm3l583k7jf-openssh-7.1p2
>   git 2.6.3   out /gnu/store/8rps27mcwn0shmbnlad92ss5xj67xq38-git-2.6.3
>   font-gnu-freefont-ttf   20100919out 
> /gnu/store/d8ia7qyyb0s9vlh54ld5nch094ap5jjb-font-gnu-freefont-ttf-20100919
>   font-gnu-unifont8.0.01  out 
> /gnu/store/2dqimxh602s0gpspki8gda5pqpfih0v4-font-gnu-unifont-8.0.01
>   font-dejavu 2.34out 
> /gnu/store/7bwkylkasi9y8hgrvhab2vvcf0nkprfh-font-dejavu-2.34
>   font-liberation 2.00.1  out 
> /gnu/store/k2ip6g97clhwxqnjhmgxby0wsxx5fixf-font-liberation-2.00.1
>   w3m 0.5.3   out /gnu/store/v211k3mj9anryn4c8ywyj63gwzbbr0wz-w3m-0.5.3
>   gnupg   2.1.10  out 
> /gnu/store/576kah5kcbrvzh8fpr3ngpjijb9fqpwc-gnupg-2.1.10
>   libreoffice 5.0.3.2 out 
> /gnu/store/dxiy3gbs63v7qp4nz0np1ih8dknjss4r-libreoffice-5.0.3.2
>   autoconf2.69out 
> /gnu/store/hnpdjr1m7xa86y2878ca238b10k5dg0s-autoconf-2.69
>   automake1.15out 
> /gnu/store/3ry089p6p36ng2l2i7gcdqq5hs8khafy-automake-1.15
>   gettext 0.19.7  out 
> /gnu/store/3iz6asihwkcxj1ldl4qgd57iwmwww9s0-gettext-0.19.7
>   texinfo 6.0 out 
> /gnu/store/m3zf2d3cla6jaj61l2c8nw9iljwl1qz8-texinfo-6.0
>   graphviz2.38.0  out 
> /gnu/store/f2kvgjgdknwqchfvjq4jlff0jppj0ryq-graphviz-2.38.0
>   help2man1.47.3  out 
> /gnu/store/pmvdfp0ql2nzjypiagy1qk9fwi7l2d60-help2man-1.47.3
>   pkg-config  0.29out 
> /gnu/store/w7c0zs0qgzpnx5k6g19dja55yabk4350-pkg-config-0.29
>   libgcrypt   1.6.4   out 
> /gnu/sto

Re: developing for guix with git

2016-02-02 Thread Nils Gillmann
Ricardo Wurmus  writes:

> Nils Gillmann  writes:
>
>> Do you happen to know why guix in the situation I described,
>> being on an up to date branch following master refuses to build,
>> but once I switch to master branch, make clean, make clean-go (or
>> go-clean?) and run make (and the other commands) again it builds
>> successfully? This was my initial confusion.
>
> It’s hard to say without being able to take a look at the state of the
> branch.  It is possible that a change you introduced in your branch
> broke things.  Maybe you could share error messages?

I'll inline all the things here now:

Generation 29   Feb 02 2016 13:20:50(current)
  rxvt-unicode  9.21out 
/gnu/store/2wrafhvqzzqzsks3mxz1lkd37phdaq5p-rxvt-unicode-9.21
  mc4.8.11  out /gnu/store/8263vk2gf013ryg4hgjwdpln6xfhyfwz-mc-4.8.11
  getmail   4.48.0  out 
/gnu/store/xay7x51ivl6dbk5gy2nd5xrxifwm4v4y-getmail-4.48.0
  youtube-dl2016.01.09  out 
/gnu/store/w53rdk9hs4v4mm2lrdjj15p27fqfdf2m-youtube-dl-2016.01.09
  setxkbmap 1.3.0   out 
/gnu/store/cnq54ch7vhdm0cbgbgq85lbn7xsxm96i-setxkbmap-1.3.0
  xrdb  1.1.0   out /gnu/store/gfwx3ngj1kp349p62lrls5iismicp2v1-xrdb-1.1.0
  tmux  2.1 out /gnu/store/7a5brlhz30scv6hk9pj9nmyxvnjyv6qk-tmux-2.1
  torsocks  2.0.0   out 
/gnu/store/zmy09dkn8d9avv3f6626fw6ch4pp74v2-torsocks-2.0.0
  tor   0.2.7.6 out /gnu/store/rvzq8czssqzrfln7qis7ai734afl4qjp-tor-0.2.7.6
  gnurl 7.45.0  out /gnu/store/rdvcazdkm3lf0zzk4nrkmdz34h2nhyfl-gnurl-7.45.0
  wget  1.17.1  out /gnu/store/z1vby28dy003jyvidzbbz3n2749ajnp1-wget-1.17.1
  icecat38.5.2-gnu1 out 
/gnu/store/626i6n86wv224cw5r3a5d81ylsxjwc2m-icecat-38.5.2-gnu1
  alsa-utils1.0.27.2out 
/gnu/store/kmr9vzpm2kbf27mjvamln2j4wzw37bpp-alsa-utils-1.0.27.2
  openssh   7.1p2   out 
/gnu/store/b5f6p26qc6wxik9xln1igzm3l583k7jf-openssh-7.1p2
  git   2.6.3   out /gnu/store/8rps27mcwn0shmbnlad92ss5xj67xq38-git-2.6.3
  font-gnu-freefont-ttf 20100919out 
/gnu/store/d8ia7qyyb0s9vlh54ld5nch094ap5jjb-font-gnu-freefont-ttf-20100919
  font-gnu-unifont  8.0.01  out 
/gnu/store/2dqimxh602s0gpspki8gda5pqpfih0v4-font-gnu-unifont-8.0.01
  font-dejavu   2.34out 
/gnu/store/7bwkylkasi9y8hgrvhab2vvcf0nkprfh-font-dejavu-2.34
  font-liberation   2.00.1  out 
/gnu/store/k2ip6g97clhwxqnjhmgxby0wsxx5fixf-font-liberation-2.00.1
  w3m   0.5.3   out /gnu/store/v211k3mj9anryn4c8ywyj63gwzbbr0wz-w3m-0.5.3
  gnupg 2.1.10  out /gnu/store/576kah5kcbrvzh8fpr3ngpjijb9fqpwc-gnupg-2.1.10
  libreoffice   5.0.3.2 out 
/gnu/store/dxiy3gbs63v7qp4nz0np1ih8dknjss4r-libreoffice-5.0.3.2
  autoconf  2.69out 
/gnu/store/hnpdjr1m7xa86y2878ca238b10k5dg0s-autoconf-2.69
  automake  1.15out 
/gnu/store/3ry089p6p36ng2l2i7gcdqq5hs8khafy-automake-1.15
  gettext   0.19.7  out 
/gnu/store/3iz6asihwkcxj1ldl4qgd57iwmwww9s0-gettext-0.19.7
  texinfo   6.0 out 
/gnu/store/m3zf2d3cla6jaj61l2c8nw9iljwl1qz8-texinfo-6.0
  graphviz  2.38.0  out 
/gnu/store/f2kvgjgdknwqchfvjq4jlff0jppj0ryq-graphviz-2.38.0
  help2man  1.47.3  out 
/gnu/store/pmvdfp0ql2nzjypiagy1qk9fwi7l2d60-help2man-1.47.3
  pkg-config0.29out 
/gnu/store/w7c0zs0qgzpnx5k6g19dja55yabk4350-pkg-config-0.29
  libgcrypt 1.6.4   out 
/gnu/store/v1yd1grpqy6ls6m29lvb8fy085cbajj7-libgcrypt-1.6.4
  guile 2.0.11  out /gnu/store/b44k6wx7nxn0kh2kchlazgas2ybc576v-guile-2.0.11
  make  4.1 out /gnu/store/vpy992qc1brf3av6ap7si4byq1w5mx2x-make-4.1
  guile-json0.4.0   out 
/gnu/store/wy4wyxh1jfi0g8afc777p7zvqpwknbqm-guile-json-0.4.0
  sqlite3.10.0  out 
/gnu/store/ks7v9hzvqkf7dnx0dwmlwa2zrdhdzcym-sqlite-3.10.0
  bzip2 1.0.6   out /gnu/store/pnw3jr91sas9w3w9f4vkfr5nn0g8fcr8-bzip2-1.0.6
  gcc-toolchain 5.3.0   out 
/gnu/store/p16a8dv54k35x4a8mqf5k9i1viwvxja7-gcc-toolchain-5.3.0
  bind-utils9.10.3-P3   out 
/gnu/store/x7q7zx4vvsiasgify34ig0mdip0wrynl-bind-utils-9.10.3-P3
  zathura   0.3.3   out 
/gnu/store/vb87y4g5ciygjhl8jcmnkns6h06pv4ps-zathura-0.3.3
  mpv   0.15.0  out /gnu/store/aywf9b8cnsaqrsgb959v4mbhxiqmzifz-mpv-0.15.0
  paredit   24  out 
/gnu/store/8b4smgyq2v9bcvlymmj6v0pi0n6x62w4-paredit-24
  notmuch   0.21out 
/gnu/store/z4xc7rlg3v4y8bayfk9xc3i92pnmfqdk-notmuch-0.21
  gnunet0.10.1  out 
/gnu/store/mllvd1d2mj53x3hg7jhs5ffqhj3az6mg-gnunet-0.10.1
  bbdb  3.1.2   out /gnu/store/fm2gf61awrrn4hinpfz2gwgr633aq02g-bbdb-3.1.2
  magit 2.4.0   out /gnu/store/b8yvdq2ggbb350fgi6d4ivknkd3xq2ih-magit-2.4.0
  emacs-w3m 1.4.538+0.20141022  out 
/gnu/store/nxax4hgwbqazja34fd586vxn99d1yiw9-emacs-w3m-1.4.538+0.20141022
  emacs 24.5out /gnu/store/bx4yz76ja498jkmk90dl8vivpnncnk69-emacs-24.5
  geiser0.8.1   out 
/gnu/store/cr2265s6dahx5rdxvmhb4v3r3lhf8hzq-gei

Re: developing for guix with git

2016-01-31 Thread Nils Gillmann
Efraim Flashner  writes:

> On Thu, 28 Jan 2016 12:31:09 +0100
> Ni* Gillmann  wrote:
>
>> Following yesterdays "bug" I have a question which is only partly Guix
>> related and more development/git style related.
>> 
>> I am used to develop on things which I do not have to build and they
>> usually just work. Branching was never an issue.
>> However with guix it started to become one apparently, as I can build
>> the guix sourcetree from git clone with the master checkout but not
>> while being on the local branch I created to work on lispf4, which does
>> track the master.
>> 
>> I know it used to work, but this is strange for me. What are some ways,
>> other than directly working on master and rebasing often, people here do
>> interact with git while working on guix? In other words, how do you
>> locally handle guix development?
>
> I know you asked for ideas that didn't involve working against master and
> rebasing, but that's really pretty much what I do. I find something that I
> want to package or update and work on it. If it's good, then I run `git
> checkout -b $branch_name` and send the patches off to the mailing list. If it
> doesn't work, then I branch it off anyway so I can come back to it later.
> Every couple of days I rebase all my branches against master, with the idea
> being if it doesn't fall too far behind then any issues shouldn't be too hard
> to fix. Sometimes it doesn't work out well, from start to finish aria2 took
> me 3 months to figure out the issue with the tests. Or anything that touches
> python.scm or another high-volume file does sometimes end up with
> issues.

Thanks for your input, Efraim.
Do you happen to know why guix in the situation I described,
being on an up to date branch following master refuses to build,
but once I switch to master branch, make clean, make clean-go (or
go-clean?) and run make (and the other commands) again it builds
successfully? This was my initial confusion.
I might have a thing or 2 to learn about rebasing and branching, but in
theory from what I know it shouldn't really matter which branch I am
on unless something's corrupted or broken.

>
> I do also have my side repo for files/programs that either need more work or
> aren't going to make it in. This is pretty easy with `export
> GUIX_PACKAGE_PATH=~/workspace/my-guix/` in my .bashrc. Pastee has a python
> command-line uploader with no license, that doesn't go anywhere. Quassel will
> end up being 3 parts and it's not always easy working with our monolithic qt
> package. Once that's done I'll figure out where to put it.
>
> I've had a couple of times where I've combined two patches and had to figure
> out separating them again.

-- 
ng/ni*
vcard: http://krosos.sdf.org