NixOS

Материал из Неолурк, народный Lurkmore
Перейти к навигации Перейти к поиску
Я потратил 6 месяцев своей жизни, изучая чистый функциональный язык, чтобы моя операционная система могла загрузить 1 браузер без страха сломать зависимости. Теперь я не могу общаться с нормальными людьми.
— неофит после установки NixOS

NixOS — это 1 из самых специфичных, элитарных, зубодробительных и беспощадных к человеческой психике дистрибутивов GNU/Linux, существующий в этой Вселенной. В то время как обычное быдло ставит себе Ubuntu, а мамкины хакеры кичатся установкой Arch Linux, настоящие красноглазики 80 уровня уходят в астрал чистого функционального программирования. В NixOS вся система, начиная от ядра и заканчивая обоями на рабочем столе и настройками вашего текстового редактора, описывается 1 гигантским (или разбитым на 100500 мелких) конфигурационным файлом на специальном функциональном языке.

Вам больше не нужно вводить 100 команд в терминал. Вы просто пишете код. Затем система читает этот код и магическим образом материализует операционную систему из пустоты. Ошиблись? Не беда, при загрузке у вас в меню GRUB или systemd-boot будет лежать 1000 и 1 предыдущая генерация системы. Откатиться можно за 1 секунду. Звучит как утопия? IRL это оборачивается тотальным ФГМ, чтением исходников пакетов на GitHub и попытками понять, почему ваш 1 несчастный скрипт на Python не видит библиотеку, которая лежит в соседней папке.

Историческая справка[править]

Всё началось в далёком 2003 году, когда некий сумрачный нидерландский гений по имени Элко Долстра (Eelco Dolstra) сидел в Утрехтском университете и думал о том, как же его задолбал ад зависимостей. В те тёмные времена установка 1 пакета могла сломать 10 других, потому что всем нужна была библиотека libastral.so разных версий, а в файловой системе для неё было только 1 место — /usr/lib.

Элко посмотрел на всё это непотребство и решил применить матан. В 2006 году он выкатил докторскую диссертацию под названием Чисто функциональная модель развёртывания программного обеспечения. В ней он доказал, что если мы будем рассматривать установку программ как выполнение математической функции, где на вход подаются исходники и зависимости, а на выходе получается бинарник, то мы можем достичь нирваны. Каждая программа должна лежать в своей собственной изолированной директории, а её имя должно содержать криптографический хеш от всех её входных данных. Так на свет появился пакетный менеджер Nix.

Сначала это была просто академическая поделка, которую использовали 3 с половиной анонимуса в исследовательских целях. В том же 2006 году студент Армин Хемель написал магистерскую работу, где предложил: а давайте натянем этот пакетный менеджер на ядро Линупса и сделаем целую ОС! Так и родился NixOS.

Долгие годы дистрибутив развивался в подвалах. К 2013 году вышел 1 стабильный релиз 13.10. А уже к 2024 и 2026 годам Никс стал мейнстримом среди DevOps-инженеров, хипстеров-программистов и людей, которые любят решать проблемы, которые сами же себе и создали. Правительство Франции даже начало тестировать сборки на базе NixOS для импортозамещения этих ваших Windows, обозвав проект Securix.

Суть[править]

Если вы всю жизнь сидели на Debian или Fedora, то при входе в NixOS ваш мозг испытает когнитивный диссонанс амплитудой свыше 9000 баллов по шкале Рихтера.

Смерть FHS[править]

В нормальных дистрибутивах есть стандарт иерархии файловой системы (FHS). Есть папка /bin, где лежат бинарники. Есть /etc для конфигов. Есть /usr/lib для библиотек.

В NixOS этого нет. Вообще. Абсолютно. Если вы откроете корень файловой системы, вы не найдёте там привычного хаоса. Вместо этого существует 1 святая директория — /nix/store. Именно там в изолированных подвалах лежат абсолютно все файлы вашей системы. Имена этих папок выглядят как последствия падения кота на клавиатуру:

/nix/store/s2sjbl85xnrc18rl4fhn56irkxqxyk4p-sshd_config

Первые 32 символа — это хеш. Благодаря этому хешу в вашей системе могут одновременно сосуществовать 5 разных версий Python, 3 версии GCC и 100500 версий какой-нибудь мелкой библиотеки, и они никогда не пересекутся и не сломают друг друга.

Единственное исключение — это симлинк /bin/sh, который оставлен чисто из жалости к быдлокодерам, чьи скрипты гвоздями прибиты к этому пути. Ну и папка /etc, которая на 99 процентов состоит из симлинков, ведущих всё в тот же /nix/store.

Ад зависимостей отменён, да здравствует Ад конфигураций[править]

Поскольку глобальных библиотек больше нет, вы не можете просто скачать рандомный бинарник из интернета (например, какую-нибудь проприетарную инди-игру или утилиту) и запустить её. Она будет искать /lib64/ld-linux-x86-64.so.2 и сдохнет в агонии, выдав вам ошибку No such file or directory.

Чтобы запустить любой бинарник, скомпилированный не под NixOS, вам придётся писать для него обёртку (wrapper), использовать утилиты типа steam, nix-ld или упаковывать его в контейнер. Вы хотели свободы? Вы её получили. Свобода от зависимостей означает свободу от совместимости с остальным миром.

Декларативность[править]

В NixOS вы не используете команды вроде apt install firefox. Если вы так сделаете, система посмотрит на вас как на говно. Чтобы установить браузер, вы должны открыть главный конфиг системы (обычно это /etc/nixos/configuration.nix), написать туда имя пакета и выполнить пересборку системы.

Вот как выглядит установка программ и включение сервисов:

{

 # Я ХОЧУ БРАУЗЕР И РЕДАКТОР, ПОТОМУ ЧТО Я НЕ МОГУ ЖИТЬ БЕЗ НИХ
 ENVIRONMENT.SYSTEMPACKAGES = WITH PKGS;[
   FIREFOX
   NEOVIM
   GIT
   HTOP
 ];
 # А ЕЩЕ Я ХОЧУ СЛУШАТЬ МУЗЫКУ И ИГРАТЬ В ИГРЫ
 HARDWARE.PULSEAUDIO.ENABLE = TRUE;
 PROGRAMS.STEAM.ENABLE = TRUE;
 
 # ПУСТИТЕ МЕНЯ ПО SSH
 SERVICES.OPENSSH.ENABLE = TRUE;

}

После этого вы с чувством выполненного долга вводите в терминал сакральную команду:

SUDO NIXOS-REBUILD SWITCH

Система считывает ваш конфиг, бежит на сервера, скачивает нужные исходники или бинарники из кэша (Hydra), собирает новое состояние системы, создаёт новые симлинки в /nix/var/nix/profiles/system и делает эту новую генерацию активной.

Атомарность и откаты[править]

Главный киллер-фича Никсоси, за которую ей прощают всю боль изучения функциональщины — это откаты. Каждая команда rebuild создаёт новое независимое поколение (generation) системы. Если вы написали в конфиге лютую дичь, удалили графическое окружение, сломали загрузчик и система после ребута выдаёт вам чёрный экран и kernel panic — вы просто перезагружаете комп. В меню GRUB или systemd-boot выбираете предыдущую генерацию (которая работала 5 минут назад) и загружаетесь в неё, как ни в чём не бывало. Ваш проёб локализован, изолирован и отменён. Магия вне Хогвартса!

Это делает дистрибутив практически неубиваемым. Вы можете экспериментировать с экспериментальными ядрами Линукса, тестировать 10 разных оконных менеджеров, ломать зависимости — и всё это откатывается нажатием 1 кнопки при загрузке.

Язык Nix[править]

Чтобы полноценно пользоваться дистрибутивом, вам придётся выучить новый язык программирования. Да, это не YAML и не JSON. Это полноценный тьюринг-полный функциональный язык программирования с ленивыми вычислениями.

Язык Nix создавался исключительно для сборки пакетов, поэтому он имеет ряд аутичных особенностей:

  • В нём нет переменных в привычном понимании. Всё неизменяемо.
  • Вычисления ленивые. Если вы написали кучу кода, который нигде не используется в конечном результате, он даже не будет вычисляться.
  • Синтаксис местами напоминает смесь Haskell, JSON и пьяного бреда.

Красноглазик, приходящий из мира Python или C++, первые 2 недели смотрит на код Nix и плачет кровавыми слезами. Какие-то attrsets, непонятные ключевые слова let … in, конструкции with pkgs;, рекурсивные сеты rec { … }.

Документация к языку Nix исторически была написана так, чтобы её понимал только сам Элко Долстра и парочка его аспирантов. Сейчас ситуация стала лучше (появились ресурсы типа nix.dev), но чтение официального мануала всё ещё напоминает расшифровку манускрипта Войнича. Половина функций стандартной библиотеки не задокументирована вообще, и чтобы понять, как работает та или иная утилита сборки (например, mkDerivation), вам нужно открыть исходники nixpkgs на GitHub и читать чужой код. Считается, что если вы смогли написать свой собственный пакет для Никса и отправить Pull Request, вы автоматически получаете пояс по матану и инвайт в масонскую ложу.

Flakes — Гражданская война внутри Никсоси[править]

Примерно к 2020 году Элко Долстра понял, что у традиционного Никса есть 1 фундаментальная проблема. Конфигурация зависела от так называемых каналов (channels). Канал — это по сути глобальная переменная уровня вашей ОС, указывающая на конкретную версию репозитория пакетов. Из-за этого, если 2 анонимуса скачают 1 и тот же конфиг с GitHub и запустят у себя, у них могут собраться разные системы, потому что у 1 канал обновлён 5 минут назад, а у 2 — 3 месяца назад. А как же святая воспроизводимость?!

Тогда Элко придумал Flakes (Флейки). Флейк — это стандартизированная структура директории, в которой есть файл flake.nix (где описаны все входные зависимости — инпуты, и выходные артефакты — аутпуты) и файл flake.lock. Лок-файл фиксирует точные криптографические хеши и коммиты всех зависимостей. Теперь, если вы кидаете свой флейк другу, у него соберётся ровно 100 процентов та же самая система, байт в байт, вне зависимости от фазы Луны и состояния его локальных каналов.

Казалось бы, абсолютный WIN! Но… Коммьюнити Никсоси — это сборище людей с синдромом утёнка, помноженным на крайнюю степень ЧСВ. Внедрение флейков растянулось на годы. Фича была помечена как experimental. Документация разбилась на 2 лагеря: половина туториалов в интернете написана для старой системы с каналами, половина — для новых флейков. Несчастный ньюфаг, который приходит в 2024 или 2026 году и пытается собрать себе систему, впадает в ступор. Он копипастит кусок кода из интернета, а система ему отвечает:

ERROR: FLAKES ARE NOT ENABLED. PLEASE ADD 'EXPERIMENTAL-FEATURES = NIX-COMMAND FLAKES' TO YOUR CONFIGURATION.

В результате сегодня 99 процентов продвинутых пользователей используют флейки, но в официальном мануале они до сих пор описаны как экспериментальная фича. Шизофрения в чистом виде.

Home Manager[править]

Настроить систему декларативно — это только 50 процентов диагноза. Настоящий больной NixOS хочет, чтобы его файлы в домашней директории (~/.bashrc, ~/.config/nvim/init.vim, настройки git и тема иконок) тоже генерировались из Никс-кода.

Для этого был создан Home Manager. Это отдельный проект, который натягивает логику Никсоси на вашего локального пользователя. С помощью него вы можете заставить Никс скачивать ваши плагины для редактора, генерировать конфиги для терминала Alacritty или Kitty, прописывать алиасы и даже устанавливать шрифты.

Типичный конфиг Home Manager выглядит примерно так:

{ CONFIG, PKGS, … }: {

 HOME.USERNAME = "ANONYMOUS";
 HOME.HOMEDIRECTORY = "/HOME/ANONYMOUS";
 PROGRAMS.GIT = {
   ENABLE = TRUE;
   USERNAME = "JOHN DOE";
   USEREMAIL = "[email protected]";
 };
 PROGRAMS.ZSH = {
   ENABLE = TRUE;
   ENABLEAUTOSUGGESTIONS = TRUE;
   SHELLALIASES = {
     LL = "LS -L";
     UPDATE = "SUDO NIXOS-REBUILD SWITCH --FLAKE .#MYHOST";
   };
 };
 HOME.STATEVERSION = "24.11";

}

Когда вы всё это объединяете (System config + Flakes + Home Manager), вы получаете так называемый dotfiles репозиторий. Это вершина эволюции никсовода. Вы загружаете этот репозиторий на GitHub. Теперь, если ваш ноутбук упадёт в вулкан, вы просто покупаете новый, загружаетесь с флешки, пишете 1 команду — и через 15 минут система выкачивает терабайт кэша, компилирует недостающее и восстанавливает вашу рабочую среду до последнего бита, включая обои с аниме-девочками.

Социальные драмы коммьюнити[править]

Как и любое сообщество, где порог входа требует чтения диссертаций по матану, коммьюнити NixOS привлекает весьма специфичных личностей. Это люди, которые готовы потратить 8 часов в воскресенье на то, чтобы переписать конфиг своего оконного менеджера Hyprland с чистого С на Nix, просто потому что так более функционально.

Войны за чистоту кода[править]

Внутри репозитория nixpkgs (который к 2026 году разбух до невероятных размеров, насчитывая более 120000 пакетов и обогнав вообще все остальные дистрибутивы, включая AUR из Arch Linux) постоянно идут бои. Красноглазики спорят о том, как правильно паковать пакеты. Одни считают, что нужно собирать всё из исходников. Другие делают грязные хаки, скачивая бинарники (например, проприетарные сборки IDE от JetBrains) и оборачивая их в патч-эльфы (patchelf), чтобы они могли найти библиотеки в /nix/store. Эта утилита patchelf — костыль невиданных масштабов, созданный самим Элко, который вклинивается в скомпилированный бинарный файл и переписывает в нём жестко зашитые пути к библиотекам. Выглядит как магия вуду, но работает.

Политический раскол 2024—2026 годов[править]

Где большое коммьюнити — там и SJW, политика и драма. К 2024 году популярность Никсоси привлекла внимание различных активистов и корпораций. Начались классические опенсорсные разборки.

В 2024 году разразился дичайший скандал. Элко Долстра, отец-основатель проекта, оказался под шквалом критики. Часть ультралевых активистов в сообществе решила, что Никс недостаточно инклюзивен, а спонсорство от компаний, связанных с военно-промышленным комплексом США (таких как Anduril) — это абсолютное зло. В итоге в коммьюнити начался натуральный бунт.

Был сформирован Управляющий комитет (Steering Committee), который вступил в открытую конфронтацию с командой модераторов. Модераторы, которые представляли собой самоназначаемую неодобряемую выборами касту, банили на форумах всех, кто имел наглость высказывать центристские или правые взгляды. Людей банили просто за то, что у них в профиле стояла фотка стейка, или за то, что они выступали против местоимений в коде. Когда Управляющий комитет попытался навести порядок и призвать модераторов к ответу, около 70 процентов модераторов пафосно подали в отставку, хлопнув дверью и написав манифесты о том, как их угнетают.

Часть самых обиженных форкнула пакетный менеджер, назвав его Lix. Они обещали создать безопасное пространство без корпоративного гнёта. Естественно, как и 99 процентов подобных SJW-форков в опенсорсе, проект оказался не особо кому нужен, потому что инфраструктура кэшей на 400 терабайт и 100000 строк кода в день поддерживается не обиженками в твиттере, а суровыми бородатыми сисадминами и корпоративными деньгами.

Но осадочек остался. Форумы погрязли в бесконечных тредах на 1000 сообщений, где люди выясняли, кто более токсичен. Анонимус смотрел на всё это, ел попкорн и понимал: NixOS стал слишком популярен.

Arch Linux vs NixOS[править]

Исторически главным пристанищем красноглазиков, желающих показать своё превосходство, был Arch Linux. Arch wiki — это священное писание, а установка Арча в консоли — обряд инициации. Мем I use Arch btw стал классикой.

Но к середине 2020-х Арч опопсел. Появились скрипты типа archinstall, и теперь любая школота может поставить Арч за 5 минут. Более того, Valve выпустила Steam Deck на базе Арча, и теперь им пользуются даже консолехолопы. Элитарность была утеряна!

Куда бежать задроту, чтобы снова чувствовать себя выше окружающих? Конечно же, на NixOS! Сегодня фраза Я использую Никсось с флейками и хоум-менеджером, кстати звучит как заявление о принадлежности к высшей расе. Никсоводы смотрят на арчеводов с жалостью.

  • Арчевод: «У меня сломалась система после обновления пакета glibc, сижу чиню через chroot».
  • Никсовод: «Лол, я просто нажал стрелочку вниз в GRUB и откатился. А мой конфиг лежит в гите. Ты живешь в каменном веке со своим мутабельным состоянием».

Но есть и обратная сторона медали.

  • Арчевод хочет установить нестандартную программу. Он заходит в AUR, пишет yay -S random-crap, ждёт 2 минуты, и программа работает.
  • Никсовод хочет установить нестандартную программу. В nixpkgs её нет. Он тратит 3 дня на написание derivation на функциональном языке, переписывает зависимости, патчит бинарник от хардкодных путей, ловит 20 ошибок infinite recursion, у него едет крыша, он уходит в запой, но через неделю с гордостью выкладывает свой конфиг на GitHub.

Gentoo vs NixOS[править]

Гентушники смотрят на Никсоводов с подозрением, но чувствуют в них родственные души. И там, и там суть заключается в страдании и написании длинных конфигурационных файлов. Однако Gentoo делает упор на компиляцию всего и вся из исходников под конкретный процессор (чтобы выжать 1 процент производительности, грея комнату процессором 2 суток). NixOS же по умолчанию использует бинарный кэш. Компилировать приходится только то, чего нет в кэше, или если вы решили поменять параметры сборки глобальной библиотеки (и тогда NixOS послушно начнёт перекомпилировать вам весь мир, превращаясь в Gentoo).

Nix в диком продакшене[править]

Несмотря на всю кажущуюся абсурдность, NixOS оказался невероятно мощным инструментом для бизнеса. DevOps инженеры, которые годами мучились с Ansible, Chef, Puppet и Terraform, поняли, что Никс решает их проблемы на корневом уровне.

В обычном мире вы пишете Ansible-плейбук, который должен привести сервер в нужное состояние. Вы запускаете его, он выдаёт ошибку на середине. Сервер остаётся в полу-настроенном, инвалидном состоянии. В мире NixOS вы деплоите конфиг на 100500 серверов одной командой (используя тулзы вроде Deploy-rs или Colmena). Если что-то сломалось, сервер просто не переключится на новую генерацию. Конфигурация либо применяется целиком (атомарно), либо не применяется вообще.

Французское правительство (агенство DINUM) в 2026 году анонсировало переход на форк NixOS под названием Securix. Идея проста: дать чиновникам неубиваемую, зашифрованную систему, конфигурация которой скачивается из государственного Git-репозитория. Пользователь ничего не может сломать, потому что система read-only. Если он поймает вирус или удалит папку, после перезагрузки система снова соберётся в своё чистое, первозданное состояние из /nix/store. Винды с их реестрами и вирусами отправляются на свалку истории.

Nix-shell[править]

Ещё 1 лютый вин пакета Nix — это утилита nix-shell (или в новой флейковой инкарнации — nix develop). Допустим, вы программист-фрилансер. Сегодня вам нужно писать на древнем Python 2.7, завтра на свежем Rust, послезавтра на Node.js 14. В обычном Линупсе установка всех этих версий одновременно превратит вашу ОС в помойку и вызовет конфликты.

В Никсе вы просто переходите в папку с проектом, создаёте файлик shell.nix (или flake.nix), где пишете: «Мне для этой папки нужен питон 2 и компилятор си». Затем вводите команду: NIX-SHELL Система скачивает нужные компиляторы и открывает вам bash сессию, в которой эти программы доступны. Вы выходите из папки, закрываете терминал — и эти программы магическим образом исчезают из вашего окружения (оставаясь лежать в мёртвом грузе /nix/store, пока вы не сделаете сборку мусора командой nix-collect-garbage). Никаких глобальных инсталляций, никакого мусора в системе. Программисты просто молятся на эту фичу.

Памятка по выживанию[править]

Если вы, начитавшись этой статьи, решили установить себе NixOS, Анонимус предупреждает:

  1. Подготовьте вазелин. Первые 2 недели вы будете страдать. Вы не сможете просто установить скачанный из интернета плагин к браузеру или редактору. Вам придётся гуглить, как это сделать the Nix way.
  2. Никогда не используйте команду NIX-ENV. Это старый императивный костыль, который нарушает саму суть декларативности системы. Использовать nix-env -iA nixpkgs.hello — это расписаться в своей некомпетентности перед местными гуру. Только конфиг, только хардкор!
  3. Не пытайтесь понять весь язык Nix сразу. Копипаст чужих конфигов с GitHub — ваш лучший друг. Увидели у кого-то красивое решение для запуска Docker? Скопируйте и не задавайте вопросов, почему там стоит 5 скобок подряд и слово inherit.
  4. У вас закончится место на диске. Поскольку Никс хранит все старые поколения системы, каждый апдейт съедает гигабайты памяти. Если вы забыли настроить автоматическую сборку мусора, через 1 месяц ваш SSD на 1 терабайт скажет кряк. Запомните мантру:

SUDO NIX-COLLECT-GARBAGE -D Эта команда удаляет все старые генерации. Правда, после этого вы не сможете откатиться, так что применяйте с осторожностью.

Резюме[править]

Вы будете страдать, когда вам нужно будет запустить 1 простой бинарник. Но вы испытаете божественный экстаз, когда сможете восстановить свою полностью настроенную, обвешанную скриптами, тайлинговыми менеджерами и темами систему на абсолютно пустом ноутбуке всего за 10 минут, выполнив ровно 1 команду.

И когда кто-то в чате снова скажет: I use Arch btw, вы, презрительно прищурившись, поправите монокль и ответите: Arch? Какая архаика. А моя система декларативна, идемпотентна и собирается из флейка. Почитай диссертацию Элко, быдло.

NixOS — это будущее, которое наступило, но к которому 99 процентов пользователей оказались ментально не готовы. И это прекрасно.

А теперь извини, мне нужно переписать свой конфиг роутера на функциональный язык, потому что старый bash-скрипт содержал побочные эффекты.
— пользователь NixOS перед уходом в оффлайн на 3 недели

См. также[править]

03ef4f7db0cccdf39bf013566aed31bd.jpg Системы, без которых машина просто откажется работать
СистемыAndroidDOSFreeBSDHaikuЛинуксMenuetOSMacOS (OS X) / Хакинтош / iOSOS/2ReactOSWindows / ВиндаРусОСФантом ОСUnixHarmony OSWindows vs. LinuxАстра ЛинуксMATEKaiOSChimbalixIOS 18WinGetThe Amnesic Incognito Live SystemTemple OSGrapheneOSKernel.orgWindows 3.11NixOS
СредыGNOMEGNU EmacsKDEЛинус Торвальдс vs x86 64SELinuxWindows UpdateИгры из репозиториевТерминалОптимизация WindowsПасьянс КосынкаEnd of 10Windows AeroАптаймОтечественные операционные системы в образованииPurble PlaceWindows vs Linux, Халяль или ХарамDKMSЯдро Linux
ЛюдиБалмерГенерал ФейлорПоттерингСтоллманТорвальдсФолькердингРуслан КармановRealme (компания)AnduinOSОболочка операционной системыRTOSShelledРеестр WindowsWindows APICompactGUINTFSДемон (программа)ГипервизорSecure BootСистемный трей
Дистрибутивы LinuxArchDebianFedoraFinnixGentooLFSUbuntu (BolgenOS) • СлакаUncom OSTiny10Tiny11Дешёвые ключи для WindowsLinux MintVirtualBoxManjaroДесктопАвтозагрузкаCopilotЖёсткая ссылкаСимлинкKali LinuxDos2unix
Версии виндыWindows 95Windows 98Windows 2000Windows XPWindows VistaWindows 7Windows 8Windows 10Windows 11Windows Phone 7Windows Phone 8ГовносборкиWindows MEWindows ШкольникГрафики в Windows CalculatorKasperskyOSQuick machine recoveryBypassNROCtrl+Shift+Win+BLiquorixСмена обоев рабочего столаAUR
ПользователиАдминБздун • Виндузятник • КрасноглазикЛинуксоидЯблочникФайл подкачкиСпермопроблемыDistro hoppingLinux на сервере
Площадки/s/LORru macru.os.cmpstoplinux.org.ruНеофициальная Windows Вики
Мемы/dev/null • BSD, not LSD • GIFGNOME vs. KDEMac vs. PCOS-tanrm -rfSystem32TRUE-DEATH-PRIMITIVE-LINUX-MITOLLWindows vs LinuxБубенВендекапецГномикиДаунгрейдЕсли бы…Ждём ебилдовКЛБМаздайПатчить KDE2 под FreeBSDПереустановка WindowsПриборчикРаспечатать лицензию на ЛинуксTuxТупые свитчерыФениксНе работай под рутомБлокировка Windows в РоссииОСВзлом Windows через MetasploitЭффект ПьюдипаяTempleOS (аниме)Подтверждение возраста на уровне ОС
Достойные упоминанияAmigaСтарая копипаста:ШindowsЛинуксоидное ХанжествоСкотный Двор имени Линуса Торвальдса