ctucx.git: nixfiles

ctucx' nixfiles

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 
41 
42 
43 
44 
{ config, lib, pkgs, ... }:

let
  cfg = config.ctucxConfig.services.easyeffects;

in {

  options = {
    ctucxConfig.services.easyeffects = {
      enable = lib.mkEnableOption "easyeffects";
    };
  };

  config = lib.mkIf cfg.enable {
    home-manager.users.katja = {
      home.packages = with pkgs; [
        easyeffects
      ];

      systemd.user.services.easyeffects = {
        Unit = {
          After  = [ "graphical-session-pre.target" ];
          PartOf = [ "graphical-session.target" ];
        };

        Service = {
          Environment = "PATH=/run/wrappers/bin:/home/katja/.nix-profile/bin:/etc/profiles/per-user/katja/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin";
          ExecStart = "${pkgs.easyeffects}/bin/easyeffects --gapplication-service";
          Restart = "always";
          RestartSec = 5;
        };

        Install = {
          WantedBy = [ "graphical-session.target" ];
        };
      };

      wayland.windowManager.sway.config.startup = [
        { always = true; command = "systemctl --user restart easyeffects"; }
      ];
    };
  };

}