at master 2.1 kB view raw
1{ lib, ... }: 2{ 3 name = "nixos-generate-config"; 4 meta.maintainers = with lib.maintainers; [ basvandijk ]; 5 nodes.machine = { 6 system.nixos-generate-config.configuration = '' 7 # OVERRIDDEN 8 { config, pkgs, ... }: { 9 imports = [ ./hardware-configuration.nix ]; 10 $bootLoaderConfig 11 $desktopConfiguration 12 } 13 ''; 14 15 system.nixos-generate-config.desktopConfiguration = [ 16 '' 17 # DESKTOP 18 services.displayManager.gdm.enable = true; 19 services.desktopManager.gnome.enable = true; 20 '' 21 ]; 22 }; 23 testScript = '' 24 start_all() 25 machine.wait_for_unit("multi-user.target") 26 machine.succeed("nixos-generate-config") 27 28 machine.succeed("nix-instantiate --parse /etc/nixos/configuration.nix /etc/nixos/hardware-configuration.nix") 29 30 # Test if the configuration really is overridden 31 machine.succeed("grep 'OVERRIDDEN' /etc/nixos/configuration.nix") 32 33 # Test if desktop configuration really is overridden 34 machine.succeed("grep 'DESKTOP' /etc/nixos/configuration.nix") 35 36 # Test of if the Perl variable $bootLoaderConfig is spliced correctly: 37 machine.succeed( 38 "grep 'boot\\.loader\\.grub\\.enable = true;' /etc/nixos/configuration.nix" 39 ) 40 41 # Test if the Perl variable $desktopConfiguration is spliced correctly 42 machine.succeed( 43 "grep 'services\\.desktopManager\\.gnome\\.enable = true;' /etc/nixos/configuration.nix" 44 ) 45 46 machine.succeed("rm -rf /etc/nixos") 47 machine.succeed("nixos-generate-config --flake") 48 machine.succeed("nix-instantiate --parse /etc/nixos/flake.nix /etc/nixos/configuration.nix /etc/nixos/hardware-configuration.nix") 49 50 machine.succeed("mv /etc/nixos /etc/nixos-with-flake-arg") 51 machine.succeed("printf '[Defaults]\nFlake = 1\n' > /etc/nixos-generate-config.conf") 52 machine.succeed("nixos-generate-config") 53 machine.succeed("nix-instantiate --parse /etc/nixos/flake.nix /etc/nixos/configuration.nix /etc/nixos/hardware-configuration.nix") 54 machine.succeed("diff -r /etc/nixos /etc/nixos-with-flake-arg") 55 ''; 56}