Как использовать политики Firefox в NixOs / Как добавить файлы конфигурации в пакет Nix?

Используйте strftimeв модуле zsh/datetimeдля преобразования календарного времени в эпоху Unix (с помощью-r)или обратно. Для генерации случайных чисел у вас есть $RANDOM, как и в ksh, но это только 15-битное целое число или rand48()математическая функция (в функции zsh/mathfunc).

#! /bin/zsh -
start=11.11.2017
end=12.12.2017
TZ=UTC0 # timezone doesn't matter here. We use UTC0 to make sure there's
        # DST/change

zmodload zsh/datetime
zmodload zsh/mathfunc

strftime -rs start_t %d.%m.%Y $start
strftime -rs end_t %d.%m.%Y $end

for ((t = start_t; t <= end_t; t += 24*60*60)) {
  strftime -s weekday %u $t
  if ((weekday < 6)) { # Monday to Friday
    strftime -s s '%d.%m.%Y %H:%M' $((t + 8 * 60*60))
    strftime -s e '%H:%M' $((t + 16*60*60 - 15*60 + int(rand48() * 30*60)))
    print $s - $e
  }
}
1
10.04.2020, 15:27
1 ответ

Я взглянул на выражения Firefox Nix и не нашел способа предоставить policies.json.

Если вы измените пакет так, чтобы вы могли предоставить политику в качестве входных данных для дериватива, это будет работать, но тогда пользователям придется нести бремя компиляции Firefox; Потому что файл будет вводом сборки.

Если Firefox предоставляет способ указать, где найти файл политик во время выполнения, это может быть идеальным решением. В противном случае вы можете добавить патч в пакет Firefox, который изменяет исходный код для поиска файла политик, скажем... /etc/firefox/policies.json. С этим изменением вы можете использовать модуль environmentNixOS в /etc/nixos/configuration.nixдля создания политик. Примерно так:

environment.etc."firefox/policies".text = "INSERT POLICY HERE";
0
19.03.2021, 02:30

Теги

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