feat: add calibre+kindle setup
This commit is contained in:
32
modules/nixos/calibre.nix
Normal file
32
modules/nixos/calibre.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
options = {
|
||||
calibre = {
|
||||
enable = lib.mkEnableOption "Calibre e-book management with Kindle support";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf config.calibre.enable {
|
||||
environment.systemPackages = [ pkgs.calibre ];
|
||||
|
||||
# udev rules for kindle and mtp device access
|
||||
# NOTE:(@janezicmatej) uses services.udev.packages instead of extraRules
|
||||
# because extraRules writes to 99-local.rules which is too late for uaccess
|
||||
# see https://github.com/NixOS/nixpkgs/issues/308681
|
||||
services.udev.packages = [
|
||||
pkgs.libmtp
|
||||
(pkgs.writeTextFile {
|
||||
name = "kindle-udev-rules";
|
||||
text = ''
|
||||
ACTION!="remove", SUBSYSTEM=="usb", ATTRS{idVendor}=="1949", TAG+="uaccess"
|
||||
'';
|
||||
destination = "/etc/udev/rules.d/70-kindle.rules";
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -16,5 +16,6 @@
|
||||
printing.enable = lib.mkDefault true;
|
||||
workstation.enable = lib.mkDefault true;
|
||||
yubikey.enable = lib.mkDefault true;
|
||||
calibre.enable = lib.mkDefault true;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user