Merge pull request #67585 from worldofpeace/system-config-printer
nixos/system-config-printer: init
This commit is contained in:
commit
5d4890b58d
@ -144,6 +144,32 @@
|
|||||||
but will make sure that the given printers are configured as declared.
|
but will make sure that the given printers are configured as declared.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
There is a new <xref linkend="opt-services.system-config-printer.enable"/> and <xref linkend="opt-programs.system-config-printer.enable"/> module
|
||||||
|
for the program of the same name. If you previously had <literal>system-config-printer</literal> enabled through some other
|
||||||
|
means you should migrate to using one of these modules.
|
||||||
|
</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<para>If you're a user of the following desktopManager modules no action is needed:</para>
|
||||||
|
<listitem>
|
||||||
|
<para><option>services.xserver.desktopManager.plasma5</option></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><option>services.xserver.desktopManager.gnome3</option></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><option>services.xserver.desktopManager.pantheon</option></para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para><option>services.xserver.desktopManager.mate</option></para>
|
||||||
|
<para>
|
||||||
|
Note Mate uses <literal>programs.system-config-printer</literal> as it doesn't
|
||||||
|
use it as a service, but its graphical interface directly.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
@ -151,6 +151,7 @@
|
|||||||
./programs/sysdig.nix
|
./programs/sysdig.nix
|
||||||
./programs/systemtap.nix
|
./programs/systemtap.nix
|
||||||
./programs/sway.nix
|
./programs/sway.nix
|
||||||
|
./programs/system-config-printer.nix
|
||||||
./programs/thefuck.nix
|
./programs/thefuck.nix
|
||||||
./programs/tmux.nix
|
./programs/tmux.nix
|
||||||
./programs/tsm-client.nix
|
./programs/tsm-client.nix
|
||||||
@ -309,6 +310,7 @@
|
|||||||
./services/desktops/gnome3/tracker.nix
|
./services/desktops/gnome3/tracker.nix
|
||||||
./services/desktops/gnome3/tracker-miners.nix
|
./services/desktops/gnome3/tracker-miners.nix
|
||||||
./services/desktops/profile-sync-daemon.nix
|
./services/desktops/profile-sync-daemon.nix
|
||||||
|
./services/desktops/system-config-printer.nix
|
||||||
./services/desktops/telepathy.nix
|
./services/desktops/telepathy.nix
|
||||||
./services/desktops/tumbler.nix
|
./services/desktops/tumbler.nix
|
||||||
./services/desktops/zeitgeist.nix
|
./services/desktops/zeitgeist.nix
|
||||||
|
32
nixos/modules/programs/system-config-printer.nix
Normal file
32
nixos/modules/programs/system-config-printer.nix
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
programs.system-config-printer = {
|
||||||
|
|
||||||
|
enable = mkEnableOption "system-config-printer, a Graphical user interface for CUPS administration";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
|
||||||
|
config = mkIf config.programs.system-config-printer.enable {
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.system-config-printer
|
||||||
|
];
|
||||||
|
|
||||||
|
services.system-config-printer.enable = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
38
nixos/modules/services/desktops/system-config-printer.nix
Normal file
38
nixos/modules/services/desktops/system-config-printer.nix
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
###### interface
|
||||||
|
|
||||||
|
options = {
|
||||||
|
|
||||||
|
services.system-config-printer = {
|
||||||
|
|
||||||
|
enable = mkEnableOption "system-config-printer, a service for CUPS administration used by printing interfaces";
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
###### implementation
|
||||||
|
|
||||||
|
config = mkIf config.services.system-config-printer.enable {
|
||||||
|
|
||||||
|
services.dbus.packages = [
|
||||||
|
pkgs.system-config-printer
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.packages = [
|
||||||
|
pkgs.system-config-printer
|
||||||
|
];
|
||||||
|
|
||||||
|
services.udev.packages = [
|
||||||
|
pkgs.system-config-printer
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -233,10 +233,9 @@ in
|
|||||||
services.gnome3.gnome-user-share.enable = mkDefault true;
|
services.gnome3.gnome-user-share.enable = mkDefault true;
|
||||||
services.gnome3.rygel.enable = mkDefault true;
|
services.gnome3.rygel.enable = mkDefault true;
|
||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
|
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
|
||||||
services.telepathy.enable = mkDefault true;
|
services.telepathy.enable = mkDefault true;
|
||||||
systemd.packages = [ pkgs.gnome3.vino ];
|
systemd.packages = [ pkgs.gnome3.vino ];
|
||||||
services.dbus.packages =
|
|
||||||
optional config.services.printing.enable pkgs.system-config-printer;
|
|
||||||
|
|
||||||
services.avahi.enable = mkDefault true;
|
services.avahi.enable = mkDefault true;
|
||||||
|
|
||||||
|
@ -98,6 +98,9 @@ in
|
|||||||
programs.bash.vteIntegration = mkDefault true;
|
programs.bash.vteIntegration = mkDefault true;
|
||||||
programs.zsh.vteIntegration = mkDefault true;
|
programs.zsh.vteIntegration = mkDefault true;
|
||||||
|
|
||||||
|
# Mate uses this for printing
|
||||||
|
programs.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
|
||||||
|
|
||||||
services.gnome3.at-spi2-core.enable = true;
|
services.gnome3.at-spi2-core.enable = true;
|
||||||
services.gnome3.gnome-keyring.enable = true;
|
services.gnome3.gnome-keyring.enable = true;
|
||||||
services.gnome3.gnome-settings-daemon.enable = true;
|
services.gnome3.gnome-settings-daemon.enable = true;
|
||||||
|
@ -113,9 +113,9 @@ in
|
|||||||
services.colord.enable = mkDefault true;
|
services.colord.enable = mkDefault true;
|
||||||
services.pantheon.files.enable = mkDefault true;
|
services.pantheon.files.enable = mkDefault true;
|
||||||
services.tumbler.enable = mkDefault true;
|
services.tumbler.enable = mkDefault true;
|
||||||
services.dbus.packages = mkMerge [
|
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
|
||||||
([ pkgs.pantheon.switchboard-plug-power ])
|
services.dbus.packages = [
|
||||||
(mkIf config.services.printing.enable ([pkgs.system-config-printer]) )
|
pkgs.pantheon.switchboard-plug-power
|
||||||
];
|
];
|
||||||
services.pantheon.contractor.enable = mkDefault true;
|
services.pantheon.contractor.enable = mkDefault true;
|
||||||
services.gnome3.at-spi2-core.enable = true;
|
services.gnome3.at-spi2-core.enable = true;
|
||||||
|
@ -210,8 +210,7 @@ in
|
|||||||
# Enable helpful DBus services.
|
# Enable helpful DBus services.
|
||||||
services.udisks2.enable = true;
|
services.udisks2.enable = true;
|
||||||
services.upower.enable = config.powerManagement.enable;
|
services.upower.enable = config.powerManagement.enable;
|
||||||
services.dbus.packages =
|
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
|
||||||
mkIf config.services.printing.enable [ pkgs.system-config-printer ];
|
|
||||||
|
|
||||||
# Extra UDEV rules used by Solid
|
# Extra UDEV rules used by Solid
|
||||||
services.udev.packages = [
|
services.udev.packages = [
|
||||||
|
@ -137,8 +137,7 @@ in
|
|||||||
services.gvfs.enable = true;
|
services.gvfs.enable = true;
|
||||||
services.gvfs.package = pkgs.xfce.gvfs;
|
services.gvfs.package = pkgs.xfce.gvfs;
|
||||||
services.tumbler.enable = true;
|
services.tumbler.enable = true;
|
||||||
services.dbus.packages =
|
services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
|
||||||
optional config.services.printing.enable pkgs.system-config-printer;
|
|
||||||
services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
|
services.xserver.libinput.enable = mkDefault true; # used in xfce4-settings-manager
|
||||||
|
|
||||||
# Enable default programs
|
# Enable default programs
|
||||||
|
@ -61,6 +61,9 @@ stdenv.mkDerivation rec {
|
|||||||
# Manually expand literal "$(out)", which have failed to expand
|
# Manually expand literal "$(out)", which have failed to expand
|
||||||
sed -e "s|ExecStart=\$(out)|ExecStart=$out|" \
|
sed -e "s|ExecStart=\$(out)|ExecStart=$out|" \
|
||||||
-i "$out/etc/systemd/system/configure-printer@.service"
|
-i "$out/etc/systemd/system/configure-printer@.service"
|
||||||
|
|
||||||
|
substituteInPlace $out/etc/udev/rules.d/70-printers.rules \
|
||||||
|
--replace "udev-configure-printer" "$out/etc/udev/udev-configure-printer"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user