# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2024 Alexandre Pujol <alexandre@pujol.io>
# SPDX-License-Identifier: GPL-2.0-only

abi <abi/4.0>,

include <tunables/global>

@{exec_path} = @{etc_ro}/sddm/wayland-session
@{att} = ""
profile wayland-session /{,usr/}etc/sddm/wayland-session flags=(complain) {
  include <abstractions/base-strict>
  include <abstractions/consoles>
  include <abstractions/shells>

  @{exec_path} mr,

  @{shells_path}       rix,
  @{bin}/cat            ix,
  @{bin}/dpkg-query     px,
  @{bin}/gettext        ix,
  @{bin}/gettext.sh     r,
  @{bin}/id             ix,
  @{bin}/locale         ix,
  @{bin}/locale-check   ix,
  @{bin}/sed            ix,
  @{bin}/tr             ix,

  @{bin}/startplasma-wayland                                     px,
  @{lib}/@{multiarch}/libexec/plasma-dbus-run-session-if-needed  ix,
  @{lib}/plasma-dbus-run-session-if-needed                       ix,

  /usr/share/im-config/{,**} r,
  /usr/share/libdebuginfod-common/debuginfod.sh r,

  /etc/debuginfod/{,**} r,
  /etc/default/im-config r,
  /etc/machine-id r,
  /etc/X11/xinit/xinputrc r,
  /etc/X11/Xsession.d/*im-config_launch r,

  owner @{user_share_dirs}/sddm/wayland-session.log rw,

  include if exists <local/wayland-session>
}

# vim:syntax=apparmor
