Flake for my NixOS devices
1{
2 outputs,
3 lib,
4 ...
5}: let
6 roleEnabled = selected: role: builtins.all (r: builtins.elem r selected) (lib.splitString "+" role);
7in {
8 applyRoles = roleList: let
9 filteredRoles = lib.filterAttrs (n: _v: roleEnabled roleList n) outputs.nixosModules;
10 in {
11 imports = builtins.attrValues filteredRoles;
12 };
13}