• 0 Posts
  • 35 Comments
Joined 11 months ago
cake
Cake day: December 16th, 2023

help-circle









  • You can start a different TTY than the install automatically starts. Guix has a ‘guix system init‘ command you can point to a system config and mounted filesystem, much like arch's system init.

    If you use the curses-based installer it auto-generates a system config file for you.

    Note that the base configuration is entirely libre kernel so some drivers may not work (like wifi)

    In order to get these working out of the box you have to make a boot iso with guix with a non-libre kernel.

    The system crafters channel has a guide that details using nonguix (a non-libre kernel channel) in the installation out of the box: https://systemcrafters.net/craft-your-system-with-guix/full-system-install/



  • Active GuixSD user.

    Our application catalog is much smaller than many other distros simply because we don't have the userbase large enough to surface the volunteers necessary to support it. So you will have to learn to write your own packages eventually

    That said, if you know your way around functional languages (in this case, scheme), it's probably the easiest time I've ever had writing a package. Everything that goes into the script is known at the time the script is written, so weird extrinsic problems don't really occur after you've written the package.

    Some stuff that you and the guix maintainers may not have the time to support will also get updated more slowly.

    Luckily flatpak exists, and is a godsend for the new wave of read-only (functional/ostree-based) OSs.

    Biggest appeal for me was having all my configuration in one place (and documented) so if I forget I did something in 6 months, it's always staring at me in my home or system config file. You can accomplish the same thing by being diligent with say, script files, but it's drop-dead easy to just maintain a system and home descriptor file and keep editing that.



  • WalnutLum@lemmy.mltoLinux@lemmy.mlNiche Distro Users: Why?
    ·
    3 months ago

    You can use nix alongside guix, it'll just double-up the dependencies on disk:

    services (append (list (service nix-service-type))
                        %base-services)))
    

    Services are, in guix terms, any configuration change to a computer, so creating your own service 99% of the time is just extending etc-service-type and creating a variable interface to fill in the config file text yourself

    Creating a service as in a daemon of some kind uses shepherd and involves extending shepherd-service-type or home-shepherd-service-type with your service description, depending on whether the service runs in root or user space.

    Shepherd service configurations aren't actually part of the guix spec(https://www.gnu.org/software/shepherd/manual/shepherd.html#Defining-Services), but still use Guile, so you can interoperate them super easily.

    It's important in guix to understand lisp pretty thoroughly, and knowing how to program lisp is still a very useful skill to have so I'd recommend learning it even if you never touch guix.


  • WalnutLum@lemmy.mltoLinux@lemmy.mlNiche Distro Users: Why?
    ·
    3 months ago

    I use guix because, while it has a small community, the packaging language is one of the easiest I've ever used.

    Every distro I've tried I've always run into having to wait on packages or support from someone else. The package transformation scheme like what nixos has is great but Nixlang sucks ass. Being able to do all that in lisp is much preferred.

    Plus I like shepherd much more than any of the other process 0's