forked from mirrors/nixpkgs
nixos/thunar: init
- Add a module for the thunar file manager, which depends on the xfconf dbus service, and also has a dbus service and a systemd unit. - Renames the option services.xserver.desktopManager.xfce.thunarPlugins to programs.thunar.plugins.
This commit is contained in:
parent
c3d95a02e9
commit
bb5ec4625a
|
@ -24,11 +24,16 @@ Some Xfce programs are not installed automatically. To install them
|
|||
manually (system wide), put them into your
|
||||
[](#opt-environment.systemPackages) from `pkgs.xfce`.
|
||||
|
||||
## Thunar Plugins {#sec-xfce-thunar-plugins .unnumbered}
|
||||
## Thunar {#sec-xfce-thunar-plugins .unnumbered}
|
||||
|
||||
Thunar (the Xfce file manager) is automatically enabled when Xfce is
|
||||
enabled. To enable Thunar without enabling Xfce, use the configuration
|
||||
option [](#opt-programs.thunar.enable) instead of simply adding
|
||||
`pkgs.xfce.thunar` to [](#opt-environment.systemPackages).
|
||||
|
||||
If you\'d like to add extra plugins to Thunar, add them to
|
||||
[](#opt-services.xserver.desktopManager.xfce.thunarPlugins).
|
||||
You shouldn\'t just add them to [](#opt-environment.systemPackages).
|
||||
[](#opt-programs.thunar.plugins). You shouldn\'t just add them to
|
||||
[](#opt-environment.systemPackages).
|
||||
|
||||
## Troubleshooting {#sec-xfce-troubleshooting .unnumbered}
|
||||
|
||||
|
|
|
@ -27,12 +27,18 @@ services.picom = {
|
|||
<literal>pkgs.xfce</literal>.
|
||||
</para>
|
||||
<section xml:id="sec-xfce-thunar-plugins">
|
||||
<title>Thunar Plugins</title>
|
||||
<title>Thunar</title>
|
||||
<para>
|
||||
Thunar (the Xfce file manager) is automatically enabled when Xfce
|
||||
is enabled. To enable Thunar without enabling Xfce, use the
|
||||
configuration option <xref linkend="opt-programs.thunar.enable" />
|
||||
instead of simply adding <literal>pkgs.xfce.thunar</literal> to
|
||||
<xref linkend="opt-environment.systemPackages" />.
|
||||
</para>
|
||||
<para>
|
||||
If you'd like to add extra plugins to Thunar, add them to
|
||||
<xref linkend="opt-services.xserver.desktopManager.xfce.thunarPlugins" />.
|
||||
You shouldn't just add them to
|
||||
<xref linkend="opt-environment.systemPackages" />.
|
||||
<xref linkend="opt-programs.thunar.plugins" />. You shouldn't just
|
||||
add them to <xref linkend="opt-environment.systemPackages" />.
|
||||
</para>
|
||||
</section>
|
||||
<section xml:id="sec-xfce-troubleshooting">
|
||||
|
|
|
@ -299,6 +299,18 @@
|
|||
as coreboot’s fork is no longer available.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
There is a new module for the <literal>thunar</literal>
|
||||
program (the Xfce file manager), which depends on the
|
||||
<literal>xfconf</literal> dbus service, and also has a dbus
|
||||
service and a systemd unit. The option
|
||||
<literal>services.xserver.desktopManager.xfce.thunarPlugins</literal>
|
||||
has been renamed to
|
||||
<literal>programs.thunar.plugins</literal>, and in a future
|
||||
release it may be removed.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
</section>
|
||||
|
|
|
@ -114,4 +114,6 @@ Use `configure.packages` instead.
|
|||
|
||||
- memtest86+ was updated from 5.00-coreboot-002 to 6.00-beta2. It is now the upstream version from https://www.memtest.org/, as coreboot's fork is no longer available.
|
||||
|
||||
- There is a new module for the `thunar` program (the Xfce file manager), which depends on the `xfconf` dbus service, and also has a dbus service and a systemd unit. The option `services.xserver.desktopManager.xfce.thunarPlugins` has been renamed to `programs.thunar.plugins`, and in a future release it may be removed.
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
|
|
|
@ -217,6 +217,7 @@
|
|||
./programs/sway.nix
|
||||
./programs/system-config-printer.nix
|
||||
./programs/thefuck.nix
|
||||
./programs/thunar.nix
|
||||
./programs/tmux.nix
|
||||
./programs/traceroute.nix
|
||||
./programs/tsm-client.nix
|
||||
|
|
44
nixos/modules/programs/thunar.nix
Normal file
44
nixos/modules/programs/thunar.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let cfg = config.programs.thunar;
|
||||
|
||||
in {
|
||||
meta = {
|
||||
maintainers = teams.xfce.members;
|
||||
};
|
||||
|
||||
options = {
|
||||
programs.thunar = {
|
||||
enable = mkEnableOption "Thunar, the Xfce file manager";
|
||||
|
||||
plugins = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.package;
|
||||
description = "List of thunar plugins to install.";
|
||||
example = literalExpression "with pkgs.xfce; [ thunar-archive-plugin thunar-volman ]";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (
|
||||
let package = pkgs.xfce.thunar.override { thunarPlugins = cfg.plugins; };
|
||||
|
||||
in {
|
||||
environment.systemPackages = [
|
||||
package
|
||||
];
|
||||
|
||||
services.dbus.packages = [
|
||||
package
|
||||
pkgs.xfce.xfconf
|
||||
];
|
||||
|
||||
systemd.packages = [
|
||||
package
|
||||
];
|
||||
}
|
||||
);
|
||||
}
|
|
@ -36,6 +36,12 @@ in
|
|||
[ "services" "xserver" "desktopManager" "xfce" "extraSessionCommands" ]
|
||||
[ "services" "xserver" "displayManager" "sessionCommands" ])
|
||||
(mkRemovedOptionModule [ "services" "xserver" "desktopManager" "xfce" "screenLock" ] "")
|
||||
|
||||
# added 2022-06-26
|
||||
# thunar has its own module
|
||||
(mkRenamedOptionModule
|
||||
[ "services" "xserver" "desktopManager" "xfce" "thunarPlugins" ]
|
||||
[ "programs" "thunar" "plugins" ])
|
||||
];
|
||||
|
||||
options = {
|
||||
|
@ -46,15 +52,6 @@ in
|
|||
description = "Enable the Xfce desktop environment.";
|
||||
};
|
||||
|
||||
thunarPlugins = mkOption {
|
||||
default = [];
|
||||
type = types.listOf types.package;
|
||||
example = literalExpression "[ pkgs.xfce.thunar-archive-plugin ]";
|
||||
description = ''
|
||||
A list of plugin that should be installed with Thunar.
|
||||
'';
|
||||
};
|
||||
|
||||
noDesktop = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
|
@ -110,8 +107,6 @@ in
|
|||
xfce4-settings
|
||||
xfce4-taskmanager
|
||||
xfce4-terminal
|
||||
|
||||
(thunar.override { thunarPlugins = cfg.thunarPlugins; })
|
||||
] # TODO: NetworkManager doesn't belong here
|
||||
++ optional config.networking.networkmanager.enable networkmanagerapplet
|
||||
++ optional config.powerManagement.enable xfce4-power-manager
|
||||
|
@ -130,6 +125,8 @@ in
|
|||
xfdesktop
|
||||
] ++ optional cfg.enableScreensaver xfce4-screensaver;
|
||||
|
||||
programs.thunar.enable = true;
|
||||
|
||||
environment.pathsToLink = [
|
||||
"/share/xfce4"
|
||||
"/lib/xfce4"
|
||||
|
@ -170,7 +167,6 @@ in
|
|||
|
||||
# Systemd services
|
||||
systemd.packages = with pkgs.xfce; [
|
||||
(thunar.override { thunarPlugins = cfg.thunarPlugins; })
|
||||
xfce4-notifyd
|
||||
];
|
||||
|
||||
|
|
Loading…
Reference in a new issue