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.

  • 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