{ inputs, lib, pkgs, ... }:

let
  cosmic-configuration = pkgs.substituteAllFiles {
    name = "cosmic-configuration";
    src = ./cosmic-config;
    files = [ "." ]; # All files
    postInstall = ''
      mkdir -p $share/share/cosmic
      cp -rt $share/share/cosmic $out/*
    '';
    outputs = [ "out" "share" ];

    wallpaper = ../../media/wallpaper.png;
    corner_radii_theme = "2.0";
    corner_radii_panel = "2";
  };
in

{
  imports = [
    "${inputs.cosmic-modules}/nixos/cosmic/module.nix"
  ];
  config = {
    services.desktopManager.cosmic.enable = true;
    environment.cosmic.excludePackages = with pkgs; [
      cosmic-edit
      cosmic-term
    ];
    environment.systemPackages = with pkgs; [
      pavucontrol
      (lib.hiPrio cosmic-configuration.share)
    ];
    services.gnome.gnome-keyring.enable = true;
  };
}