NixOS
NixOS удивительный проект с очень хорошей документацией и большим мега-активным сообществом (NixOS). Поэтому нет смысла дублировать документацию, опишу лишь некоторые команды в сравнении с пакетным менеджером apt.
Установка пакетов:
apt
- $ sudo apt-get install firefox python vim
nix
- $ nix-env -i firefox python vim
Удаление:
apt
- $ sudo apt-get remove python
nix
- $ nix-env -e python
Обновление реп:
apt
- $ sudo apt-get update
nix
- $ nix-channel –update
Обновление пакетов:
apt
- $ sudo apt-get upgrade
nix
- $ nix-env -u
Информация о пакете:
apt
- $ apt-cache search vim
nix
-
$ nix-env -qaP grep vim
Описание пакета:
apt
- $ apt-cache show vim
nix
-
$ nix-env -qaP –description grep vim
Вопрос:
Как я могу убедиться, что все пакеты, которые я устанавливаю при установке системы nixos (т.е. пакеты, перечисленные в /etc/nixos/configuration.nix, которые я устанавливаю с помощью sudo nixos-rebuild switch), используют последнюю (нестабильную) версию nixos/nixpkgs?
Лучший ответ:
Как объяснено в в разделе руководства по обновлению, если вы выполните следующую команду с правами root:
- nix-channel –list
вы, скорее всего, увидите что-то вроде следующего (если вы, например, следили за ветвью 16.09):
- nixos https://nixos.org/channels/nixos-16.09
Выпустив следующую команду (все еще как root):
- nix-channel –add https://nixos.org/channels/nixos-unstable nixos
вы удалите канал 16.09 и замените его на nixos-unstable.
Теперь этого пока недостаточно. Чтобы действительно обновить вашу систему, вам понадобится одна последняя команда:
- nixos-rebuild switch –upgrade
который собирается перестроить вашу систему с вашей текущей конфигурацией и обновленными пакетами с канала, на который вы переключились.
Ответ №1
Выполните следующие команды:
-
sudo nix-channel –add https://nixos.org/channels/nixos-unstable
-
sudo nix-channel –add https://nixos.org/channels/nixpkgs-unstable
Обратите внимание, что требуется sudo: если вы не используете sudo, это будет влиять только на пакеты пользовательского уровня (т.е. вещи, которые вы устанавливаете с помощью nix-env -i), а не на пакеты системного уровня.
откаты системы:
-
nix-env –list-generations
-
sudo nix-channel –rollback