Jump to content

Calibre: Difference between revisions

From Official NixOS Wiki
Railwhale (talk | contribs)
Improve formatting, add top level usage heading, remove generic page description
Fyrk (talk | contribs)
Fix Wikipedia link
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[https://calibre-ebook.com/ Calibre] is program to view, edit, convert and print ebooks.
[https://calibre-ebook.com/ Calibre] is program to view, edit, convert, and print ebooks.
 
== Installation ==
 
Calibre is available in [[nixpkgs]] as {{nixos:package|calibre}}.
 
=== NixOS ===
 
Add the package to your NixOS configuration, in {{nixos:option|environment.systemPackages}}:
 
<syntaxhighlight lang="nix">
environment.systemPackages = with pkgs; [
  calibre
];
</syntaxhighlight>
 
=== Home Manager ===
 
Add the package to your <code>[https://home-manager-options.extranix.com/?release=master&query=home.packages home.packages]</code>:
 
<syntaxhighlight lang="nix">
home.packages = with pkgs; [     
  calibre
];
</syntaxhighlight>
 
 
== Extras ==


== Usage ==
=== Connecting USB devices ===
=== Connecting USB devices ===


Line 7: Line 33:


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
services.udisks2.enable = true;
services.udisks2 = {
    enable = true;
    mountOnMedia = true;
};
</syntaxhighlight>
</syntaxhighlight>


=== <code>.cbr</code> files ===
=== Opening <code>.cbr</code> files ===


If you want to open <code>.cbr</code> files, you need to add the following lines to your NixOS configuration:
<code>.cbr</code> files are comic book archives in the [[Wikipedia:RAR_(file_format)|RAR]] archive format.
 
If you want to open <code>.cbr</code> files, replace <code>calibre</code> with the following in your NixOS or Home Manager configuration:


<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
environment.systemPackages = with pkgs; [     
(calibre.override {
  (calibre.override {
  unrarSupport = true;
    unrarSupport = true;
})
  })
];
</syntaxhighlight>
</syntaxhighlight>


{{note|<code>calibre</code> requires several unfree packages to open .cbr files. If you are using <code>allowUnfreePredicate</code> you will need to ensure that your configurations permit all of them.
{{note|<code>calibre</code> requires {{nixos:package|unrar}} to open .cbr files, which is an unfree package. This also causes <code>calibre</code> to be marked as unfree. If you are using [https://nixos.org/manual/nixpkgs/unstable/#sec-allow-unfree <code>allowUnfreePredicate</code>] you will need to ensure that your configurations permit all of them.


For example, you can add this snippet to your NixOS configuration to allow <code>calibre</code> and <code>unrar</code>.
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
{
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
  nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
  "calibre"
    "calibre"
  "unrar"
    "unrar"
];
  ];
}
</syntaxhighlight>
</syntaxhighlight>
}}
}}
== See also ==
* [[wikipedia:Calibre_(software)|Calibre on Wikipedia]]


[[Category: Applications]]
[[Category: Applications]]

Latest revision as of 09:40, 2 May 2026

Calibre is program to view, edit, convert, and print ebooks.

Installation

Calibre is available in nixpkgs as calibre.

NixOS

Add the package to your NixOS configuration, in environment.systemPackages:

environment.systemPackages = with pkgs; [
  calibre
];

Home Manager

Add the package to your home.packages:

home.packages = with pkgs; [      
  calibre
];


Extras

Connecting USB devices

To connect devices via USB, you might have to add the following to your NixOS configuration:

services.udisks2 = {
    enable = true;
    mountOnMedia = true;
};

Opening .cbr files

.cbr files are comic book archives in the RAR archive format.

If you want to open .cbr files, replace calibre with the following in your NixOS or Home Manager configuration:

(calibre.override {
  unrarSupport = true;
})
Note: calibre requires unrar to open .cbr files, which is an unfree package. This also causes calibre to be marked as unfree. If you are using allowUnfreePredicate you will need to ensure that your configurations permit all of them.

For example, you can add this snippet to your NixOS configuration to allow calibre and unrar.

nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
  "calibre"
  "unrar"
];

See also