nixcfg/modules/nixos/desktop/addons/kanshi/default.nix

42 lines
1 KiB
Nix
Raw Normal View History

2024-01-11 11:26:46 +01:00
{ options, config, lib, pkgs, ... }:
with lib;
with lib.plusultra;
let
cfg = config.plusultra.desktop.addons.kanshi;
user = config.plusultra.user;
home = config.users.users.${user.name}.home;
in
{
options.plusultra.desktop.addons.kanshi = with types; {
enable =
mkBoolOpt false "Whether to enable Kanshi in the desktop environment.";
};
config = mkIf cfg.enable {
plusultra.home.configFile."kanshi/config".source = ./config;
environment.systemPackages = with pkgs; [ kanshi ];
# configuring kanshi
systemd.user.services.kanshi = {
description = "Kanshi output autoconfig ";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
environment = { XDG_CONFIG_HOME = "${home}/.config"; };
serviceConfig = {
ExecCondition = ''
${pkgs.bash}/bin/bash -c '[ -n "$WAYLAND_DISPLAY" ]'
'';
ExecStart = ''
${pkgs.kanshi}/bin/kanshi
'';
RestartSec = 5;
Restart = "always";
};
};
};
}