Re: emacs-guix (upstream) needs more love: a survey of repositories, homepage and issues
Hello Théo, Théo Maxime Tyburn writes: > It is here https://github.com/theottm/emacs-guix-clone. There is only > one branch. > >> if you succeed in building the new merged branch please notify me and >> I'll try to upstream it to >> https://git.savannah.gnu.org/cgit/guix/emacs-guix.git > > I just sucessfuly built it. You can probably use I could successfully build your branch. Unfortunately with geiser's recent upgrade from 0.23.2 to 0.26 emacs-geiser broke on my side. Geiser has since [1] removed all references to company. The end result is, that emacs-geiser will fail to load a REPL while it tries to initiate geiser-company. Here is my modification that fixes the REPL again: [2]. It'd be nice to see this pushed too and merge all the branches that now exist with emacs-guix. Kind Regards Simon [1] https://gitlab.com/emacs-geiser/geiser/-/commit/18faa0ba32c9ce751c16960b2a39b3880b523272 [2] https://git.steel-is-real.com/emacs-guix-clone/log/?h=simons-hack
Re: Samba Services
Julien Lepiller writes: > ./doc/guix.texi:29670: warning: node next `Network File System' in menu > `Continuous > Integration' and in sectioning `Samba Services' differ > ./doc/guix.texi:16349: node `Services' lacks menu item for `Samba Services' > despite being > its Up target > ./doc/guix.texi:29985: warning: node prev `Continuous Integration' in menu > `Network File > System' and in sectioning `Samba Services' differ > > In particular, it sounds like you didn't add the Samba Services node to the > menu near line > 16349 (that's a different menu from the one at the top of the file I > believe). The other > warnings should disappear after you add it. The devil is in the details. Thanks a lot, this had been nagging me for some time now. Simon
Samba Services
Hello, While preparing my patch series [1], I've run into issues where I can't compile my own branch now: --8<---cut here---start->8--- MAKEINFO doc/guix.fa.info ./doc/guix.es.texi:30547: warning: node next `Sistema de archivos en red' in menu `Integración continua' and in sectioning `Samba Services' differ ./doc/guix.es.texi:16840: node `Servicios' lacks menu item for `Samba Services' despite being its Up target ./doc/guix.es.texi:30867: warning: node prev `Integración continua' in menu `Sistema de archivos en red' and in sectioning `Samba Services' differ ./doc/guix.texi:29670: warning: node next `Network File System' in menu `Continuous Integration' and in sectioning `Samba Services' differ ./doc/guix.texi:16349: node `Services' lacks menu item for `Samba Services' despite being its Up target ./doc/guix.texi:29985: warning: node prev `Continuous Integration' in menu `Network File System' and in sectioning `Samba Services' differ make[2]: *** [Makefile:4834: doc/guix.es.info] Error 1 make[2]: *** Waiting for unfinished jobs make[2]: *** [Makefile:4704: doc/guix.info] Error 1 ./doc/guix.fa.texi:29097: warning: node next `Network File System' in menu `Continuous Integration' and in sectioning `Samba Services' differ ./doc/guix.fa.texi:16005: node `Services' lacks menu item for `Samba Services' despite being its Up target ./doc/guix.fa.texi:29407: warning: node prev `Continuous Integration' in menu `Network File System' and in sectioning `Samba Services' differ make[2]: *** [Makefile:4899: doc/guix.fa.info] Error 1 ./doc/guix.de.texi:31749: warning: node next `Network File System' in menu `Kontinuierliche Integration' and in sectioning `Samba Services' differ ./doc/guix.de.texi:17543: node `Dienste' lacks menu item for `Samba Services' despite being its Up target ./doc/guix.de.texi:32070: warning: node prev `Kontinuierliche Integration' in menu `Network File System' and in sectioning `Samba Services' differ make[2]: *** [Makefile:4769: doc/guix.de.info] Error 1 make[2]: Leaving directory '/home/ss2/code/guix' make[1]: *** [Makefile:6573: all-recursive] Error 1 make[1]: Leaving directory '/home/ss2/code/guix' make: *** [Makefile:4004: all] Error 2 --8<---cut here---end--->8--- Chances are I missed something while preparing the manual. The problem arises with this [2] commit. Test units in this branch have been prepared too. Thinking about it wsdd hasn't got any yet. [1] https://git.steel-is-real.com/guix/log/?h=simons-samba-service [2] https://git.steel-is-real.com/guix/commit/?h=simons-samba-service=04fd3f8e4eb840b9e2b10337a65035f33bbffce4 Thanks in advance for looking into this! Kind regards Simon
Re: disable suspend without user login
Hello Attila, Attila Lendvai writes: > does anyone know how to turn off GDM's (or elogind's?) auto suspend on > a recent Guix? Have you maybe seen [1]? And you've probably come across [2] too. I kept them as bookmarks to pull out in the future. The first seems to explain it well enough to disable it in Debian. I've never tested it myself though, but think it is the most promising approach to look into. I looked into the service definition of gdm, but gave up half way, and am on to other services now. Kind regards Simon [1] https://www.asumu.xyz/blog/index-2.html [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=896083
Re: WSDD Service Module
Hello, thanks for your reply. Ludovic Courtès writes: > My understanding is that you intend the ‘interface’ field to be either > #f or a string, is that right? I think it rather be a list of strings, since wsdd takes the list of interfaces to listen to. So it should expand to --interface eth0 --interface eth1, etc. > When you write: > > (interface) > > that means: “call the procedure bound to ‘interface’, passing it zero > arguments”. However, if ‘interface’ is a string, you cannot call it, so > you get a wrong-type-to-apply error. > > Likewise, ‘for-each’ expects its second argument to be a list. But > here, ‘interface’ is supposedly a string, not a list, so if you do: > > (for-each (lambda …) interface) > > you’ll get a wrong-type-argument error. So I changed it, that interface is usually an empty list now, and with for-each I'd like to have it expanded. Good thing is, I've gotten at least a step further, but only after hard coding the list as an argument in the for-each expression. So it should work? It still doesn't. And I still don't understand how it is somehow not passed as a list properly. One thing I noticed, after hard coding the argument, the procedure is not properly expanded in the constructor. How come? This is the output in the service file: --8<---cut here---start->8--- (make-forkexec-constructor (list "/gnu/store/6jpn21wnnyz59ii634hfbk34yy48nxrq-wsdd-0.6.4/bin/wsdd" "--hoplimit" "1" for-each (lambda (arg) (format #t "--interface ~s " (arg))) (interface) "--workgroup" "WORKGROUP") #:user "wsdd" #:group "wsdd" #:log-file "/var/log/wsdd.log") --8<---cut here---end--->8--- My for-each procedure and list works in my REPL, but it fails in Guix. It might have to do with me trying to get on with make-forkexec-constructor. So this constructor needs a list of strings? I put interfaces into a let*, and would call it in the constructor. Unfortunately this results into an invalid G-expression. Thanks for you help. It is taking its time to get comfortable with Guile. I've attached the current state of the service too. wsdd.scm Description: Binary data Kind regards Simon
Re: WSDD Service Module
Ludovic Courtès writes: > (+Cc: guix-devel.) Hope I get it right this time. > Then I recommend calling it ‘interfaces’ (plural). Will do. > #~(make-forkexec-constructor > … #$@(map (lambda …) interfaces) > …) > > which would expand to: > > (make-forkexec-constructor > … "--interface=eth0" "--interface=eth1" > …) Yes this makes more sense, and it works too! I got too focused on trying to use for-each. Time to complete this service. Thanks a lot! Simon
WSDD Service Module
Hello! I've been preparing WSDD [1] for Guix. This is a Web Service Discovery Daemon that replaces host discovery through SMBv1. SMBv1 has been disabled in Samba and Windows for some time now for security reasons. Hence WSDD is a drop in replacement for host discovery. I've packaged wsdd already, and while preparing this post I noticed that the version is already outdated too. That's next on the list now. Unfortunately while preparing its service, there is this one part that I'm having trouble trying to get working: --8<---cut here---start->8--- #$(if interface #~(for-each (lambda (arg) (display (string-append "--interface" arg)) ;; (format #t "--interface ~a " (list->string arg)) ) #$(interface)) '()) --8<---cut here---end--->8--- Which is the main intention for this post: I'd really appreciate a little hint on how to solve this small problem. Everything else looks okay. The documentation for this service module has not been completed yet. I'm still working on it. Once it is done I'll submit a patch. This is part of my ongoing work on working with samba. The service declaration can be found at [2] and [3] is the package itself. Thanks in advance! Simon [1] https://github.com/christgau/wsdd [2] https://git.steel-is-real.com/siguix/tree/siguix/services/wsdd.scm?h=wip-wsdd=f125d84ef57a555b389d7bafa54b7352bf8faa74 [3] https://git.steel-is-real.com/siguix/tree/siguix/packages/wsdd.scm?h=wip-wsdd
WSDD Service Module
Hello! I've been preparing WSDD [1] for Guix. This is a Web Service Discovery Daemon that replaces host discovery through SMBv1. SMBv1 has been disabled in Samba and Windows for some time now for security reasons. Hence WSDD is a drop in replacement for host discovery. I've packaged wsdd already, and while preparing this post I noticed that the version is already outdated too. That's next on the list now. Unfortunately while preparing its service, there is this one part that I'm having trouble trying to get working: --8<---cut here---start->8--- #$(if interface #~(for-each (lambda (arg) (display (string-append "--interface" arg)) ;; (format #t "--interface ~a " (list->string arg)) ) #$(interface)) '()) --8<---cut here---end--->8--- Which is the main intention for this post: I'd really appreciate a little hint on how to solve this small problem. Everything else looks okay. The documentation for this service module has not been completed yet. I'm still working on it. Once it is done I'll submit a patch. This is part of my ongoing work with samba. The service declaration can be found at [2] and [3] is the package itself. Thanks in advance! Simon [1] https://github.com/christgau/wsdd [2] https://git.steel-is-real.com/siguix/tree/siguix/services/wsdd.scm?h=wip-wsdd=f125d84ef57a555b389d7bafa54b7352bf8faa74 [3] https://git.steel-is-real.com/siguix/tree/siguix/packages/wsdd.scm?h=wip-wsdd
Announcing Samba Service for Guix
Hello! I am happy to announce the development of a Samba service for Guix. Currently I am attending a technical college for informatics where I am working on my final thesis that is due to be completed by February next year. Hence I have already proposed to develop and document the process extending Guix. So far I have managed to write a service that can control nmbd, smbd and winbindd with default configuration options provided by [1]. I have attached said service. It is not intended for production use yet, and needs to be extended to make more use of Samba's capabilities. The daemon samba itself has not been touched yet since it expects to be a DC. It would need extra services too, especially kerberos, and extensive scripting to run. Printing has not been looked at either. Documentation for info is missing. I am not sure if the configuration system I butchered from other service definitions is worthwhile or could be done in an entirely different way. Samba's configuration system is extensive and flexible. There are some extra package definitions I want to write too. I have not decided yet how far to go or how much of Samba should be implemented as a service. To implement the complete Samba suite would exceed the scope of my assignment and will need proper testing until it can be provided in Guix. Hence I would like to implement sections of it in such a way that can easily be extended at a later point, should there be a need for it. It is a little over a year already since I have installed my first Guix system. So far I have only been randomly handing in patches every now and then with various success for new package definitions while trying to learn more Scheme. Preparing this service has been a lot more educational than writing packages so far. Kind regards, Simon [1] https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD samba.scm Description: Binary data