{ config, lib, pkgs, ... }: { imports = [ ]; options.me = { displaylink.enable = lib.mkOption { type = lib.types.bool; default = false; example = true; description = "Whether we want to install displaylink."; }; }; config = lib.mkIf config.me.displaylink.enable ( lib.mkMerge [ { environment.systemPackages = with pkgs; [ displaylink ]; allowedUnfree = [ "displaylink" ]; boot = { extraModulePackages = [ config.boot.kernelPackages.evdi ]; initrd.kernelModules = [ "evdi" ]; }; } (lib.mkIf config.me.graphical { }) ] ); }