{ inputs, lib, pkgs, self, ... }: let cosmic-configuration = pkgs.stdenv.mkDerivation { name = "cosmic-configuration"; src = ./cosmic-config; outputs = [ "out" "share" ]; dontConfigure = true; buildPhase = '' for file in $(find . -type f); do substituteInPlace "$file" \ --subst-var-by wallpaper "${builtins.path { path = "${self}/media/wallpaper.png"; }}" \ --subst-var-by corner_radii_theme "2.0" \ --subst-var-by corner_radii_panel "2" done ''; installPhase = '' mkdir -p $out $share/share/cosmic cp -r ./* $out/ cp -r ./* $share/share/cosmic/ ''; }; in { imports = [ "${inputs.cosmic-modules}/nixos/cosmic/module.nix" "${self}/nixos/modules/generic/dconf.nix" ]; config = { services.desktopManager.cosmic.enable = true; environment.cosmic.excludePackages = with pkgs; [ cosmic-edit cosmic-player cosmic-term ]; environment.systemPackages = with pkgs; [ (lib.hiPrio cosmic-configuration.share) google-cursor ]; services.gnome.gnome-keyring.enable = true; proot.dconf = { rules."org/gnome/desktop/interface".cursor-theme = "GoogleDot-White"; profiles.user.rulesToApply = [ "org/gnome/desktop/interface" ]; }; environment.sessionVariables = { XCURSOR_SIZE = "16"; XCURSOR_THEME = "GoogleDot-White"; }; environment.etc."xdg/gtk-3.0/settings.ini".text = '' [Settings] gtk-cursor-theme-name=GoogleDot-White gtk-application-prefer-dark-theme=true ''; }; }