{ inputs, self, ... }: { flake.nixosModules.graphics = { pkgs, config, lib, ... }: { config = lib.mkIf ((config.components.shells == "noctalia")||(builtins.elem "noctalia" config.components.shells)) { environment.systemPackages = [ inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default ]; programs.noctalia.enable = true; home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) { components.shells = [ "noctalia" ]; }; }; }; flake.homeModules.graphics = { pkgs, config, lib, inputs, ... }: { config = lib.mkIf ((config.components.shells == "noctalia")||(builtins.elem "noctalia" config.components.shells)) { home = { activation = { linkNoctaliaState = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript { target = "${config.home.homeDirectory}/.local/state/noctalia/settings.toml"; source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/noctalia/settings.toml"; }); linkNoctaliaStatePlugins = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript { target = "${config.home.homeDirectory}/.local/state/noctalia/plugins"; source = "${config.info.rootPath}/dotfiles/${config.info.hostName}/noctalia/plugins"; }); }; }; xdg.configFile."noctalia/settings.toml".source = "${self}/dotfiles/${config.info.hostName}/noctalia/settings.toml"; xdg.configFile."noctalia/plugins".source = "${self}/dotfiles/${config.info.hostName}/noctalia/plugins"; }; }; }