git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #163883 from ngiger/k3b

nixos/k3b: init

commit213febe39a1908874008b321b848d364e004ea44 authorAaron Andersen <aaron@fosslib.net> dateSat 30 Apr 2022, 09:17 (5 years ago) parentc39328087b4440
2 files changed+53
nixos/modules/module-list.nix+1 nixos/modules/programs/k3b.nix+52
nixos/modules/module-list.nix+1
@@ -172,6 +172,7 @@
172172 ./programs/java.nix
173173 ./programs/k40-whisperer.nix
174174 ./programs/kclock.nix
175+ ./programs/k3b.nix
175176 ./programs/kdeconnect.nix
176177 ./programs/kbdlight.nix
177178 ./programs/less.nix
nixos/modules/programs/k3b.nixnew file+52
@@ -0,0 +1,52 @@
1+{ config, pkgs, lib, ... }:
2+
3+with lib;
4+
5+{
6+ # interface
7+ options.programs.k3b = {
8+ enable = mkOption {
9+ type = types.bool;
10+ default = false;
11+ description = ''
12+ Whether to enable k3b, the KDE disk burning application.
13+
14+ Additionally to installing <package>k3b</package> enabling this will
15+ add <literal>setuid</literal> wrappers in <literal>/run/wrappers/bin</literal>
16+ for both <package>cdrdao</package> and <package>cdrecord</package>. On first
17+ run you must manually configure the path of <package>cdrdae</package> and
18+ <package>cdrecord</package> to correspond to the appropriate paths under
19+ <literal>/run/wrappers/bin</literal> in the "Setup External Programs" menu.
20+ '';
21+ };
22+ };
23+
24+ # implementation
25+ config = mkIf config.programs.k3b.enable {
26+
27+ environment.systemPackages = with pkgs; [
28+ k3b
29+ dvdplusrwtools
30+ cdrdao
31+ cdrkit
32+ ];
33+
34+ security.wrappers = {
35+ cdrdao = {
36+ setuid = true;
37+ owner = "root";
38+ group = "cdrom";
39+ permissions = "u+wrx,g+x";
40+ source = "${pkgs.cdrdao}/bin/cdrdao";
41+ };
42+ cdrecord = {
43+ setuid = true;
44+ owner = "root";
45+ group = "cdrom";
46+ permissions = "u+wrx,g+x";
47+ source = "${pkgs.cdrkit}/bin/cdrecord";
48+ };
49+ };
50+
51+ };
52+}