LINUX.ORG.RU

Хочется софт посвежее: NixOS или Fedora 43?

 , ,


0

1

Всем привет. Прошу поделиться мнениями. Выбираю дистр, чтоб софт посвежее был.

В целом я плюс-минус убежденный убунтушник. Работу работаю на Ubuntu 24.04 из инструментов - git, компиляторы, helix, VSCode, docker, kubectl. 90% полезного происходит в терминале. Окружение - sway, wofi, mako, все весьма минималистично и вылизано, на скриптах и т.п. На парочке моих VPS, где всякие Gitea, Vaultwarden, Nextcloud, openvpn-серверок и прочее «домашнее» для развлечения крутится, у меня, внезапно, тоже Ubuntu Server.

Сейчас хочется на ноут для работы и развлечений поставить что-нибудь эдакое, чтоб всякие свежие hyprland со свистелками были из коробки. Завтра выходит Fedora 43, думаю, либо поставить ее погонять, либо вполне серьезно рассматриваю NixOS.

Fedora 42 использовал некоторое время, подбешивала излишняя секурность, не особо нужная мне на ноуте, а также тормозной (по сравнению с apt) dnf. В целом система показалась чрезвычайно продуманной, конечно. До F42 производные от RedHat видел где-то году так в 2003-м, наверное, тогда же уехал на Ubuntu, лол. Про короткий жизненный цикл Fedora я понимаю, но как бы тут это не роляет особо.

NixOS потыкал в докере, потом в виртуальной машине. Концептуально крутая штука, но есть нюансы, конечно: насчет flakes сообщество спорит, кошерно или нет, язык этот функциональный придется подучить… Интересно, чо там с реальной стабильностью работы в перспективе хотя бы года, а также, стоит ли тратить время на усвоение их парадигмы управления системой. Дает ли это прямо какие-то заметные профиты или нет. Вот на этот счет чье-нибудь субъективное мнение было бы очень интересно услышать.

Мне что-то кажется, что NixOS - это все же чрезвычайно нишевая фигня, как когда-то была в начале своего пути Gentoo. Типа круто, но надо осилить, и вот ТОГДА… Fedora, с другой стороны - понятный дистрибутив, склоняюсь к тому, чтобы его поставить.

Понимаю, что в целом сравнение слона и кита, конечно, но втопите, плс, за (или против) Fedora или NixOS. Интересно, если пользуетесь, послушать за фишечки дистрибутивов.

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

Я ждал этого ответа, ага :) Не очень хочется, многовато руками делать, как мне показалось.

Впрочем федору я планирую поднять из Fedora Everything (которая сетевая установка) и в минимальную систему с голой консолью накидать с нуля все необходимое. Тут, конечно, недалеко и до Arch, наверно :)

paddlewan
() автор топика

Про короткий жизненный цикл Fedora я понимаю

Завтра ставишь и сидишь 13 месяцев — вроде неплохо по времени, учитывая, что будет свежачок и при этом стейбл.

papin-aziat ★★★★★
()

О, блин, а на ЛОРе, похоже, NixOS почти запретная тема :) Сорри, я не срача ради, действительно интересно просто, много почитал про нее, там интересное.

paddlewan
() автор топика

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

masa ★★
()

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

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

Если тебе скучно жить и ты не решил жениться, то бери какой-нибудь LFS или найди другое хобби. Ну типа зачем эти полумеры с nixos и прочими gentoo. Чтобы что?

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

Есть технические решения для разных случаев. Nix решает весьма специфические проблемы, которых у меня толком нет, это да. В терминах «хуже» и «лучше» я бы остерегся оценивать это все. Вот Alpine, он хуже или лучше Ubuntu?… :)

paddlewan
() автор топика
Ответ на: комментарий от kma21

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

Спасибо за совет, я тож чо-то думаю, не выпендриваться :)

paddlewan
() автор топика

Федора. она просто работает уже много времени, с 22 мая 2024 года и пережила вот уже два апдейта.

cetjs2 ★★★★★
()

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

Многие вещи пакетятся достаточно просто, и я даже не пакечу их руками. Я беру нейронку и говорю ей: вот тебе инструкция по сборке из README, переосмысли её в пакет nix. И нейронка делает вполне себе годную заготовку, которую затем нужно лишь немного дошлифовать.

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

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

Ну при этом можно кое-что интересное узнать, разобраться как работает (hands-on experience получить, так сказать). Ну и в целом-то все по-умному сделано. Вопрос больше про то, стоит ли игра свеч, что интересно будет, я как раз не сомневаюсь (почитал уже много документации и по языку Nix и по пакетному менеджеру и по системе).

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

Спасибо, мнение принято. Но там другие вопрос: configuration.nix vs home-manager. И flakes еще эти сбоку. То есть, как я вижу, мне надо: настроить базово систему через /etc/nixos/configuration.nix, потом настроить нужный софт через home-manager и типа вот этот его конфиг и будет главной историей в dotfiles. Но при этом куча всего делается с помощью flakes, то есть как бы мимо nixpkgs, как я (возможно, не совсем правильно) понял.

То есть, опакетить-то понятно как, и что надо делать. А вот профит мне как «продвинутому юзеру» какой? Я вижу такую пользу: свежий софт, декларативная установка, версионирование системы в целом (когда делаешь nixos-rebuild switch). Но вот с настройками, которые в хомяке лежат - необорот чо-то головняк сплошной :)

P.S. Кстати, версия докера в системных модулях норм так отстает от текущей актуальной, а вот как внедрить свежий докер - это еще потрахаться надо будет, кажется :)

paddlewan
() автор топика
Ответ на: удаленный комментарий

снапшотов на BTRFS

Не, спасибо, я бы хотел корень на ext4, независимо от предпочтений дистрибутивостроителей, лол :)

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

Флейки это не мимо nixpkgs. И да, сам nixpkgs это тоже флейк.

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

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

на ЛОРе, похоже, NixOS почти запретная тема

На ЛОР все темы запретные. По каждой софтине отправляют в сообщество этой софтины. Обсуждать можно только что-то, где сообществ нет, например стандарты. В частности, стандарты на языки программирования.

Возможно даже, именно из-за этого в nixos придумали свой внутренний язык программирования. Но не помогло.

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

насчет flakes сообщество спорит, кошерно или нет

Никто уже особо не спорит. По опросам, 80% юзают их, у остальных и так работает.

Интересно, чо там с реальной стабильностью работы в перспективе хотя бы года

У меня NixOS с 2018 года, полёт отличный, проблем вызванных именно никсом особо не было. Но тут стоит учесть, что я профессионально писал на Haskell много лет, и эти тусовки во многом пересекаются (среди хаскеллистов много пользователей Nix и наоборот). Your mileage may vary.

Мне что-то кажется, что NixOS - это все же чрезвычайно нишевая фигня, как когда-то была в начале своего пути Gentoo.

Нет. У Nix есть реальные применения в индустрии и достаточно жирные спонсоры (из-за которых сообщество Nix пересралось уже пять раз). Гента таким никогда не обладала. В целом, сообщество разработчиков в и вокруг Nix уже куда жирнее чем когда-либо было в Gentoo.

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

Nix решает весьма специфические проблемы, которых у меня толком нет, это да.

Если для тебя детерминированность и декларативная конфигурация из одного места – это нечто мистическое и специфическое, тогда да, до NixOS ещё психологически не дорос.

Осознание того, что ты готов к концу пути, придёт как-нибудь само.

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

Я беру нейронку и говорю ей: вот тебе инструкция по сборке из README, переосмысли её в пакет nix. И нейронка делает вполне себе годную заготовку, которую затем нужно лишь немного дошлифовать.

Только если эта какая-нибудь утилита, написанная на NodeJs, то при попытке опакетить этого может произойти очень жидкое дело. Просто потому, что NPM захотелось полезть куда-то в инторнет, которого у него при сборке не будет…

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

Спасибо, ценный комментарий.

Но тут стоит учесть, что я профессионально писал на Haskell много лет, и эти тусовки во многом пересекаются

Я не по части функциональных языков, но туториал по Nix почитал прям с удовольствием. Жаль только что многое в самом языке, как у меня сложилось впечатление, основывается на конвенциях - типа в этом ассоциативном массиве мы ожидаем вот такие-то ключи (условно), иначе ничего работать не будет. Может сходу не разобрался, конечно, и все не так страшно :)

У Nix есть реальные применения в индустрии и достаточно жирные спонсоры

Насчет реальных применений как раз ничуть не сомневаюсь, я сам в разработке работаю, и хорошо понимаю, чего стоит повторяемость сборки. В своем проекте держу Dcoker-образ для команды со всем инструментарием, и он же собирает релизы. Это я еще на Go пишу, где фактически сам инструментарий принимает на себя львиную долю проблем с версионированием билиотек… В случае с nix поддерживать эту историю было бы сильно попроще. Но это только один из юзкейсов, далеко не самый важный, кмк.

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

В целом, сообщество разработчиков в и вокруг Nix уже куда жирнее чем когда-либо было в Gentoo.

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

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

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

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

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

Ну, да. Там динамическая типизация со всеми недостатками. В целом, жить можно.

В остальном, я не могу сказать стоит тебе пользоваться Nix или нет. Из плюсов, система целиком программируема, и если ты умеешь писать код, тебе будет очень просто сделать всё нужное. Из минусов, тебе придётся программировать вместо кликанья мышкой «Next->Next->Ok».

Я за 7 лет конфиг основательно перепиливал только один раз, когда разобрал мусор и перешёл на флейки. После этого, только пакеты добавляю/удаляю. Можешь записать это в лёгкость поддержки системы в актуальном состоянии.

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

это нечто мистическое и специфическое

Не-не, как раз напротив. Просто я не улавливаю, насколько мне лично нужна эта детерминированность. Я могу собрать готовую к моей работе систему за часа полтора примерно, пользуясь исключительно репозиторием с конфигами. Ну да, смогу за 5 минут, но придется немного попотеть до этого момента. Стоит оно того? :) А ЧАСТО ли мне нужно это делать вообще (поднимать систему с нуля)?

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

Конфигурации - выше вон товарищ говорит, что дотфайлами управлять через Nix - это перебор, вроде как :) Или не перебор? Так мне велика ли разница, иметь набор дотфайлов в директориях или аж целое дерево с .nix файликами? :) Да-да, сорри, упрощаю слишком сильно, но и представить себе кейс, когда мне для десктопа с развлечениями надо прям зафиксировать версии ВСЕГО и высечь это в граните, чего-то не могу. Это если с пользовательской точки зрения рассуждать.

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

Flakes это просто общепринятый способ хранения наборов пакетов, конфигураций модульным способом, с помощью git-репозитория.

Систему можно развернуть как из Flakes (сразу и систему, и home-manager отработает), так и через /etc/nixos/configuration.nix и home-manager отдельно.

Но начинать сразу с Flakes, это всё равно что изучать питон, попытавшись сразу нахрапом сделать целый пакет-библиотечку для PyPl, залезая на него с нуля.

Никто не запрещает, но обычно всё-таки начинают с /etc/nixos/configuration.nix, а потом постепенно приходят к тому, чтобы хранить конфигурацию во Flake.

Вот тут хороший пример для старта: https://www.youtube.com/playlist?list=PLCQqUlIAw2cCuc3gRV9jIBGHeekVyBUnC но долгий

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

Я за 7 лет конфиг основательно перепиливал только один раз, когда разобрал мусор и перешёл на флейки.

Скажи, пожалуйста, а юзерскими дотфайлами ты управляешь через Nix тоже? То есть прямо все-все в коде? Жирный репозиторий в итоге у тебя? Осмелюсь спросить, может на гитхабе где-нибудь можно глянуть одним глазком? :)

paddlewan
() автор топика
Ответ на: комментарий от egzakharovich

Ага, спасибо большое за разъяснение. С configuration.nix я уже начал как раз ковыряться в виртуалке, проблем не возникло.

И за видео спасибо, но в целом я начал чуть более фундаментально - с туториала и спеки по языку, чтобы понять, с чем придется (возможно) иметь дело :)

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

Скажи, пожалуйста, а юзерскими дотфайлами ты управляешь через Nix тоже?

Нет. Я думал про это, но это достаточно бессмысленная затея. В Nix у меня всё кроме $HOME.

Осмелюсь спросить, может на гитхабе где-нибудь можно глянуть одним глазком? :)

Не. Но у меня не то чтобы что-то сложное. Тот же configuration.nix, только распиленный на несколько файлов по тематике: отдельно системные штуки, отдельно гуй, отдельно игры, отдельно рабочее. Плюс всё это разбито на несколько машин в flake.nix.

Вот тебе примерная выжимка из моего flake.nix:

{
  description = "My config";

  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
  };

  outputs = { self, nixpkgs, ... }@inputs: {
    nixosConfigurations = {
      computer1 = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";

        specialArgs = inputs;

        modules = [
          ./common/amd.nix
          ./common/boot.nix
          ./common/core.nix
          ./common/development.nix
          ./common/emacs.nix
          ./common/music.nix
          ./common/network.nix
          ./common/nix-settings.nix
          ./common/package-overrides.nix
          ./common/system.nix
          ./common/ui.nix
          ./common/users.nix

          ./computer1/configuration.nix
          ./computer1/hardware-configuration.nix
        ];
      };

      computer2 = nixpkgs.lib.nixosSystem {
        system = "x86_64-linux";

        specialArgs = inputs;

        modules = [
          ./common/boot.nix
          ./common/core.nix
          ./common/development.nix
          ./common/emacs.nix
          ./common/network.nix
          ./common/nix-settings.nix
          ./common/package-overrides.nix
          ./common/system.nix
          ./common/ui.nix
          ./common/users.nix

          ./computer2/configuration.nix
          ./computer2/hardware-configuration.nix
        ];
      };
    };
  };
}

Каждый из подключённых файлов выглядит как стандартный никсоконфиг. Например, boot.nix:

{ config, lib, pkgs, ... }:

{
  boot.supportedFilesystems = [ "zfs" ];
  boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_xanmod;
  boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call zenpower ];
  boot.loader.grub.enable = true;
  boot.loader.grub.efiSupport = true;
  boot.loader.grub.device = "nodev"; # or "nodev" for efi only
  boot.loader.efi.efiSysMountPoint = "/boot/efi";
  boot.loader.efi.canTouchEfiVariables = true;
  boot.loader.grub.memtest86.enable = true;
  boot.initrd.systemd.enable = lib.mkDefault true;
  boot.tmp.cleanOnBoot = true;
  boot.plymouth.enable = true;
  boot.kernel.sysctl = { "vm.max_map_count" = 262144;
                       };
}

Можешь для начала просто сгенерированный configuration.nix туда кинуть и дальше развлекаться по ходу дела.

Да, nixos-rebuild (sudo nixos-rebuild boot --flake .) при сборке системы из флейка смотрит на хостнейм и генерит конфиг только для нужной системы, в данном случае это computer1 либо computer2.

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

Нет. Я думал про это, но это достаточно бессмысленная затея. В Nix у меня всё кроме $HOME.

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

Не. Но у меня не то чтобы что-то сложное. …

Спасибо, файлики утащил, подумаю над этим всем.

paddlewan
() автор топика

Мне что-то кажется, что NixOS - это все же чрезвычайно нишевая фигня, как когда-то была в начале своего пути Gentoo. Типа круто, но надо осилить, и вот ТОГДА…

И что тогда? А ничего. Потому что если с ходу не можешь сказать, зачем этот дистр тебе, то хоть целый день систему настраивай - профита не увидишь. А свежий софт разный бывает - одному будет достаточно стандартных реп в Фёдоре, а для кого то и в AUR выбора не хватает.

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

Ну значит ещё «не устал».

Да и не одной конфигурацией единой. Там ещё атомарность. Т.е. если что-то сломал, можно вернуть всё взад.

А самой главной фишкой, является, конечно, возможность ставить кастомный софт, банальным подключением git-репозитория в inputs. И если надо, он даже скомпилируется. Если в кэше нет нужного derivation с бинарниками. И лёгкость опакечивания, пусть и с нюансами.

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

Скажи, пожалуйста, а юзерскими дотфайлами ты управляешь через Nix тоже?

Никто не заставляет пользоваться home-manager. Он с системой никак не связан, даже наоборот, сторонний модуль. Потому хочешь – пользуйся. Хочешь – нет.

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

Т.е. если что-то сломал, можно вернуть всё взад.

Да, вот это крутая штука, я очень оценил как раз ее. Что nixos-rebuild создает новую версию мира, которую лекгко можно откатить до предыдущей (с оговоркой, что система вообще заведется, конечно, но ведь можно и через chroot, наверное…).

Опакечивание - ну часто ли оно реально нужно?… А так да, про это почитал, конечно, история удобная.

paddlewan
() автор топика
Ответ на: комментарий от egzakharovich

Он с системой никак не связан, даже наоборот, сторонний модуль. Потому хочешь – пользуйся. Хочешь – нет.

Ну вот интересно было собрать мнения, у кого как. Я понял, спасибо.

paddlewan
() автор топика

Коллеги, большое спасибо всем кто поучаствовал в обсуждении и поделился соображениями. Особенно интересно было послушать тех, кто с NixOS работает. Было очень ценно.

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

А федору, наверное, таки накачу. Сейчас отпуск, надо как-то развлекаться, планировал как раз построить на Hyprland или Niri (не решил еще) что-нибудь красивое :)

paddlewan
() автор топика

Самое современное у дистрибутива manjaro .

jura12 ★★
()

Дает ли это прямо какие-то заметные профиты или нет.

  1. Можно по конфигу развернуть почти копию состояния корня системы (/etc, установленное ПО и т.п.). Без $HOME и всяких нетворкменеджеров. Но на десктопе ценность этого сомнительная (без $HOME и всяких флатпаков), а достигается она за счёт максимального ограничения прямого доступа пользователя к управлению состоянием системы. Приходится тратить время на управление через конфиг и поиском нужных опций или написания кода для этого.

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

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

Фиксацией версий придется заниматься вручную. Ты не можешь как в генту указать «не ставь версию X.Y.Z или ставь до версии Z.I», или автоматически накладывать в таком же виде патчи. Каждое обновление, каждый раз надо в конфиге менять всё в ручную. Это единственный способ обеспечить «детерминированность», но в рамках десктопа ты постоянно обновляешься на новые версии, а не раскатываешь на разные машины проверенные и фиксированные. Да и в целом, версии пакетов штука не достаточно детерминированная, поэтому приходится постоянно работать с хэшем.

  1. Есть возможность загрузиться в предыдущие состояния системы и подготовить обновлённое состояние без влияние на текущее. Полезно, но это же спокойно можно сделать через снапшоты btrfs с любым другим линуксом. Когда и если тебе это надо. В плане же бэкапа это не удобно, так как срезы nixos жрут гораздо больше места, чем снапшоты типичной системы (особенно роллинг).

  2. Можно держать несколько версий софта одновременно, даже из другого среза пакетов. Может быть удобно для подготовки dev-окружений, но это не особенность именно NixOS, а самого менеджера сборки nix (отличная штука). Который, при желании, можно использовать в любой системе вместо других подходов по созданию окружений.

А вот другие подходы в самой NixOS не всегда нормально работают, так как ищут вещи по типичным для FHS путям. Из-за чего приходится приспосабливаться к nix-подходу и опакеичвать нужные вещи, либо пердолиться с врапперами.

Какие-нибудь кеды такой подход заменить нормально не позволяет. А изменения на низких уровнях зависимостей превращают систему в плохую генту, когда пересобирать надо всё и чаще, только это не предусмотренный UX на никсе и падает сборка чаще, а разбираться с проблемами менее удобно.

p.s. Как по мне, то менеджер nix без NixOS - 90% профита NixOS при 10% его проблем. А свежий софт на десктопе с минимумом затрат - это про арч линукс.

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

Пользоваться home-manager не обязательно. flakes тоже необязательно, просто удобно. Особенно если несколько компьютеров.

Мне кажется, что вам любопытно попробовать NixOs, но вы из каких-то неясных соображений себя сдерживаете. Не надо так.

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

Что nixos-rebuild создает новую версию мира, которую лекгко можно откатить до предыдущей (с оговоркой, что система вообще заведется, конечно, но ведь можно и через chroot, наверное…).

Предыдущие версии доступны через меню GRUB. Главное, чтобы были живы загрузчик и ФС.

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

Как по мне, то менеджер nix без NixOS - 90% профита NixOS при 10% его проблем. А свежий софт на десктопе с минимумом затрат - это про арч линукс.

Большое спасибо за пространный комментарий, мнение принято. Главную мысль из P.S. тоже принял к сведению.

paddlewan
() автор топика
Ответ на: комментарий от akho

Мне кажется, что вам любопытно попробовать NixOs, но вы из каких-то неясных соображений себя сдерживаете

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

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

Предыдущие версии доступны через меню GRUB.

Да, это я уже потыкал палочкой, а также и про удаление старых поколений, и про сборку мусора заодно. Спасибо.

paddlewan
() автор топика

Если из двух этих, то, естественно, Фетровую Шляпу.

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

Скажи, пожалуйста, а юзерскими дотфайлами ты управляешь через Nix тоже?

Нет. Я думал про это, но это достаточно бессмысленная затея. В Nix у меня всё кроме $HOME.

А можешь немного развернуть? Не браузер, конечно, но самую базу в DE, редактор, плеер, терминал и прочую шелуху удобно настроить и не вспоминать о ней. Плюс с этими же настройками можно и лайв образ собирать.

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

пока поиграю все ж в виртуалке

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

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

Скажи, пожалуйста, а юзерскими дотфайлами ты управляешь через Nix тоже?

Нет. Я думал про это, но это достаточно бессмысленная затея. В Nix у меня всё кроме $HOME.

А можешь немного развернуть? Не браузер, конечно, но самую базу в DE, редактор, плеер, терминал и прочую шелуху удобно настроить и не вспоминать о ней. Плюс с этими же настройками можно и лайв образ собирать.

Слишком много мелких изменений, чтобы это всё отслеживать, при крайне непонятном профите. Например, добавлю я виджет на панельку или сменю заставку, нахрена это в git добавлять? Лайв образ я точно собирать не буду.

Плюс куча софта может менять формат конфигов, либо сохраняет их в каком-то мутном формате, либо ещё что. Вообще, «$HOME/.config» и «$HOME/.local» в лялексе – помойки похуже вендового реестра, и как-то это систематизировать практически невозможно.

И это мы ещё до хранения секретов вроде паролей от почты и мессенжеров не дошли, которые примерно там же рядом могут храниться.

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

Например, добавлю я виджет на панельку или сменю заставку, нахрена это в git добавлять?

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

Вообще, «$HOME/.config» и «$HOME/.local» в лялексе – помойки похуже вендового реестра, и как-то это систематизировать практически невозможно.

Так систематизацией и занимается home-manager, собственно. С кедами проблема, правда, у них просто невменяемое количество конфигов в разных местах валяется.

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

многовато руками делать

iwctl && archinstall? Ты получишь самый свежий софт и его много.

dnb ★★★★
()

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

насчет flakes сообщество спорит, кошерно или нет

Можете сами потестить, и уже тогда поймёте, кошерно или нет.

Интересно, чо там с реальной стабильностью работы в перспективе хотя бы года

Ну что сказать... Стабильно. Если при обновлении что-то сломается, то можно откатиться на предыдущую конфигурацию системы (если не удалять её). По идее, можно вообще не обновляться хоть год (а потом, в случае надобности подкорректировав конфигурационные файлы, обновиться после такого большого перерыва), но зачем? Сам я использую NixOS примерно год, если что-то ломалось, то я либо откатывался назад; либо чинил руками, если по глупости (у меня мало места на EFI) я удалял старые конфигурации.

язык этот функциональный придется подучить…

Понятия не имею, почему все думают о nix как о языке. Я думаю о нём, как о синтаксисе файлов конфигурации системы. Буквально, я могу отредактировать конфигурационный файл, но написать простейшую программу (или свой конфиг с нуля) я не способен.

Дает ли это прямо какие-то заметные профиты или нет.

Не особо. В проде nix и nixos не набрали большой популярности.

mister_me ★★
()

Не мучайся - ставь Arch

Goat ★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.