Несколько лет назад я решил полностью обновить компьютер. Интереса ради (а ещё из-за урезанного бюджета) в качестве основы была выбрана пара зеонов на относительно неплохой материнке. Не буду расписывать все комплектующие, т.к. для истории они не так важны и, вероятно, для этого понадобится ещё одна статья.
Рубрика «nixos»
История о том, как одна ошибка драйвера поменяла моё взаимодействие с системой (и не только)
2025-08-11 в 9:30, admin, рубрики: hyprland, niri, nix, nix flakes, nixos, ricingПочему Nix и NixOS становятся популярнее? Золото в мире конфигурационного менеджмента
2025-02-05 в 11:40, admin, рубрики: nixos, selectel, конфигурационный менеджмент
Бросьте в меня тапком те, кто не сталкивался с ситуацией из разряда «А локально оно нормально работает» или «На проде ошибка, но на стейдже такого не было». Эти фразы стали мемами, но от этого не перестали быть болью для разработчиков и админов. И вот здесь на сцену выходит Nix — инструмент, который обещает революционизировать конфигурационный менеджмент. Полная воспроизводимость окружений, устранение дрейфа конфигураций и предсказуемость на всех этапах — звучит хорошо, не так ли? Давайте разберемся, почему Nix и NixOS набирают популярность в DevOps.Читать полностью »
Nix как менеджер зависимостей для C++
2016-04-14 в 15:02, admin, рубрики: c++, cmake, devops, nix, nixos, package manager, Разработка под Linux
В последнее время много разговоров идет о том, что для C++ нужен свой пакетный менеджер подобный pip, npm, maven, cargo и т.д. Все конкуренты имеют простой и стандартизированный механизм подключения нестандартной библиотеки. В C++ же все действуют как умеют: кто-то прописывает в README список пакетов для Ubuntu, CentOS и других дистрибутивов, кто-то использует git submodule и скрипты для их сборки, кто-то использует CMake ExternalProject, кто-то копирует все исходники в один гигантский репозиторий, кто-то делает образ Docker или Vagrant.
Чтобы решить проблему был даже создан стартап — biicode, но он обанкротился и его будущее неизвестно. Взамен появился conan, дополняя зоопарк конкурентов — nuget, cget, hunter, cpm, qpm, cppget, pacm и даже gradle for c++.
Меня не устраивал ни один из перечисленных способов. Я было начал писать пакеты для Conan, но столкнулся с большим числом хаков, неразвитым API, отсутвием гайдлайнов и, как следствие, низкой вероятностью переиспользования чужих пакетов. И тут вспомнилось, что когда-то мне очень понравились идеи пакетного менеджера в NixOS. И подумал — а зачем плодить пакетный менеджер специально для C++, если те же задачи решает обычный пакетный менеджер? Нужно только чтобы он был достаточно гибким и простым в части описания пакета. И Nix идеально подошел на эту роль.
