git.iko.soy/typeable/nixpkgs
on master help sign in
nixos/k3b: init. Fixes #19154 missing permissions for k3b
commit87b4440a6001bb239a210e1c4a1fec2e95fdd1d6 authorNiklaus Giger <niklaus.giger@member.fsf.org> dateSat 12 Mar 2022, 19:27 (5 years ago) parent458a8fe
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+}