mirror of
https://github.com/nix-community/home-manager
synced 2024-11-10 07:04:17 +00:00
udiskie: add a few configuration options
The new options allow some control over automounting, notifications, and the tray icon. This commit also changes the defaults to automatically mount new devices, udiskie was previously told not to automount. The change in behavior is to closer match the default options.
This commit is contained in:
parent
52256d7a73
commit
e4c359d8b9
2 changed files with 70 additions and 3 deletions
|
@ -274,6 +274,20 @@ in
|
|||
'programs.vim.settings.shiftwidth'.
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
time = "2017-10-02T11:15:03+00:00";
|
||||
condition = config.services.udiskie.enable;
|
||||
message = ''
|
||||
The udiskie service now defaults to automatically mounting
|
||||
new devices. Previous behavior was to not automatically
|
||||
mount. To restore this previous behavior add
|
||||
|
||||
services.udiskie.automount = false;
|
||||
|
||||
to your Home Manager configuration.
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,25 +2,78 @@
|
|||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.udiskie;
|
||||
|
||||
commandArgs =
|
||||
concatStringsSep " " (
|
||||
map (opt: "-" + opt) [
|
||||
(if cfg.automount then "a" else "A")
|
||||
(if cfg.notify then "n" else "N")
|
||||
({ always = "t"; auto = "s"; never = "T"; }.${cfg.tray})
|
||||
]
|
||||
);
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
meta.maintainers = [ maintainers.rycee ];
|
||||
|
||||
options = {
|
||||
services.udiskie = {
|
||||
enable = mkEnableOption "Udiskie mount daemon";
|
||||
enable = mkEnableOption "udiskie mount daemon";
|
||||
|
||||
automount = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Whether to automatically mount new devices.";
|
||||
};
|
||||
|
||||
notify = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = "Whether to show pop-up notifications.";
|
||||
};
|
||||
|
||||
tray = mkOption {
|
||||
type = types.enum [ "always" "auto" "never" ];
|
||||
default = "auto";
|
||||
description = ''
|
||||
Whether to display tray icon.
|
||||
</para><para>
|
||||
The options are
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><literal>always</literal></term>
|
||||
<listitem><para>Always show tray icon.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>auto</literal></term>
|
||||
<listitem><para>
|
||||
Show tray icon only when there is a device available.
|
||||
</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><literal>never</literal></term>
|
||||
<listitem><para>Never show tray icon.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf config.services.udiskie.enable {
|
||||
systemd.user.services.udiskie = {
|
||||
Unit = {
|
||||
Description = "Udiskie mount daemon";
|
||||
Description = "udiskie mount daemon";
|
||||
After = [ "graphical-session-pre.target" ];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.pythonPackages.udiskie}/bin/udiskie -2 -A -n -s";
|
||||
ExecStart = "${pkgs.pythonPackages.udiskie}/bin/udiskie -2 ${commandArgs}";
|
||||
};
|
||||
|
||||
Install = {
|
||||
|
|
Loading…
Reference in a new issue