NixOS - Полный Разбор: Nixpkgs, Flakes, home-manager
Vložit
- čas přidán 19. 04. 2024
- Видео, которое я обещал ещё полгода назад наконец вышло. Здесь я подробно разберу дистрибутив NixOS, его пакетный менеджер и язык Nix: Флейки, home-manager, установка, настройка, работа языка Nix на более низком уровне и многое другое.
Мой конфиг: github.com/Andrey0189/nixos-c...
Скачать NixOS: nixos.org/download/
Nixpkgs search: search.nixos.org/packages
Disko примеры: github.com/nix-community/disk...
NixOS Manual: nixos.org/manual/nixos/stable/
Nix Reference Manual: nixos.org/manual/nix/stable/i...
Nix pills: nixos.org/guides/nix-pills/06...
Home manager option search: home-manager-options.extranix...
Zero to Nix: zero-to-nix.com/
Диссертация: edolstra.github.io/pubs/phd-t...
Команды для установки home-manager:
$ nix-channel --add github.com/nix-community/home... home-manager
$ nix-channel --add github.com/nix-community/home... home-manager
Музыка из видео:
• Creo - Flow
• LAKEY INSPIRED - Blue Boi
• LAKEY INSPIRED - The P...
• Dream Speedrun Music
• 3 A.M Chill Session 🌌 ...
• LEMMiNO - Cipher (BGM)
Автору огромная благодарность! В РУ-сегменте мало кто так подробно касается данной темы.
благодаря нему я еще больше начал изучать линукс, очень информативно подает, реально respect!!!
I don't even understand russian but watched anyways because NIX MENTIONED
You say that as if you didn’t click because of the anime girl)))
I have an English channel btw youtube.com/@ampersand-xc9jp
это мы смотрим обязательно
Лучший и самый подробный обзор NixOS, который я видел. Очень здорово все объяснешь. Похоже пора наконец попробовать NixOS
На этом фоне у меня возникает вопрос, будут ли плюсы для пользователя если он не занимается сборкой и поддержкой пакетов.
Не ну скажи честно - оно тебе надо?😅
@@beotiger Ну чет меня заинтересовала данная тема. Хочу попробовать его как декстоп для дома и работы. Отказаться всегда можно.
Определенно стоит попробовать, вот сегодня апгрейднул nixos на последнюю нестабильную, после перезагрузки сломался файфай. После просто выбрал предыдущую конфигурацию и система в полном порядке, как ни вчем не бывало, если бы это была убунту столько бы геморроя было, страшно подумать
@@Back2Nix А я сегодня решил заморочиться основательно. Залил minimal.iso на флешку и хочу попробовать установить все через CLI. А сверху еще и Hyprland навесить. Делаем ставки на сколько меня хватит 🤣
НАКОНЕЦ ТО, ВЫПУСКАЙ БОЛЬШЕ РОЛИКОВ
Wow Ampersand
У меня такое ощущение как будто то я на лекцию в Стэнфорде попал😅.
Такой объем информации... Нужно пересматривать и пересматривать👍🙂
Спасибо за твой огромный труд!)
Подход NixOS выглядит стабильным. Я, как пользователь artix, не одобряю такое.
Всё жду версию NixOS без systemd, чтоб затестить наконец заместо Артикса хахах (обожаю после обнов симлинковать "недостающие" библиотеки на их более старые/новые версии бтв)
Ру-линукс-ютуб, живи! Видос огненный, наверное самый лучший у тебя сейчас. Посмотрел с удовольствием.
Спасибо Андрей ,хотелось бы больше таких видео ,НО ,но с учетом того что вас смотрят обычные пользователи ,не разработчики и даже не продвинутые .а просто "только что от винды отошедшие" но Линукс полюбившие.Дай бог вам крепкого здоровья )
Вот это да! Никогда не слышал раньше про NixOS, но он меня действительно заинтриговал. Спасибо автору! Всё чётко, понятно и без воды.👍
Пожалуй реально лучший видос по Nix OS во всем ютубе. Отдельное спасибо за конфиг, взял как стартовый, настраиваю под себя потихоньку. Пришлось правда чуть поднапрячься при установке, не сразу понял, что нужно юзернейм во всех конфигах заменить, да хардавар конфиг реплейснуть.
Ещё не посмотрел даже половину видео, но это шедевр.
Сложно, но очень интересно. Спасибо за ролик, видно что очень старались)
Наканецта. Свершилось)
Лайк автоматом
Я новичок в линуксе, недавно наткнулся на твой канал и подписался. Делаешь круто!
Замотивировал че)) Спасибо за ролик!
Хороший обзор, молодец!!!
На некоторые вещи я даже внимания не обращал, спасибо
как обычно чётко и по делу. автор маладец
Крайне грамотно и по делу всё рассказал. Большое тебе спасибо! Лайк и подписка! Вот теперь думаю о переходе с Arch на Nix!
Господи, это гениально, прям видно как ты всю душу вложил в этот ролик
Спасибо!! Вы очень заинтересовал! Буду изучать!
Спасибо огромное за инфу, и не только за "Самый быстрый курс по языку nix"👍😁
Очень классный ролик, спасибо! Дистриб заинтересовал, надо будет попробовать
Наконец-то дождались 😊
Добавил в закладки. Сам сижу 5-ый месяц на нем, грамотные гайды ой как нужны) Автору зачет однозначно 👍
огромное спасибо сам недавно перешел на никс гдето окола месяца уже сижу очень интересная система счас только поверхностно разобрался теперь надо дальше узучать углублятся
Грамотная и приятная подача. Спасибо!
Мощно. Никс хоть и очень глубокая кроличья нора, но для краткого разбора - хорошо.
Спасибо за это крутое видео!
мощно. Про то что git через home-manager можно настроить, не знал, полезно.
отличный материал. Автору огромнейшее спасибо. Сам сижу на генту и пока всё устраивает. Но в будущем для расширение кругозора обязательно попробую NixOS.
Выглядит очень круто
Вообще согласен с комментариями, по-моему единственный канал на ру сегменте с инфой о nixos, да есчо и не перевод 🔥
Только недавно осваивал арч и тут мне попадается этот наиценнейший шедевр. Теперь чувствую, что мои планы по изучению линукс сместится на другой дистрибутив в пользу nixos
Только вчера я снёс никс с компа, спасибо, пойду ставить ещё раз)
Оооооо, вот и нашёлся повод разобаться в никсах
Видео пушка! Лайк
Спасибо за неплохой обзор. Жду видео с разбором как самом создать пакет nix, а еще докер образ который компилируется с помошью nix из исходников. Это оказалось не так легко нагуглить
Годный контент. Реально годный. Прям руки зачесались поиграться с nixos. Пили ещё ролики по этой теме. Что там в подводной части?
Дождались получается
Я конечно ,не фанат Lunux ,больше по части dos или cmd ,но даже мне стало интересно!)
Спасибо за легкую восприимчивость))!❤❤❤
ТАКИ ДОЖДАЛСЯ
Замечательное видео, благодарю
Ты днлаешь очень интересные видео спасибо
делаешь *
Nix OS крутая, раньше работал на Ubuntu, но после того как в журнале посвященной вычислительной химии узнал об nix os, понял для моих целей самое то. Благодарю!
легенда не слился, лайк
Система для людей которы любят все делать руками , или для специфических рабочих задач, когда-то я до этого дойду )
ПОсмотрел и вспомнил как у меня горело когда тольео перешел на linux и настраивал NVIM coc , а после не мог запустить davinci resolve тоже головняка было много )
Спасибо за видео было полезно послушать
Отлично, в качестве контента для виндузятника прекрасно подходит
НАКОНЕЦ ТО
Теперь ждем гикс)
Спасибо, посмотрел, кушайте сами. Я на арче останусь ))
ОО, ты из Узбекистана?
Ну там у тебя таймзона Ташкент)
Привет Земляк)
Когда обзор на никсос?
Сейчас
Когда нибудь в будущем
Интересно. Спасибо.
господи, наконец-то стало понятно. спасибо!
Не стоит забывать про shell
спс, теперь я еще больше хочу никсу.
у меня на днях умер endevour os во время обновления, психанул и поставил nixos. надеюсь больше падать не будет)
спасибо за обалденный гайд!
Мемы в видео имба
Бдагодарю, за проделаную работу и желание делится со всеми своим опытом.
Вторая часть будет?
Как обсоят дела с удалением systemd из системы?
Удаление systemd решил не затрагивать, т. к. в этом видео я приводил практические рекомендации по использованию никсы и proof of concept здесь был бы немного не к месту. Насчёт второй части... Может быть...
@@ampersand3636 есть ещё одна причина заняться удалением systemd - это тестирование прочности системы. Если nixos можно снести systemd без пересборки дистрибутива - то это будет поистине царская система.
Почти. Каждый раз пересобирать систему при любой установке пакетов - это боль, особенно для новичка, что ещё не определился с тем что ему реально нужно... Зато дисциплинирует, вынуждая искать варианты вообще без установки лишних пакетов.
26:52 Безбожные гуглы! Только утки)
отличное видео ! есть неплохой цикл у Erik Dubois, но тут всё кратко и по полочкам разложил, Спасибо !
Я правильно понимаю, что nix хранит сразу много копий одних и тех же пакетов для того, чтобы поддерживать такую систему независимых пакетов? Если да, то это получается какой-то flatpack, но в масштабах всей системы. Не бьет ли это по производительности и (особенно) памяти?
Еб?*ит
по идее, если использовать это в связке с btrfs - это не должно создавать слишком много проблем, так как btrfs по умолчанию - не создает более одного экземпляра одних и тех же файлов.
Ничего не понял, но очень интересно)))
Привет, Ampersand! Очень интересный видос, большое спасибо! Ты не мог бы пожалуйста обьяснить зачем нужен nixos, если есть такие инструменты как ansible? С ansible можно выбрать любой понравившийся дистр, также написать код для развертывания и удобно устанавливать систему. Плюс можно выбрать дистр без systemd, например void. Мне понравилось твое заключение, но если подумать, то
1) Репродуцируемость - ansible. Но, конечно будет сложно(или невозможно) собирать систему с идентичными версиями пакетов, а не самыми новыми.
2) Контроль - да, тут ты прав, но как будто это скорее не про контроль, а про удобность. Удобно когда у тебя все лежит в одном месте(и понятно как именно это лежит). В разных дистрах бывают разные правила, это да.
3) Откаты - бекапы
4) Неубиваемость, да, это правда, выглядит круто, но на практике, если в течении обновления не произойдет сбоя, то вроде все должно работать. Я не часто удаляю какой то пакет из системы, если он находятся в зависимости.
5) Огромное количество пакетов - да, несомненно плюс, согласен.
Мне очень понравилось, как ты привел параллели между языками программирования. Это правда, что nix ос это чтото большее чем просто очередной дистр и единственное, что меня останавливает в том, чтобы его попробовать это непонимание его принципиального отличия от связки дискр+ansible. Если дашь свой ответ, буду оооочень благодарен, для себя в инете я как то ответа не нашел...
Приветствую. Отвечая на вопрос насчёт Ansible, у NixOS есть неоспоримое преимущество - флейки. На императивных пакетниках будет довольно проблематично выбрать конкретный коммит используемого репозитория. А NixOS позволяет сделать это с помощью flake.lock. Для предсказуемости и стабильности это опредёленно плюс. А так, большую часть нужд Ansible покрывает. Nix создан для более функционального подхода к развёртке софта
@@ampersand3636 большое спасибо!
Спасибо будем изучать как
Ничем не помог, но было интересно. Спасибо за видео)
Спасибо, поставлю авто удаление старых конфигураций!
Хотелось бы узнать будет ли обзор на какой-нибудь оконный менеджер?
Ты следишь за мной?
Только позавчера искал нормальный свежий обзор на nix os.
Сложно, круто, интересно. Но лично мне не особо нужно, я за минимализм, так как со временем заябываешься всё администрировать, хех.)
Привет, недавно наткнулся на тебя, много чего не понимаю про линукс и то, что ты говоришь в видео, но очень интересно и хочется тоже разбираться во всем этом. Мне интересно узнать как тебе дистрибутив slackware
Стоит ли ждать обзор на Plan9 на данном канале? Было бы интересно посмотреть.
ахах, спидран по языку Nix был великолепен
Из разбора не очень ясно является ли такое хранение пакетов избыточным и на сколько больше занимает места чем например в убунту. Может кто-то скинуть сравнение?
Звучит очень интересно но че там по systemd который прибит гвоздями к никсу как говорят? есть конечно guix но это слишком
Расскажи про guix linux
А какой смысл использования btrfs на nix, если сама система поддерживает откаты? Я сейчас использую btrfs в первую очередь из-за снапшотов, чтобы была возможность откатиться, если накосячу. Какие ещё плюсы у btrfs?
станет ли nix твоей основной осью? как тебе наличие systemd? кривая обучения язіка и системы стоит ли того, есть ли перспектива популяризации nixOS так что бы встретить где-нибудь в проде. Видео отличное, но так очень много вещей отличных от дефолтных линуксов, некоторые штуки кажется показаны мельком и поверхностно, но в целом понятно, это не дип дайв.
Репродуцируемость хорошо. А могу ли я как пользователь запускать и устанавливать любой софт, не беспокоясь чтт программа полезет не туда и не удалит все файлы в моей home директории?
А тестировать как? На изменения...
По сути это теже снап пакеты?
Автор, спасибо за качественный контент!
И если не сложно, объясни пожалуйста ламерским языком, в чем разница "nix-shell -p" и "nix-env -iA", двух способов установки программ в Nix (в качестве пакетника, а не ОС), и можно ли приучить "nix-store --gc" не трогать отдельно взятые программы установленные именно первым способом, а не вторым?
Возможно я неправильно понимаю назначение "nix-shell -p" и он не предназначен для бытового применения, лишь для тестирования пакетов в изолированной среде, а ходовой способ установки программ это именно "nix-env -iA"
Четыре года пользовал. Не советую, лишние пласты сложности и данные смешанные с командами... nix-shell скачает софт, добавит его в окружение на сессии терминала и создаст в неё chroot. Nix-env iA добавит пакет постоянно к пользователю, кто вызвал его, но постоянно. Удалять его через команду. Самый правильный способ через configuration.nix в environment.packages.
Прям от души постарался - респект!
Маленький вопросик:
Вот ты установил минимальный дефолтный НиксОс, например. В конфиге нет указания на то, что в системе есть редактор нано, а по факту он есть..
Почему?
NixOS с пустым конфигом установленных программ даст систему со всеми необходимыми пакетами для дальнейшей разёртки, то есть nano, sudo, perl и другие. Они эксплицитно не указаны в конфиге, но устанавливаются после nixos-install
@@ampersand3636 Спасибо за быстрый ответ. Но как это контроллить? Где увидеть-то что установленно-таки в системе, даже минимальной?
За это отвечает сет environment.defaultPackages. Не путать с "environment.systemPackages".
Увидеть все установленные пакеты можно с помощью команды "nix-store --query --requisites /run/current-system"
Небольшая документация: search.nixos.org/options?channel=unstable&show=environment.defaultPackages
Список дефолтных пакетов: github.com/NixOS/nixpkgs/blob/nixos-unstable/nixos/modules/config/system-path.nix
@@ampersand3636 Копаешь на полный штык 👍🏻 Ресёчь - моё почтение. Ктобы мог подумать, что когда они пишут, мол: в одном файле описаны ВСЕ пакеты системы, то это не так).
Прости, но ещё один тупой вопросик:
как перед установкой, на ливе изменить ттл перед подключением к сети? В арче и войде это легко - просто меняешь ттл в sysctl. А в никсе это реально вообще?
Что у тебя за редактор? Я вот решил на Helix перелезть, ибо nixvim очень муторно настраивать (дело не в нём, а в самом виме), а lunarvim как будто не то.
Я использую свою конфигурацию Nixvim. Если муторно настраивать, всегда можно скопировать готовую чужую конфигурацию с гитхаба
Расскажи про ALHP и CashyOS
Спасибо огромное что ты сделал видео по данной системе, обзоров по ней очень мало и было не понятно а здесь все было рассказано по полкам. Я хочу попробовать зимой ее опробовать но наверное огэ меня затушит если я начну изучать сам никс. Только не понятно, смогу ли я в 15 лет разобраться или нет
Верь в себя и всё получится. В интернете много информации, главное уметь гуглить и хоть как-то знать английский).
Попробуй её на виртуальной машине для начала, самые основные ошибки схватишь и потом будет проще.
Единственное что, если не изучаешь языки программирования - присмотрись к Си; он как раз функциональный, и есть структуры, которые похожи на описанное в видео организацию пакетов.
@@randomcraft2345 Хорошо, понял, благодарю за рекомендацию!
@@randomcraft2345с каких пор Си - функциональный? Он процедурным всегда был...
@@d4vlL не поверите, в Си можно писать функции без побочных эффектов, тоесть, делать настоящие функции. Все эти "процедурный" и "функциональный" - имеют смысл только для нас; а для тех, кто и 5 дней не трогал любой язык, эти слова особо ничего не значат, а даже если загуглят - не поймут. Так зачем усложнять. Может вообще отказаться от "функциональный" и заменить на "отображаемый"?)
Полный вперёд, парень
Я вот пользуюсь арчем, но мне прям надоело каждый раз все настраивать, а потом все чинить после pacman -Syu. Хочется такого решения, чтобы сделал себе один раз все конфиги а потом пользуешься ими. Мне кажется nixos здесь будет идеален для desktop-as-a-code
какие есть дистры на базе nixos без systemd?
Извиняюсь, чем это отличается от флетпака какого нибудь?
Если у меня стоит qt5, а я пытаюсь поставить софт с qt6, как по мне, пускай ругнётся и не поставится, чем заносить еще один qt ради одной софтины.
по своему опыту могу добавить, что nixos в силу своей специфики будет использовать гораздо больше дискового пространства, чем другие линукс дистрибутивы. При чем в разы больше. Много вопросов вызывает то, с помощью чего (nixos-install или home-manager) ставит софт и в какой ситуации. Далеко не все опции конфигурации поддерживаются в декларативном стиле. Это касается как самого nix, так и home-manager. Некоторые вещи придется подкадывать в виде dotfiles, что слегка портит впечатление. Все очень непросто когда вопрос касается установки не системных пакетов, а пакетов языка (привет python, nodejs) или приклыдных пакетов приложений (neovim plugins, etc.). Но все это конечно же можно решить тем или иным способом. В целом, это не серебряная пуля, но точно стоит того, что это попробовать!
Но больше для серверно-рабочей машинки, чем для домашней
Хотя я, что дома, что на сервере использую arch
@@elpsykongr00 Особо не вижу смысла ставить ее на сервер, учитывая что большинство крутит все в кубере
Полагаю, всю прелесть никсов поймут только те, кто при очередном обновлении арча внезапно выяснят, что что-то перестало запускаться, при этом откатиться назад никак, потому что тогда перестанет запускаться другая часть софта. И потом сиди пирди разруливай всё это. Уже больше года, наверное, на никос сижу и в кайф. Хотя флейки ещё не освоил
Что за wm или рабочий стол в самом начале? На кадре с neofetch
hyprland, есть отдельный ролик у ампера про него
Ждем FreeBSD ещё через год
Ты из Таша? Го прогуляемся
Парень из матричного чатика по NixOS сказал, что у тебя дикция не очень. Лично моё мнение: мне нравится повествование как у Изи, как у Самойлова, при этом у них не идеальный микрофон, не идеально чёткая речь, но их интересно слушать, думаю это главное. Главное чтобы голос, музыка были увлекательными, захватывающими, но не слишком хаотичными. У тебя же в основном расслабляющая музыка. Парень из чатика привёл пример хорошей дикции czcams.com/video/AGVXJ-TIv3Y/video.html (не моё мнение), это всё не реклама, если что.
А мне Изя больше не нравится, он на самом деле ничем не лучше. Просто ИМХО нужны паузы-заставки между частями видео (и само разделение на части). Дикция у автора огонь, тоже ИМХО.
безумие какое то, видос хороший
Зачем никсос устанавливать на btrfs если она и так поддерживает откаты?
Но ведь только для пакетов вродь..
ок, а теперь гикс?
Выключенная галка - в VirtualBox - Включить EFI - унесла часок жизни.
6:49 Ну это какой-то сюр.... Что значит, что в асме мы надеемся, а в си - уже всё ок? Чем код отличается-то?
Он так принципиальную разницу подходов объяснил. Мол готовый инструмент и он просто работает сам все гарантируя. Мы просто используем. В асме мы делаем тоже самое, но сами, используя свои знания(предположения так как ничего это формально не гарантирует).
@@covid-2284 Код, что он показал, ничем не отличается. Т.е. разницы в подходах нет?
@@covid-2284 Разницы в том коде, что показал автор, нет.
@@covid-2284 Что за цензура? Почему коммент "test" проходит модерацию, а коммент "Между кодами, что показал автор, никакой разницы нет" не проходит??
@@covid-2284(Оба вопроса очевидно были не вам, но вот коммент, не проходивший модерацию, - вам)