I played with Guix extremely briefly. Using Guile seemed like a reasonable choice compared to coming up with your own configuration language like Nix. At the end of the day, as you'd expect, wanting to use non GPL stuff could be painful and there wasn't any desire for that to be easier for users. E.g. someone posted patches to make utilizing ZFS in Guix much easier, but they never even bothered to review them or provide constructive feedback.
GNU Shepherd 1.0 Service Manager Released As "Solid Tool" Alternative To systemd
Collapse
X
-
What would be interesting is a review of GNU/Shepherd from a freedesktop.org/systemd expert, together with a review of freedesktop.org/systemd from a GNU/Shepherd expert, rather than uninformed opinions.
I suspect that GNU/Shepherd may well have a place in use-cases which are not covered by systemd. Many people hoped that systemd would be the init that everyone wanted to replace the maze of twisty little shell scripts (sysvinit) people had found wanting previously. GNU/Shepherd might be that init. It would be good to see the comparisons with OpenRC launchd, and runit as well.
systemd obviously offers more than just being an init, While it's capabilities are what many people like to make use of, not everyone wants to do that, so having other possible choices for their particular use-cases is good. This is not to say systemd is bad, just that some people have use-cases that they feel are not adequately covered by systemd. Perhaps GNU Shepherd meets their requirements.
Comment
-
-
Originally posted by emblemparade View PostTechnically speaking, systemd's ini-style files are not the only way to create units. They can be created programatically via API, and indeed much of the internal stuff is created that way.
For what it's worth, I have often been unhappy with the limitations of ini files and their tepid text templating. Doing anything sophisticated is hard if not impossible. It could be nice to be able to use a domain-specific language instead, like Shepherd does (and unfortunately requires).
I personally would not pick Guile (a dialect of Scheme, which is a dialect of LISP). But imagine using Lua or JavaScript to write your own generator for systemd units.
There is a good idea here.
Comment
-
-
Originally posted by royce View PostGood lord that service definition file. You can tell it's been designed by someone who's never worked with other people before.
Comment
-
-
Originally posted by Old Grouch View Postsystemd obviously offers more than just being an init, While it's capabilities are what many people like to make use of, not everyone wants to do that, so having other possible choices for their particular use-cases is good.
Originally posted by PhoronixSome of the other new features with GNU Shepherd 1.0 include a new log rotation service, a new system log service, a new timer service,
See, I guess in part because Systemd took the approach of replacing so many userspace services, now I guess everyone thinks they should do that.
I don't want an init service that cares what log rotate service I use, or whether I use chrond or something else. Likewise, these services shouldn't care what init system I'm using.
Comment
-
-
Originally posted by emblemparade View PostBut imagine using Lua or JavaScript to write your own generator for systemd units.
There is a good idea here.
Comment
-
-
Originally posted by TheMightyBuzzard View Post
No, its greatest strength is that it appeals to corporate douchebags. Noobs fresh out of college are much cheaper than experienced admins.
Personally, I'd much rather deal with declarative syntax instead of having to either re-implement or copy/paste a bunch of boilerplate every time. At least from what I still remember dealing with SysV init scripts prior to Debian first including systemd, IIRC some time around 2010/2011 (yes, systemd was available in Debian repos long before it was made default init in Jessie in 2015).
Comment
-
-
Originally posted by skeevy420 View PostCode:Description=OpenSSH Daemon Wants=sshdgenkeys.service After=sshdgenkeys.service After=network.target [Service] Type=notify-reload ExecStart=/usr/bin/sshd -D KillMode=process Restart=always [Install] WantedBy=multi-user.target
Code:(define sshd (service '(sshd ssh-daemon) ;the secure shell daemon #:start (make-inetd-constructor ;start on demand '("/usr/sbin/sshd" "-D" "-i") (list (endpoint (make-socket-address AF_INET INADDR_ANY 22)) (endpoint (make-socket-address AF_INET6 IN6ADDR_ANY 22))) #:max-connections 10) #:stop (make-inetd-destructor) #:respawn? #t)) (register-services (list sshd)) (start-in-the-background '(sshd))
Comment
-
Comment