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
    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