LINUX.ORG.RU

NixOS 22.05

 ,

NixOS 22.05

2

4

30 мая состоялся очередной выпуск дистрибутива NixOS 22.05. Он стал возможен благодаря усилиям 1611 участников в 46727 коммитах.

В этой версии:

  • появилось 9345 новых пакетов, обновлено 10666 уже имеющихся и удалено 5874 (которые ранее были доступны в выпуске 21.11);
  • в системе управления пакетами nixpkgs добавлено 89 новых модулей, удалено 27;
  • версия Nix 2.8 в этом выпуске теперь используется по-умолчанию (включена экспериментальная функция flakes, а так же функция nix-command);
  • графический установщик на основе Calamares: его активация по умолчанию выполняется при запуске GNOME или Plasma ISO, что позволяет упростить проведение настройки новой системы.

NixOS - дистрибутив Linux, созданный на основе менеджера пакетов Nix. Он использует декларативную конфигурацию (предлагаются два основных направления: текущий стабильный выпуск и unstable после последней разработки). Среди особенностей дистрибутива можно отметить следующее:

  • модель конфигурации декларативной системы: в NixOS вся операционная система (ядро, приложения, системные пакеты, файлы конфигурации и т. д.) создаётся менеджером пакетов Nix из описания на функциональном языке сборки, система настраивается путем написания спецификации функций, которые пользователь хочет видеть на своей машине (в глобальном файле конфигурации);
  • надёжные обновления: поскольку файлы Nix являются очищенными и декларативными, их выполнения всегда будут давать одинаковый результат независимо от того, какие пакеты или файлы конфигурации находятся в системе;
  • атомарные обновления: NixOS имеет транзакционный подход к управлению конфигурацией, вносящий изменения в конфигурацию, такие как атомарные обновления;
  • откат: если после обновления системы новая конфигурация нежелательна, её можно откатить с помощью специальной команды nixos-rebuild switch —rollback, и фактически, каждая версия конфигурации системы автоматически появляется в меню загрузки системы;
  • воспроизводимые системные конфигурации: модель декларативной конфигурации NixOS позволяет легко воспроизвести конфигурацию системы на другом компьютере;
  • исходная бинарная модель: язык сборки Nix, используемый NixOS, указывает, как создавать пакеты из исходного кода;
  • согласованность: менеджер пакетов Nix гарантирует, что работающая система «согласована» с логической спецификацией системы, что означает, что она перекомпилирует все пакеты, которые необходимо перекомпилировать.

Некоторые подробности о дистрибутиве можно посмотреть на странице вики.

Ссылки для скачивания:

Скриншот к новости взят с официального сайта NixOS.

>>> Подробности на официальной странице блога NixOS

★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 7)

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

Ох, не, СТОЛЬКО места под никсос у меня нет. Я думал тридцатку ему на всё про всё дать (как раз после папино-азиатской сильвербли осталось), а если такие монтруические обновления, то ой. Мне терпения не хватит. Ну и со сторонним софтом - я понимаю, что это не вина никсосовцев, но секас представляется мне не достойным установки и запуска всякой всячины. Я частенько запускаю всякую левую фигню «на попробовать», и каждый раз ковыряться с пропиской библиотек? Ох. Ну и посмотрел я на пакетный менеджер - просто лень разбираться.

Огонь потух.

R_He_Po6oT ★★★★
()
Последнее исправление: R_He_Po6oT (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Нет, не даёт. В Nix нет изоляции.

Так я специально же дальше написал - кроме изоляции. Зачем фразы обрубать и выдирать из контекста?

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

Я частенько запускаю всякую левую фигню «на попробовать», и каждый раз ковыряться с пропиской библиотек?

Не надо там ковыряться. steam-run и запускаешь все как в обычном линуксе.

Насчет разбираться это да. Тут семестровый курс лекций вполне уместен по основам управления системой.

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

Не надо там ковыряться. steam-run и запускаешь все как в обычном линуксе.

Это если нужные библиотеки есть в окружении steam-run. А если нет, добро пожаловать в чудесный мир override.

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

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

Я оверрайдю steam-run только для матлаба.

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

Спасибо за пояснение. А чё nix-env такой медленный?

Под NixOS пользоваться nix-env - моветон. Только добавление в environment.systemPackages, только хардкор!

Что environment.systemPackages, что nix-env просто засунет нужный путь тебе в PATH. Для чего-то более сложного, вроде VMWare - нужно искать соответствующую опцию здесь.

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

Боюсь с гоговскими играми придётся мучиться. Приходится доставлять несколько устаревших либ, что-то от гтк2 и симлинкать всякое, а уж на никсе все эти игры, боюсь, вообще не разберусь.

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

Боюсь с гоговскими играми придётся мучиться.

Да просто поставь Lutris. Он там как-то сам это разруливает. Но вообще, с играми проще всего вендовые версии через Proton запускать. Даже когда нативная версия есть, да. И это касается любого лялекса, не только nixos.

hateyoufeel ★★★★★
()

версия Nix 2.8 в этом выпуске теперь используется по-умолчанию (включена экспериментальная функция flakes, а так же функция nix-command);

This release brings nix 2.8 as the default nix package. This brings users a lot of fixes, general improvements and increased performance. The main feature that was awaited for a long time is the introduction of experimental features, namely the flakes experimental feature. Users still have to opt into the feature manually (as well as the nix-command feature that was enabled by default in previous nix versions).

Users still have to opt into the feature manually (as well as the nix-command feature that was enabled by default in previous nix versions).

(включена экспериментальная функция flakes, а так же функция nix-command);

/0

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

Но вообще, с играми проще всего вендовые версии через Proton запускать. Даже когда нативная версия есть, да. И это касается любого лялекса, не только nixos.

+100500

Потому что ну его нафиг. А в вайне побоку никсос снаружи или нет.

James_Holden ★★★
()
Ответ на: комментарий от James_Holden
Использую самосборное ядро - ванильное, конфиг под мое железо, накладываю патч le9ec. Собирается автоматически при помощи Nix, обновляется автоматически.

Конфиг для наложения требую в студию!!!

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

customManualConfig = pkgs.makeOverridable (pkgs.callPackage ./custom-manual-config.nix {});


custom-kernel-pkgs = pkgs.linuxPackagesFor (customManualConfig {
    inherit (pkgs) stdenv lib;
    inherit (pkgs.linuxKernel.kernels.linux_5_17) src; # change here if you want a different version
    version = "${pkgs.linuxKernel.kernels.linux_5_17.version}-custom";
    configfile = ./config;
    allowImportFromDerivation = true;
  });

in

boot.kernelPatches = [{
    name = "le9ec";
    patch = ./le9ec-5.15.patch;
  }];

boot.kernelPackages = custom-kernel-pkgs;

Нужны файлы - le9ec-5.15.patch скачан с github, .config - создан как описано в Wiki.

custom-manual-config.nix - это подправленная версия manual-config из nixpkgs. Та что в пакетах - почему-то не ставит свойство поддержки 32-битных библиотек, которое нужно для 32-битной mesa. Поэтому использую свою правленную версию.

James_Holden ★★★
()

Она не будет лучше минта? Как сравнить её с определённым дистром?

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

И что, если мне захотелось один музыкальный плеер поставить, а другой удалить, тоже надо редактировать какие-то конфиги?

dnb ★★★★
()
Последнее исправление: dnb (всего исправлений: 1)
Ответ на: комментарий от dnb

Не обязательно, но лучше через конфиги.

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

Также можно такой конфиг скопировать на другую машину, и там поставится тот же набор софта.

James_Holden ★★★
()
Последнее исправление: James_Holden (всего исправлений: 1)
Ответ на: комментарий от James_Holden

Поэтому на unstable ветке недельные обновления весят по 30 Гб и это норма.

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

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от crypt

Так блин, конечно бинарные патчи тоньше чем все пакеты целиком перезаливать.

Я думаю они и дебиан какой-нибудь обгонят по худобе.

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

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

то же самое достигалось Solaris ZFS 15 лет назад более элегантно на уровне FS. см. пример из FreeBSD:

zroot/ROOT                                    20.3G   263G    88K  none
zroot/ROOT/12.3-RELEASE-p1_2022-02-12_171622     8K   263G  3.99G  /
zroot/ROOT/12.3-RELEASE-p1_2022-03-22_230440     8K   263G  15.7G  /
zroot/ROOT/12.3-RELEASE-p3_2022-04-08_173627     8K   263G  16.0G  /
zroot/ROOT/12.3-RELEASE-p5_2022-05-05_180929     8K   263G  16.5G  /

всего занято 20 Гб из них по большей части снапшоты. причем не просто за прошлое обновление, но и за позапрошлое, и за позапозапрошлое...

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от James_Holden

Ну про скопировать на другую машину понятно, что-то типа Active Directory, только в разы круче. Неоспоримо. Но вот в режиме single у меня есть сомнения что сие годится для десктопа.

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

По барабану сколько оно там занимает. ZFS не решает тех проблем, которые решает Nix.

Сколько оно занимает места мне вообще до лампады.

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

ты озвучил проблему Nix:

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

проблема 1: Nix нестабильна и ломается при обновлении.

проблема 2: платит высокую цену, чтобы это решить.

очевидно, ZFS не решает этих проблем, потому что nix os не работает поверх zfs. зато ZFS сама по себе замечательный инструмент, который более прямо делает в других системах то, что делает nix os. =)

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

Ну блина.

NixOS решает целый комплекс проблем. Не только откат после обновления. Ты предлагаешь вместо решения десятка проблем решить одну самую незначительную. А с остальными что?

А если ты решишь все в комплексе, как это делает NixOS, то ZFS будет бесполезна. Она не сможет делать не толстые снапшоты как у тебя.

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

Ты предлагаешь вместо решения десятка проблем решить одну самую незначительную.

а как я еще я затролю тебя в споре яблоки vs апельсины??:))

crypt ★★★★★
()
Последнее исправление: crypt (всего исправлений: 1)
Ответ на: комментарий от crypt

Подсказка - мое положение осложняется тем, что в рамках форума задница треснет объяснять про nix во всех деталях. Тут целый курс лекций можно делать.

Поэтому я заведомо не смогу отбрехаться.

На всякий случай - NixOS на год старше ZFS.

James_Holden ★★★
()
Последнее исправление: James_Holden (всего исправлений: 2)
Ответ на: комментарий от crypt

ты озвучил проблему Nix:

Основная проблема Nix вот в этом:

Тут семестровый курс лекций вполне уместен по основам управления системой.

Т.е. высокий порог входа с сомнительной окупаемостью затраченного времени.

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

Плюс огромные вопросы по техподдержке такой системы.

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

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

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

Т.е. высокий порог входа с сомнительной окупаемостью затраченного времени.

да, к фряхе это тоже применимо)

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

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

Угу, но я больше про персональное использование. С коммерческим применением всё еще хуже, так как там ценятся стандартные решения с доступными специалистами.

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

так-то конечно, но есть доп. сложности

«Я уже хотел спустить это все в мусорку, когда случайно нашел пару sysctl сетингов, которые это решают. Ни в каких хваленых фрибздешных хендбуках вы это, конечно, не найдете. FreeBSD с одной стороны не имеет адекватных для современного оборудования лимитов по-умолчанию, а с другой хаутушек, чтобы это фиксить, поэтому этим всем можно заниматься только, если вот вам прямо хочется FreeBSD и вы такой весь олдфаг и готовы читать мейл-листы.»

Переход с Linux на FreeBSD. Успех, но...

crypt ★★★★★
()

Я чёт так и не понял как там обновления накатывать. Вот сегодня выкатили новую версию огнелиса, как обновить её?

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

c диалектикой вы конечно вы загнули))))

единство и борьба противоположностей

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

Assembler
()
Последнее исправление: Assembler (всего исправлений: 1)
Ответ на: комментарий от dnb

Самая простая процедура обновления - в мануале:

# nixos-rebuild switch --upgrade

Я сам использую автообновления: system.autoUpgrade.enable = true;.

Но для этого пакет firefox уже должен быть в репозитории.

https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+is%3Aopen+firefox говорит, что он еще не там:

Если хочется пораньше протестировать, то можно прямо из PR запустить:

$ nix run github:NixOS/nixpkgs/pull/175618/merge#firefox
sf ★★★
()
Последнее исправление: sf (всего исправлений: 1)
Ответ на: комментарий от dnb

Если цель в один поставить, а другой удалить, то по хорошему - да. Если цель в попробовать какую-то софтину - nix-shell -p софтина и пробуешь софтину, после выхода из шелла её будто бы никогда и не было.

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

/nix/store занимает у меня 30995 Мб. Там сейчас только одна, текущая версия системы.

Пруф в виде nix path-info -Sh /run/current-system или это не только система.

На моём NAS с qBittorrent, samba, ZFS, netdata, и прочими VPN’ами система занимает 2.2G:

> nix path-info -Sh /run/current-system
/nix/store/99w25cj1d0pb3c7bdlmrjgkxq5b1jsxh-nixos-system-nas-22.11.20220526.83658b2     2.2G
Tsukasa
()
Ответ на: комментарий от dnb

Что там творится в ~/ - ответственность пользователя.

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

Как-то сложно выглядит это, чтобы проверить обновы надо каждый раз открывать какие-то ссылки в браузере вместо привычного pacman -Syu?

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

Не надо ссылки открывать. Просто вводишь

nixos-rebuild switch --upgrade

это аналог pacman -Suy

Если пакеты ставились через nix-env, то надо сделать

nix-env -u
James_Holden ★★★
()
Ответ на: комментарий от James_Holden

Что ты туда наворотил, что оно 30 гигов занимает? Мой десктоп с кедами не занимает и пяти.

> nix path-info -Sh /run/current-system
/nix/store/9xs6zsb5d13v62d5cggly3bgspx3ihda-nixos-system-workstation-22.05.20220520.dfd8298	   4.5G
Tsukasa
()
Ответ на: комментарий от Tsukasa

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

Я просто тут немного работаю, а не настраиваю обоину.

environment.systemPackages = with pkgs; [
    wget
    firefox
    kate
    kdevelop
    libreoffice-qt
    okular
    qucs-s-qt5
    mc
    wxmaxima
    viber
    tdesktop
    pavucontrol
    git
    gimp
    vscode-wp
    (steam.override { extraPkgs = pkgs: [ ncurses5 gnumake linux-pam gcc];}).run
    mesa-demos
    qemu
    virt-viewer
    gqrx
    sshfs
    dconf
    easyeffects
    p7zip
    kdev-php
    killall
    libva-utils
    mpv
    python39
    python39Packages.yt-dlp
    powertop
    php74
    texlive.combined.scheme-full
    ardour
    x42-plugins
    lsp-plugins
    kapitonov-plugins-pack
    guitarix
    gxplugins-lv2
    audacity
    helvum
    winetricks
    wineWowPackages.stable
    tuxguitar-custom
    qsynth
    soundfont-fluid
    stellarium
    carla
    pdfarranger
    ark
    unrar
    filelight
    digikam
    darktable
    vlc
    freecad
    povray
    inkscape
    librecad
    ungoogled-chromium
    qbittorrent
    android-studio
    tunctl
    kcalc
    iptables
    nodejs
    qcad
    kicad-small
    (qmmp.overrideAttrs (oldAttrs: rec {
      pname = "qmmp";
      version = "1.6.0";
        src = fetchurl {
        url = "https://qmmp.ylsoftware.com/files/qmmp/1.6/${pname}-${version}.tar.bz2";
        sha256 = "sha256-z3INTs0FBG/Pp9RpsDO2qJuOeqKba8q+ExtU2eulsHE=";
      };
    }))
    yandex-browser-custom
  ];
James_Holden ★★★
()

Как удостоверится что этот https://github.com/NixOS/nixos-hardware/blob/master/lenovo/legion/15arh05h/default.nix конфиг у меня будет работать? Сейчас на арче надо ставить оптимус и шаманить параметры загрузки чтобы работала регулировка яркости. Ну а так вроде на виртуалке зафигачил конфиг, вроде даже работает.

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

Какая у тебя видеокарта конкретно и какие драйверы nvidia ты ставишь в арче?

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

James_Holden ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.