summaryrefslogtreecommitdiffstats
path: root/lass/2configs/copyq.nix
blob: 56c091a6e83f6b21f829ce76db4eef8693729f48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{ config, pkgs, ... }:
with import <stockholm/lib>;
let
  copyqConfig = pkgs.writeDash "copyq-config" ''
    ${pkgs.copyq}/bin/copyq config check_clipboard true
    ${pkgs.copyq}/bin/copyq config check_selection true
    ${pkgs.copyq}/bin/copyq config copy_clipboard true
    ${pkgs.copyq}/bin/copyq config copy_selection true

    ${pkgs.copyq}/bin/copyq config activate_closes true
    ${pkgs.copyq}/bin/copyq config clipboard_notification_lines 0
    ${pkgs.copyq}/bin/copyq config clipboard_tab \&clipboard
    ${pkgs.copyq}/bin/copyq config disable_tray true
    ${pkgs.copyq}/bin/copyq config hide_tabs true
    ${pkgs.copyq}/bin/copyq config hide_toolbar true
    ${pkgs.copyq}/bin/copyq config item_popup_interval true
    ${pkgs.copyq}/bin/copyq config maxitems 1000
    ${pkgs.copyq}/bin/copyq config move true
    ${pkgs.copyq}/bin/copyq config text_wrap true
  '';
in {
  systemd.user.services.copyq = {
    wantedBy = [ "graphical-session.target" ];
    requires = [ "xmonad.service" ];
    environment = {
      DISPLAY = ":${toString config.services.xserver.display}";
    };
    path = with pkgs; [
      qt5.full
    ];
    serviceConfig = {
      SyslogIdentifier = "copyq";
      ExecStart = "${pkgs.copyq}/bin/copyq";
      ExecStartPost = copyqConfig;
      Restart = "always";
      RestartSec = "15s";
      StartLimitBurst = 0;
    };
  };
}