Files
nix-flake/modules/features/applications/gui/equibop.nix
T

50 lines
2.1 KiB
Nix

{ inputs, self, ... }: {
flake.nixosModules.graphics = { pkgs, lib, config, ...}: {
options.features.applications.gui.equibop.enable = lib.mkEnableOption "equibop";
config = lib.mkIf (config.features.applications.gui.equibop.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.equibop.enable = lib.mkDefault true;
} {
environment.systemPackages = [ pkgs.equibop ];
});
};
flake.homeModules.graphics = { pkgs, lib, config, ... }: {
options.features.applications.gui.equibop.enable = lib.mkEnableOption "equibop";
config = lib.mkIf (config.features.applications.gui.equibop.enable) {
programs.equibop.enable = true;
xdg.configFile."autostart/equibop.desktop" = {
enable = true;
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";
});
};
};
};
}