#headline

53 posts · Last used 3d

Back to Timeline
@HaraldvonBlauzahn@feddit.org in linux · 3d ago

GNU Guix transactional package manager and distribution — GNU Guix

cross-posted from: feddit.org/post/23120439 Here, my summary of key features and decisions of Guix: Guix is a package manager that can (optionally) run on top of Linux distributions like Debian or Arch (I use it successfully for both) or other POSIX systems, like cargo, pip, conda or Conan. In difference to the pip and cargo package managers, it is language-agnostic, supports many different build systems and languages, and features around 31000 packages now. Guix allows to define a fully reproducible system. This works by using a declarative language for immutable version-controlled package descriptions, and by deriving any software from package definitions and a fixed version (commit hash) of the source code. In that, it is similar but much stricter than Nix and NixOS. The key point is that any software built, and all its dependencies, go back to unambigously, immutable versions of source code and build recipes - and all inputs to the system are open source and can be reviewed. This gives also some important protection against malware: An altered cached, binary package would not match the hash of the package’s source code, its package definition, and the recursive hash of its dependencies. Important for programming, this can also define isolated build and development environments, like Python’s venv, but also Docker containers. This means that Guix can be used to develop, build, package, and deploy software, very much like Snap packages. And that’s independent from the distribution you work in, very much like pip or cargo are independent from the system you work in. (And yes, it supports Rust!). This allows it, and also makes it technically possible, that any software package can be re-built and run years later. To make this legally possible, the official distribution of Guix also demands all components to be open source (FOSS). This is also a key difference to NixOS and non-free forks of Guix, which allow non-free binary packages, but sacrifice reproducibility. (To illustrate: If you have a binary, proprietary scanner driver in NixOS, and the owning company practices planned obselescence and decides that you should buy their new hardware, and pulls that driver, you are out of luck. In Guix, this can’t happen.) (Note that as your own private conponents, you can define any package you like, you can also distribute your definitions as a complement to GNU Guix. Non-free packages for Guix do exist, in the same way as you can buy and run Steam Games software for Linux. Such non-free software just can’t become part of the official Guix distribution, just like Amazon or Apple can’t sell their non-free software via Debian or the Linux kernel project (or, for that matter, Apple has no obligation to market and distribute, say, Oracle products). All inputs being open source also means that any software component can be reviewed, that mis-features such as privacy-invasive behaviour can be removed, and that it is hardly possible to hide malware in the system. Because this also applies recursively to all compilers and build tools, this solves also Thompson’s “Trusting Trust” problem. In fact, the whole system can be build from a 512 byte binary root (called MER). (Interestingly, that level of user control gets a lot of hate online – certain companies don’t seem to like it). Because it would take too long to build every user package from source every time, the produced packages are normally cached (while their correct binary content can be easily verified). The declarative description language for the packages is a well-defined, established, minimalist language called Scheme. This is a member of the Lisp family of languages. That Lisp is very well suited for declaratively building and configuring large systems has been proven with GNU Emacs, whose software, but more importantly, whole user configuration, is written in Emacs Lisp. The Scheme implementation used is called Guile. It has especially good support for the POSIX environment and has also much better-than-average interactive debugging capabilities compared to other Scheme implementations. Also worth noting is that the Guix project has superb online documentation. This is a practical advantage compared to Nix. As example: you are on Debian stable and quickly want to try a recent version of the kakoune editor (as kakoune is in ongoing development): They are available under the Guix package manager. Just guix install kakoune and bang you have it! How it works: codeberg.org/guix/guix#headline-4 Manual: guix.gnu.org/manual/en/…/Installation.html Also informative for using Guix just as a package manager: wiki.archlinux.org/title/Guix
0
2
1
@HaraldvonBlauzahn@feddit.org in linux · 3d ago

GNU Guix transactional package manager and distribution — GNU Guix

cross-posted from: feddit.org/post/23120439 Here, my summary of key features and decisions of Guix: Guix is a package manager that can (optionally) run on top of Linux distributions like Debian or Arch (I use it successfully for both) or other POSIX systems, like cargo, pip, conda or Conan. In difference to the pip and cargo package managers, it is language-agnostic, supports many different build systems and languages, and features around 31000 packages now. Guix allows to define a fully reproducible system. This works by using a declarative language for immutable version-controlled package descriptions, and by deriving any software from package definitions and a fixed version (commit hash) of the source code. In that, it is similar but much stricter than Nix and NixOS. The key point is that any software built, and all its dependencies, go back to unambigously, immutable versions of source code and build recipes - and all inputs to the system are open source and can be reviewed. This gives also some important protection against malware: An altered cached, binary package would not match the hash of the package’s source code, its package definition, and the recursive hash of its dependencies. Important for programming, this can also define isolated build and development environments, like Python’s venv, but also Docker containers. This means that Guix can be used to develop, build, package, and deploy software, very much like Snap packages. And that’s independent from the distribution you work in, very much like pip or cargo are independent from the system you work in. (And yes, it supports Rust!). This allows it, and also makes it technically possible, that any software package can be re-built and run years later. To make this legally possible, the official distribution of Guix also demands all components to be open source (FOSS). This is also a key difference to NixOS and non-free forks of Guix, which allow non-free binary packages, but sacrifice reproducibility. (To illustrate: If you have a binary, proprietary scanner driver in NixOS, and the owning company practices planned obselescence and decides that you should buy their new hardware, and pulls that driver, you are out of luck. In Guix, this can’t happen.) (Note that as your own private conponents, you can define any package you like, you can also distribute your definitions as a complement to GNU Guix. Non-free packages for Guix do exist, in the same way as you can buy and run Steam Games software for Linux. Such non-free software just can’t become part of the official Guix distribution, just like Amazon or Apple can’t sell their non-free software via Debian or the Linux kernel project (or, for that matter, Apple has no obligation to market and distribute, say, Oracle products). All inputs being open source also means that any software component can be reviewed, that mis-features such as privacy-invasive behaviour can be removed, and that it is hardly possible to hide malware in the system. Because this also applies recursively to all compilers and build tools, this solves also Thompson’s “Trusting Trust” problem. In fact, the whole system can be build from a 512 byte binary root (called MER). (Interestingly, that level of user control gets a lot of hate online – certain companies don’t seem to like it). Because it would take too long to build every user package from source every time, the produced packages are normally cached (while their correct binary content can be easily verified). The declarative description language for the packages is a well-defined, established, minimalist language called Scheme. This is a member of the Lisp family of languages. That Lisp is very well suited for declaratively building and configuring large systems has been proven with GNU Emacs, whose software, but more importantly, whole user configuration, is written in Emacs Lisp. The Scheme implementation used is called Guile. It has especially good support for the POSIX environment and has also much better-than-average interactive debugging capabilities compared to other Scheme implementations. Also worth noting is that the Guix project has superb online documentation. This is a practical advantage compared to Nix. As example: you are on Debian stable and quickly want to try a recent version of the kakoune editor (as kakoune is in ongoing development): They are available under the Guix package manager. Just guix install kakoune and bang you have it! How it works: codeberg.org/guix/guix#headline-4 Manual: guix.gnu.org/manual/en/…/Installation.html Also informative for using Guix just as a package manager: wiki.archlinux.org/title/Guix
0
0
0
eurovision
@eurovision@flipboard.social · May 09, 2026
🇦🇹 Live from Vienna: Eurovision 2026 Turquoise Carpet & Opening Ceremony The Eurovision Song Contest 2026 officially commences today with the Turquoise Carpet and Opening Ceremony. What is the… #Eurovision #EurovisionSongContest2026 #headline https://www.europesays.com/europe/36759/
0
0
0
europesays
@europesays@pubeurope.com · May 08, 2026
https://www.europesays.com/2974431/ 🇸🇪 Sweden: Felicia Releases New Blasterjaxx Version of “My System” #Eurovision2026 #Felicia #Headline #nyheter #Sverige #sweden
0
0
1
eurovision
@eurovision@flipboard.social · May 07, 2026
🇰🇿 Kazakhstan: Khabar Will Not Broadcast Eurovision 2026 Kazakh broadcaster Khabar will not broadcast this year’s edition of the Eurovision Song Contest. This year’s Eurovision Song… #Eurovision #EurovisionSongContest2026 #headline https://www.europesays.com/europe/34799/
0
0
0
eurovision
@eurovision@flipboard.social · May 05, 2026
Live from Vienna: Day Four of First Rehearsals For Eurovision 2026 Today, the first rehearsals for the 70th edition of the Eurovision Song Contest continue in Vienna. First rehearsals… #Eurovision #EurovisionSongContest2026 #headline https://www.europesays.com/europe/31294/
0
0
0
eurovision
@eurovision@flipboard.social · May 04, 2026
🇵🇹 OGAE Portugal Votes in the OGAE Poll 2026 The next set of results is in for the OGAE Poll 2026, with the results from the Portuguese… #Eurovision #EurovisionSongContest2026 #headline #OGAEPoll2026 https://www.europesays.com/europe/31186/
0
0
0
eurovision
@eurovision@flipboard.social · May 04, 2026
Director of the Eurovision Song Contest Rules Out Forbidding Countries at War from Competing in the Eurovision Song Contest Martin Green, the Director of the Eurovision Song Contest, has spoken to NOS about the Eurovision Song Contest… #Eurovision #EurovisionSongContest2026 #headline https://www.europesays.com/europe/31110/
0
0
0
eurovision
@eurovision@flipboard.social · May 04, 2026
🇸🇪 OGAE Sweden Votes in the OGAE Poll 2026 The next set of results is in for the OGAE Poll 2026, with the results from the Swedish… #Eurovision #EurovisionSongContest2026 #headline #OGAEPoll2026 https://www.europesays.com/europe/31095/
0
0
0
eurovision
@eurovision@flipboard.social · May 04, 2026
Live from Vienna: Day Three of First Rehearsals For the 70th Eurovision Song Contest Today, the first rehearsals for the 70th edition of the Eurovision Song Contest continue in Vienna. First rehearsals… #Eurovision #EurovisionSongContest2026 #headline https://www.europesays.com/europe/31028/
0
0
0
eurovision
@eurovision@flipboard.social · May 04, 2026
Eurovision 2026: The Artists’ Journeys to Vienna Continue The artists participating in the second half of Semi-Final Two of Eurovision 2026 have started their journeys to… #Eurovision #EurovisionSongContest2026 #headline https://www.europesays.com/europe/30973/
0
0
0
Free_Press
@Free_Press@mstdn.social · Apr 25, 2026
60
13
134
indie
@indie@infosec.exchange · Nov 30, 2025
Israel bans #Android? iPhones mandatory? Good morning sober people. I triple checked and ..... no, this #headline is not the Onion. Clearly, IOF was never elite hackers. #Apple really is a bunch of Zionist child porn addicted yuppies. You all should be ashamed of yourself. #NotTheOnion
0
2
0
Free_Press
@Free_Press@mstdn.social · Apr 17, 2026
DIRTY REPUBLICANS! "The same MAGA Lauren Boebert who was caught giving her date a hand job in the audience while attending a local community play." — Aure MAGA Rep. Boebert reacts to sexual misconduct allegations on Capitol Hill: “Why is everyone so horny here?” #AureFreePress #News #press #headline #GOP #Politics #uspolitics #uspol More News at @Free_Press@mstdn.social
5
2
5
Free_Press
@Free_Press@mstdn.social · Apr 14, 2026
BREAKING NEWS 🚨 Update to earlier post.... A U.S.-sanctioned vessel with a Chinese owner passed through the Strait of Hormuz on Tuesday, becoming one of the first to transit the waterway since the start of an American naval blockade against Iran, Nikkei Asia reports #AureFreePress #News #press #headline #wariniran #China #Breaking #BreakingNews More News at @Free_Press@mstdn.social
1
2
1
Boosted by Philip C James @PhilipCJames@mas.to
Free_Press
@Free_Press@mstdn.social · Apr 12, 2026
TRUMP CRIME FAMILY Felon In The White House Donald Trump’s regime admitted to using significantly inflated New York Medicaid figures to justify a fraud probe — a mistake that is now raising broader questions about its nationwide crackdown on alleged abuse in democrat led states. #AureFreePress #News #press #headline #GOP #Politics #uspolitics #uspol #Breaking #BreakingNews More News at @Free_Press@mstdn.social https://share.newsbreak.com/i3983wf5
4
2
26
Free_Press
@Free_Press@mstdn.social · Apr 13, 2026
A NEW MORNING IN EUROPE! President Zelensky congratulated Péter Magyar and the Tisza party on their landslide election win, pledging to work with the incoming government. #AureFreePress #News #press #headline #Ukraine #hungary More News at @Free_Press@mstdn.social
9
1
7
Free_Press
@Free_Press@mstdn.social · Apr 13, 2026
DELUSIONAL DESPOT... The head of the russian Foreign Ministry, Lavrov, stated, that to resolve the war in Ukraine, "security guarantees for Russia are necessary" and expressed indignation that in the European Union, "they are only talking about such guarantees for Ukraine". POOR. BABY. AGGRESSOR. #AureFreePress #News #press #headline #Ukraine #Russia #Putin #EU #NATO More News at @Free_Press@mstdn.social
12
2
5
Free_Press
@Free_Press@mstdn.social · Apr 05, 2026
PENDING WAR CRIMES.... Trump gives Iran until Tuesday at 8:00 PM ET to make a deal or he will blow up Iranian power plants and bridges. #AureFreePress #News #press #headline #GOP #Politics #uspolitics #uspol #Breaking #BreakingNews More News at @Free_Press@mstdn.social
5
1
5
Boosted by Charlie Stross @cstross@wandering.shop
Free_Press
@Free_Press@mstdn.social · Mar 30, 2026
8
10
17