{ inputs, self, ... }: { flake.nixosModules.graphics = { pkgs, lib, config, ...}: { options.features.applications.gui.equibop = { enable = lib.mkEnableOption "equibop"; autostart = lib.mkOption { type = lib.types.bool; default = false; }; }; config = inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { home-manager.users.grey.features.applications.gui.equibop = lib.mkDefault config.features.applications.gui.equibop; } { environment.systemPackages = [ pkgs.equibop ]; }; }; flake.homeModules.graphics = { pkgs, lib, config, ... }: { options.features.applications.gui.equibop = { enable = lib.mkEnableOption "equibop"; autostart = lib.mkOption { type = lib.types.bool; default = false; }; }; config = lib.mkIf (config.features.applications.gui.equibop.enable) { programs.equibop.enable = true; xdg.configFile."autostart/equibop.desktop" = lib.mkIf (config.features.applications.gui.equibop.autostart) { text = '' [Desktop Entry] Type=Application Name=Equibop Comment=Equibop autostart script Exec=${pkgs.equibop}/bin/equibop --enable-speech-dispatcher StartupNotify=false Terminal=false Icon=equibop ''; }; home.activation = { linkEquibopConfigSettings = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript { target = "${config.xdg.configHome}/equibop/settings.json"; source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/equibop/settings.json"; }); linkEquibopConfigEquicordSettings = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript { target = "${config.xdg.configHome}/equibop/settings/settings.json"; source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/equibop/equicord-settings.json"; }); linkEquibopConfigQuickCss = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript { target = "${config.xdg.configHome}/equibop/settings/quickCss.css"; source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/equibop/quickCss.css"; }); }; }; }; }