Re: Making a DIY smart or dumb phone

2021-07-24 Thread Bone Baboon
jbranso--- via writes:

> I'm getting really tired of carrying my Android phone around with google's 
> spyware,

This issue is larger than just Android / iOS and the applications a user
deliberately uses.  There is also the issue of unwanted spyware.



You could eliminating the issues mobile phones have entirely by choosing
to not use a mobile phone.



>  (apologies for the youtube link...)

You could share Invidious links as well as YouTube links.  The YouTube
links could be a backup in case the Invidious server linked to goes
down.



> and unfortunately it needs to support SMS and traditional calls, so there 
> might be some binary blobs for the modem.

You can do SMS using email.



Maybe you could convince the people you want to talk to use free
software like Jami.  For people who are physically nearby walkie talkies
are an option.







Re: My very own Guix System Server in my apartment

2021-06-30 Thread Bone Baboon


Joshua Branson writes:
> So I will shortly be setting up my very own Guix System server in my
> apartment!  I am super excited!

> What else should I do with said server?

Having a public access Guix server would be a nice way for people to try
out Guix.

Two examples of public access servers that I am aware of are the
tildeverse and SDF.




Currently the tildeverse does not have any servers that are running FSDG
distributions. 

Interestingly this ties in with the other responses about Gemini as when
I was asking about Gemini on Freenode I was directed to
#gem...@tilde.chat which is on the tildeverse IRC network. 




Re: using docker in guix

2021-06-03 Thread Bone Baboon


Adam Kandur writes:

> Hi Bone,
> thank you but this command didn't helped, i got 
> ```
> Service dockerd could not be started.
> herd: failed to start service dockerd
> ```
> Jun 3, 2021, 17:19 by bone.bab...@disroot.org:
>
>> Adam Kandur via writes:
>>
>>> i'm sorry, i mean this error "Cannot connect to the Docker daemon at 
>>> unix:///var/run/docker.sock. Is the docker daemon running?"
>>>
>>
>> You could try `sudo herd restart dockerd`.
>>

Did you try running `sudo guix system reconfigure
/path/to/system/configuration.scm` before running `sudo herd restart
dockerd`?



Re: using docker in guix

2021-06-03 Thread Bone Baboon
Adam Kandur via writes:

> i'm sorry, i mean this error "Cannot connect to the Docker daemon at 
> unix:///var/run/docker.sock. Is the docker daemon running?"

You could try `sudo herd restart dockerd`.



Re: Pack busybox using guix, but make check have fail tests

2021-05-24 Thread Bone Baboon
Joshua Branson writes:
> I believe that busybox has a more permissive license than coreutils?

Looking at the coreutils repository I can see that it is using GPL
version 3
.  When I
run `guix search coreutils` the output says the license is "GPL 3+".
Looking at an individual source code file I can see that it says "either
version 3 of the License, or (at your option) any later version." 
.

BusyBox is licensed under the GPL version
2. . "To summarize: every version
of BusyBox may be distributed under the terms of GPL version 2. New
versions (after 1.2.2), as a whole, may only be distributed under GPLv2,
not under other versions of the GPL."


gives me the impression that GPL version 2 is more permissive than GPL
version 3.



Re: `guix pull` of an ssh channel fails

2021-05-17 Thread Bone Baboon
Phil writes:
> My theory here is that "git clone" is using your id_rsa file which is
> working, and for some reason the ssh-agent is failing for guix.

> Another cruder way to test this is to move your private key out of
> your .ssh directory so ssh doesn't find it by default.  Then manually
> add it to your agent.

Thank you I am now able to successfully pull from my channel.

You were correct that the ssh-agent was not aware of the private key.

I ran `SSH_AUTH_SOCK=/tmp/ssh-XXXkCtuv/agent.3548 ssh-add`.

Then this worked `SSH_AUTH_SOCK=/tmp/ssh-XXXkCtuv/agent.3548 guix
pull --disable-authentication`.



Re: `guix pull` of an ssh channel fails

2021-05-14 Thread Bone Baboon
Phil writes:
>> After running `ssh-agent` and using the environment variables it outputs
>> in the command `SSH_AUTH_SOCK=/tmp/ssh-XXLfu5ES/agent.18550
>> SSH_AGENT_PID=18551 guix pull` I am no longer getting this error message
>> "guix pull: error: Git error: error authenticating: no auth sock
>> variable".
>>
>> However I now get this error message "guix pull: error: Git error:
>> Failed to retrieve list of SSH authentication methods: Failed getting
>> response`".
>
> When I have seen this error it means the SSH key in the ssh-agent is not
> permissioned to read the contents of the git repo over SSH, containing either 
> the
> channel itself or any other repos referenced in the channel that you hold
> locally.

I had previously added the client's SSH public key to the
`~/.ssh/authorized_keys` file of the computer with the Git repository
with `ssh-copy-id`.  However that did not resolve this error message.

I have changed the permission of the git repository I am trying to use
as a channel with this command `chmod --recursive u=rwx,g=rwx,o=rwx
`.  However this did not resolve this error message.

How would I make the SSH key in the ssh-agent permissioned to read the
contents of the git repository over SSH?  It might already be as I can
successfully git clone the repository.

> I use BitBucket not vanilla Git - the solution in BitBucket is
> to add the public key of the SSH key in your agent to your account with
> read priviledges.  If you happen to be using GitHub you'll need to add
> your key here, I think - it's the same idea: 
> https://github.com/settings/ssh/new

The channel is a vanilla Git repository.

I searched for a Git forge service with `guix search`.  There were no
results for sourcehut, Gitea, Gogs or GitLab.  Any suggestions for a Git
forge service that is packaged for Guix?

> One last test you can do is can you git clone your channel from the
> console?  My guess is this won't work if Guix is also having problems -
> but you can then reduce the problem to one of git not guix.

It looks like there is no problem with SSH.  I can make an SSH
connection to the computer that has the Git repository without needing
to enter a password.  I can also scp files from the computer with the
Git repository without needing to enter a password.

It also looks like there is no problem with Git.  I can clone the
channel `git clone
ssh://@:22/absolute/path/to//`.  Where
 is the user in the output of `ls -l `.



Re: `guix pull` of an ssh channel fails

2021-05-12 Thread Bone Baboon
I received help from civodul on #guix.  They suggested I run
`ssh-agent`.

After running `ssh-agent` and using the environment variables it outputs
in the command `SSH_AUTH_SOCK=/tmp/ssh-XXLfu5ES/agent.18550
SSH_AGENT_PID=18551 guix pull` I am no longer getting this error message
"guix pull: error: Git error: error authenticating: no auth sock
variable".

However I now get this error message "guix pull: error: Git error:
Failed to retrieve list of SSH authentication methods: Failed getting
response`".

Bone Baboon writes:

> I have a substitute server that needs to build a couple of packages with
> patches:
>
> * inetutlis version 2.0 from the core-updates branch instead of 1.9.4
>   from the master branch
> ** https://issues.guix.gnu.org/issue/48214#10
>
> * glib with longer test timeout
> ** https://issues.guix.gnu.org/issue/48024#12
>
> * offlineimap without tests
> ** https://issues.guix.gnu.org/issue/48213#2
>
> I am trying to setup a channel for this substitute server's patched Guix
> repository. `guix pull` is failing.
>
> On a client of the substitute server I have reconfigured with this in
> it's system configuration:
>
> ```
> (service guix-service-type
>(guix-configuration
> (authorized-keys
>  (list
>   (local-file
>"/path/to/signing-key.pub")
> ```
> Where signing-key.pub is the substitute server's public signing key.
>
> I have added the ssh public key of the substitute server to the client
> with `ssh-copy-id`.  The substitute server's ssh public key is in
> ~/.ssh/authorize_keys.  I have also done the reverse with the client's
> ssh public key and it is on the substitute server's
> ~/.ssh/authorize_keys.
>
> This is the contents of ~/.config/guix/channels.scm:
>
> ```
> (list
>  (channel
>   (name 'guix)
>   (url "ssh://@:22/path/to/patched-guix-repo/")
>   (branch "master")))
> ```
>
> When I run `guix pull` I get this error.
>
> ```
> Updating channel 'guix' from Git repository at 
> 'ssh://@:22/path/to/patched-guix-repo/'...
> guix pull: error: Git error: error authenticating: no auth sock variable
> ```
>
> I can successfully run `git clone
> ssh://@:22/path/to/patched-guix-repo`.
>
> I can successfully transfer files from the substitute server to the
> client with scp without entering a password.
>
> Can a channel use a ssh url?




`guix pull` of an ssh channel fails

2021-05-11 Thread Bone Baboon
I have a substitute server that needs to build a couple of packages with
patches:

* inetutlis version 2.0 from the core-updates branch instead of 1.9.4
  from the master branch
** https://issues.guix.gnu.org/issue/48214#10

* glib with longer test timeout
** https://issues.guix.gnu.org/issue/48024#12

* offlineimap without tests
** https://issues.guix.gnu.org/issue/48213#2

I am trying to setup a channel for this substitute server's patched Guix
repository. `guix pull` is failing.

On a client of the substitute server I have reconfigured with this in
it's system configuration:

```
(service guix-service-type
 (guix-configuration
  (authorized-keys
   (list
(local-file
 "/path/to/signing-key.pub")
```
Where signing-key.pub is the substitute server's public signing key.

I have added the ssh public key of the substitute server to the client
with `ssh-copy-id`.  The substitute server's ssh public key is in
~/.ssh/authorize_keys.  I have also done the reverse with the client's
ssh public key and it is on the substitute server's
~/.ssh/authorize_keys.

This is the contents of ~/.config/guix/channels.scm:

```
(list
 (channel
  (name 'guix)
  (url "ssh://@:22/path/to/patched-guix-repo/")
  (branch "master")))
```

When I run `guix pull` I get this error.

```
Updating channel 'guix' from Git repository at 
'ssh://@:22/path/to/patched-guix-repo/'...
guix pull: error: Git error: error authenticating: no auth sock variable
```

I can successfully run `git clone
ssh://@:22/path/to/patched-guix-repo`.

I can successfully transfer files from the substitute server to the
client with scp without entering a password.

Can a channel use a ssh url?



Substitute server error authenticating

2021-04-29 Thread Bone Baboon
I am trying to set up a substitute server.

The substitute server starts fine with this command `guix publish
--user=username --compression=gzip:9 --compression=zstd:9
--compression=lzip:9 --cache=/home/username/publish-cache/
--cache-bypass-threshold=0 --public-key=/etc/guix/signing-key.pub
--private-key=/etc/guix/signing-key.sec`.

On another computer I have run `guix archive --authorize <
`. When I try to run `guix pull
--url=:` I get this error "guix pull:
error: Git error: error authenticating: no auth sock variable".



Re: Stuck at virtual terminal login

2021-04-25 Thread Bone Baboon


Maxime Devos writes:
> What is the latest output?

The last thing that is output to the screen is:

```
This is the GNU system. Welcome.
 login: _
```

> When I'm in a desktop environment, Alt + Function key doesn't work
> (it does some other things), but Control + Alt + Function key does work.
> Maybe something similar is the case here?

Neither of these work to switch to another virtual terminal:
* Control + Alt +  (ex. Control + Alt + F2)
* Alt +  (ex. Alt + F2)

I am not using:
* graphical environment
** graphical desktop
** graphical window manager
* display manager service



Re: Freenode sasl authentication error rcirc

2021-04-23 Thread Bone Baboon
I am now able to connect to Freenode using Circe with SASL
authentication.

I received help from wasamasa in #emacs-circe and staff in #freenode to
debug an issue with Circe's SASL authentication.  A fix was pushed to
the Circe repository.

This logging variable was helpful during Circe debugging:
`(setq irc-debug-log t)` 

Here is the contents of my Circe configuration that is working for me:

```
(setq circe-network-options
  '(("Freenode"
 :tls t
     :nick "bone-baboon"
 :user "bone-baboon"
 :realname "bone-baboon"
 :sasl-username "bone-baboon"
 :sasl-password "")))
```

The sasl-username and sasl-password are the username and password used
when registering an account with Freenode.

Bone Baboon writes:

> Thank you
>
> Tobias Geerinckx-Rice writes:
>> Unless you can obtain a new IP that isn't part of these ‘high-risk
>> ranges’, or connect through a bouncer elsewhere, you *need* to set 
>> up SASL.  How that's done differs per client.
>
>> Simply installing some packages won't cut it.  You need to actually
>> register your nickname and configure your client to log you in using
>> SASL.
>
> I have registered an account with Freenode.  I will try to setup an
> Emacs IRC client with SASL or CertFP for that account.
>
> Searching melpa.org and emacs-tw/awesome-emacs on GitHub for irc I find:
>
> - ERC (included with Emacs)
> -- on #erc I was told
> --- ERC does not currently support SASL but it is being worked on
> --- ERC will support CertFP when Emacs 28 is released
>
> - rcirc (included with Emacs)
> -- no matches when searching for SASL or CertFP in the rcirc info
>document 
>
>> I briefly looked for rcirc how-tos but found none.  The manual[0]
>> doesn't mention SASL at all. 
>
> - Riece
> -- Riece's documentation does not mention of SASL or CertFP
>
> - Circe
> -- Circe's readme shows support for SASL and CertFP
>
> I asked on #freenode if CertFP would work as an alternative to SASL and was 
> told that it would.
>
> I am going to try to get Circe connecting to Freenode using SASL or CertFP.
>
> What Emacs IRC client's are people able to successfully connect to Freenode 
> with using SASL or CertFP?
>
> Are there other Emacs IRC clients that I should look into?




Guix manual warning about GPU Linux-libre compatibility

2021-04-21 Thread Bone Baboon
I found the Hardware Considerations section of the Guix manual very
helpful.  I was prepared for the issue of WiFi device compatibility.
However I was surprised by GPU compatibility.

I think it would be helpful to have a warning about GPU compatibility.
This would help someone who is looking at buying a computer by bringing
GPU compatibility to their attention.

I found the WiFi device warning with specific hardware that is known to
work very helpful.  Maybe an equivalent could be done for GPUs with
compatible GPUs something like:

* desktop good enough for Xorg server and Wayland window manager
* laptop good enough for Xorg server and Wayland window manager
* desktop very good GPU
* laptop very good GPU

Or maybe it just refers to h-node.

I appreciate that this extra warning may discourage some people from
trying Guix.  I think it would still be good to warn people about
potential problems so that they are not surprised.



h-node video card reporting

2021-04-21 Thread Bone Baboon
As I have tested GPUs on five computers I would like to add my finding
to h-node.

Is the lack of /dev/dri/ sufficient to put a GPU in the "does_not_work"
category in video cards on h-node?

The h-node documentation says to test a GPUs 3D capability with
`rss-glx` and `compiz`.
https://h-node.org/wiki/page/en/How-to-test-your-hardware#Video%20Cards

Searching for `rss-glx` and `compiz` with `guix search` I do not get any
results.

Would `rss-glx` or `compiz` work with a Wayland window manager?

What other ways can I test a GPUs 3D capabilities?

Is the ability to start Sway a Wayland window manager sufficient to put
a GPU in the "works_without_3D" or "works_with_3D" category in video
cards on h-node (based on the GPUs 3D capability)?



GPU compatibility with Linux-libre

2021-04-21 Thread Bone Baboon
This is a summary of what I have learned about GPU compatibility with
Linux-libre from the help I received in these email threads: 

Start Xorg server using xinit manually
https://lists.gnu.org/archive/html/help-guix/2021-03/msg00197.html

Two more computers unable to start X with GDM
https://lists.gnu.org/archive/html/help-guix/2021-03/msg00250.html

Starting Sway a Wayland window manager
https://lists.gnu.org/archive/html/help-guix/2021-03/msg00268.html

Corrections or further information is appreciated.

Testing was done on two i686 computers and three x86_64 computers.

1) After installing the Guix operating system on a computer check if the
directory /dev/dri/ exists.
** If it does *not* exist then your computer's GPU is *not* compatible
   with Linux-libre.
** If it does exist then your computer's GPU is compatible with
   Linux-libre.

2) If your GPU is not compatible with Linux-libre (see 1 above) then
Xorg server and Wayland window managers will not work.

3) If your GPU is compatible with Linux-libre (see 1 above) but you have
trouble getting Xorg server to work consider using a Wayland window
manager.  I was able to get Sway a Wayland window manager working on a
computer that Xorg server was not working with.

Note: If you use a Wayland window manager some programs that work with
Xorg server may not work.  There may be alternatives programs for those
that do not work.  I found this helpful:
https://github.com/natpen/awesome-wayland



Re: Freenode sasl authentication error rcirc

2021-04-20 Thread Bone Baboon
Thank you

Tobias Geerinckx-Rice writes:
> Unless you can obtain a new IP that isn't part of these ‘high-risk
> ranges’, or connect through a bouncer elsewhere, you *need* to set 
> up SASL.  How that's done differs per client.

> Simply installing some packages won't cut it.  You need to actually
> register your nickname and configure your client to log you in using
> SASL.

I have registered an account with Freenode.  I will try to setup an
Emacs IRC client with SASL or CertFP for that account.

Searching melpa.org and emacs-tw/awesome-emacs on GitHub for irc I find:

- ERC (included with Emacs)
-- on #erc I was told
--- ERC does not currently support SASL but it is being worked on
--- ERC will support CertFP when Emacs 28 is released

- rcirc (included with Emacs)
-- no matches when searching for SASL or CertFP in the rcirc info
   document 

> I briefly looked for rcirc how-tos but found none.  The manual[0]
> doesn't mention SASL at all. 

- Riece
-- Riece's documentation does not mention of SASL or CertFP

- Circe
-- Circe's readme shows support for SASL and CertFP

I asked on #freenode if CertFP would work as an alternative to SASL and was 
told that it would.

I am going to try to get Circe connecting to Freenode using SASL or CertFP.

What Emacs IRC client's are people able to successfully connect to Freenode 
with using SASL or CertFP?

Are there other Emacs IRC clients that I should look into?



Re: Build docker image

2021-04-18 Thread Bone Baboon
I have got the dockerd service working.

I ran into many error messages along the way.

"guix system: error: service 'dockerd' requires 'networking', which is
not provided by any service"

This was solved with `dhpc-client-service-type`.

"guix system: error: service 'dockerd' requires 'dbus-system', which is
not provided by any service"

This was solved with `dbus-service`.

"guix system: error: service 'dockerd' requires 'elogind', which is not
provided by any service"

This was solved with `elogind-service-type`.

I made these additions to my system configuration to get the dockerd
service working.

I added these imports:
```
((gnu services dbus) #:select (dbus-service))
((gnu services desktop) #:select (elogind-service-type))
((gnu services docker) #:select (docker-service-type))
((gnu services networking) #:select (dhcp-client-service-type))
```
I added these to the services section of the operation system
declaration:
```
(service dhcp-client-service-type)
(dbus-service)
(service elogind-service-type)
(service docker-service-type)
```

Then I reconfigured the system.

`sudo herd start dockerd` was not working.  I restarted the computer and
dockerd was working.

Now `docker build -t  .` is successful.

Bone Baboon writes:

> I am trying to build a docker image.
>
> I have added `docker` and `docker-cli` to my system configuration and
> reconfigured the system.  The `docker` command needs a docker daemon
> running.
>
> I have added the docker service to the system configuration file with
> `(service docker-service-type)` in the list of services.  When I try to
> reconfigure the system I get this error message "guix system: error:
> service 'dockerd' requires 'networking', which is not provided by any
> service".



Re: Build docker image

2021-04-18 Thread Bone Baboon
David Dashyan writes:
> It is not 100% clear from your message how do you want to build a docker
> image.  I'm assuming that you want to use standard docker tooling and
> you want to have docker daemon on YOUR system.  Correct me I'm wrong
> here.

Yes that is correct `docker build -t  .` with a local docker
daemon.

> Dockder service is one of the services that extends
> shepherd-root-service-type.  They form dependency graph which is
> different from extension graph you might have red in guix manual.  Each
> shepherd service has "provision" field that defines list of simbols that
> it provides and "requirement" field (defaulting to '()) that defines
> which services it requeres to run.  Shepherd uses this information to
> spawn services in right order.  But in your case procedure
> assert-valid-graph (found in guix) warned you that graph is invalid
> instead of producing shepherd configuration that will fail when you will
> boot.

This is a nice feature.

> So. You need a service that provisionts 'networking!

It seems odd that a service does not take care of services it needs.
It makes me think of a package that does not include the dependencies it
needs to run.

> You should probably just use %desktop-services service list like so in
> your config. It contains bunch of services you normaly need including
> network-manager-service.
>
> (operating-system
>   ...
>   (services
>(append
> (list
>  ;; list of your services goes here
>  (service xfce-desktop-service-type) ;; your wm of choice
>  (service docker-service-type)) ;; docker daemon
> %desktop-services)))

Thank you for this suggestion.  There is a lot in %desktop-services that
I do not need on my system.  I am also trying to explicitly state
imports so that I can learn more about the parts of the Guix repository
I am using.

> Note also that you dont need to add packages to system configuration to
> use them.  You could just install it for your user profile.

Thank you for pointing this out.

> But there are other ways to build docker images on guix like
>
> guix system vm docker-image yourconf.scm
>
> or
>
> guix pack -f docker -S /bin=bin
>
> Check out info manual for these comands in guix if you havent yet :)

I am aware of these features and plan to explore them.



Re: Freenode sasl authentication error rcirc

2021-04-14 Thread Bone Baboon
Frosku writes:
> Are you using tor? Because only certain forms of SASL authentication
> are supported on tor.
>
> https://freenode.net/news/tor-online

I am not using tor.




Re: Freenode sasl authentication error rcirc

2021-04-14 Thread Bone Baboon
Tobias Geerinckx-Rice writes:
> Which server?  Would it by any chance be zettel., meaning that 
> you're using Tor?  IIRC SASL authentication has always been 
> mandatory there.

I am not using Tor.

The servers have not been zettel.



Freenode sasl authentication error rcirc

2021-04-14 Thread Bone Baboon
I am trying to connect to Freenode.  This was working fine but now I am
receiving this error message:

```
*** Notice -- You need to authenticate via sasl to use this server
!!! Closing link: 
(SASL access only)
!!! freenode: connection broken by remote peer (closed)
```

The IRC client I am using is rcirc an Emacs IRC client.  I have not
changed my rcirc configuration that was working.

I am able to sign into Freenode without any trouble using Freenode's web
irc client.

I have tried adding the `gnutls`, `gsasl` and `cyrus-sasl` packages to
my system configuration and reconfiguring.  These packages do not fix
this problem.

The Emacs version is `27.2`.



Re: How to create a service for contents of arbitrary file

2021-04-14 Thread Bone Baboon


Julien Lepiller writes:

> No, Shepherd doesn't have a notion of stages. You can make it run a command 
> at startup by using a normal service though. I use one on my server to set up 
> static networking with ipv4 and ipv6 by running iproute. See 
> https://git.lepiller.eu/system-configuration/tree/-/modules/config/network.scm

Thank you for sharing this example.

> Maybe there's another kernel argument you could use?

I have searched for one but have not found it yet.



Stuck at virtual terminal login

2021-04-13 Thread Bone Baboon
I am having trouble signing into a virtual terminal.  This issue is only
happening on one computers I have Guix installed on.

If I follow these steps I can reproduce this issue after multiple
install attempts.

1) install Guix
   https://ftp.gnu.org/gnu/guix/guix-system-install-1.2.0.i686-linux.iso.xz
2) reboot at the end of the install process
3) sign into a virtual terminal
4) do a pull and system reconfigure
5) reboot the system
6) decrypt root partition (keyboard is working)

When I get to a virtual terminal prompt the system seems to go
unresponsive.  As I type on the keyboard nothing shows up at the login
prompt.  Alt + function key does not switch to another virtual
terminal.

I can however sign in using ssh and use the computer.

Output of `guix describe`:

```
Generation 2Apr 12 2021 20:12:42(current)
  guix c311147
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: c311147bd16aa0e5746d9cbf31502f5fd61e470c
```

The system configuration:

```
(use-modules 

  (gnu)

  (gnu packages admin)
  (gnu packages certs)
  (gnu packages emacs))

(use-service-modules desktop networking ssh xorg)

(operating-system

  (locale "en_US.utf8")

  (timezone "America/City")

  (keyboard-layout (keyboard-layout "us" "dvp"))

  (host-name "host")

  (users (cons* (user-account
  (name "user")
  (comment "user")
  (group "users")
  (home-directory "/home/user")
  (supplementary-groups
'("wheel" "netdev" "audio" "video")))
%base-user-accounts))

  (packages
(append
  (list
emacs
nss-certs
wpa-supplicant)
  %base-packages))

  (services
(append
  (list (service openssh-service-type)
(service dhcp-client-service-type))
  %base-services))

  (bootloader
(bootloader-configuration
  (bootloader grub-bootloader)
  (target "/dev/sda")
  (keyboard-layout keyboard-layout)))

  (mapped-devices
(list (mapped-device
(source
  (uuid "a23e567c-096e-4bf0-9f12-b363be434cec"))
(target "cryptroot")
(type luks-device-mapping

  (file-systems
(cons* (file-system
 (mount-point "/")
 (device "/dev/mapper/cryptroot")
 (type "ext4")
 (dependencies mapped-devices))
   %base-file-systems)))
```



Re: guix pull error after install i686 1.2.0

2021-04-13 Thread Bone Baboon
Leo Famulari writes:

> On Sun, Apr 11, 2021 at 03:04:14PM -0400, Leo Famulari wrote:
>> It's expected that, before the first `guix pull`, the origin is not
>> known. The per-user view of Guix, with provenance tracking, is created
>> on the first `guix pull`.
>> 
>> However, the version string should be 1.2.0.  Something has gone wrong
>> on your system and caused you to "go back in time" to an earlier
>> release, the second release candidate of the 1.2.0 release.
>
> I don't think this is related to the TLS / SSL problem. That problem is
> being tracked at .

Thank you for sharing that link.  It inspired several tests that I
conducted which helped me solve the problem.  The issue was that the
date was significantly incorrect.

I was able to fix this with `sudo date --set='-MM-DD HH:MM:SS'`.
The changed date did not persist after a reboot and I had the same
error.  To make the changed date persist after a reboot I used this
command `sudo hwclock --systohw`.



Re: guix pull error after install i686 1.2.0

2021-04-13 Thread Bone Baboon


Leo Famulari writes:
>> The output of `guix describe`:
>> ```
>> guix describe: error: failed to determine origin
>> hint: Perhaps this `guix' command was not obtained with `guix pull'? Its 
>> version string is 1.2.0rc2-1.0d4b1af.
>> ```
>
> This isn't quite right.
>
> It's expected that, before the first `guix pull`, the origin is not
> known. The per-user view of Guix, with provenance tracking, is created
> on the first `guix pull`.
>
> However, the version string should be 1.2.0.  Something has gone wrong
> on your system and caused you to "go back in time" to an earlier
> release, the second release candidate of the 1.2.0 release.

The steps I did after the install:

1) ping a website
2) guix pull (fails)
3) reconfigure system
4) guix describe

I think it is step 3 which caused the rollback to the release
candidate.  I even received a warning that running a reconfigure before
running `guix pull` could downgrade the system.



Re: Haskell program build and run using Cabal

2021-04-11 Thread Bone Baboon
Gary Johnson writes:
> Guix System (unsurprisingly) has a built-in preference for building
> packages with Guix. For building Haskell programs, check out the
> `haskell-build-system`, which uses cabal and ghc under the hood.
>
> Also, if the package you want to install exists on Hackage
> (https://hackage.haskell.org) but doesn't have a corresponding Guix
> package, you should check out the Guix hackage importer:
>
> $ guix import hackage -r PACKAGE-NAME@VERSION
>
> This can auto-generate a Guix package definition for the corresponding
> Hackage package that you can then use to install it through Guix.
>
> Finally, to answer your question about environment variables, you should
> stick them in your home directory under your shell configuration script
> (e.g., ~/.bashrc, ~/.bash_profile).

Thank you for your helpful reply.

These are the two lines I added to my `.bashrc` that resolve the error
I was getting:

```
unset GHC_PACKAGE_PATH
export LD_LIBRARY_PATH=/run/current-system/profile/lib/
```
Note: The LD_LIBRARY_PATH variables was empty. If it was not I would
have appended to the existing LD_LIBRARY_PATH variable.



Build docker image

2021-04-10 Thread Bone Baboon
I am trying to build a docker image.

I have added `docker` and `docker-cli` to my system configuration and
reconfigured the system.  The `docker` command needs a docker daemon
running.

I have added the docker service to the system configuration file with
`(service docker-service-type)` in the list of services.  When I try to
reconfigure the system I get this error message "guix system: error:
service 'dockerd' requires 'networking', which is not provided by any
service".



Haskell program build and run using Cabal

2021-04-10 Thread Bone Baboon
I am trying to build a Haskell program from source and run it.  I am
using Cabal a Haskell build tool to do this.  I am able to build and run
this program without the following error messages on other Linux
operating systems.

`cabal --version` outputs:
```
cabal-install version 2.4.0.0
compiled using version 2.4.0.1 of the Cabal library
```

I have installed GHC a Haskell compiler.  When I run `ghc --version` it
outputs:
```
The Glorious Glasgow Haskell Compilation System, version 8.6.5
```

When I run `cabal new-build` it outputs:
```
cabal: Use of GHC's environment variable GHC_PACKAGE_PATH is incompatible with 
Cabal. Use the flag --package-db to specify a package database (it can be used 
multiple times).
```

After running `unset GHC_PACKAGE_PATH` I can build the program with
`cabal new-build`.  `unset GHC_PACKAGE_PATH` does not persist across
different terminal emulator instances.

Then when I try to run the program using `cabal new-run` I get this
error message:
```
error while loading shared libraries: libgmp.so.10: cannot open shared object 
file: No such file or directory
```

I added `gmp` to my system configuration and reconfigured the system.
However the error persists.

The command `locate libgmp.so.10` shows that libgmp.so.10 is in the
store.

Doing an internet search for this error message shows people dealing
with it by setting environment variables.

With Cabal's `new-build` and `new-run` commands I am running into issues
with environment variables.  Are environment variables managed in Guix
system configurations?  I searched the Guix manual for the search term
"environment variable" and did not see a prominent section on
environment variables.  That leads me to guess that in Guix environment
variables are left to configuration files in the users home directory.



Re: guix pull error after install i686 1.2.0

2021-04-10 Thread Bone Baboon
Leo Famulari writes:
> In what context did you run `guix pull`? Like, in a graphical terminal
> emulator? A console? As root? If as root, how did you become root?
>
> Is the bug reproducible? If so, please share the results of `env`,
> `which guix`, and `guix describe`, in the same environment where you see
> the bug.

I can reproduce this after two separate install using this install
image: 
https://ftp.gnu.org/gnu/guix/guix-system-install-1.2.0.i686-linux.iso.xz

The output of `guix pull`:
```
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
guix pull: error: Git error: the SSL certificate is invalid
```

I am running `guix pull` from a Linux console virtual terminal.
I am running `guix pull` as a regular user (not root).

`which guix` outputs "/run/current-system/profile/bin/guix".

The output of `guix describe`:
```
guix describe: error: failed to determine origin
hint: Perhaps this `guix' command was not obtained with `guix pull'? Its 
version string is 1.2.0rc2-1.0d4b1af.
```

The output of `env`:
```
SHELL=/gnu/store/ndjymgwsm5lyxphdgqwr5wf7j7xf29d4-bash-5.0.16/bin/bash
XDG_CONFIG_DIRS=/home/user/.guix-profile/etc/xdg:/run/current-system/profile/etc/xdg
BASH_LOADABLES_PATH=/run/current-system/profile/lib/bash
LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules
XCURSOR_PATH=/home/user/.icons:/home/user/.guix-profile/share/icons:/run/current-system/profile/share/icons
GTK_DATA_PREFIX=/run/current-system/profile
LOGNAME=user
MANPATH=/run/current-system/profile/share/man:/home/user/.guix-profile/share/man:/run/current-system/profile/share/man
GUILE_LOAD_PATH=/run/current-system/profile/share/guile/site/3.0
HOME=/home/user
GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt
LANG=en_US.utf8
SSL_CERT_DIR=/etc/ssl/certs
GUILE_LOAD_COMPILED_PATH=/run/current-system/profile/lib/guile/3.0/site-ccache:/run/current-system/profile/share/guile/site/3.0
INFOPATH=/home/user/.config/guix/current/share/info:/run/current-system/profile/share/info:/home/user/.guix-profile/share/info:/run/current-system/profile/share/info
DICPATH=/home/user/.guix-profile/share/hunspell:/run/current-system/profile/share/hunspell
DBUS_FATAL_WARNINGS=0
TERM=linux
USER=user
TZDIR=/gnu/store/1cab1lwnz2af20xdhzsvzfcbzarp0m40-tzdata-2020a/share/zoneinfo
SHLVL=1
GUIX_LOCPATH=/run/current-system/locale
GST_PLUGIN_PATH=/home/user/.guix-profile/lib/gstreamer-1.0
SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
XDG_DATA_DIRS=/home/user/.guix-profile/share:/run/current-system/profile/share
HUSHLOGIN=FALSE
PATH=/run/setuid-programs:/home/user/.config/guix/current/bin:/home/user/.guix-profile/bin:/run/current-system/profile/bin:/run/current-system/profile/sbin
_=/run/current-system/profile/bin/env
```



Re: guix pull error after install i686 1.2.0

2021-04-10 Thread Bone Baboon
Vincent Legoll writes:
> I remember having seen an (default checked) option
> to install certificates when choosing packages to install.

> I have the "nss-certs" package installed from /etc/config.scm
>
> This may be what you're missing.

I reinstalled Guix on the laptop.  During the graphical install I used
the default checked option for the certificates.  The only difference
with the install on this computer was that at the end when it prompts
for the install media to be removed and the reboot button used it went
to a blue screen and did not power off.  So I held the power button to
turn the computer off.

I was able to boot and sign in normally.  With a working Ethernet
connection `guix pull` gave the same error.  However `sudo guix system
reconfigure config.scm` worked fine and was able to download using the
internet connection.

`nss-certs` is in the system configuration file.

`locate certificates` shows that `etc/ssl/certs/ca-certificates.crt` is
in the store.

`ls /run/current-system/profile/etc/ssl/certs/ | wc --lines` outputs
301.



Re: Edits to `etc/resolv.conf` being overwritten

2021-04-10 Thread Bone Baboon
Vincent Legoll writes:
> Have a look at the "LEASE REQUIREMENTS AND REQUESTS"
> section from man dhclient.conf, you should be able to make
> it *NOT* require "name-servers"...

Thanks you for this helpful suggestion.

After looking at the section you pointed out in man page for
dhclient.conf I have come up with something that stops `sudo dhclient
` from overwriting `/etc/resolv.conf`.  This
approach also allows the system configuration to manage the contents of
`/etc/resolv.conf` which is an improvement over using `chattr +i
/etc/resolv.conf` which did not.

Relevant sections of system configuration are:

At the top level outside the `operating-system` definition.
```
(define dhclient-configuration
  "request subnet-mask, broadcast-address, time-offsets, routers, host-name;
")
```
Note:
These were deliberately excluded from `request`: `domain-name`,
`domain-name-servers`, `name-servers` and `domain-search`.

A service in the services definition.
```
(simple-service 'dhclient-service
etc-service-type
`(("dhclient.conf",
   (plain-file "dhclient.conf"
   dhclient-configuration
```



guix pull error after install i686 1.2.0

2021-04-09 Thread Bone Baboon
I have just installed Guix on a computer using:
https://ftp.gnu.org/gnu/guix/guix-system-install-1.2.0.i686-linux.iso.xz

When I run `guix pull` I get this error message "guix pull: error: Git
error: the SSL certificate is invalid".



Re: How to create a service for contents of arbitrary file

2021-04-09 Thread Bone Baboon
I have been able to execute this command
`echo "0" > /sys/class/graphics/fbcon/cursor_blink`
with a system that was using `runit` as it's initialization
system. The command was executed during stage 1 of runit's system
initialization. 
http://smarden.org/runit/runit.8.html

Is there an equivalent to runit's stage 1 for Shepherd?

Julien Lepiller writes:

> I think this is because you cannot replace a file a /sys like guix tries to. 
> Instead, it seems you can set a linux kernel argument on the command line run 
> by grub at startup. According to the internet, that would be 
> "vt.global_cursor_default=0"
>
> You can set it up in your config by adding a kernel-arguments field to you 
> operating-system declaration, like this:
>
> (operating-system
>   (kernel-arguments (cons "vt.global_cursor_default=0" 
> %default-kernel-argumentt)))

Thank you for bringing this kernel argument to my attention.

It looks like there are three settings to choose from:
https://www.kernel.org/doc/html/v4.15/admin-guide/kernel-parameters.html

`-1` and `1` both are blinking cursors. `0` is no cursor at all.  The
challenge with no cursor at all is that it lacks the visual feedback of
where the cursor is located.



Re: Edits to `etc/resolv.conf` being overwritten

2021-04-09 Thread Bone Baboon


Vincent Legoll writes:
> I'd try the "-R" command line option without giving "domain-name-servers"
>
> See details in the dhclient's man page

Thank you for the suggestion.  Reading dhclient's man page it looks like
`-R` is related to IPV6.  I have IPV6 disabled.

When I try running `sudo dhclient -R ` no IP address
is assigned to the interface.



Re: Edits to `etc/resolv.conf` being overwritten

2021-04-09 Thread Bone Baboon


Vladimir Sedach writes:
> That is in fact what dhclient does. There is a list of workarounds on
> Debian Wiki:
>
> https://wiki.debian.org/resolv.conf
>
> I use the file attribute one on my Debian system.
>
> The ideal solution is to re-implement dhclient in Guile, and make it
> a configurable alternative to dhcp-client-service-type. That would be
> a lot of work though.

Thank you for sharing that link.  I tried the methods mentioned and the
one that worked for me was to use `chattr +i /etc/resolv.conf`.  Using
this approach required me to stop having my system configuration manage
the contents of `/etc/resolv.conf`.



Re: How to create a service for contents of arbitrary file

2021-04-08 Thread Bone Baboon


Julien Lepiller writes:

> There's special-files-service-type described here: 
> http://guix.gnu.org/manual/devel/en/html_node/Base-Services.html#Base-Services
>
> However, I'm not sure it will work in /sys. I guess you'll have to try and 
> report back :)

Thank you for this suggestion.

I added this to services in my system configuration:

```
(service special-files-service-type
  `(("/sys/class/graphics/fbcon/cursor_blink"
 "/home/user/no-blink"))
```

The contents of `home/user/no-blink` is "0".

When I run a system reconfiguration I get this error "guix system:
error: symlink: Operation not permitted:
"sys/class/graphics/fbcon/cursor_blink.new".

Any ideas on how to overcome this error?

The contents of `/sys/class/graphics/fbcon/cursor_blink` is reset to "1"
every time the computer is turned on and the cursor is blinking.  I
would like to get a service working that sets it to "0" so that I do not
need to manually change this setting every time I boot the computer.



Re: How to create a service for contents of arbitrary file

2021-04-08 Thread Bone Baboon


Gary Johnson writes:
> In addition to Julien's suggestion, I'll also point out that you can
> tell Emacs to not use a blinking cursor by including this line in your
> ~/.emacs.d/init.el file:
>
> (blink-cursor-mode 0)

Thank you for pointing out `blink-cursor-mode` I am aware of it and
tested it.  When Emacs is started with `emacsclient --tty` from a
virtual terminal or a terminal emulator `blink-cursor-mode` does not
seem to do anything.  When I use a graphical Emacs `blink-cursor-mode`
does control the cursor blinking.



Re: Edits to `etc/resolv.conf` being overwritten

2021-04-08 Thread Bone Baboon


Gary Johnson writes:
> That's unfortunate to hear. Perhaps you could check out the
> network-manager-service-type? I believe it includes a parameter that
> lets you tell NetworkManager not to overwrite /etc/resolv.conf. The
> command-line interface for NetworkManager is called nmtui. This is what
> I use on my machine.

I do not have NetworkManager installed and am not using
`network-manager-service-type`.  There is no NetworkManager service
listed when I run `sudo herd status`.

The commands I am using to connect to the internet are:

```
sudo ip link set  up
sudo wpa_supplicant -Dnl80211 -i -c/path/to/wpa/config.conf 
-B
sudo dhclient 
```
It is almost like `sudo dhclient ` is taking
instruction from the router (provided by my internet service provider)
to overwrite `/etc/resolv.conf` to the DNS of my internet service
provider.

> (use-modules (ice-9 rdelim))
>
> (define my-host-aliases (with-input-from-file "/path/to/your/file"
>(lambda () (read-delimited 
> ""

Thank you for sharing this.  It works for me.



How to create a service for contents of arbitrary file

2021-04-06 Thread Bone Baboon
When I use a virtual terminal or Emacs on a virtual terminal using
`emacsclient --tty` I have a blinking cursor.  My preference is to not
have the cursor blink.  I can stop the cursor from blinking by manually
changing the contents of `/sys/class/graphics/fbcon/cursor_blink` to
"0".  I would like to create a service that manages the contents of
`/sys/class/graphics/fbcon/cursor_blink`.

I looked in "Services" as well as the "Defining Services" of the manual
for something similar to `etc-service-type` that allows for the file to
be in any location.

Any suggestions on how to make a service for this?



Re: Edits to `etc/resolv.conf` being overwritten

2021-04-06 Thread Bone Baboon
Thank you for the explanation and detailed examples.

I now have my system configuration providing the contents of
`/etc/resolv.conf` with a service.

However the contents of `/etc/resolv.conf` is still being overwritten
with entries for my internet service provider's DNS.  After some testing
it appears to be happening when I run this command `sudo dhclient
`.

I also appreciate the `hosts-file` example you shared as I am thinking
about using `https://github.com/StevenBlack/hosts` as a block list.  In
this case the contents of `my-host-aliases` would be very large.  With
Guile how would I have the definition of `my-host-aliases` in it's own
file and import and use it in my system configuration?

Gary Johnson writes:

> When running Guix System, your OS configuration is meant to be fully
> derived from evaluating your `operating-system` definition. This
> means, in particular, that you should not manually edit any files
> outside of your home directories (i.e., /root and /home/*). This
> includes, of course, any files under /etc.
>
> Instead, any custom changes that you want to see under /etc need to be
> included in your `operating-system` definition. The way to do this
> depends on the change you want to make.
>
> For example, if you want to edit /etc/sudoers, you should include this
> field in your `operating-system` definition (on the same level as
> `packages`, `services`, and so on):
>
> (sudoers-file (plain-file "sudoers" my-sudoers))
>
> Then remember to define `my-sudoers` somewhere above the
> `operating-system` form. Here's an example:
>
> (define my-sudoers
>   "root ALL=(ALL) ALL
> %wheel ALL=(ALL) ALL
> ")
>
> Similarly, if you want to modify /etc/hosts, you add this to 
> `operating-system`:
>
> (hosts-file (plain-file "hosts"
>  (string-append (local-host-aliases host-name)
> my-host-aliases)))
>
> And again define my-host-aliases somewhere above `operating-system`:
>
> (define my-host-aliases
>   "
> # Some Servers
> 123.123.123.100 foo
> 123.123.123.101 bar
> 123.123.123.102 baz
> ")
>
> Most other files under /etc are managed by different services. You
> should review the "Guix Services" section of the info pages to find
> the appropriate service for whatever files you want to modify.
>
> As of today, I'm not aware of a Guix service that modifies
> /etc/resolv.conf other than the network-manager-service-type (which is
> what I use on my system).
>
> However, if you are not using NetworkManager and want to manually set
> the values in /etc/resolv.conf such that they persist across calls to
> `guix system reconfigure`, you should add this form to the `services`
> list in your `operating-system` definition:
>
> (simple-service 'resolv-service
> etc-service-type
> `(("resolv.conf" ,(plain-file "resolv.conf" my-resolv.conf
>
> And finally remember to define `my-resolv.conf` above `operating-system`:
>
> (define my-resolv.conf
>   "# Generated by Guix!
> nameserver 255.255.255.1
> nameserver ::::1
> ")



Re: Edits to `etc/resolv.conf` being overwritten

2021-04-02 Thread Bone Baboon
In this case I am not using Gnome or NetworkManager.  There are no
comment on the first line of `resolv.conf`.  I am connecting to the
internet using `wpa_supplicant` and `dhclient`.

p...@beadling.co.uk writes:

> I found when using GuixSD with Gnome that the network manager would
> periodically overwrite my DNS changes made directly to resolv.conf. 
>
> If you experience this issue it should leave a comment on the first line.
>
> I was able to make it work by changing it through Gnome's Settings
> GUI, rather than editing the file myself.  Even then I have to disable
> and re-enable the network interface for the new settings to take
> effect. 
>
> -----Original Message-
> From: Bone Baboon 
> To: help-guix@gnu.org
> Sent: Fri, 02 Apr 2021 2:37
> Subject: Edits to `etc/resolv.conf` being overwritten
>
> Any suggestion on how to stop my edits of `etc/resolv.conf` from being
> overwritten?
>
> `/etc/resolv.conf` is being overwritten removing changes I save to it.
> My edits to `etc/resolv.conf` specify some name servers.  Some time
> after my edits are saved the file is completely rewritten to it's
> original contents before I made my edits.  The original contents include
> nameserver, domain and search for my internet service provider's DNS. 



Edits to `etc/resolv.conf` being overwritten

2021-04-01 Thread Bone Baboon
Any suggestion on how to stop my edits of `etc/resolv.conf` from being
overwritten?

`/etc/resolv.conf` is being overwritten removing changes I save to it.
My edits to `etc/resolv.conf` specify some name servers.  Some time
after my edits are saved the file is completely rewritten to it's
original contents before I made my edits.  The original contents include
nameserver, domain and search for my internet service provider's DNS. 

When I run `sudo herd status` it outputs:

```
Started:
 + console-font-tty1
 + console-font-tty2
 + console-font-tty3
 + console-font-tty4
 + console-font-tty5
 + console-font-tty6
 + dbus-system
 + elogind
 + file-system-/dev/pts
 + file-system-/dev/shm
 + file-system-/gnu/store
 + file-system-/run/systemd
 + file-system-/run/user
 + file-system-/sys/firmware/efi/efivars
 + file-system-/sys/fs/cgroup
 + file-system-/sys/fs/cgroup/blkio
 + file-system-/sys/fs/cgroup/cpu
 + file-system-/sys/fs/cgroup/cpuacct
 + file-system-/sys/fs/cgroup/cpuset
 + file-system-/sys/fs/cgroup/devices
 + file-system-/sys/fs/cgroup/elogind
 + file-system-/sys/fs/cgroup/freezer
 + file-system-/sys/fs/cgroup/memory
 + file-system-/sys/fs/cgroup/perf_event
 + file-system-/sys/fs/cgroup/pids
 + file-system-/sys/kernel/debug
 + file-systems
 + guix-daemon
 + loopback
 + mcron
 + nscd
 + root
 + root-file-system
 + swap-/swapfile
 + syslogd
 + term-tty1
 + term-tty2
 + term-tty3
 + term-tty4
 + term-tty5
 + term-tty6
 + udev
 + urandom-seed
 + user-file-systems
 + user-processes
 + virtual-terminal
Stopped:
 - term-auto
One-shot:
 * host-name
 * sysctl
 * user-homes
```



Re: Installing a previous version of a package

2021-04-01 Thread Bone Baboon


How do others install a specific previous version of a package using
their system configuration and the `guix system reconfigure config.scm`
command?

I have been able to get a previous version of a package installed in
this case the 2.4.9 version of openvpn.

The command I used was:
`guix package --install-from-file=openvpn-2-4-9.scm`

The contents of `openvpn-2-4-9.scm` is below.  It is based on the
openvpn part of `guix/gnu/packages/vpn.scm` at the git commit that
defined version 2.4.9 of openvpn. 

```
(use-modules ((guix licenses) #:prefix license:)
 (guix packages)
 (guix download)
 (guix git-download)
 (guix build-system cmake)
 (guix build-system gnu)
 (guix build-system linux-module)
 (guix build-system python)
 (gnu packages)
 (gnu packages admin)
 (gnu packages base)
 (gnu packages bash)
 (gnu packages check)
 (gnu packages dns)
 (gnu packages autotools)
 (gnu packages compression)
 (gnu packages gettext)
 (gnu packages gnupg)
 (gnu packages guile)
 (gnu packages libevent)
 (gnu packages linux)
 (gnu packages nss)
 (gnu packages perl)
 (gnu packages pkg-config)
 (gnu packages python)
 (gnu packages python-xyz)
 (gnu packages tls)
 (gnu packages xml))

(package
 (name "openvpn")
 (version "2.4.9")
 (source (origin
  (method url-fetch)
  (uri (string-append
"https://swupdate.openvpn.org/community/releases/openvpn-";
version ".tar.xz"))
  (sha256
   (base32
"1qpbllwlha7cffsd5dlddb8rl22g9rar5zflkz1wrcllhvfkl7v4"
 (build-system gnu-build-system)
 (arguments
  '(#:configure-flags '("--enable-iproute2=yes")))
 (native-inputs
  `(("iproute2" ,iproute)))
 (inputs
  `(("lz4" ,lz4)
("lzo" ,lzo)
("openssl" ,openssl)
("linux-pam" ,linux-pam)))
 (home-page "https://openvpn.net/";)
 (synopsis "Virtual private network daemon")
 (description
  "OpenVPN implements virtual private network (@dfn{VPN}) techniques
for creating secure point-to-point or site-to-site connections in routed or
bridged configurations and remote access facilities.  It uses a custom
security protocol that utilizes SSL/TLS for key exchange.  It is capable of
traversing network address translators (@dfn{NAT}s) and firewalls.")
 (license license:gpl2))
```



Re: Starting Sway a Wayland window manager

2021-03-31 Thread Bone Baboon


Vagrant Cascadian writes:

> On 2021-03-29, Bone Baboon wrote:
>> When I run `dbus-run-session sway` on virtual terminal 1 sway does not
>> start and I get this output:
>>
>> ```
>> localhost dbus-daemon[380]: [system] Rejected send message, 2 matched rules; 
>> type="method_call", sender=":1.24" (uid=1000 pid=26112 comm="sway ") 
>> interface="org.freedesktop.login1.Session" member="SetType" error 
>> name="(unset)" requested_reply="0" destination="org.freedesktop.login1" 
>> (uid=0 pid=381 comm="/gnu/store/jdk3r1gs4d36n3aj9fscsvwwc9prnrzp-elogin")
>
>   v
>> [backend/backend.c:303] Failed to open any DRM device
>   ^
> I think this is your fundamental problem. There's no DRM device
> available (at least to your user). Are there devices in /dev/dri/, and
> are they writeable by your user?

What is the significance of the /dev/dri/ devices?
Is /dev/dri/ related to the GPU of a computer?
If there are no /dev/dri devices does that mean that the graphics card
is not compatible with Linux-libre or Guix and that a Wayland window
manager is not going to work?

I am trying to get Sway working on three computers.

Computer 0:
No /dev/dri/ directory.
The sticker on the computer says AMD Radeon Vega Graphics.
neofetch says the GPU is AMD ATI 05:00.0 Picasso.

Computer 1:
No /dev/dri/ directory.
neofetch says the GPU is NVIDEA GeForce FX 5200.

Computer 2:
Has a /dev/dri/ directory with devices that are writable by my user.
noefetch says the GPU is Intel Mobile 4 Series Chipset.

I have not got Sway working on computer 0 or 1.

On computer 2 I am able to start Sway with `sway` on virtual terminal
1.

The relevant parts of the system configuration on computer 2 are:


```
  (packages
(append
 (list
  sway ;Wayland window manager
  dmenu ;a selection utility that Sway can use to launch programs
  foot) ;a terminal emulator that works with Sway
 %base-packages))

  (services
   (append
(list
 (service elogind-service-type))
   %base-services))
```



Re: Starting Sway a Wayland window manager

2021-03-29 Thread Bone Baboon


Joshua Branson writes:

> I also just realized that sway started for me when I changed
> %base-services to %desktop-services.

If I reconfigure the system with `%desktop-services`:

```
 (services %desktop-services)
```

When I run `sway` on virtual terminal 1 sway does not start and I get
this output:

```
localhost dbus-daemon[380]: [system] Rejected send message, 2 matched rules; 
type="method_call", sender=":1.24" (uid=1000 pid=26112 comm="sway ") 
interface="org.freedesktop.login1.Session" member="SetType" error 
name="(unset)" requested_reply="0" destination="org.freedesktop.login1" (uid=0 
pid=381 comm="/gnu/store/jdk3r1gs4d36n3aj9fscsvwwc9prnrzp-elogin")
[backend/backend.c:303] Failed to open any DRM device
[sway/server.c:49] Unable to create backend
```

When I run `sudo sway` it outputs "XDG_RUNTIME_DIR is not set in the
environment. Aborting.".



Re: Starting Sway a Wayland window manager

2021-03-29 Thread Bone Baboon


Joshua Branson writes:

>> What package includes `dbus-run-session`?  I do not have it installed on
>> my system?
>
> I think it's dbus?  I honestly don't remember...

The `dbus` package does provide `dbus-run-session`.

When I run `dbus-run-session sway` on virtual terminal 1 sway does not
start and I get this output:

```
localhost dbus-daemon[380]: [system] Rejected send message, 2 matched rules; 
type="method_call", sender=":1.24" (uid=1000 pid=26112 comm="sway ") 
interface="org.freedesktop.login1.Session" member="SetType" error 
name="(unset)" requested_reply="0" destination="org.freedesktop.login1" (uid=0 
pid=381 comm="/gnu/store/jdk3r1gs4d36n3aj9fscsvwwc9prnrzp-elogin")
[backend/backend.c:303] Failed to open any DRM device
[sway/server.c:49] Unable to create backend
```

When I run `sudo dbus-run-session sway` it outputs "XDG_RUNTIME_DIR is
not set in the environment. Aborting.".



Re: Starting Sway a Wayland window manager

2021-03-28 Thread Bone Baboon


Joshua Branson writes:
> My .bash_profile is here:
>
> #+BEGIN_SRC sh
> # Honor per-interactive-shell startup file
> if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
>
> # shepherd
>
> if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
> export MOZ_ENABLE_WAYLAND=1
> export GUIX_PACKAGE_PATH=/home/joshua/prog/gnu/guix/guix-packages/
> 
> XDG_DATA_DIRS=/var/lib/flatpak/exports/share:/home/joshua/.local/share/flatpak/exports/share:$XDG_DATA_DIRS
> # this may fix a bug that I have with termite confusing backspace as 
> space in guix environment
> # export TERM=linux
> shepherd -c /home/joshua/.config/shepherd/init.scm &
> exec dbus-run-session sway
> fi
> #+END_SRC

What package includes `dbus-run-session`?  I do not have it installed on
my system?



Re: Starting Sway a Wayland window manager

2021-03-28 Thread Bone Baboon
Vagrant Cascadian writes:

> Is the elogind service running? I *think* that is what I needed to get
> sway working from the console...

I have added the `elogind` service.  Here is the services section of my
systems configuration:

```
 (services
  (append
   (list
(service elogind-service-type)
(service accountsservice-service-type)
(service inputattach-service-type)
x11-socket-directory-service
polkit-wheel-service)
   %base-services))
```

When I run `sudo herd status` the output shows that `elogind` is
started.

When I run `sway` on virtual terminal 1 sway does not start and I get
this output: 

```
localhost dbus-daemon[380]: [system] Rejected send message, 2 matched rules; 
type="method_call", sender=":1.24" (uid=1000 pid=26112 comm="sway ") 
interface="org.freedesktop.login1.Session" member="SetType" error 
name="(unset)" requested_reply="0" destination="org.freedesktop.login1" (uid=0 
pid=381 comm="/gnu/store/jdk3r1gs4d36n3aj9fscsvwwc9prnrzp-elogin")
[backend/backend.c:303] Failed to open any DRM device
[sway/server.c:49] Unable to create backend
```

When I run `sudo sway` it outputs "XDG_RUNTIME_DIR is not set in the
environment. Aborting.".



Starting Sway a Wayland window manager

2021-03-27 Thread Bone Baboon
I have installed Sway a Wayland window manager.

I have copied the `gnu/store/-sway-1.5.1/etc/sway/config` to
`~/.sway/config`.

When I run `sway` or `sudo sway` on virtual terminal 1 it outputs
"XDG_RUNTIME_DIR is not set in the environment. Aborting.".  `man sway`
and `sway --help` does not mention `XDG_RUNTIME_DIR`.  An suggestions on
how to deal with this error?



Re: Installing a previous version of a package

2021-03-27 Thread Bone Baboon


Oleg Pykhalov writes:

>> (define channels
>>   (append
>>(list
>> (channel
>>  (name 'openvpn)
>  
>
> I'm not sure that's the issue, but could you try 'guix instead?
>
>>  (url "https://git.savannah.gnu.org/git/guix.git";)
>>  (commit "c5a2b70135c9830e9c3051ddf4a096f9a80eb952")))
>>%default-channels))
>  ^
>
> Don't need this in case you define 'guix channel above.

Thank you for the suggestion.

I get the same error if I change channels to be:

```
(define channels
  (list
(channel
  (name 'guix)
  (url "https://git.savannah.gnu.org/git/guix.git";)
  (commit "c5a2b70135c9830e9c3051ddf4a096f9a80eb952"
```



Re: Two more computers unable to start X with GDM

2021-03-27 Thread Bone Baboon


Yasuaki Kudo writes:

> My apologies if this has been already tried but I personally always
> use regular Linux with black magic binary drivers unacceptable to
> plain Guix distribution. 😅 
>
> My AMD (both CPU and Graphics card) computer's visuals will freeze
> without the modification of the settings to avoid LibreLinux that
> comes standard with Guix. 
>
> Recent AMD video cards appear to have out of the box native drivers
> built into the Linux Kernel - that's why replaced Nvidia with AMD 😄.
> I have a stress-free graphics environment using Guix OS and Regular
> Linux.  (There was text terminal latency issues with X11 so I use
> Wayland - it has its limitations and bugs but works better for me😄

Thank you for your suggestion.

Switching from Linux-libre to Linux with Guix would be a last resort for
me.  The deblobbed Linux-libre kernel was one of the key features that
attracted me to Guix.

I would be more inclined to try to make one of these work first:
- Gentoo with a deblobbed kernel
- OpenBSD (has no binary blobs)
- Devuan testing (I think they have a deblobbed kernel)

However I still want to make Guix with Linux-libre work as Guix has
other features that I like that Gentoo, OpenBSD and Devuan do not have. 



Re: Two more computers unable to start X with GDM

2021-03-27 Thread Bone Baboon


Joshua Branson writes:

> Bone Baboon  writes:
>
>> i686
>> GPU: NVIDIA GeForce FX 5200
>
> I'm guessing that the problem is the GPUs...but I would not know how to
> help.

X server worked fine with this NVIDIA GeForce FX 5200 GPU when Debian
was installed on this computer.  It also looks like Debian uses a
deblobbed kernal based on this Wikipedia article.
https://en.wikipedia.org/wiki/Binary_blob

> Sorry for being so unhelpful.

Thank you for your help.

>> x86_64
>> GPU: Intel Mobile 946GM/GMS/GME, 943/940GML Express
>
> I feel like the Intel GPUs should work though...



Installing a previous version of a package

2021-03-26 Thread Bone Baboon
I am trying to install a previous version of a package but I am getting
errors.

In this case the current version of openvpn is 2.5.1 and I would like to
install the 2.4.9 version.

openvpn version 2.4.9 was packaged for Guix.
https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/packages/vpn.scm?id=c5a2b70135c9830e9c3051ddf4a096f9a80eb952

My preference is to use a configuration file to install this previous
version of `openvpn`.

When I add openvpn@2.4.9 as a package to my system configuration and run
`sudo guix system reconfigure config.scm` it outputs "error:
openvpn@2.4.9: unbound variable hint: Did you forget a `use-modelue'
form?".

`guix package --install=openvpn@2.4.9` outputs "guix package: error:
openvpn: package not found for version 2.4.9".

Adapting the example in the Inferiors section of the manual I tried
running `guix package --manifest=openvpn-2-4-9.scm`.

The contents of openvpn-2-4-9.scm are:

```
(use-modules (guix inferior)
 (guix channels)
 (srfi srfi-1))

(define channels
  (append
   (list
(channel
 (name 'openvpn)
 (url "https://git.savannah.gnu.org/git/guix.git";)
 (commit "c5a2b70135c9830e9c3051ddf4a096f9a80eb952")))
   %default-channels))
   
(define inferior
  (inferior-for-channels channels))

(packages->manifest
 (list
  (first
   (lookup-inferior-packages inferior "openvpn")))
```

The output error message I recieve is:

```
Updating channel 'openvpn' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
Computing Guix derivation for 'x86_64-linux'... /
Computing Guix derivation for 'x86_64-linux'... |
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
The following derivations will be built:
   /gnu/store/c5zsr6rx26rqzz7b3v7174fik4d2j144-profile.drv
   /gnu/store/r0l7d1yghcs41gil9bif5f9znsi9km66-guix-c5a2b7013.drv
   /gnu/store/2p7h0dk2nghs0z83pd7c2nj8k2iz30sv-guix-daemon.drv
   /gnu/store/z3lam5sd9f8q981150x2c8m9vahal9w3-guix-command.drv
   /gnu/store/h0z13lkc7z3252cgdp2mjsm9wa6a813a-guix-module-union.drv
   /gnu/store/z2hch4y67hyl6ii5ia2ccrw68al3652z-guix-c5a2b7013-modules.drv
   /gnu/store/1fawp89d2np2fpv9cs7hfa9wmms5xhnk-guix-system-tests-modules.drv
   /gnu/store/fcjqwq8y6sm1bcip830wr397yrj1lkq9-guix-system-tests.drv
   /gnu/store/c9937mh7sw0an79ap3cfcckn011gh39h-guix-packages-base.drv
   /gnu/store/w3229vmzf5620pkcn785xfw1ahl3jhri-config.scm.drv
   /gnu/store/rgd4qsf0aylwni4svliwa984hisj59fj-guix-extra.drv
   /gnu/store/cc8j1h0c9a55wl4awll9i4gqmsp1m8pm-guix-packages.drv
   /gnu/store/d8j8wm8adsa5h4i5ha8h9rjbm0wcwh23-guix-system.drv
   /gnu/store/ql90fvj22wqgrq0j0kh6gcm5wqfp06hh-guix-cli.drv
   /gnu/store/1m2ig3khpl9rdqz331n261h885yqfx03-guix-core-modules.drv
   /gnu/store/3ynb45v73v41wzzrkwcbl2ay53r6ss20-guix-config-modules.drv
   /gnu/store/vn3n565qdzcnxbm64kaira7f4hsimmsj-guix-config-source.drv
   /gnu/store/n26c9kviin49vdya29rqk2qzjj11l7mq-config.scm.drv
   /gnu/store/zvxnbhf6h1x5giih0z7c8a8la0zp2f06-guix-config.drv
   /gnu/store/4a7a6g2wa74xl556070sc0wwp8i1g9ka-guix-packages-base-modules.drv
   /gnu/store/jr3mfycc4776rr4qhifmwpshni47qf87-guix-extra-modules.drv
   /gnu/store/m2xh9xsrnarim5dk9kkjwa4plnhavriv-guix-cli-modules.drv
   /gnu/store/xrdyzp3dis96hgvv7b338fn4d0lkgrpi-guix-system-modules.drv
   /gnu/store/ypdpqkhicfg69x5sgvsyxi759pamgji8-guix-packages-modules.drv
   /gnu/store/wqhpk46g4z072mvmzhl8sr1drj0fzg7a-guix-manual.drv
   /gnu/store/dn7w2x43z6v3qjca68gh5ks7kcvriwb0-guix-translated-texinfo.drv
   /gnu/store/3lawhq0bp02s4h3a23p58b2fqs32xxmf-profile.drv
   /gnu/store/s9vwn36n87kjpb97fsxfhal6k7r87b9g-inferior-script.scm.drv
11.2 MB will be downloaded:
   /gnu/store/4k0p5q582p5q2p79iaxdjk4awg3xwmpj-module-import-compiled
   /gnu/store/i8shcznhx47150k8pa6k06690slpvb75-guix-locale-guix-packages
   /gnu/store/jqr5bz89gfwhxcndnhq333dyclvkq7ws-lzlib-1.11
   /gnu/store/s3p090y7wxww4qv6amg1dxy75mbkc8dp-module-import-compiled
   /gnu/store/jaandxqy7yf5b1i3kipzqqklz63h90bf-module-import-compiled
   /gnu/store/5z5gh71wzyf6x0qpflqsvwyv657gsdaf-guix-core
   /gnu/store/s5dmqc1pslsmmq2qjkj4pqvcvwpg6qn4-guix-core-source
   /gnu/store/4fsvcpq3ypd8vykf89szv37cw4bbm64f-guile-gcrypt-0.2.1
   /gnu/store/8214d32y4xd2ivf7hssr60hb2ccncg4c-guile-sqlite3-0.1.0
   /gnu/store/pv6ii8gfp3y04qhp3cxbm4xj1g3p86l2-module-import-compiled
   /gnu/store/4idbjrljcjwxlfwr0k6qg10gi9m55v6f-guile-json-3.5.0
   /gnu/store/a5548wn9s7gbs9xakiaadjx6jq1mfsya-guile3.0-gnutls-3.6.12
   /gnu/store/w3jgqyx6q8vlc1znvy8n6k6y0ysspmm1-guix-locale-guix
   /gnu/store/paf4dmxasqvp1i1d1px6wybmiwrydpdc-guile-3.0.2
The following grafts will be made:
   /gnu/store/lvwvzy9hbjvb5w5nxng7pmb169zc6h9m-guile-git-0.3.0.drv
   /gnu/store/9l6m0d8rapnwhhfs0x7vj6yqj5wizv2h-libgit2-1.0.0.drv
The following profile hooks will be built:
   /gnu/store/9ksymmv1clk4nc3g1jgzb2r142g54zld-manual-database.drv
   /gnu/store/nf6gwhy96w30pnnzyl4c6f70qyzcmd0y-info-dir.dr

xorg-start-command

2021-03-26 Thread Bone Baboon
I am trying to start an X server.

The X Window section of the Guix manual talks about
`xorg-start-command`.  I do not know how to use `xorg-start-command` in
my system configuration.  How is `xorg-start-command` used?



Two more computers unable to start X with GDM

2021-03-26 Thread Bone Baboon
I am trying to get the X server working on a computer that has Guix
installed.

I was having trouble starting an X server on a computer and asked for
help about it here: 
https://lists.gnu.org/archive/html/help-guix/2021-03/msg00197.html

I decided to try to get an X server working on two other computers an
x86_64 and a i686.  I was not able to get an X server working on either
of them.  Below are the detail.

---

i686
GPU: NVIDIA GeForce FX 5200

When I boot the system I am able to unlock the encrypted root partition.
But then the system seems to go unresponsive before I am presented with
a graphical login or a virtual terminal login and I can not switch to
another virtual terminal.  I can however login using ssh and work on a
virtual terminal.

`guix describe` outputs:

```
Generation 1Mar 25 2021 15:57:08(current)
  guix ac29d37
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: ac29d37e2ffd7a85adfcac9be4d5bce018289bec
```

Here is the operating system configuration:

```
(use-modules (gnu))

(use-service-modules desktop
 mail
 networking
 ssh
 xorg)

(use-package-modules admin
 certs
 compression
 emacs
 openbox
 vpn)

(operating-system

 (locale "en_US.utf8")
 (timezone "America/City")
 (keyboard-layout (keyboard-layout "us" "dvp"))
 (host-name "host")

 (users (cons* (user-account
(name "user")
(comment "user")
(group "users")
(home-directory "/home/user")
(supplementary-groups
 '("wheel" "netdev" "audio" "video")))
   %base-user-accounts))

 (packages
  (append
   (list

;window manager
openbox

;networking
nss-certs
openvpn

;emacs
emacs

;compression
unzip)
   
   %base-packages))

 (services
  (append
   (list (service openssh-service-type)
 (set-xorg-configuration
  (xorg-configuration
   (keyboard-layout keyboard-layout
   %desktop-services))

 (bootloader
  (bootloader-configuration
   (bootloader grub-bootloader)
   (target "/dev/sda")
   (keyboard-layout keyboard-layout)))

 (mapped-devices
  (list (mapped-device
 (source
  (uuid "9e6a9648-e6b4-41b4-a467-dd5e5660261e"))
 (target "cryptroot")
 (type luks-device-mapping

 (file-systems
  (cons* (file-system
  (mount-point "/")
  (device "/dev/mapper/cryptroot")
  (type "ext4")
  (dependencies mapped-devices))
 %base-file-systems)))
```

---

x86_64
GPU: Intel Mobile 946GM/GMS/GME, 943/940GML Express

When I boot this computer I get a graphical error:

A sad face with the text "Oh no! Something has gone wrong. A problem has
occurred and the system can't recover. Please contact a system
administrator".

It seems to be unresponsive and I can not switch to a virtual terminal.
However I can connect by ssh and use a virtual terminal.

`guix describe` outputs:

```
Generation 3Mar 23 2021 21:50:15(current)
  guix 8b2b546
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 8b2b5463963d5d4dee480b0cf73fa4a9eca414ba
```

The configuration is:

```
(use-modules (gnu))

(use-package-modules admin
 aspell
 emacs
 emacs-xyz
 firmware
 libreoffice
 rsync
 ssh
 version-control
 vpn
 xdisorg
 xorg
 certs)

(use-service-modules desktop
 networking
 ssh
 xorg)

(operating-system

  (locale "en_US.utf8")

  (timezone "America/City")

  (keyboard-layout (keyboard-layout "us" "dvp"))

  (host-name "host")

  (users (cons* (user-account
  (name "user")
  (comment "user")
  (group "users")
  (home-directory "/home/user")
  (supplementary-groups
'("wheel" "netdev" "audio" "video")))
%base-user-accounts))

  (packages
(append
 (list

  ;networking
  nss-certs
  ath9k-htc-firmware
  wpa-supplicant
  openvpn
  netcat
  openssh-sans-x
  
  ;version control
  git

  ;spelling
  hunspell
  hunspell-dict-en-us

  ;x
  xorg-server
  xinit
  sx
  xf86-video-vesa
  xf86-video-fbdev
  xf86-video-intel

  ;emacs
  emacs
  emacs-exwm)
  %base-packages))

  (services
   (append
(list (service openssh-service-type))
   %desktop-services))
  
  (bootloader
(bootloader-configuration
  (bootloader grub-bootloader)
  (target "/d

Re: Start Xorg server using xinit manually

2021-03-26 Thread Bone Baboon


Gary Johnson writes:

> Hmm...that's odd. %desktop-services contains both the gdm-service and
> the elogind-service, which should bring X along for the ride. It sounds
> like something in your configuration is preventing these services from
> presenting you with a graphical login screen.
>
> Could you share your operating-system declaration?

Here is my operating-system declaration:

```
(operating-system

 (locale "en_US.utf8")
 (timezone "America/City")

 (keyboard-layout (keyboard-layout "us" "dvp"))

 (host-name "user")

 (users (cons* (user-account
(name "user")
(group "users")
(home-directory "/home/user")
(supplementary-groups
 '("wheel" "netdev" "audio" "video")))
   %base-user-accounts))

 (packages
  (append
   (list

;shell
dash

;networking
ath9k-htc-firmware
wpa-supplicant
nss-certs
openvpn
openssh-sans-x
netcat
curl
wget
speedtest-cli

;compression
unzip

;encryption
gnupg
  
;version control
git
  
;spelling
hunspell
hunspell-dict-en-us
  
;x11 stuff
eudev
xorg-server
xf86-video-ati
xf86-video-fbdev
xf86-video-vesa
xinit
xdotool
xbanish
xev
sxhkd
setxkbmap
xrandr

;emacs
emacs
emacs-exwm
  
;mail
mu
offlineimap
msmtp
  
;graphical web browsers
surf
nyxt
  
;communictations
toxic
qtox
jami
mumble)

   %base-packages))

 (services (append (list
(service lxqt-desktop-service-type))
   %desktop-services))

 (bootloader
  (bootloader-configuration
   (bootloader grub-efi-bootloader)
   (target "/boot/efi")
   (keyboard-layout keyboard-layout)))

 (kernel-arguments '("nomodeset"))

 (mapped-devices
  (list (mapped-device
 (source
  (uuid "db155150-4229-4526-a67c-a3036e048c58"))
 (target "cryptroot")
 (type luks-device-mapping

 (file-systems
  (cons* (file-system
  (mount-point "/boot/efi")
  (device (uuid "318D-D6A7" 'fat32))
  (type "vfat"))
 (file-system
  (mount-point "/")
  (device "/dev/mapper/cryptroot")
  (type "ext4")
  (dependencies mapped-devices))
 %base-file-systems))

 (swap-devices (list "/swapfile")))
```

> Have you set up any custom X configuration files somewhere that might
> be interfering with the X launching process?

The only X related configuration files that I am aware of are:

.xinitrc with the contents "exec emacs".

.xsession with the contents "exwm".

.Xauthority is an empty file.

.Xdefaults has the contents:
```
XTerm*utf8: always
XTerm*metaSendsEscape: true

```

.exwm that contains my EXWM configuration.

If there are other relevant configuration files I can share there
contents as well.

> Is your graphics card supported with Guix and the X server?

CPU: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx
GPU: AMD ATI 05:00.0 Picasso 

The graphics card works with the X server.  When I had Void installed on
the computer I was able to start X using `startx` with no problems.
Void uses a vanilla Linux kernel that has not been deblobbed like
Linux-libre.

I do not know if the graphics card is supported by Guix?



Re: Start Xorg server using xinit manually

2021-03-24 Thread Bone Baboon


Vladimir Sedach writes:

> Do you get graphics with a login manager service?

I do not get graphics with GDM.  There is just a blinking cursor on
tty7.

> Looking at my configuration now, I think the problem might be dbus.
> Do you have dbus-service enabled? I suspect there might be an
> implicit dependence between X and udev (which is probably what is
> responsible for creating /dev/dri/card0) on dbus, that might not be
> producing any log messages.
>
> The minimal X configuration I have is:
> (dbus-service) (service slim-service-type)

If I use `%base-services` and add `dbus-service` this error goes away:
(EE) dbus-core: error connecting to system bus:
org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket
/var/run/dbus/system_bus_socket: No such file or directory)

However the other error messages remain.



Re: Start Xorg server using xinit manually

2021-03-24 Thread Bone Baboon


Joshua Branson writes:

> Do any of the officially supported guix wm's or desktop environments
> work for you?

I have tried the `emacs-exwm` package and the
`lxqt-desktop-service-type` service.  But I do not get a graphical login
I am only getting a blinking cursor on tty7.



Re: Start Xorg server using xinit manually

2021-03-24 Thread Bone Baboon


Sergiu Ivanov writes:

> I also started using EXWM recently and it works without any issues
> for me (actually it works better than I expected).
>
> However, I use the default login manager (elogind) from
> %desktop-services, which picks up EXWM automatically for me.  I don't
> manually start the X server, which is why I didn't previously chime in.
>
> FWIW, here's the relevant snippet from my /etc/config.scm:
>
> (packages (append
>  (map specification->package
>   '("emacs"
> "emacs-exwm"
> "emacs-desktop-environment"
> "nss-certs"))
>  %base-packages))
> (services (append
>  (list (service xfce-desktop-service-type)
>(set-xorg-configuration
> (xorg-configuration (keyboard-layout keyboard-layout
>  %desktop-services))
>
> You'll notice that I also install XFCE alongside EXWM, just in case (and
> because I used it before I started configuring EXWM).

Thank you for sharing your configuration with EXWM.

I added the LXQt service to my config because at this point I would be
happy to have any type of desktop or window manager if I could start X.
However I do not even get to the point where there is a graphical login
prompt or selection of window manager or desktop environment.  I am
still just getting a blinking cursor on tty7.



Re: Start Xorg server using xinit manually

2021-03-22 Thread Bone Baboon
Gary Johnson writes:

>   I run EXWM under Guix System.

It is good to hear that someone else is able to successfully use EXWM
with Guix.

> You don't need to manually start Xorg
> with xinit, startx, or any other command. First, make sure that you are
> installing emacs and emacs-exwm into your packages list. Also make sure
> that your services list includes %desktop-services. Here's a skeleton
> operating-system definition to build off of:
>
> (operating-system
>  ...
>  (packages (cons* nss-certs   ; HTTPS access
>   emacs
>   emacs-exwm
>   %base-packages))
>
>  (services (cons* whatever-else
>   you-want
>   %desktop-services)))
>
> Start by installing this operating-system definition with the usual
> `sudo guix system reconfigure my-config.scm`.
>
> Then update your $HOME/.xsession file to include this at the end:
>
> # Start Emacs with the script here: /run/current-system/profile/bin/exwm
> exwm
>
> Finally, update $HOME/.exwm to include all your EXWM-specific Emacs Lisp
> code.
>
> When you reboot your machine, you'll be presented with a simple
> graphical login screen. Just type in your username and password for the
> user account with the updated $HOME/.xsession and $HOME/exwm files and
> log in. X will start up, your $HOME/.xsession file will be read, which
> will launch exwm. This will start up a full screen emacs instance that
> evaluates your $HOME/.exwm file and then your $HOME/.emacs.d/init.el
> file.
>
> That's all there is to it. Now you've got a fully graphically enabled
> Emacs instance running as a tiling window manager over X.

Thank you for the detailed instructions.

When I follow the instruction and boot I am taken to vt7 which has only
a blinking cursor. I never get a graphical login for X. The system is
responsive and I can switch to other virtual terminals.

On vt1 there is output like this:

New session c1 of user gdm.
Removed session c1.
New session c2 of user gdm.
Removed session c2.
New session c3 of user gdm.
Removed session c3.
...



Re: Start Xorg server using xinit manually

2021-03-22 Thread Bone Baboon


Thanks for your reply.

jbra...@dismail.de writes:

> March 21, 2021 6:31 PM, "Bone Baboon"  wrote:
>
> May I ask why you are trying to manually run xinit?  Is your favorite wm
> or desktop environment not packaged as a service in Guix?  Ahh, I see you
> are just trying to start Emacs.  Very awesome!

I am trying to manually run `xinit` so that I can use Emacs X Window
Manager (EXWM).  I have EXWM configured in my Emacs configuration file.
I have a small number of important graphical applications I want to run
in EXWM (web browser, Jami, qTox, ...).

> If all you are wanting is to use Emacs, you could always just launch Emace
> from the virtual console, and not have mouse support.

If I run `emacs` from a virtual terminal in the *Messages* buffer it
says "[EXWM] Not running under X environment".

I am currently working without `xorg` in virtual terminals or in Emacs
with `emacsclient --tty`.  I am really appreciating `eww` as a browser
that is in Emacs.



Start Xorg server using xinit manually

2021-03-21 Thread Bone Baboon
I am trying to start `xorg` from the Linux console virtual terminal 1
(vt1) using `xinit`.  I have not got `xorg` working yet and would
appreciate any assistance.

Thank you

---

CPU: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx
GPU: AMD ATI 05:00.0 Picasso 

I have just completed a `guix update` and a
`guix system reconfigure config.scm`.

`guix describe` outputs:

```
Generation 4Mar 20 2021 13:40:26(current)
  guix b09967b
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: b09967bc587dd61c638da3d6fb5bbda7e87ed85c
```

I have installed `xorg-server`, `xinit`, `xf86-video-ati`,
`xf86-video-fbdev`, `xf86-video-vesa` and `emacs`.

The contents of ~/.xinitrc is "exec emacs".

I am trying to start the xorg server with `xinit`. The xinit command I
am using is:

```
/run/current-system/profile/bin/xinit -- \
/run/current-system/profile/bin/Xorg :0 vt1 \
-keeptty \
-configdir /run/current-system/profile/share/X11/xorg.conf.d \
-modulepath /run/current-system/profile/lib/xorg/modules
```

This xinit command is based on this mailing list post.
https://lists.gnu.org/archive/html/help-guix/2018-07/msg00080.html

When I run the above `xinit` command it fail with the log below.

The command also fails with a similar log when prefixed with sudo.

~/.local/share/xorg/Xorg.0.log
```
[95.135] _XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will 
not be created.
[95.135]
X.Org X Server 1.20.10
X Protocol Version 11, Revision 0
[95.135] Build Operating System: GNU GuixSD
[95.136] Current Operating System: Linux user 5.11.6-gnu #1 SMP 1 x86_64
[95.136] Kernel command line: 
BOOT_IMAGE=/gnu/store/dqcq8sph0754dknlj1swlqr9n04pzmiy-linux-libre-5.11.6/bzImage
 --root=/dev/mapper/cryptroot 
--system=/gnu/store/vc4h71xk15ynx4bhrqz3x04ixnzlklhc-system 
--load=/gnu/store/vc4h71xk15ynx4bhrqz3x04ixnzlklhc-system/boot nomodeset
[95.136] Build Date: 01 January 1970  12:00:01AM
[95.136]
[95.136] Current version of pixman: 0.38.4
[95.136]Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[95.136] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[95.137] (==) Log file: "/home/user/.local/share/xorg/Xorg.0.log", Time: 
Sat Mar 20 12:59:47 2021
[95.171] (++) Using config directory: 
"/run/current-system/profile/share/X11/xorg.conf.d"
[95.171] (==) Using system config directory 
"/gnu/store/h7as77gz35p8la1llja3g05f15pgv31l-xorg-server-1.20.10/share/X11/xorg.conf.d"
[95.173] (==) No Layout section.  Using the first Screen section.
[95.173] (==) No screen section available. Using defaults.
[95.173] (**) |-->Screen "Default Screen Section" (0)
[95.173] (**) |   |-->Monitor ""
[95.176] (==) No monitor specified for screen "Default Screen Section".
Using a default monitor configuration.
[95.176] (==) Automatically adding devices
[95.176] (==) Automatically enabling devices
[95.176] (==) Automatically adding GPU devices
[95.181] (==) Max clients allowed: 256, resource mask: 0x1f
[95.181] (==) FontPath set to:

[95.181] (++) ModulePath set to 
"/run/current-system/profile/lib/xorg/modules"
[95.181] (II) The server relies on udev to provide the list of input 
devices.
If no devices become available, reconfigure udev or disable 
AutoAddDevices.
[95.181] (II) Loader magic: 0x617cc0
[95.181] (II) Module ABI versions:
[95.181]X.Org ANSI C Emulation: 0.4
[95.181]X.Org Video Driver: 24.1
[95.181]X.Org XInput driver : 24.1
[95.181]X.Org Server Extension : 10.0
[95.183] (EE) dbus-core: error connecting to system bus: 
org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket 
/var/run/dbus/system_bus_socket: No such file or directory)
[95.183] (++) using VT number 1

[95.185] (--) PCI:*(5@0:0:0) 1002:15d8:1025:134d rev 194, Mem @ 
0xb000/268435456, 0xc000/2097152, 0xc080/524288, I/O @ 
0x1000/256
[95.185] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or 
directory)
[95.185] (II) LoadModule: "glx"
[95.215] (II) Loading 
/run/current-system/profile/lib/xorg/modules/extensions/libglx.so
[95.319] (II) Module glx: vendor="X.Org Foundation"
[95.319]compiled for 1.20.10, module version = 1.0.0
[95.319]ABI class: X.Org Server Extension, version 10.0
[95.319] (==) Matched ati as autoconfigured driver 0
[95.319] (==) Matched modesetting as autoconfigured driver 1
[95.319] (==) Matched fbdev as autoconfigured driver 2
[95.319] (==) Matched vesa as autoconfigured driver 3
[95.319] (==) Assigned the driver to the xf86ConfigLayout
[95.319] (II) LoadModule: "ati"
[95.371] (II) Loading 
/run/current-syste