• 0 Posts
  • 5 Comments
Joined 2 years ago
cake
Cake day: March 17th, 2024

help-circle
  • You prefer:

         (add-after 'install 'remove-examples
           (lambda* (#:key outputs #:allow-other-keys)
             (with-directory-excursion
                 (string-append (assoc-ref outputs "out") "/lib")
               (for-each delete-file
                         (list
                          "basic-server"
                          "helloworld"
                          "postcollector")))
    

    over:

    postInstall = ''
       rm  $out/lib/basic-server $out/lib/helloworld $out/lib/postcollector
    ''
    

    ?


  • The two main advantages of Guix are the language

    I wouldn’t call that an advantage for the average person. Nix is far nicer to work with. Some Lispers might disagree, but I, for one, can’t exactly see the beauty in trying to turn Scheme into a configuration language with macros and hacks. Also Guix puts Scheme everywhere, things you can do with plain old Bash in Nix, you’ll have to all do in Scheme in Guix, so there is a much steeper learning curve.


  • The biggest problem with Scheme as config language is that it is sloooooowwwww. Nix is already quite sluggish when it comes to configuration changes, in Guix it’s a lot worse, and it’s unlikely to change anytime soon, given that Scheme allows macros and other hacks that might make it difficult to properly cache or index the package database.


  • You can manage multiple machines with a single Nix configuration git repository and modularize the configuration as much as you want. You can have a config with a desktop environment that you skip on servers, override individual variables for a specific host or do whatever you want. You can even remote deploy it all with a simple nixos-rebuild build --target-host "user@host" and it works across different architectures too (e.g. build on your fast x86 machine and deploy to a slow RaspberryPi).


  • Technically they are correct. None of the Open Source licenses really regulate what happens on the server. When it’s not you running the binary, all the licenses are basically useless. AGPL is one of the few that address this a little bit, but even there you only get the source code itself, when the value in most online services is in the databases and backend stuff that you still don’t get to access with AGPL.

    The Free Software world hasn’t figured out what to do with services running on computers you don’t own. GDPR is so far the only thing does something about the server side, but that’s EU law, not a license you can slap onto your software.