cross-posted from: https://lemmy.today/post/34279957

guix shell sees to it that all of the dependencies (listed in the inputs and native-inputs sections) are available within the shell session it creates by downloading (or building, if necessary) the entire dependency tree.

Should you want/need more isolation from the host system, guix shell has you covered. The --pure flag will clear out most existing environments variables, such as $PATH, so that the resulting environment does not contain pointers to places like /usr. For more Docker-like isolation, the --container flag can be used, which will run the new shell session within a set of Linux namespaces so that the host system is inaccessible.

  • frankenswine@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    16 days ago

    it’s as simple as

    (command argument0 argument1 argument2)
    

    meaning arguments 0, 1 and 2 are applied to command. when an expression is evaluated it dissolves into a value according to its context.

    (+ 1 2 3)
    ; evaluates to 6 in a context where + actually means an addition or sum operation
    
    (* 2 (+ 4 3))
    ; evaluates to 14 (i think)
    

    the absolute killer feature is the elimination of idiotic, man-made madness excused with the term “operator precedence”