···
1
-
import ../make-test-python.nix (
5
-
meta.maintainers = with lib.maintainers; [ nevivurn ];
4
+
meta.maintainers = with lib.maintainers; [ nevivurn ];
11
-
../common/user-account.nix
10
+
../common/user-account.nix
14
-
environment.systemPackages = [
15
-
# To avoid clashing with xfce4-terminal
13
+
environment.systemPackages = [
14
+
# To avoid clashing with xfce4-terminal
19
-
services.displayManager.autoLogin = {
18
+
services.displayManager.autoLogin = {
24
-
services.xserver = {
26
-
displayManager.lightdm.enable = true;
27
-
desktopManager.xfce.enable = true;
23
+
services.xserver = {
25
+
displayManager.lightdm.enable = true;
26
+
desktopManager.xfce.enable = true;
30
-
i18n.inputMethod = {
34
-
pkgs.fcitx5-chinese-addons
41
-
"Hotkey"."EnumerateSkipFirst" = "False";
42
-
"Hotkey/TriggerKeys"."0" = "Control+space";
43
-
"Hotkey/EnumerateForwardKeys"."0" = "Alt+Shift_L";
44
-
"Hotkey/EnumerateBackwardKeys"."0" = "Alt+Shift_R";
29
+
i18n.inputMethod = {
33
+
pkgs.fcitx5-chinese-addons
40
+
"Hotkey"."EnumerateSkipFirst" = "False";
41
+
"Hotkey/TriggerKeys"."0" = "Control+space";
42
+
"Hotkey/EnumerateForwardKeys"."0" = "Alt+Shift_L";
43
+
"Hotkey/EnumerateBackwardKeys"."0" = "Alt+Shift_R";
50
+
"Default Layout" = "us";
51
+
"DefaultIM" = "wbx";
52
+
"Name" = "NixOS_test";
51
-
"Default Layout" = "us";
52
-
"DefaultIM" = "wbx";
53
-
"Name" = "NixOS_test";
55
-
"Groups/0/Items/0" = {
56
-
"Name" = "keyboard-us";
58
-
"Groups/0/Items/1" = {
62
-
"Groups/0/Items/2" = {
66
-
"Groups/0/Items/3" = {
68
-
"Name" = "m17n_sa_harvard-kyoto";
70
-
"Groups/0/Items/4" = {
54
+
"Groups/0/Items/0" = {
55
+
"Name" = "keyboard-us";
57
+
"Groups/0/Items/1" = {
61
+
"Groups/0/Items/2" = {
65
+
"Groups/0/Items/3" = {
67
+
"Name" = "m17n_sa_harvard-kyoto";
69
+
"Groups/0/Items/4" = {
82
-
user = nodes.machine.users.users.alice;
83
-
xauth = "${user.home}/.Xauthority";
81
+
user = nodes.machine.users.users.alice;
82
+
xauth = "${user.home}/.Xauthority";
88
-
machine.wait_for_x()
89
-
machine.wait_for_file("${xauth}")
90
-
machine.succeed("xauth merge ${xauth}")
87
+
machine.wait_for_x()
88
+
machine.wait_for_file("${xauth}")
89
+
machine.succeed("xauth merge ${xauth}")
93
-
machine.wait_until_succeeds("pgrep fcitx5")
94
-
machine.succeed("su - ${user.name} -c 'kill $(pgrep fcitx5)'")
92
+
machine.wait_until_succeeds("pgrep fcitx5")
93
+
machine.succeed("su - ${user.name} -c 'kill $(pgrep fcitx5)'")
97
-
machine.succeed("su - ${user.name} -c 'alacritty >&2 &'")
98
-
machine.wait_for_window("alice@machine")
96
+
machine.succeed("su - ${user.name} -c 'alacritty >&2 &'")
97
+
machine.wait_for_window("alice@machine")
100
-
machine.succeed("su - ${user.name} -c 'fcitx5 >&2 &'")
99
+
machine.succeed("su - ${user.name} -c 'fcitx5 >&2 &'")
103
-
### Type on terminal
104
-
machine.send_chars("echo ")
102
+
### Type on terminal
103
+
machine.send_chars("echo ")
107
-
### Start fcitx Unicode input
108
-
machine.send_key("ctrl-alt-shift-u")
106
+
### Start fcitx Unicode input
107
+
machine.send_key("ctrl-alt-shift-u")
111
-
### Search for smiling face
112
-
machine.send_chars("smil")
110
+
### Search for smiling face
111
+
machine.send_chars("smil")
115
-
### Navigate to the second one
116
-
machine.send_key("tab")
114
+
### Navigate to the second one
115
+
machine.send_key("tab")
120
-
machine.send_key("\n")
119
+
machine.send_key("\n")
123
-
### Start fcitx language input
124
-
machine.send_key("ctrl-spc")
122
+
### Start fcitx language input
123
+
machine.send_key("ctrl-spc")
127
-
### Default wubi, enter 一下
128
-
machine.send_chars("gggh ")
126
+
### Default wubi, enter 一下
127
+
machine.send_chars("gggh ")
131
-
### Switch to Hangul
132
-
machine.send_key("alt-shift")
130
+
### Switch to Hangul
131
+
machine.send_key("alt-shift")
136
-
machine.send_chars("gks")
135
+
machine.send_chars("gks")
139
-
### Switch to Harvard Kyoto
140
-
machine.send_key("alt-shift")
138
+
### Switch to Harvard Kyoto
139
+
machine.send_key("alt-shift")
144
-
machine.send_chars("ka")
143
+
machine.send_chars("ka")
148
-
machine.send_key("alt-shift")
147
+
machine.send_key("alt-shift")
152
-
machine.send_chars("ka\n")
151
+
machine.send_chars("ka\n")
156
-
machine.send_key("ctrl-spc")
155
+
machine.send_key("ctrl-spc")
159
-
### Redirect typed characters to a file
160
-
machine.send_chars(" > fcitx_test.out\n")
162
-
machine.screenshot("terminal_chars")
158
+
### Redirect typed characters to a file
159
+
machine.send_chars(" > fcitx_test.out\n")
161
+
machine.screenshot("terminal_chars")
164
-
### Verify that file contents are as expected
165
-
file_content = machine.succeed("cat ${user.home}/fcitx_test.out")
166
-
assert file_content == "☺一下한कか\n", f'output does not match input:\n{file_content}'
163
+
### Verify that file contents are as expected
164
+
file_content = machine.succeed("cat ${user.home}/fcitx_test.out")
165
+
assert file_content == "☺一下한कか\n", f'output does not match input:\n{file_content}'