I am thinking about moving to Guix, and was wondering what you all think of Shepherd?

What are things you like? What are its shortcomings? Any cool or weird things you wish you knew before using it?

For context, I am currently using Runnit.

  • LalSalaamComrade@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    3 months ago

    You can use shutdown or reboot - but it will require privilege escalation with sudo. The desktop environment’s shutdown and reboot command should be working fine, just the way it is intended to. systemd is not an init system, but all the software tools crammed into one. Other init systems, including shepherd tries to keeps it simple and clean.

    • Doom4535@lemmy.sdf.org
      link
      fedilink
      arrow-up
      1
      ·
      3 months ago

      What I mean with shutdown, is the flags have changed (So, I can’t do ‘shutdown -hP’ or ‘shutdown -hP now’)

      • LalSalaamComrade@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 months ago

        With that respect, you’re not wrong. It is actually a Guile script:

        #!/gnu/store/mfkz7fvlfpv3ppwbkv0imb19nrf95akf-guile-3.0.9/bin/guile --no-auto-compile
        -*- scheme -*-
        !#
        
        (set! %load-path (cons "/gnu/store/r8qkjgpsy4zy982y8zifryi4n6b3qnvs-shepherd-0.10.5/share/guile/site/3.0" %load-path))
        (set! %load-compiled-path (cons "/gnu/store/r8qkjgpsy4zy982y8zifryi4n6b3qnvs-shepherd-0.10.5/lib/guile/3.0/site-ccache" %load-compiled-path))
        (apply (@ (shepherd scripts halt) main) (cdr (command-line)))
        

        Now, interestingly, there is also another command called halt, which also happens to be a Guile script:

        #!/gnu/store/mfkz7fvlfpv3ppwbkv0imb19nrf95akf-guile-3.0.9/bin/guile --no-auto-compile
        -*- scheme -*-
        !#
        
        (set! %load-path (cons "/gnu/store/r8qkjgpsy4zy982y8zifryi4n6b3qnvs-shepherd-0.10.5/share/guile/site/3.0" %load-path))
        (set! %load-compiled-path (cons "/gnu/store/r8qkjgpsy4zy982y8zifryi4n6b3qnvs-shepherd-0.10.5/lib/guile/3.0/site-ccache" %load-compiled-path))
        (apply (@ (shepherd scripts halt) main) (cdr (command-line)))
        

        This needs to be documented properly.

        • Doom4535@lemmy.sdf.org
          link
          fedilink
          arrow-up
          1
          ·
          3 months ago

          Dang, I had no idea and never thought to inspect it; thank you for pointing that out, now maybe I can finally figure out how to nicely shutdown from the terminal