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 
{ inputs, config, pkgs, lib, ... }:

let
  cfg    = config.ctucxConfig.programs;

in {

  options = {
    ctucxConfig.programs = {
      fractal.enable     = lib.mkEnableOption "fractal matrix-client";
      tuba.enable        = lib.mkEnableOption "tuba fediverse client";
      paper-plane.enable = lib.mkEnableOption "paper-plane telegram client";
    };
  };

  config = {
    home-manager.users.katja = {
      home.packages = [
        (lib.mkIf cfg.fractal.enable        pkgs.fractal)
        (lib.mkIf cfg.tuba.enable           pkgs.tuba)
        (lib.mkIf cfg.paper-plane.enable    pkgs.paper-plane)
      ];

      dconf.settings = with inputs.home-manager.lib.hm.gvariant; {
        "dev/geopjr/Tuba" = lib.mkIf cfg.tuba.enable {
          work-in-background         = true;
          dim-trivial-notifications  = true;
          group-push-notifications   = true;
          reply-to-old-post-reminder = false;
          show-spoilers              = true;
        };
      };
    };
  };
}