Size: a a a

2020 April 27

ц

ц in NixOS
Лол
источник
2020 April 28

N

Nikolay in NixOS
Пытаюсь в fetchurl передать curlOpts = "--user-agent 'Mac OS X'"; ругается curl: (8) Could not resolve host: OS. Бага в fetchurl?
источник

S

Soul in NixOS
Александр Бантьев
production-ready service manager блеат
Ну так оно и работает) Продакшн-готовость зависит от самоуверенности разраба
источник

S

Soul in NixOS
Как перейти на flake? Надо обо что-то обновлять nix, чтобы он умел с ними работать?
источник

S

Soul in NixOS
[root@treeroot:/etc/nixos]# nixos-rebuild boot
error: 'flake' is not a recognised command
Try 'nix --help' for more information.
источник

AS

Alexey Shmalko in NixOS
Soul
[root@treeroot:/etc/nixos]# nixos-rebuild boot
error: 'flake' is not a recognised command
Try 'nix --help' for more information.
{
 nix = {
   package = pkgs.nixFlakes;
   extraOptions = ''
     experimental-features = nix-command flakes
   '';
 };
}
источник

S

Soul in NixOS
с этим вроде понял. А как описывать /etc/nixos/flake nix? я сначала думал, что description/edition/input/output а внутри output ту же самую configuration.nix, но насколько я понимаю там какие-то новые атрибуты для описания системы
источник

AS

Alexey Shmalko in NixOS
Soul
с этим вроде понял. А как описывать /etc/nixos/flake nix? я сначала думал, что description/edition/input/output а внутри output ту же самую configuration.nix, но насколько я понимаю там какие-то новые атрибуты для описания системы
если коротко
{
 description = "description";

 edition = 201909;

 inputs = {
   nixpkgs = {
     type = "github";
     owner = "NixOS";
     repo = "nixpkgs-channels";
     ref = "nixpkgs-unstable";
   };
 };

 outputs = { nixpkgs, ... }: {
   nixosConfigurations.hostname = nixpkgs.lib.nixosSystem {
     system = "x86_64-linux";
     modules = [ (import ./configuration.nix) ];
   };
 };
}
источник

AS

Alexey Shmalko in NixOS
в configuration.nix, в принципе, всё примерно то же самое остается
источник

S

Soul in NixOS
iso nix для самых дешевых ноутбуков с 32-bit uefi
{
 config,
 pkgs,
 ...
}:
{
 imports = [
   <nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-graphical-plasma5-new-kernel.nix>

   # Provide an initial copy of the NixOS channel so that the user
   # doesn't need to run "nix-channel --update" first.
   <nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
 ];
 
 nix = {
   package = pkgs.nixFlakes;
   extraOptions = ''
     experimental-features = nix-command flakes
   '';
 };
 
 boot.extraModulePackages = with config.boot.kernelPackages; [
 (rtlwifi_new.overrideAttrs (attrs: {
   src = pkgs.fetchzip {
     url = "https://github.com/lwfinger/rtlwifi_new/archive/a4cf600e0c65fe7bad51a61301156650124e27b5.zip";
     sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
   };
 }))
 ];
 
 boot.extraModprobeConfig = "options rtl8723de ant_sel=2";
 boot.loader.grub.forcei686 = true;
 
 services.xserver.desktopManager.lxqt.enable = true;
 services.xserver.displayManager.defaultSession = "lxqt";
 
 environment.systemPackages = with pkgs; [
 grub2_full
 grub2
 firefox
 mc
 ];
}
источник

LO

Leonid 🦇 Onokhov in NixOS
использую eval-config для собирания деплоев на сервера.

хочу один конфиг иметь, но передавать в него опции для деплоя на прод или стейджинг там.

Как это делать?
источник

LO

Leonid 🦇 Onokhov in NixOS
ну кроме как протаскивать аргумент в импорты модулей
источник

LO

Leonid 🦇 Onokhov in NixOS
Можно же как-то из "NIX_PATH=deploy=staging", получить staging в виде строки?
источник

S

Soul in NixOS
есть environment.variables, можно сделать "MY_MAGIC_ARG=staging" и взять его из environment.variables.MY_MAGIC_ARG, но это зависимость от переменных системы и оно не будет работать с flakes
источник

LO

Leonid 🦇 Onokhov in NixOS
а что такое flakes?
источник

S

Soul in NixOS
https://github.com/tweag/rfcs/blob/flakes/rfcs/0049-flakes.md формат пакетов для nix с бОльшей повторяемостью
источник

LO

Leonid 🦇 Onokhov in NixOS
ишь чо
источник

LO

Leonid 🦇 Onokhov in NixOS
ладно, протащу аргумент явно
источник

ц

ц in NixOS
Явное лучше неявного 🙂
источник

АБ

Александр Бантьев in NixOS
Soul
есть environment.variables, можно сделать "MY_MAGIC_ARG=staging" и взять его из environment.variables.MY_MAGIC_ARG, но это зависимость от переменных системы и оно не будет работать с flakes
Оно же не будет так работать
источник