• 13 Posts
  • 24 Comments
Joined 4 years ago
cake
Cake day: June 10th, 2020

help-circle

  • Would be pretty useful, as far as I know there is no way to change /etc/{subuid,subgid} in the system configuration without manually editing.

    Well I had to make one :) it is being tracked on https://issues.guix.gnu.org/72337 . You can define subuid and subgid ranges like so:

    (use-modules (gnu system shadow)      ;for 'subids-service-type'
                             (gnu system accounts))   ;for 'subid-range'
    
    (operating-system
      (services
        (list
          (simple-service 'alice-bob-subids
                          subids-service-type
                          (subids-extension
                            (subgids
                             (list
                              (subid-range (name "alice"))))
                            (subuids
                             (list
                              (subid-range (name "alice"))
                              (subid-range (name "bob")
                                           (start 100700)))))))))
    
    

    which would yield

    # cat /etc/subgid
    root:100000:65536
    alice:165536:65536
    
    
    # cat /etc/subuid
    root:100000:700
    bob:100700:65536
    alice:166236:65536
    

    Another annoyance with podman on guix is making / a shared mount doesn’t work so changes in mounts aren’t propagated.

    I think I solved that by using a Shepherd service run on boot calling mount --make-shared / . I didn’t do extensive testing of mounts but I’m currently using this on my systems as it’s set up in my personal channel. By adding the following to my own system config

    (use-modules (small-guix system accounts)
                             (small-guix services containers))
    
    (service iptables-service-type)
    (service rootless-podman-service-type
                   (rootless-podman-configuration
                    (subgids
                     (list (subid-range (name "alice"))))
                    (subuids
                     (list (subid-range (name "alice"))))))
    

    I’m able to run the following rootless Podman hello world

    $ podman run -it --rm docker.io/alpine cat /etc/*release*
    NAME="Alpine Linux"
    ID=alpine
    VERSION_ID=3.20.2
    PRETTY_NAME="Alpine Linux v3.20"
    HOME_URL="https://alpinelinux.org/"
    BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues"
    

    and with guix shell podman-compose I’m able to run this Podman compose hello world:

    $ mkdir data
    $ echo hello world > data/index.html
    $ podman compose up -d
    
    ...
    
    exit code: 0
    $ curl localhost:8080
    hello world
    

    So some kind of mount appears to work. Thank you for your feedback and feel free to try the service from my own channel if you are interested in providing more or in trying rootless podman on the Guix System.




  • I wouldn’t go the manual way if you are not forced. If you use NetworkManager you can import the configuration either grafically or with nmcli.

    It should be sufficiente to modify the network manager service provided by Guix:

    (modify-services %desktop-services
     [...]
     (network-manager-service-type config =>
     		               (network-manager-configuration
    			        (inherit config)
    			        (vpn-plugins (list network-manager-openvpn))))
    

    reconfiguring your system, rebooting and then importing the configuration and set your credentials





  • I think functional distros like Guix or Nix are just another thing. Their ability of programming , provisioning and deploying software environments is unparalleled. My personal favorite is Guix since, while having less packages than Nix, it has the most consistent experience: everything is in Scheme from the top to the bottom of the distro. Also it pushes really hard on a sane bootstrapping story while allowing for impurity through channels like nonguix .

    The main downside is the lack of tutorials and a documentation that’s very intense, let’s say. typical of GNU projects. I suggest the System Crafters youtube channel which has a lot of nice tutorials






  • imho having a more accessible contribution workflow would increase the number of people interested in spending time in reviewing.

    Regardless of the many problems of web forges today the ability to review only what’s changed between the various revisions of a pull request and the comments in a single view is not achievable with a simple email workflow. You end up reimplementing the PR/MR functionality with other tools, exactly as is happening with the Guix QA tools. I love them but we’re reimplementing gitlab/gitea/codeberg by parsing patch revisions from emails subjects.







  • fishinthecalculator@lemmy.mltoGuix@lemmy.ml***
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    11 months ago

    The fact that you see guix downloading mariadb is probably due to “inputs bloat” you may never be able to get rid of it without an upstream fix or providing your own implementation of some upstream package/service. 4 to 6 hours is a lot, do you use substitutes?

    If you want to reduce the bloatedness of your operating-system record, look into %desktop-services or %base-services (depending on which one you are overriding) and delete/replace what you will with modify-services.

    Here are my configurations.