{ config, lib, pkgs, ... }: { options.zpha.profiles.graphical.enable = lib.mkEnableOption "graphical preset"; config = lib.mkIf config.zpha.profiles.graphical.enable { preservation.preserveAt."/persist".users.zaphyra = { commonMountOptions = [ "x-gdu.hide" "x-gvfs-hide" ]; directories = [ "Downloads" "Documents" "Pictures" "Videos" "Music" "Audiobooks" "Bahn-Richtlinien" "proj" { directory = ".local/share/Trash"; # Trash should be accessed via a symlink. Nautilus is incompatible # with a bind-mounted trash. how = "symlink"; } ]; }; services.udisks2.enable = true; systemd.network.wait-online.enable = false; common = { configure = { fonts.enable = true; }; hardware = { intelGraphics.enable = true; bluetooth.enable = true; audio.enable = true; smartcard.enable = true; }; services = { upower.enable = true; power-profiles-daemon.enable = true; NetworkManager.enable = true; gvfs.enable = true; greetd = { enable = true; autoLogin.command = "niri-session -l"; }; }; }; zpha = { configure = { fonts.enable = true; networkManagerProfiles.enable = true; }; services = { dssd.enable = true; avahi.enable = true; pipewire.enable = true; batsignal.enable = true; oniri.enable = true; }; programs = { shellUtilities.enable = true; nixUtilities.enable = true; deploymentUtilities.enable = true; chaosctl.enable = true; broot.enable = true; micro.enable = true; git.enable = true; gpg.enable = true; niri.enable = true; swaylock.enable = true; vibepanel.enable = true; vicinae.enable = true; wpaperd.enable = true; shaderbg.enable = true; ghostty.enable = true; nautilus.enable = true; gnome-text-editor.enable = true; celluloid.enable = true; loupe.enable = true; papers.enable = true; pdfarranger.enable = true; yt-dlp.enable = true; typst.enable = true; firefox.enable = true; thunderbird.enable = true; gajim.enable = true; dino.enable = true; gnome-calendar.enable = true; }; }; users.users.zaphyra = { extraGroups = [ "networkmanager" ]; maid = { xdg.enable = true; packages = with pkgs; [ adw-bluetooth zpha.nirilayout ]; }; }; }; }