at master 1.3 kB view raw
1{ pkgs, ... }: 2{ 3 name = "environment"; 4 meta = with pkgs.lib.maintainers; { 5 maintainers = [ nequissimus ]; 6 }; 7 8 nodes.machine = 9 { pkgs, lib, ... }: 10 lib.mkMerge [ 11 { 12 boot.kernelPackages = pkgs.linuxPackages; 13 environment.etc.plainFile.text = '' 14 Hello World 15 ''; 16 environment.etc."folder/with/file".text = '' 17 Foo Bar! 18 ''; 19 20 environment.sessionVariables = { 21 TERMINFO_DIRS = "/run/current-system/sw/share/terminfo"; 22 NIXCON = "awesome"; 23 SHOULD_NOT_BE_SET = "oops"; 24 }; 25 } 26 { 27 environment.sessionVariables = { 28 SHOULD_NOT_BE_SET = lib.mkForce null; 29 }; 30 } 31 ]; 32 33 testScript = '' 34 machine.succeed('[ -L "/etc/plainFile" ]') 35 assert "Hello World" in machine.succeed('cat "/etc/plainFile"') 36 machine.succeed('[ -d "/etc/folder" ]') 37 machine.succeed('[ -d "/etc/folder/with" ]') 38 machine.succeed('[ -L "/etc/folder/with/file" ]') 39 assert "Hello World" in machine.succeed('cat "/etc/plainFile"') 40 41 assert "/run/current-system/sw/share/terminfo" in machine.succeed( 42 "echo ''${TERMINFO_DIRS}" 43 ) 44 assert "awesome" in machine.succeed("echo ''${NIXCON}") 45 machine.fail("printenv SHOULD_NOT_BE_SET") 46 ''; 47}