LINUX.ORG.RU

Вышел GNU Guix 1.0.0

 ,


0

2

2 мая 2019 года, после 7 лет разработки, программисты из фонда свободного программного обеспечения (FSF) выпустили GNU Guix версии 1.0.0. За эти 7 лет было принято более 40 000 коммитов от 260 человек, выпущено 19 релизов.

GNU Guix является результатом совместных усилий программистов из разных стран. Он одобрен FSF и теперь доступен для широкой аудитории. В настоящее время установочный образ имеет графическую установку, в которой генерируется конфигурационный файл, исходя из предпочтений пользователя.

Guix — это пакетный менеджер и дистрибутив операционной системы, в котором используется этот пакетный менеджер. Операционная система инициализируется из файла описания ОС, который использует язык Scheme. В качестве системы инициализации используется собственная разработка — GNU Shepherd. Ядро — Linux-libre.

Идея транзакционного пакетного менеджера впервые реализована в Nix. Guix - это транзакционный пакетный менеджер, написанный на Guile. В Guix пакеты устанавливаются в профили пользователей, для установки не требуются привилегии root, возможно использование многих версий одного пакета, также доступны откаты до предыдущих версий. Guix — первый пакетный менеджер, в котором реализована идея воспроизводимых (повторяемых) сборок с использованием архива Software Heritage. Установка программного окружения любой доступной версии позволяет программистам удобно работать с предыдущими версиями пакетов. Guix предоставляет инструменты работы с контейнерами, виртуальными машинами. Он собирает пакеты из исходников, использует серверы подстановки собранных бинарников для ускорения процесса установки пакетов.

В настоящее время вариант установки desktop включает X11, GDM, Gnome, NetworkManager по умолчанию. Можно переключиться на Wayland, также доступны рабочие столы Mate, Xfce4, LXDE, Enlightenment, различные оконные менеджеры X11. В настоящее время KDE отсутствует (см. Limitations).

Дистрибутив на данный момент включает 9712 пакетов, которые соответствуют требованиям FSF к свободному программному обеспечению и распространяются под свободными лицензиями GPL. Доступны nginx, php7, postgresql, mariadb, icecat, ungoogled-chromium, libreoffice, tor, blender, openshot, audacity и другие. Готовится перевод руководства на русский язык.

>>> Подробности

★★

Проверено: jollheef ()
Последнее исправление: Deleted (всего исправлений: 6)

Ответ на: комментарий от Barracuda72

заметил после публикации уже, лень было править ) о пирожках речи быть не может as is, BSD, etc. )

vasyan
()
Ответ на: комментарий от anonymous

И, тем не менее, он подстраивается, а легаси-бардак просто переехал внутрь никсовских конфигов. Попробуйт например настроить апач, омг какая срань выходит. И DSL для конфигов и не просто так придумывают, там могут быть выразительные единицы, которых нет в никсовском.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Имею ровно противоположное мнение. Только сегодня переделывал очередную пару конфигов с as-is на nix, доволен.

t184256 ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Не знаю про апач, а вот когда я впервые попробовал настроить nginx и увидел services.nginx.virtualHosts.<name>.enableACME, я был просто в экстазе.

t184256 ★★★★★
()

Когда я его как-то поставил, не смог установить Enlightenment. На тот момент что-то плохо было с документацией для этого дела. Если сейчас нормально, то второй заход сделаю.

turtle_bazon ★★★★★
()

Раньше было 14.5 конкурирующих стандартов, стало 15.

anonymous
()
Ответ на: комментарий от uin

как это у нормальных людей сделано - хаскелевый cabal с hsenv

Типа у cabal проблем нет?

Ingwar ★★★★★
()
Ответ на: комментарий от Vinni_Pooh

Сыроват ещё. Надо тестить.

Ясно. А выглядит интересно.

Odalist ★★★★★
()
Ответ на: комментарий от gnu_linux

Самый мощный язык программирования это Lisp. Если вы не знаете Lisp (или его вариант, Scheme), вы не знаете, что имеется в виду, когда говорят о мощности и элегантности языка программирования. Однажды вы выучите Lisp и поймете чего не хватает в других языках программирования.

Deleted
()
Ответ на: комментарий от t184256

Ну как бы есть эта же штука, только без лиспа. Что показательно, взлетело втрое выше.

Guix начал свой путь в 2012, Nix — в 2003. Очевидно, что Nix будет более распространен просто из-за того, что он на десять лет раньше появился.

Только вот Handshake донейт закинули в Guix, а не в Nix. И интерактивный инсталлятор есть у GuixSD, а не у NixOS.

NixOS это отличный дистрибутив (пишу с него, ждал первой стабильной версии GuixSD для того, чтобы перейти на него), но будущее не за ним, а за более гибким и прекрасным GuixSD.

anonymous
()
Ответ на: комментарий от anonymous

Какой дивный набор параметров для сравнения.

Nix — отличный дистрибутив (пишу с него) и в номинации «упорная гребля в светлое будущее против течения» уступает только Guix’у, отрыв от реальности которого еще более велик. Удачи разработчикам и пользователям Guix, и донат им, наверное, нужнее, и вообще, всех благ.

С одним не могу согласиться. Будущее, не дистилированное светлое теоретическое будущее, а реалии через лет эдак десять, будет не за Nix, и не за Guix. Будущее будет за чем-то полуубого срисовавшим их фичи и сумеющим себя продавить сначала в одну попсовую нишу, затем в другую.

t184256 ★★★★★
()

кто юзал и Guix и NixOS одновременно, сравните отличия и отпишитесь

чем кроме лиспа и guile G-expressions отличается от NixOS? как там с количеством годного опакеченного, где больше?

что «из коробки» более годно и стабильно?

где проще запилить свой репозиторий типа оверлея в генте, в Guix или в NixOS?

всякие docker/vagrant/hydra/ci и там, и там в целом одинаковы?

anonymous
()
Ответ на: комментарий от anonymous

Это легаси-бардак должен эволюционировать в направлении Nix.

особенно автолулзы, да :))

anonymous
()
Ответ на: комментарий от Deleted

Однажды вы выучите Lisp и поймете чего не хватает в других языках программирования.

не хватает хаскеля? :)

anonymous
()
Ответ на: комментарий от anonymous

детство Поттеринга Шеппарда

anonymous
()
Ответ на: комментарий от anonymous

В NixOS есть override:

hardware.pulseaudio.package = pkgs.pulseaudio.override { jackaudioSupport = true; };

Однако столь же развесистой системы флагов, как в генте, там нет.

quantum-troll ★★★★★
()
Ответ на: комментарий от anonymous

Только вот Handshake донейт закинули в Guix, а не в Nix

Потому что nix на самоокупаемости. По нему есть работа. И его авторы этим самым никсом и зарабатывают себе на жизнь. А guix столмановская поделка в вакууме, только и способная жить на гранты.

прекрасным GuixSD

Уж очень вряд ли. Лисп язык на любителя. Да и вообще guix выглядит как оплот юношеского максимализма (ядро швабодное, проприетари нет, все на лишпе, вместо популярного жидхуба и дискорса gnu savannah и мейллисты), в отличие от практичного nix

К тому же смотрю я на эти лишповые портянки в треде с N уровнем вложенности. Непонятно как это может быть удобнее никса с его неймспейсами

Deleted
()
Ответ на: комментарий от quantum-troll

Один маленький вопрос, откуда узнать все флаги=true все эти aaa.bbb.ccc fff.bbb.zzzMmm.lll.kKk? Попробовать хочется, но чёт лень какая то конфигаруционная каша, где что бы указать шел по умолчанию надо идти на форумы ))) Ткните носом меня. Так что бы я взял рандомный пакет и сразу мог получить по нему все настройки сборки и конечной настройки уже в системе.

Deleted
()
Ответ на: комментарий от Deleted

Гуглишь nixpkgs <имя пакета>. Открываешь и видишь в шапке все опции.
Например, pulseaudio: https://github.com/NixOS/nixpkgs/blob/master/pkgs/servers/pulseaudio/default.nix
Для настроек в configuration.nix в принципе то же самое, но ищешь уже не пакет, а модуль. Например: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/config/pulseaudio.nix

quantum-troll ★★★★★
()
Ответ на: комментарий от Deleted

https://nixos.org/nixos/options.html

https://nixos.org/nixos/packages.html - в описании пакета есть ссылка на исходник, открываешь и смотришь.

Волшебная команда nix edit позволяет быстро открыть сорцы любого пакета в текстовом редакторе.

Локальный поиск пакетам и опциям: https://discourse.nixos.org/t/handy-scripts-for-fuzzy-searching-nixpkgs-and-n...

Pacmu3ka
()
Ответ на: комментарий от Deleted

Потому что nix на самоокупаемости.

Nix по большей части пилит сообщество, которое денег за разработку не получает.

А guix столмановская поделка в вакууме, только и способная жить на гранты.

И тем не менее обычный пользователь без проблем может поставить GuixSD, а вот NixOS — нет, ибо у последнего даже инсталлятора не завезли, хотя там делать нехер.

anonymous
()
Ответ на: комментарий от anonymous

Nix по большей части пилит сообщество, которое денег за разработку не получает

Правильно. Если тебе что-то надо, то запили сам или найми кого-то. Речь идет о прикладном применении NixOS и получении за это бабла, а не о пилении ради пиления.

ибо у последнего даже инсталлятора не завезли, хотя там делать нехер

Идиотский аргумент. Ну поставишь ты GuixSD - а дальше что? Обычный пользователь как ты говоришь в лисповые портянки не полезет, ну и нахрена ему твой GuixSD тогда? Можно и лайвом в таком случае ограничиться

Deleted
()

Оно по-прежнему запускается только на виртуалках?

anonymous
()
Ответ на: комментарий от Deleted

Речь идет о прикладном применении NixOS и получении за это бабла, а не о пилении ради пиления.

А ты думаешь на guix донатят ради лулзов? За ним будущее, поэтому и донатят, чтобы оно быстрее наступило.

Версия 1.0 это тот самый шаг, за которым только массовая адаптация.

лисповые портянки

И чем они отличаются от home-grown портянок? Тем, что некоторые идиоты хейтят лисп только потому, что им Вася во дворе сказал, что он не моден?

GuixSD предоставляет хорошую кривую изучения. На начальном этапе можно просто дергать guix install, а после при необходимости — использовать system-wide транзакции.

anonymous
()
Ответ на: комментарий от Deleted

ибо у NixOS даже инсталлятора нет

Идиотский аргумент

И действительно. Инсталляторы же для каких-то лохов, а NixOS не для них, он для илиты.

Вперёд за Gentoo, за NixOS! Arch-ем после закусить, если надоест пердолиться вместо того, чтобы использовать компьютер для работы, как это позволяют правильные дистрибутивы вроде GuixSD.

anonymous
()
Ответ на: комментарий от anonymous

чтобы использовать компьютер для работы, как это позволяют правильные дистрибутивы вроде GuixSD

И каким же образом, если половина железа не заработает? Плюс еще учить лисп, на что обычный юзер не пойдет. Конфиги NixOS куда проще в чтении и понимании нежели портянки на лиспе с кучей скобок.

anonymous
()
Ответ на: комментарий от anonymous

Конфиги NixOS куда проще в чтении и понимании

Это ты так пошутил? Проще в понимании только «a = b», а дальше полный ад и содомия.

Puzan ★★★★★
()
Ответ на: комментарий от Puzan

Это ты так пошутил?

Нет, с чего ты взял?

а дальше полный ад и содомия

В остальным дистрах со 100500 разными конфигами для каждой софтины в етс.

Проще в понимании только «a = b»

Ежели для тебя так, что ты делаешь в линуксах?

anonymous
()
Ответ на: комментарий от anonymous

Ежели для тебя так, что ты делаешь в линуксах?

Что он делает в линуксах, если для него конфиги nixOS проще, чем конфиги guixSD только на уровне «а = b»? - Это твой вопрос.

taratas
()
Ответ на: комментарий от anonymous

В остальным дистрах со 100500 разными конфигами для каждой софтины в етс.

Не тупи. Речь шла о том, что убогий недоязык Nix не тянет против богоподобного Scheme, и что вся его простота заканчивается на «a=b».

что ты делаешь в линуксах?

Всё (почти), и уже очень давно.

Puzan ★★★★★
()
Ответ на: комментарий от anonymous

А ты думаешь на guix донатят ради лулзов? За ним будущее, поэтому и донатят, чтобы оно быстрее наступило.

Такому говну как Gnome тоже донатят. Это ни о чем не говорит. Еще раз повторяю, команда Nix в состоянии самостоятельно найти деньги. И в отличие от GuixSD, NixOS используют в реальной работе. GuixSD это для мамкиных борщехлёбов.

И чем они отличаются от home-grown портянок? Тем, что некоторые идиоты хейтят лисп только потому, что им Вася во дворе сказал, что он не моден?

Вася никому ничего не говорил. Любой нормальный человек использует реальные языки программирования, а не AST в скобках. Nix DSL свои задачи решает, к нему серьезных претензий нет. Читабелен и модули для NixOS на нем писать довольно просто.

Deleted
()
Ответ на: комментарий от anonymous

Обычный пользователь выкинет твой GuixSD сразу же после установки. Потому что из огня да в полымя. Устанавливать просто, а вот дальше будет все непонятно и сложно. Сначала ты ему псевдографический установщик, а потом он с тебя такие же псевдографические утилиты по настройке системы попросит.

Раз никто не запилил то что ты называешь установщиком, значит никому это не надо. Установщик там вообще-то есть - nixos-install. Если пользователь не может диск разметить, то он реально идиот. Это даже пользователи Windows проходили.

Deleted
()
Ответ на: комментарий от Deleted

Такому говну как Gnome тоже донатят. Это ни о чем не говорит.

Какой отличный пример.

Gnome это основное DE в GNU/Linux мире. Debian, Ubuntu, RHEL и другие основные – все они выбирают Gnome по умолчанию. Потому что он лучше.

По той же причине и донатят на Gnome. Также, как и на Guix – чтобы развивался, ибо нужен.

Любой нормальный человек использует реальные языки программирования, а не AST в скобках

Ну вот, хейтерство Lisp да и только. Наверное, тут даже смысла нет обсуждать что-то, если для тебя это вопрос религии.

Nix DSL свои задачи решает, к нему серьезных претензий нет.

Вот тебе простая задача: есть неопределенное количество VPN конфигураций, для IP каждого из которой нужно добавить правило iptables: iptables -A OUTPUT -d ${VPN_IP} -j ACCEPT.

Расскажи мне, каким образом ты будешь решать эту задачу средствами Nix DSL.

Deleted
()
Ответ на: Чтение мануалов вслух, дорого от anonymous

А ты не мануалы читай вслух, их содержимое мне и без тебя известно. Ты мне решение задачи покажи.

Вот тебе исходный пример:

networking.firewall = {
  enable = true;
  extraCommands = ''
    #...
    iptables -A OUTPUT -d ${vpn.ip1} -j ACCEPT
    iptables -A OUTPUT -d ${vpn.ip2} -j ACCEPT
    iptables -A OUTPUT -d ${vpn.ip3} -j ACCEPT
    iptables -A OUTPUT -d ${vpn.ip4} -j ACCEPT
    iptables -A OUTPUT -d ${vpn.ip5} -j ACCEPT
    iptables -A OUTPUT -d ${vpn.ip6} -j ACCEPT
    iptables -A OUTPUT -d ${vpn.ip7} -j ACCEPT
    #...
  '';
};
Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.