{ lib, pkgs, ... }:
{
  services.flatpak.remotes = [
    {
      name = "flathub";
      location = "https://flathub.org/repo/flathub.flatpakrepo";
    }
  ];

  mobile.beautification = {
    silentBoot = false;
    splash = false;
  };

  users.users.lucy = {
    isNormalUser = true;
    hashedPassword = "$y$j9T$D1EpjBC8amO7RbwfitIHW.$qZeydQSBI0dzCm7TVUmJ4ZDzBQMMNVG6NUiTpa45XVA";
    extraGroups = [
      "dialout"
      "feedbackd"
      "networkmanager"
      "video"
      "wheel"
    ];
  };

  environment.systemPackages = with pkgs; [
    fractal
    mission-center
  ];
  environment.sessionVariables.NIXPKGS_ALLOW_UNFREE = "1";

  zramSwap.enable = true;
  networking.firewall.enable = lib.mkForce true;

  nix.settings.experimental-features = [
    "nix-command"
    "flakes"
  ];

  networking.networkmanager.enable = true;
  system.stateVersion = "24.11";

  services.avahi = {
    openFirewall = true;
    nssmdns4 = true; # Allows software to use Avahi to resolve.
    enable = true;
    publish = {
      userServices = true;
      enable = true;
      addresses = true;
      workstation = true;
    };
  };

  services.xserver.desktopManager.phosh = {
    enable = true;
    user = "lucy";
    group = "users";
  };

  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa = {
      enable = true;
      support32Bit = true;
    };
    pulse.enable = true;
  };

  nixpkgs.config.allowUnfree = true;
}
