{ inputs, self, ... }: { flake.nixosModules.graphics = { pkgs, config, lib, ... }: { config = lib.mkIf ((config.components.shells == "noctalia")||(builtins.elem "noctalia" config.components.shells)) { environment.systemPackages = with pkgs; [ inputs.noctalia.packages.${system}.default ]; programs.noctalia.enable = true; }; }; flake.homeModules.graphics = { lib, pkgs, osConfig, ... }: { config = lib.mkIf ((osConfig.components.shells == "noctalia")||(builtins.elem "noctalia" osConfig.components.shells)) { home.activation = { symlinkNoctaliaState = lib.hm.dag.entryAfter ["writeBoundary"] (osConfig.helpers.mkSymlinkActivationScript { target = ".local/state/noctalia/settings.toml"; source = "dotfiles/${osConfig.info.hostName}/noctalia/settings.toml"; }); symlinkNoctaliaStatePlugins = lib.hm.dag.entryAfter ["writeBoundary"] (osConfig.helpers.mkSymlinkActivationScript { target = ".local/state/noctalia/plugins"; source = "dotfiles/${osConfig.info.hostName}/noctalia/plugins"; isDir = true; }); }; xdg.configFile."noctalia/settings.toml".source = "${self}/dotfiles/${osConfig.info.hostName}/noctalia/settings.toml"; xdg.configFile."noctalia/plugins".source = "${self}/dotfiles/${osConfig.info.hostName}/noctalia/plugins"; }; }; }