segfault
nixos В последнее время хромач не успевает придти в кеши никсоси, от чего приходится отапливать квартиру старым гентушным способом. А после сборки бинарных хромач едет на ноут прямо с пека (пека настроен кешем на ноуте). При этом, конфиги на пека и на ноуте не идентичные, но есть много ообщих пакетов. Вот на сколько охуенна идея чистых повторяемых сборок, на столько же уебищна реализация nixpkgs на уебищном nix language. Классика индустрии, блядь.
segfault
Haskell nixos Вот вы говорите что Haskell это приседания, что его долго изучать, что он сложный. Я на весь Haskell вместе с монадами потратил 2 недели в 2012 еще, а деривейшены на nix-language уже 3 неделю пытаюсь научиться писать, и до сих пор не понимаю как они работают вообще работают. Модный динамический, простой в использовании кудах кукарек.
segfault
nixos В nixpkgs есть всякая изотерика. Например, свежий firefox с поддержкой google-talk-plugin, который уже давно не поддерживают и не обновляют. ИЧСХ он работает. Даже в генте его поддержку убрали.
segfault
nixos Жесть, как же быстро в никсос валятся обновления. Сегодня 3 раза ребейзил на мастер и 3 раза утягивал то новые qt5 то новый gcc с новыми glibc. Просто дичь. Буквально каждый час пересобирается вся система. Хорошо есть бинарный кэш.
segfault
nixos страннота Вот сообщество никсос странное. С одной стороны, у них nixpkgs ад пизды и содомия, с другой, разработчики все такие доброжелательные, сразу прибегают помогать мне допиливать пакет, тыкают носом во всякую сборочную магию, которая только с опытом приходит. Как им удается работать с таким адищем, и оставаться при этом отзывчивыми няшками?
segfault
nixos butthurt Правильно ли я понял, что пакетник nix делится на две совершенно разные задачи, которые легко отделить друг от друга, а именно

1. Управление деривейшенами, где деривейшен — это либо загрузка иссодников, либо, условно, тройка из:
1.1 Всех инпутов деривейшена, необходимых для сборки, включая библиотеки, заголовочники, бинари, сборочные утилиты (make, gcc, ghc, итд)
1.2 Сборочный скрипт, который находясь в окружении инпутов генерирует аутпуты не важно как
1.3 Список всех аутпутов деривейшена, которые могут быть отдельной зависимостью другого деривейшена, как и сам деривейшен целиком.

Эта задача включает в себя подготовоку окружения для сборки, очистку временных каталогов после сборки, сборку мусора, управление профилями пользователей и т.д. Короче все, чем занимаются nix-build, nix-env, nix-store. Эту задачу можно было бы даже решить на C++ (но не нужно), по крайней мере теперь уже позно что-то менять, ибо оно уже на крестах.

2. Задача генерации этих самых деривейшенов из конфигурации. И вот тут уже отдельный язык мягко говоря не нужен, особенно такой убогий, как ленивый джаваскрипт, коим является по сути nix language. Вот сейчас сборище пакетов nixpkgs представляет из себя нереально сложную программу на nix, которая читает конфигурацию, создает окружения на базе окружений, повторяет логику сборочных утилит для различных языков (сборка пакетов для haskell, ruby, python, qoc, perl ...), содержит СТАНДАРТНУЮ БИБЛИОТЕКУ для работы со списками, хешами и прочими примитивами, которые в нормальных языках давно есть.

В этой программе в почти невозможно разобраться, благодаря динамичности языка, и одновременно отсутствию инструментария, как у взрослых динамических языков. А также наличию конструкци `with`, которая вносит в скоуп все из параметра, значение которого по коду определить невозможно, потому что оно генерируется рекурсивными рекурсиями, которые берут неизвестный инпут, добавляют в него некоторые поля, ожидая от инпута определенного значения, и передают дальше ленивом джаваскрипте. Программа обладает космической цикломатической сложностью, если говорить короче. Разобраться, как она работает дико сложно, я все выходные и понедельник на это убил.

Имеем write only язык, разобраться в программах на котором может только сам автор, и то в течении ограниченного срока после написания. Т.е. какой нибудь пхп, лишп, перл, или жс подошли бы тут не хуже, чем nix language, но у них хотябы инструменты для отладки и тестирования есть а также прости господи IDE, без которой в них никуда.

И вот первая задача решена хорошо, а вторая еле работает. Как они поддерживают nixpkgs? Они реально такие сверхлюди, что могут это писать, и понимать, что они на самом деле делают, или ...? КАК ТАК ТО?
segfault
? nixos А я правильно понял, что чистота деривейшенов у них только номинальная (поддерживается прилежанием и усидчивостью)? Т.е. я в любом месте деривейшена могу сделать `let a = builtins.getEnv "MAGIC" in veryPureExpression` ?
segfault
nixos Раскуриваю никс, решил форкнуть nixpkgs и посмотреть как он устроен, 160к коммитов, клонирую уже 5 минут и закончится это не скоро. Оказывается набирает популярность и там есть уже все пакеты, даже не знаю что бы опакетить для тренировки. Бесполезный MindForger?
qnikst
Linux ? nixos а чего там в этих наших линуксах из человеческих DE есть? и что нормально на nixos поставится?
qnikst
? ликбез nixos вот есть nixos, systemd, volume (который монтируется в /home) в luks, внешняя usb клавиатура. В итоге эта комбинация при загрузке не видит внешнюю клавиатуру и соотвественно не позволяет с неё ввести пароль, что меня сильно огорчает. Куда копать?
// Вообще на самом деле такая конфигурация в принципе неверная и я должен хотеть, чтобы у меня /home/myuser (или его кусок) был в luks и соотвественно требовать пароль только, когда это требуется
qnikst
Linux nixos containers docker кстати, а в никсосе можно нахаляву контейнеризовать программу? поидее полущ всяких докеров будет да и с зависисостями и обновлениями проблема решена из коробки.
qrilka
WTF nixos сборка инст. диска никсоса свалилась с ошибкой "floppyd.c:44:22: fatal error: X11/Xlib.h: No such file or directory"
segfault
Linux ? nixos А кто у нас тут второтег использовал? Как там с пакетами? Как со стабильностью? Правильно ли я понял, что там есть собранные бинарные пакеты, но при этом, если бинарных нет, то можно все собрать, как в генте, но в отличие от генты бинарная совместимость не сломается? Флаги?
Annoynimous
говно nixos Вторая попытка познакомиться с nixos упёрлась в скачивание стометрового древнющего ghc без возможности реконнекта по говновайфаю. Нахуй это говно, Gentoo über alles.
segfault
? nixos The Nix package manager ensures that the running system is ‘consistent’ with the logical specification of the system, meaning that it will rebuild all packages that need to be rebuilt. For instance, if you change the kernel, Nix will ensure that external kernel modules such as the NVIDIA driver will be rebuilt as well — so you never run into an X server that mysteriously fails to start after a kernel security upgrade. And if you update the OpenSSL library, Nix ensures that all packages in the system use the new version, even packages that statically link against OpenSSL

Кто нибудь пробовал ставить эту годноту и пользовать ?