mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-14 06:00:33 +03:00
Add cdemu packages and module
This commit is contained in:
parent
d49405a5ab
commit
2961b83d08
10 changed files with 175 additions and 0 deletions
49
nixos/modules/services/hardware/cdemu.nix
Normal file
49
nixos/modules/services/hardware/cdemu.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.services.cdemu;
|
||||
in {
|
||||
|
||||
options = {
|
||||
services.cdemu = {
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
description = "Whether to enable cdemu for users of appropriate group (default cdrom)";
|
||||
};
|
||||
group = mkOption {
|
||||
default = "cdrom";
|
||||
description = "Required group for users of cdemu";
|
||||
};
|
||||
gui = mkOption {
|
||||
default = true;
|
||||
description = "Whether to install cdemu GUI (gCDEmu)";
|
||||
};
|
||||
image-analyzer = mkOption {
|
||||
default = true;
|
||||
description = "Whether to install image analyzer";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
boot = {
|
||||
extraModulePackages = [ pkgs.linuxPackages.vhba ];
|
||||
kernelModules = [ "vhba" ];
|
||||
};
|
||||
|
||||
services = {
|
||||
udev.extraRules = ''
|
||||
KERNEL=="vhba_ctl", MODE="0660", OWNER="root", GROUP="${cfg.group}"
|
||||
'';
|
||||
dbus.packages = [ pkgs.cdemu-daemon ];
|
||||
};
|
||||
|
||||
environment.systemPackages =
|
||||
[ pkgs.cdemu-daemon pkgs.cdemu-client ]
|
||||
++ optional cfg.gui pkgs.gcdemu
|
||||
++ optional cfg.image-analyzer pkgs.image-analyzer;
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue