NixOS - как реализована environment.systemPackages

Это известная проблема, описанная в Red Hat Bugzilla :

нас поражает отсутствие в systemd функции случайной задержки в cron. Я видел, что для этого есть запрос на добавление функции. Но до тех пор кажется, что вручную переводить в спящий режим перед запуском updateb - это обходной путь . Я бы предложил либо вернуться к использованию cron для запуска updatedb, либо поставить случайный или конкретный сон перед запуском updatedb: например. sleep 1h

Временное решение :

 sed 's / daily / weekly /' /usr/lib/systemd/system/mlocate-updatedb.timer> /etc/systemd/system/mlocate-updatedb.timer { {1}} 

Теперь мне нужно только терпеть медленную загрузку в понедельник.

0
04.04.2019, 19:25
2 ответа

С точки зрения реализации environment.systemPackages, я предполагаю, что это значение будет получено из различных сценариев, таких как установка nixos -, перестройка nixos -и т. д., которые можно найти здесь :https://github.com/NixOS/nixpkgs/tree/master/nixos/modules/installer/tools

Но, похоже, это просто список (на языке Nix ).

Посмотрев на них лично, вероятно, было бы полезно сначала понять, как работает Nix, а затем функциональность, связанную с Nixos.

0
28.01.2020, 03:51

users.users..packages — это то, что я искал.

Я попытаюсь перефразировать вторую часть моего вопроса (, что сделало его довольно запутанным, извините за это)

Предположим, у меня есть что-то вроде:

blah = [ pkgs.hello ];

есть ли функция f, которую я мог бы сделать:

f blah

и это сделало бы package hello присутствующим в системе.

К настоящему времени я понял, что это своего рода противоречие, потому что, если бы оно было, Никс не был свободен от побочных -эффектов. Так что я полагаю, что Крис Стричински прав, есть какой-то внешний инструмент, для которого environment.systemPackages подходит, а бла — нет. Однако я, вероятно, могу реализовать f как

environment.systemPackages ++ blah

или что-то в этом роде (рассматривают образцы кода как псевдокод, а не как синтаксически правильный Nix ).

0
28.01.2020, 03:51

Теги

Похожие вопросы