aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Cassou <damien@cassou.me>2020-06-07 19:59:50 +0200
committerRobert Helgesson <robert@rycee.net>2020-06-12 19:52:52 +0200
commit43ef16c3e169607743ecbfffb3284e375a4df845 (patch)
tree36418b0cbd9243a3be12515d1b0b34ed3e26a275
parent561b3d565091ec881aeeca41df8b12db16195c92 (diff)
clipmenu: add module
PR #1309
-rw-r--r--.github/CODEOWNERS2
-rw-r--r--modules/misc/news.nix8
-rw-r--r--modules/modules.nix1
-rw-r--r--modules/services/clipmenu.nix43
4 files changed, 54 insertions, 0 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index d1d423edc1e..d13da75c072 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -101,6 +101,8 @@
/modules/services/cbatticon.nix @pmiddend
+/modules/services/clipmenu.nix @DamienCassou
+
/modules/services/dunst.nix @rycee
/modules/services/emacs.nix @tadfisher
diff --git a/modules/misc/news.nix b/modules/misc/news.nix
index 5fd0b8b9209..819afdd45b0 100644
--- a/modules/misc/news.nix
+++ b/modules/misc/news.nix
@@ -1552,6 +1552,14 @@ in
It can be enabled through the option 'services.emacs.socketActivation.enable'.
'';
}
+
+ {
+ time = "2020-06-12T17:48:01+00:00";
+ condition = hostPlatform.isLinux;
+ message = ''
+ A new module is available: 'services.clipmenu'
+ '';
+ }
];
};
}
diff --git a/modules/modules.nix b/modules/modules.nix
index 1f4deefee5d..c89f4d50afb 100644
--- a/modules/modules.nix
+++ b/modules/modules.nix
@@ -120,6 +120,7 @@ let
(loadModule ./programs/zsh.nix { })
(loadModule ./services/blueman-applet.nix { })
(loadModule ./services/cbatticon.nix { condition = hostPlatform.isLinux; })
+ (loadModule ./services/clipmenu.nix { condition = hostPlatform.isLinux; })
(loadModule ./services/compton.nix { })
(loadModule ./services/dunst.nix { })
(loadModule ./services/dwm-status.nix { condition = hostPlatform.isLinux; })
diff --git a/modules/services/clipmenu.nix b/modules/services/clipmenu.nix
new file mode 100644
index 00000000000..2e1c10e43d8
--- /dev/null
+++ b/modules/services/clipmenu.nix
@@ -0,0 +1,43 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+ cfg = config.services.clipmenu;
+
+in {
+ meta.maintainers = [ maintainers.DamienCassou ];
+
+ options.services.clipmenu = {
+ enable = mkEnableOption "clipmenu, the clipboard management daemon";
+
+ package = mkOption {
+ type = types.package;
+ default = pkgs.clipmenu;
+ defaultText = "pkgs.clipmenu";
+ description = "clipmenu derivation to use.";
+ };
+ };
+
+ config = mkIf cfg.enable {
+ home.packages = [ cfg.package ];
+
+ systemd.user.services.clipmenu = {
+ Unit = {
+ Description = "Clipboard management daemon";
+ After = [ "graphical-session.target" ];
+ };
+
+ Service = {
+ ExecStart = "${cfg.package}/bin/clipmenud";
+ Environment = "PATH=${
+ makeBinPath
+ (with pkgs; [ coreutils findutils gnugrep gnused systemd ])
+ }";
+ };
+
+ Install = { WantedBy = [ "graphical-session.target" ]; };
+ };
+ };
+}