I tried to address most of what you've written. While I was correcting the documentation I decided to add more options, now it doesn't work anymore, probably because of the ifs I added. Andy Wingo writes: > On Tue 30 Aug 2016 13:45, ng0 writes: > >>>I also think that "path" might >>> not be the right word, which in GNU manuals is only used for search >>> paths. See the "GNU Manuals" section of standards.texi for more. >>> Anyway I suggest #:base-directory. Make sure the port is an integer and >>> not a string. >> >> See 'man git daemon'. > > I ran this and it did not work -- first showed me a page for git then > for daemon. I believe you want "man git-daemon"? > >> The switch is called --base-path. Looking at the openrc conf.d/git or >> what the config file was called again, they stick to this name too. >> It would just cause confusion if we go ahead and call it differently. >> Upstream should be fixed, but I'm not going there. If you think we >> should break expectations, I can rename it. > > "Fixing" upstream is out of our remit :) All I can ask is that we do > not introduce new uses of the word "path". > >>>> +Return a service to run the @uref{https://git-scm.com, git} daemon version control >>>> +daemon. >>> >>> Extra "daemon" here. Probably needs a sentence on what running the >>> daemon will do (namely, expose local repositories for remote access). >>> >>> What about authentication? Is this purely anonymous? >> >> Exactly, authentication is handled via other daemons, for example ssh or >> gitolite. git daemon supports no authentication and is read-only, as far >> as I know. At the servers I use and setup, I pull via >> git://,http://,https:// and push via ssh. >> Its selfdescription is: >> git-daemon - A really simple server for Git repositories. > > This needs to be documented in the manual, is what I was getting at :) > Mention that this is for anonymous read-only access please. read-only was wrong, anonymous write-access for all the world can be set up but it is not default. > >>>Use "file name" instead of path in general. >> >> Why? > > It is because it is standard in the GNU project. I mentioned this > before. See "info standards" and go to "GNU manuals". > >>>> +Furthermore it takes the parameter @var{port} which defaults to 9418. >>>> +Run @command{man git daemon} for information about the options. >>> >>> This man command does not work. >> >> Works for me. As far as I know man pages were merged into git package >> recently. When I run this on debian with guix, 'man git daemon' works >> too. > > It does not work for me on NixOS with Guix. Maybe I am out of date > though. > >>>> +(define %git-accounts >>>> + ;; User account and groups for git-daemon. >>>> + ;; We can give it git-shell for now, otherwise we can switch to /bin/sh. >>> >>> What does this comment mean? Why would we switch? >> >> I am not sure about the limitations of git-shell compared to >> /bin/sh. If this turns out to be a mistake, it can be corrected. The >> only thing I know about git-shell is that it allows no logins. > > If you do not want a login then probably what you want is > #~(string-append #$shadow "/sbin/nologin"). > > Andy