LINUX.ORG.RU

NixOS 19.03

 ,


3

4

Увидел свет новый релиз дистрибутива NixOS. Особенностями NixOS являются «функционально чистый» пакетный менеджер Nix, а также собственная система единой конфигурации.

Некоторые изменения:

  • Интерпретатором Python 3 по умолчанию теперь является CPython 3.7;
  • добавлено окружения рабочего стола Pantheon, развиваемое разработчиками elementary OS;
  • модуль Kubernetes подвергся масштабному рефакторингу;
  • добавлено 35 новых модулей;
  • прекращена поддержка nodejs версии 6;
  • Wayland-композитор Sway обновлён до версии 1.0;
  • оболочка fish обновлена до версии 3.0.

Готовые установочные образы предоставляются в варианте с десктопным окружением KDE Plasma 5 и в облегчённом консольном варианте (без предустановленного окружения рабочего стола). Также доступны образы для VirtualBox, Amazon EC2 и Microsoft Azure.

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

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

Изображения и видео (относительно сложное) с его помощью не отредактировать.

Я больше скажу, я даже иконочные файловые менеджеры использую. Примерно два раза в год — когда в очередной раз сливаю с фотоаппарата отснятые фотки и сортирую их. Превьюшки в этой ситуации довольно удобны. Два раза в год. В последнее время даже реже, что-то я мало стал снимать.

Одно дело — когда графика используется для графики (это вообще GUI ни при чём, это просто вот графические возможности компьютера используются по прямому назначению), и совсем другое — вся эта иконочно-менюшечная галиматья, например, при копировании файлов.

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

Ну так ты точно уж пользуешься ed вместо vim?

Нет, зачем. Vim консольный.

Ну и вместо GIMP у тебя ImageMagick, да?

Да. Точнее, у меня просто ImageMagick, без всякого «вместо».

Что вместо Audacity используешь?

Тьфу, а это вообще что?

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

Vim консольный

Это от GUI пошло, это не CLI интерфейс как в ed.

Да.

Есть человек на фотографии, тебе нужно вырезать его, ну просто такая задача, как ты это будешь делать? Может в ImageMagick и в правду удобно, а?

Тьфу, а это вообще что?

Для звука.

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

Ну вот тебе нужно вырезать человека из фотографии, какие команды будешь использовать?

Не поверишь — display. Он как раз в ImageMagick входит, но да — графический. Так тут мы графику используем по прямому назначению, а не для хрени всякой менюшечно-иконочной и неюзабельной.

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

Нет, тут графика тоже не нужна, в CLI же все быстрее! Ну картинки в тексте не представишь, значит нужно как в VIM, граф окно, а внизу командная строка, и надо вводить координаты... Ох, работа то как быстро пойдет! Ну сам же понимаешь что GUI помогает? А таких задач много, нужно мне допустим выбрать фотографии, файловый менеджер с превьюшками мне поможет! Или выделить 3 файла, я могу сразу щелкнуть по ним, а если нужно выделить по шаблону я нажму комбинацию и введу этот шаблон так же быстро как и в консоли.

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

Нет тут никакого элитизма. Просто домохозяйский дистр не даёт никаких преимуществ по сравнению с виндой и маком. Сужу по тем же коллегам, которым предлагали перейти на убунту. Долго они не продержались и свалили обратно на свои системы

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

Это от GUI пошло

Когда vi придумали, графики ещё не было. Так что кто от кого куда пошёл — это вопрос.

Впрочем, в vim нет ничего из того, что мне не нравится в GUI: нет долбаных иерархических меню, в которых нужный пункт приходится искать по часу, нет иконок, которые надо мышкой таскать (и места на столе для мышиного пути по жизни не хватает), вообще нет ничего такого, ради чего руки приходится выводить из основной рабочей позиции. Так что vim никакого отношения к гуям (в моём понимании гуёв) не имеет.

Есть человек на фотографии, тебе нужно вырезать его

Открой для себя display из ImageMagick. Там есть команда Crop. Только вот не рассказывай мне, что это тоже гуй, ладно? :)

Для звука.

Задач монтажа звука у меня не возникало, зато недавно встала проблема с монтажом видео. Тля. Я реально ненавижу тех, кто придумал все эти программы для монтажа. Я не понимаю, вообще не могу понять, что они курили, как можно этим пользоваться и в какую сторону вывернуть мозг, чтобы увидеть во всех этих дебилизмах хоть какую-то логику.

Если бы был простенький скриптовой язычок вроде «сейчас берём 15,5 секунд из первого видео, начиная с 3:27, на пятой секунде сюда вставляем изображение из myphoto.jpg, потом таким-то эффектом стыкуем с фрагментом из второго видео, начиная с 0:12 длиной 47,5 секунд» — ну ты понял — по-моему проблем бы не было вообще. Вот только, кажется, такого как раз и нет.

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

Ну сам же понимаешь что GUI помогает?

Мешает. Всегда. Даже те же превьюшки я бы гораздо быстрее обрабатывал, например, по номерам командами, а не мышкой таскал.

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

Если бы был простенький скриптовой язычок вроде «сейчас берём 15,5 секунд из первого видео, начиная с 3:27, на пятой секунде сюда вставляем изображение из myphoto.jpg, потом таким-то эффектом стыкуем с фрагментом из второго видео, начиная с 0:12 длиной 47,5 секунд» — ну ты понял — по-моему проблем бы не было вообще. Вот только, кажется, такого как раз и нет.

blind

Вот только не очень согласен насчёт того, что GUI вообще не нужен – например в редактировании видео всё-таки удобнее достать мышку и повозюкать ей, в аудио тоже. А вот редактирование конфигов системы удобнее текстом делать.

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

Когда vi придумали, графики ещё не было.

Уже была.

вообще нет ничего такого, ради чего руки приходится выводить из основной рабочей позиции

Это плохой GUI.

Только вот не рассказывай мне, что это тоже гуй, ладно? :)

Хорошо. Но это далек не CLI.

Если бы был простенький скриптовой язычок вроде

Есть ffmpeg, но это же как ed, не видно что творишь.

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

А если 1000? А если 1000000? Когда фоток для сортировки больше 100, легче прикрутить нейросетку (например, от Google Photo) и сортировать по альбомам с её помощью. Там уже разницы в скорости между гуем и не-гуем особой не будет.

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

И получится клон винды

это же как раз в никсосе сустемдэ прибит гвоздями и не отковыривается от него вообще никак. ты же сам сидишь на убогом клоне винды и даже этого не понимаешь.

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

В windows systemd пока что не обнаружено. Продолжаю держать в курсе.

не отковыривается

Отковыривается. Уже был чувак, переписавший генератор сервисов так, чтобы он работал с sysVinit. Оказалось, что никому это не нужно.

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

в винде сустемдэ называется svchost.exe.

переписавший генератор сервисов

это на хаскеле надо программировать чтобы сустемдэ выковырять из никсоса?

Оказалось, что никому это не нужно.

тебе весь тред про это говорят, а ты споришь.

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

Понимаю. И это считаю главным недостатком системы. Так то декларативные описания сервисов nix на него нормально ложатся, но ошибка в том, что его из системы инициализации превратили в менеджер системы, а это плохая идея. Поскольку для настройки сети, управлением сном, ntp и прочим есть намного более адекватные реализации

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

За 20 лет не запили GUI?

Проблема в том, что настройка производится не в простом настроечном файле, а на специализированном языке программирования. Так что задача написать гуй для никса может превратится в задачу написания графического языка программирования. Ну да, конечно можно урезать синтаксис до минимума и сделать гуй под него, но найдется толпа недовольных и вообще будет сомнительная польза, поскольку тем, кому достаточно статических конфигов сам никс не особо то и нужен (генты с флагами будет вполне достаточно).

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

Есть ffmpeg,

Мне почему-то показалось, что оно не совсем для этого. Скажем, ответа на вопрос, как там в кадр вставить фотку или рисунок, начиная с такой-то секунды, в такую-то позицию — я с ходу не нашёл.

но это же как ed, не видно что творишь.

В LaTeX'е тоже не видно, что творишь, но по продуктивности офисные ублюдочные WYSIWYGи не то что рядом не лежали — в сторонке не курили. Это я ответственно заявляю как автор книг общим объёмом больше 3000 страниц, самостоятельно сверставший для них всех оригинал-макеты :-)

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

Вот есть у тебя 100 фотографий в папке,

Папки — в шкафу. Картонные.

Я просто накликаю быстро все что мне надо, и усе.

Я и говорю — я то же самое сделаю клавишами в эн раз быстрее. Мышь вообще страшная штука, она плечевой сустав медленно убивает.

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

Документация в отличие от ваших убунт минимальна. Лезу в список опций и нахожу поиском что мне нужно. Это просто список с описанием. Никаких манов читать и тратить на это часы не нужно. Профит в том что не надо лазить по 100500 конфигам и менюшкам для настройки системы

Изобрели виндовый реестр?

А потом оказывается, что надо сделать что-то нетривиальное, и добро пожаловать в реальный мир километровых конфигов в 10 разных форматах и императивных скриптов.

devzero ()

Как в никсе реализованы обратные зависимости?

Есть firefox, он не зависит от своих плагинов, но использует их.

Есть bash, он не зависит от bash-completion, но использует его.

И т.п.

В FHS понятно, есть известные пути каталогов, в которых программа ищет аддоны. А тут как?

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

blind

Спасибо, не видел раньше.

Пока что ощущение от этой штуки довольно странное — ну с видео всё вроде понятно, но я правильно понимаю, что аудио там надо отстригать, монтировать отдельно (то есть фактически делать ту же самую нарезку, только другими тулзами), потом накладывать обратно и молиться, чтобы оно не разъехалось больше чем на 0.1 секунды? Или я всё-таки неправильно понял заявление автора об отсутствии поддержки аудио?

например в редактировании видео всё-таки удобнее достать мышку и повозюкать ей

Я пробовал. Это ад какой-то, я штуки три видеоредакторов перепробовал, ни в одном так и не сумел решить простенькую задачу — взять ролик, только что снятый на видеокамеру, отстричь две секунды от начала и пять секунд от конца, в середине вырезать секунд семь, в двух местах наложить текстовую плашку. Видимо, создатели всего этого великолепия как-то иначе мыслят и вообще с другой планеты прилетели.

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

Если бы был простенький скриптовой язычок вроде «сейчас берём 15,5 секунд из первого видео, начиная с 3:27, на пятой секунде сюда вставляем изображение из myphoto.jpg, потом таким-то эффектом стыкуем с фрагментом из второго видео, начиная с 0:12 длиной 47,5 секунд» — ну ты понял — по-моему проблем бы не было вообще. Вот только, кажется, такого как раз и нет.

Есть, причём под винду. AviSynth называется.

Порты на линукс были, но какие-то не такие...

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

Как в никсе реализованы обратные зависимости?

Через костыли.

Есть firefox, он не зависит от своих плагинов, но использует их.
Есть bash, он не зависит от bash-completion, но использует его.

Чего тут сложного? Базовый путь $HOME, относительно него все ищется. Nix в $HOME прописывает симлинки на установленные программы/плагины. При логине подгружается профиль с нужным окружением. Детали реализации этого сильно колбасятся от версии nix(os).

В FHS понятно, есть известные пути каталогов, в которых программа ищет аддоны. А тут как?

У тут появляется ползователь root. По логике все, что установлено от root в nixos, должно быть видно для всех пользователей (с исключениями). И это все костылится в описаниях никс пакетов. Ясно дело, костылями все не пропишешь, но с грехом пополам это как-то работает. Что дает некоторые намеки размеров этих костылей.
Меня, например, сильно взбесило (это было давно и неправда), когда я подключался к nixos по ssh, а там «не видно» ncurses с нужными terminfo, из-за чего невозможно было нормально работать.

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

Реестр это бинарная помойка. Файл конфигурации nix это лаконичный декларативный конфиг.

Для чего-то нетривиального ты можешь либо написать соответствующий модуль

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

1C:хаскелятор -- бухгалтерия на хаскеле и сила текстовых форматов

UI для упрощения придумали еще в 70x.

Разве что для упрощения впаривания компутеров домохозяйкам в магазинах.

Больше GUI ничего не упрощают, «работа» с GUI контрпродуктивна, всё, что можно сделать через GUI, делается в разы медленнее, чем при нормально настроенном CLI, причём это даже без учёта возможности скриптинга.

+1. недавно открыл для себя CLI бухгалтерию, ledger-cli.org, с вариантами (например, hledger на Хаскеле нравится). ещё: хаскель как шелл, HaskellTurtleTalk и Turtle, интро по ledger

чисто функциональная бухгалтерия на hledger, слайды, hledger-flow, plaintextaccounting.org

идея проста, как всё гениальное. берём текстовый формат для хранения остатков по счетам (счета и учётные единицы гибко настраиваемы. множество валют, но можно и время например учитывать). пишем текстовую утилиту в духе ledger-cli, которая сводит дебеты с кредитами и считает баланс. ну или показывает движения и обороты.

потом поверх этого пишем текстовый набор скриптов в духе R и GnuPlot, который рисует отчётность всякую. либо текстовый DSL, который бы делал проводки и движения основным, а не дебеты с кредитами (ledger-helpers, addtrans; penny либо transity — довольно сильно доработанные форки ledger/hledger в плане того, что основными теперь являются проводки и движения, а не счета, как в ledger-cli изначальном) .

потом поверх этого текстового делаем UI в браузере (hledger-ui «из коробки»), или мобильного клиента под андроид, или учёт времени, или учёт калорий

в чём сила и гибкость текстового формата. допилить нечто проприетарное закрытого формата до таких вот применений было бы зело сложнее.

anonymous ()

Re: 1C:хаскелятор -- бухгалтерия на хаскеле и сила текстовых форматов

ну или в сторону большей одинэсности, так и напрашивается: взять LaTeX или Lout, да хоть тот же всеформатный pandoc, и в духе Literate Programming (который тоже отлично скриптуется в weave для отчётов и tangle для кода) — переписать РСБУ-шные отчётные формы под hledger на Хаскеле, в духе понятным образом откомментированной грамотной literate программы.

в pandoc последнем, кстати, появляются некоторые интересные моменты для этого: поддержка форматов Jupyter notebook, PlantUML через lua-filters, тот же богопротивный docx и прочие разновидности.

открываются просто невиданные возможности для интеграции такой бухгалтерии, и всего и вся.

другое дело, что до готовых отчётных форм там пилить как до луны.

ну так: их можно и на LaTeX запилить. нормально литературно откомментированные. или на хаскеле вот, лол.

хотя пользоваться такой вот бухгалтерией, когда некто сподобится её таки дописать — не отказался бы.

всяко открытее, настраиваемее и удобнее в использовании — через Literate Programming скриптование получится.

понятно, что не везде такая опердень сможет сработать. но, блин, для простого ИП с упрощёнкой большего и не надо. не нужна там база данных, блин. хватит и текстовых форматов. а если и запилить туда БД, то скорее какой-нибудь MUMPS с текстовым хранилищем, например вот YottaDB — приличный форк GT.M: компилируемый в .o MUMPS-код, в последних версиях допилили C API к хранилищу глобалов и транзакциям, и через него Go API и планируют остальные 10500 языков (растишка, например точно в планах). МУМПС за вычетом языка М — вполне себе удобное решение, СУБД с 0-выми затратами на дармоедов `администраторов СУБД`).

так что не стоит недооценивать силу текстовых форматов.

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

гипертекстовый формат языковых алгебр и монад

ОФФТОП: кажется, когда А. В. Столяров говорил про «метод непосредственной языковой интеграции» и погружение лиспа в С++ через «операцию пробел», имелось в виду какая-то монада преобразования одной «алгебры программ»(операторных схем или системы алгоритмических алгебр) в другу, монада-трансформер монад. для бухучёта и двойной записи, вроде бы такое «исчисление»: монада(алгебра, кольцо, поле, решётка) формализована, например в [1407.1898] On Double-Entry Bookkeeping: The Mathematical Treatment.

для «алгебры лиспа, погружённого в С++» (подозреваю, что для того же D было бы проще и понятнее, а для C++20 с constexprs и концептами технологичнее, но непонятнее :)) с некоторой моноидальной операцией «операция пробел» — пока ещё не формализовано.

кстати, есть ощущение что метакомпилятор наподобие Meta II (См., пример mc_tutorial, Meta II in C) — делает примерно то же самое (по целям), только уже на любом языке и немного другим способом.

возьмём квайн как пример Y-комбинатора неподвижной точки. он выдаёт собственный код, при этом код и данные в нём «жёстко прописаны». выделим данные, специализирующие его отдельно — получим метакомплилятор. подадим данные, описывающие синтаксис его собственного языка — получим трансляцию метакомпилятора на первоначальный язык реализации. изменим pretty printer — получим другой язык реализации. перенос META II с ассемблера 60-х годов под JavaScript (в примере mc_tutorial) или под С (в примере MetaIIVMInC).

теперь если как-то эквивалентными преобразованиями отрефакторить как в mc_tutorial, можно перенести под другой язык (или «непосредственно языково интегрировать», как у А. В. Столярова).

по сути эти эквивалентные преобразования — монада монад, или монада трансформер. если её выразить на С++, получим InteLib Lisp и «операцию пробел» (реализованную на С++ через объекты частично в рантайме; если взять D или C++ современный, есть подозрение, что всё можно проделать и в компайл тайме), если выразить её на MetaII (на себе самом) — получим mc_tutorial.

если взять какой-то хаскель и формализовать как явную монаду, ну или в несколько присестов, грамотное literate programming и расписать на примерах — получим на любом языке, ну или на формальном лямбда-исчислении (опять на себе самом). кстати, есть подозрение что в проекте Nile + Gezira нечто подобное происходит на COLA (Common Object Lisp Architecture), схеме и си. то есть, происходит погружение Nile в COLA lisp схему, и далее через него и Meta подход — трансляция в Си.

в общем, есть подозрение, что если эти инсайты про «операцию пробел» расписать не в терминах возможностей макропроцессора С++ и алгебры объектов С++ в рантайме, а какого-то нормального в CTFE компайл-тайме или вообще отдельного метаязыка, например, как в Literate Programming подходе, то можно эту монаду-трансформер уловить за хвост почти явно.

и ещё какие-то инсайты узреть.

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

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

там в общем полноценный юникс. в iTerm2, например есть «графический терминал»: добавили свои илитны 1337 Esc-коды, и теперь терминал умеет показывать картинки среди прочих фич

вот, например кто-то карты генерирует с просмотром нагенерированного сразу в графическом терминале.

ну или можно придумать тысячи применений. например, DVI просматривать LaTeX-ный черновик, только конвертировать надо в те форматы, которые графический терминал умеет.

что-то подобное под православный линукс — это libsixel

остатки былой роскоши графических терминалов DEC, когда был VT340/VT382 и прочее для растра, и Tektronix для вектора (вроде бы xterm Tektronix ещё умел, если новомодные хипстеры с барбершопами ещё не выпилили его из xterm-а). например, mlterm его умеет.

можно в одном окошке «графического терминала» писать текст (скрипта или компендиума в грамотном программировании), в другом рисовать нагенерённое этим скриптом в виде графика, или в третьем PDF просматривать.

помимо просмотра аниме и запуска VNC или иксов через Xsixel.

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

опять же, сила текстовых форматов.

которые на поверку оказываются не текстовыми, a гипертекстовыми хитро вывернутыми ESC-кодами.

и эти картинки-скрипты-объекты отлично скриптуются.

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

настройка производится не в простом настроечном файле, а на специализированном языке программирования

ну ваще. через пару итераций они снова изобретут sysvinit-скрипты.

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

взять ролик, только что снятый на видеокамеру, отстричь две секунды от начала и пять секунд от конца, в середине вырезать секунд семь

Я это через mencoder делал. Текстовую плашку не пытался.

monk ★★★★★ ()

+1. недавно открыл для себя CLI бухгалтерию, ledger-cli.org, с вариантами (например, hledger на Хаскеле нравится). ещё: хаскель как шелл, HaskellTurtleTalk и Turtle, интро по ledger

$ hledger add
Adding transactions to journal file /src/hledger/examples/sample.journal
Any command line arguments will be used as defaults.
Use tab key to complete, readline keys to edit, enter to accept defaults.
An optional (CODE) may follow transaction dates.
An optional ; COMMENT may follow descriptions or amounts.
If you make a mistake, enter < at any prompt to restart the transaction.
To end a transaction, enter . when prompted.
To quit, enter . at a date prompt or press control-d or control-c.
Date [2015/05/22]: 
Description: supermarket
Account 1: expenses:food
Amount  1: $10
Account 2: assets:checking
Amount  2 [$-10.0]: 
Account 3 (or . or enter to finish this transaction): .

Я туплю или аналитический учёт в этой «бухгалтерии» принципиально не предусмотрен?

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

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

в винде, конечно всё медленно и печально. и вынуждено страдать.

чтобы как-то страдать меньше, приходится туда ставить MSYS2 с нормальной консолью (и мириться с недоделанным POSIX в MinGW). или цугвин (который довольно медленный).

есть ещё интересный проект, midipix. там пытаются запилить правильный цугвин: не dll-ками в юзерспейсе дабы реализовать форк и сигналы поверх CreateProcess, а как SUA/Interix, подсистемой в ядре (который быстрый).

midipix это полноценный порт под musl на Nt kernel native API, собираемого MinGW-ом из линукса, в духе buildroot, с самосборкой своего специального тулчейна, особой triple архитектуры для кроссборки (которая далее должна развиться в нечто более полноценное типа MSYS2, с блекджеком и сигналом и форками) .

напрашивается его опакетить, и кроссборку делать каким-то midipix-nixos. нечто подобное гуглится, но пилят его полтора анонимуса (а сам midipix 3.5 анона)

далее такой midipix-nixos ещё пилить и пилить. чтобы он полноценно самособирался и работал не только кроссборкой из-под линукса, а и из самой венды. типа как MSYS2 более-менее допилили.

в итоге на midipix и nix pkg запилить наконец-таки нормальный пакетный менеджер под винду.

потому что другие как раз ненормальные — либо арчбилды на баше в MSYS2, либо поверщель-велосипеды (Chololatey совсем убог, хотя свои пакеты там делать просто; scoop вроде пытается быть нормальным пакетным менеджером, но блин, опять поверщель проклятущая! и кроссборки нетути)

anonymous ()