Size: a a a

2020 September 23

MG

Misha Gusarov in NixOS
Fun fact про iPXE: не смог его заставить работать на Librem 13v2. Там Coreboot + SeaBIOS, PXE нет, а iPXE с флешки не видит вайфай-карточку.
источник

АБ

Александр Бантьев... in NixOS
unstable: final: prev: {
 linux = prev.linux.overrideAttrs (_: {
   patches = [ ./linux.patch ];
 });
 
 inherit (unstable) lib1 lib2 foobar;
}
источник

АБ

Александр Бантьев... in NixOS
В configuration.nix описание машины
источник

MG

Misha Gusarov in NixOS
Спасибо.
источник

АБ

Александр Бантьев... in NixOS
Если нужны разные hostnames и какие-нибудь ещё изменения, то тогда...
источник

MG

Misha Gusarov in NixOS
Ну, язык-то полный по Тьюрингу, всегда можно if вкорячить.
источник

АБ

Александр Бантьев... in NixOS
{
 inputs = {
   nixpkgs.url = "github:nixos/nixpkgs/release-20.03";
   nixpkgs-unstable.url = "github:nixos/nixpkgs-channels/nixos-unstable";
 };

 outputs = { self, nixpkgs, nixpkgs-unstable }: {
   nixosConfigurations = let
     mkMachine = hostName:
       nixpkgs.lib.nixosSystem {
         system = "x86_64-linux";
         modules = [
           { networking.hostName = hostName; }
           { nixpkgs.overlays = [ (import ./overlay.nix nixpkgs-unstable) ]; }
           ./configuration.nix
         ];
       };
   in builtins.listToAttrs (map (name: {
     inherit name;
     value = mkMachine name;
   }) [ "machine1" "machine2" "machine3" ]);
 };
}
источник

АБ

Александр Бантьев... in NixOS
Если нужно какие-то ещё изменения в зависимости от хостнейма, то внутри configuration.nix делаешь например services.nginx.enable = config.networking.hostName == "machine2";
источник

В

Валентин in NixOS
Александр Бантьев
Я не исключаю, что у тебя действительно в S3 люто утекает батарейка, я думаю такое вполне возможно
За ночь(8 часов) 5% батарейки съело, T480
источник

АБ

Александр Бантьев... in NixOS
Странно, T490s у меня он долго в S3 может жить
источник

АБ

Александр Бантьев... in NixOS
Александр Бантьев
Если нужно какие-то ещё изменения в зависимости от хостнейма, то внутри configuration.nix делаешь например services.nginx.enable = config.networking.hostName == "machine2";
А, если тебе нужно ISO собирать, то ещё кое-что нужно
источник

АБ

Александр Бантьев... in NixOS
{
 inputs = {
   nixpkgs.url = "github:nixos/nixpkgs/release-20.03";
   nixpkgs-unstable.url = "github:nixos/nixpkgs-channels/nixos-unstable";
 };

 outputs = { self, nixpkgs, nixpkgs-unstable }: {
   nixosConfigurations = let
     mkMachine = hostName:
       nixpkgs.lib.nixosSystem {
         system = "x86_64-linux";
         modules = [
           { networking.hostName = hostName; }
           "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
           { nixpkgs.overlays = [ (import ./overlay.nix nixpkgs-unstable) ]; }
           ./configuration.nix
         ];
       };
   in builtins.listToAttrs (map (name: {
     inherit name;
     value = mkMachine name;
   }) [ "machine1" "machine2" "machine3" ]);
 };
}
источник

АБ

Александр Бантьев... in NixOS
Или как-то так
источник

MG

Misha Gusarov in NixOS
Спасибо
источник

АБ

Александр Бантьев... in NixOS
А, ещё немного
источник

АБ

Александр Бантьев... in NixOS
{
 inputs = {
   nixpkgs.url = "github:nixos/nixpkgs/release-20.03";
   nixpkgs-unstable.url = "github:nixos/nixpkgs-channels/nixos-unstable";
 };

 outputs = { self, nixpkgs, nixpkgs-unstable }: {
   nixosConfigurations = let
     installScript = hostName:
       nixpkgs.legacyPackages.x86_64-linux.writeShellScriptBin "installer" ''
         ${
           (nixpkgs.legacyPackages.x86_64-linux.nixos { }).nixos-install
         }/bin/nixos-install --system ${mkMachine hostName}
       '';
     mkMachine = hostName:
       nixpkgs.lib.nixosSystem {
         system = "x86_64-linux";
         modules = [
           { networking.hostName = hostName; }
           { nixpkgs.overlays = [ (import ./overlay.nix nixpkgs-unstable) ]; }
           ./configuration.nix
         ];
       };
     mkInstaller = hostName:
       nixpkgs.lib.nixosSystem {
         system = "x86_64-linux";
         modules = [
           "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix"
           { environment.systemPackages = [ (installScript hostName) ]; }
         ];
       };

   in builtins.listToAttrs (builtins.concatMap (name: [
     {
       inherit name;
       value = mkMachine name;
     }
     {
       name = "${name}-installer";
       value = mkInstaller name;
     }
   ]) [ "machine1" "machine2" "machine3" ]);
 };
}
источник

АБ

Александр Бантьев... in NixOS
Во
источник

АБ

Александр Бантьев... in NixOS
Билдишь nix build .#nixosConfigurations.machine1-installer.config.system.build.isoImage, грузишь с флешки, размечаешь диск, installer, смотришь на процесс установки
источник

Т

Тима in NixOS
Тима
3 диска 1-nvme 2- sdd 3-hdd
Как это правильно размазать ?
источник

Т

Тима in NixOS
Хочется шифрование, и hdd бустить
источник