tangled
alpha
login
or
join now
oeiuwq.com
/
den
8
fork
atom
Modular, context-aware and aspect-oriented dendritic Nix configurations. Discussions: https://oeiuwq.zulipchat.com/join/nqp26cd4kngon6mo3ncgnuap/
den.oeiuwq.com
configurations
den
dendritic
nix
aspect
oriented
8
fork
atom
overview
issues
4
pulls
2
pipelines
static include dups tests
oeiuwq.com
1 month ago
3b9867f1
d04af46a
+201
-197
1 changed file
expand all
collapse all
unified
split
templates
ci
modules
features
deadbugs
static-include-dup-package.nix
+201
-197
templates/ci/modules/features/deadbugs/static-include-dup-package.nix
···
1
1
{ denTest, ... }:
2
2
{
3
3
4
4
-
flake.tests.deadbugs.dups.test-static-include = denTest (
5
5
-
{
6
6
-
den,
7
7
-
lib,
8
8
-
tuxHm,
9
9
-
...
10
10
-
}:
11
11
-
{
12
12
-
den.default.homeManager.home.stateVersion = "25.11";
4
4
+
flake.tests.deadbugs-static-include-dups = {
13
5
14
14
-
den.hosts.x86_64-linux.igloo.users.tux = { };
6
6
+
test-static-include = denTest (
7
7
+
{
8
8
+
den,
9
9
+
lib,
10
10
+
tuxHm,
11
11
+
...
12
12
+
}:
13
13
+
{
14
14
+
den.default.homeManager.home.stateVersion = "25.11";
15
15
16
16
-
den.aspects.tux.includes = [
17
17
-
{
18
18
-
homeManager =
19
19
-
{ pkgs, ... }:
16
16
+
den.hosts.x86_64-linux.igloo.users.tux = { };
17
17
+
18
18
+
den.aspects.tux.includes = [
19
19
+
{
20
20
+
homeManager =
21
21
+
{ pkgs, ... }:
22
22
+
{
23
23
+
programs.emacs.enable = true;
24
24
+
programs.emacs.package = pkgs.emacs-nox;
25
25
+
};
26
26
+
}
27
27
+
];
28
28
+
29
29
+
expr = lib.getName tuxHm.programs.emacs.package;
30
30
+
expected = "emacs-nox";
31
31
+
}
32
32
+
);
33
33
+
34
34
+
test-default-func-include = denTest (
35
35
+
{
36
36
+
den,
37
37
+
lib,
38
38
+
igloo,
39
39
+
...
40
40
+
}:
41
41
+
{
42
42
+
den.default.homeManager.home.stateVersion = "25.11";
43
43
+
44
44
+
den.hosts.x86_64-linux.igloo.users.tux = { };
45
45
+
46
46
+
den.default.nixos.imports = [
47
47
+
{ options.foo = lib.mkOption { type = lib.types.listOf lib.types.str; }; }
48
48
+
];
49
49
+
50
50
+
den.default.includes = [
51
51
+
(
52
52
+
{ user, ... }:
20
53
{
21
21
-
programs.emacs.enable = true;
22
22
-
programs.emacs.package = pkgs.emacs-nox;
23
23
-
};
24
24
-
}
25
25
-
];
54
54
+
nixos.foo = [ user.name ];
55
55
+
}
56
56
+
)
57
57
+
];
26
58
27
27
-
expr = lib.getName tuxHm.programs.emacs.package;
28
28
-
expected = "emacs-nox";
29
29
-
}
30
30
-
);
59
59
+
expr = igloo.foo;
60
60
+
expected = [ "tux" ];
61
61
+
}
62
62
+
);
31
63
32
32
-
flake.tests.deadbugs.dups.test-default-func-include = denTest (
33
33
-
{
34
34
-
den,
35
35
-
lib,
36
36
-
igloo,
37
37
-
...
38
38
-
}:
39
39
-
{
40
40
-
den.default.homeManager.home.stateVersion = "25.11";
64
64
+
test-host-owned = denTest (
65
65
+
{
66
66
+
den,
67
67
+
lib,
68
68
+
igloo,
69
69
+
...
70
70
+
}:
71
71
+
{
72
72
+
den.default.homeManager.home.stateVersion = "25.11";
41
73
42
42
-
den.hosts.x86_64-linux.igloo.users.tux = { };
74
74
+
den.hosts.x86_64-linux.igloo.users.tux = { };
43
75
44
44
-
den.default.nixos.imports = [
45
45
-
{ options.foo = lib.mkOption { type = lib.types.listOf lib.types.str; }; }
46
46
-
];
47
47
-
48
48
-
den.default.includes = [
49
49
-
(
50
50
-
{ user, ... }:
76
76
+
den.aspects.igloo.includes = [
51
77
{
52
52
-
nixos.foo = [ user.name ];
78
78
+
nixos.imports = [
79
79
+
{ options.foo = lib.mkOption { type = lib.types.listOf lib.types.str; }; }
80
80
+
];
53
81
}
54
54
-
)
55
55
-
];
82
82
+
];
56
83
57
57
-
expr = igloo.foo;
58
58
-
expected = [ "tux" ];
59
59
-
}
60
60
-
);
84
84
+
den.aspects.igloo.nixos.foo = [ "bar" ];
61
85
62
62
-
flake.tests.deadbugs.dups.test-host-owned = denTest (
63
63
-
{
64
64
-
den,
65
65
-
lib,
66
66
-
igloo,
67
67
-
...
68
68
-
}:
69
69
-
{
70
70
-
den.default.homeManager.home.stateVersion = "25.11";
86
86
+
expr = igloo.foo;
87
87
+
expected = [ "bar" ];
88
88
+
}
89
89
+
);
71
90
72
72
-
den.hosts.x86_64-linux.igloo.users.tux = { };
91
91
+
test-default-owned-package = denTest (
92
92
+
{
93
93
+
den,
94
94
+
lib,
95
95
+
igloo,
96
96
+
...
97
97
+
}:
98
98
+
{
99
99
+
den.hosts.x86_64-linux.igloo.users.tux = { };
73
100
74
74
-
den.aspects.igloo.includes = [
75
75
-
{
76
76
-
nixos.imports = [
77
77
-
{ options.foo = lib.mkOption { type = lib.types.listOf lib.types.str; }; }
78
78
-
];
79
79
-
}
80
80
-
];
101
101
+
den.default.nixos =
102
102
+
{ pkgs, ... }:
103
103
+
{
104
104
+
services.locate.package = pkgs.plocate;
105
105
+
};
81
106
82
82
-
den.aspects.igloo.nixos.foo = [ "bar" ];
107
107
+
expr = lib.getName igloo.services.locate.package;
108
108
+
expected = "plocate";
109
109
+
}
110
110
+
);
83
111
84
84
-
expr = igloo.foo;
85
85
-
expected = [ "bar" ];
86
86
-
}
87
87
-
);
112
112
+
test-default-static-package = denTest (
113
113
+
{
114
114
+
den,
115
115
+
lib,
116
116
+
igloo,
117
117
+
...
118
118
+
}:
119
119
+
{
120
120
+
den.hosts.x86_64-linux.igloo.users.tux = { };
88
121
89
89
-
flake.tests.deadbugs.dups.test-default-owned-package = denTest (
90
90
-
{
91
91
-
den,
92
92
-
lib,
93
93
-
igloo,
94
94
-
...
95
95
-
}:
96
96
-
{
97
97
-
den.hosts.x86_64-linux.igloo.users.tux = { };
98
98
-
99
99
-
den.default.nixos =
100
100
-
{ pkgs, ... }:
101
101
-
{
102
102
-
services.locate.package = pkgs.plocate;
103
103
-
};
122
122
+
den.default.includes = [
123
123
+
{
124
124
+
nixos =
125
125
+
{ pkgs, ... }:
126
126
+
{
127
127
+
services.locate.package = pkgs.plocate;
128
128
+
};
129
129
+
}
130
130
+
];
104
131
105
105
-
expr = lib.getName igloo.services.locate.package;
106
106
-
expected = "plocate";
107
107
-
}
108
108
-
);
132
132
+
expr = lib.getName igloo.services.locate.package;
133
133
+
expected = "plocate";
134
134
+
}
135
135
+
);
109
136
110
110
-
flake.tests.deadbugs.dups.test-default-static-package = denTest (
111
111
-
{
112
112
-
den,
113
113
-
lib,
114
114
-
igloo,
115
115
-
...
116
116
-
}:
117
117
-
{
118
118
-
den.hosts.x86_64-linux.igloo.users.tux = { };
137
137
+
test-default-owned-list = denTest (
138
138
+
{
139
139
+
den,
140
140
+
lib,
141
141
+
igloo,
142
142
+
...
143
143
+
}:
144
144
+
{
145
145
+
den.hosts.x86_64-linux.igloo.users.tux = { };
119
146
120
120
-
den.default.includes = [
121
121
-
{
122
122
-
nixos =
123
123
-
{ pkgs, ... }:
124
124
-
{
125
125
-
services.locate.package = pkgs.plocate;
147
147
+
den.default.nixos.imports = [
148
148
+
{
149
149
+
options.tags = lib.mkOption {
150
150
+
type = lib.types.listOf lib.types.str;
151
151
+
default = [ ];
126
152
};
127
127
-
}
128
128
-
];
153
153
+
}
154
154
+
];
155
155
+
den.default.nixos.tags = [ "server" ];
129
156
130
130
-
expr = lib.getName igloo.services.locate.package;
131
131
-
expected = "plocate";
132
132
-
}
133
133
-
);
157
157
+
expr = igloo.tags;
158
158
+
expected = [ "server" ];
159
159
+
}
160
160
+
);
134
161
135
135
-
flake.tests.deadbugs.dups.test-default-owned-list = denTest (
136
136
-
{
137
137
-
den,
138
138
-
lib,
139
139
-
igloo,
140
140
-
...
141
141
-
}:
142
142
-
{
143
143
-
den.hosts.x86_64-linux.igloo.users.tux = { };
162
162
+
test-host-owned-package = denTest (
163
163
+
{
164
164
+
den,
165
165
+
lib,
166
166
+
igloo,
167
167
+
...
168
168
+
}:
169
169
+
{
170
170
+
den.hosts.x86_64-linux.igloo.users.tux = { };
144
171
145
145
-
den.default.nixos.imports = [
146
146
-
{
147
147
-
options.tags = lib.mkOption {
148
148
-
type = lib.types.listOf lib.types.str;
149
149
-
default = [ ];
172
172
+
den.aspects.igloo.nixos =
173
173
+
{ pkgs, ... }:
174
174
+
{
175
175
+
services.locate.package = pkgs.plocate;
150
176
};
151
151
-
}
152
152
-
];
153
153
-
den.default.nixos.tags = [ "server" ];
154
177
155
155
-
expr = igloo.tags;
156
156
-
expected = [ "server" ];
157
157
-
}
158
158
-
);
178
178
+
expr = lib.getName igloo.services.locate.package;
179
179
+
expected = "plocate";
180
180
+
}
181
181
+
);
159
182
160
160
-
flake.tests.deadbugs.dups.test-host-owned-package = denTest (
161
161
-
{
162
162
-
den,
163
163
-
lib,
164
164
-
igloo,
165
165
-
...
166
166
-
}:
167
167
-
{
168
168
-
den.hosts.x86_64-linux.igloo.users.tux = { };
183
183
+
test-host-owned-list = denTest (
184
184
+
{
185
185
+
den,
186
186
+
lib,
187
187
+
igloo,
188
188
+
...
189
189
+
}:
190
190
+
{
191
191
+
den.hosts.x86_64-linux.igloo.users.tux = { };
169
192
170
170
-
den.aspects.igloo.nixos =
171
171
-
{ pkgs, ... }:
172
172
-
{
173
173
-
services.locate.package = pkgs.plocate;
174
174
-
};
193
193
+
den.aspects.igloo.nixos.imports = [
194
194
+
{
195
195
+
options.tags = lib.mkOption {
196
196
+
type = lib.types.listOf lib.types.str;
197
197
+
default = [ ];
198
198
+
};
199
199
+
}
200
200
+
];
201
201
+
den.aspects.igloo.nixos.tags = [ "server" ];
175
202
176
176
-
expr = lib.getName igloo.services.locate.package;
177
177
-
expected = "plocate";
178
178
-
}
179
179
-
);
203
203
+
expr = igloo.tags;
204
204
+
expected = [ "server" ];
205
205
+
}
206
206
+
);
180
207
181
181
-
flake.tests.deadbugs.dups.test-host-owned-list = denTest (
182
182
-
{
183
183
-
den,
184
184
-
lib,
185
185
-
igloo,
186
186
-
...
187
187
-
}:
188
188
-
{
189
189
-
den.hosts.x86_64-linux.igloo.users.tux = { };
208
208
+
test-default-list-multi-user = denTest (
209
209
+
{
210
210
+
den,
211
211
+
lib,
212
212
+
igloo,
213
213
+
...
214
214
+
}:
215
215
+
{
216
216
+
den.hosts.x86_64-linux.igloo.users = {
217
217
+
tux = { };
218
218
+
pingu = { };
219
219
+
};
190
220
191
191
-
den.aspects.igloo.nixos.imports = [
192
192
-
{
193
193
-
options.tags = lib.mkOption {
194
194
-
type = lib.types.listOf lib.types.str;
195
195
-
default = [ ];
196
196
-
};
197
197
-
}
198
198
-
];
199
199
-
den.aspects.igloo.nixos.tags = [ "server" ];
221
221
+
den.default.nixos.imports = [
222
222
+
{
223
223
+
options.tags = lib.mkOption {
224
224
+
type = lib.types.listOf lib.types.str;
225
225
+
default = [ ];
226
226
+
};
227
227
+
}
228
228
+
];
229
229
+
den.default.nixos.tags = [ "server" ];
200
230
201
201
-
expr = igloo.tags;
202
202
-
expected = [ "server" ];
203
203
-
}
204
204
-
);
231
231
+
expr = igloo.tags;
232
232
+
expected = [ "server" ];
233
233
+
}
234
234
+
);
205
235
206
206
-
flake.tests.deadbugs.dups.test-default-list-multi-user = denTest (
207
207
-
{
208
208
-
den,
209
209
-
lib,
210
210
-
igloo,
211
211
-
...
212
212
-
}:
213
213
-
{
214
214
-
den.hosts.x86_64-linux.igloo.users = {
215
215
-
tux = { };
216
216
-
pingu = { };
217
217
-
};
218
218
-
219
219
-
den.default.nixos.imports = [
220
220
-
{
221
221
-
options.tags = lib.mkOption {
222
222
-
type = lib.types.listOf lib.types.str;
223
223
-
default = [ ];
224
224
-
};
225
225
-
}
226
226
-
];
227
227
-
den.default.nixos.tags = [ "server" ];
228
228
-
229
229
-
expr = igloo.tags;
230
230
-
expected = [ "server" ];
231
231
-
}
232
232
-
);
236
236
+
};
233
237
234
238
}