refactoring ximper.mk

parent e79ab021
......@@ -3,23 +3,55 @@ ifeq (distro,$(IMAGE_CLASS))
# Basic applications and User selection lists
# Lists - pkg.in/lists/etersoft/*
# Groups - pkg.in/groups/etersoft/*
# =================================================
use/ximper/metainfo: use/l10n/ru_RU \
use/docs/license
@$(call set,META_VOL_SET,Ximper)
@$(call set,META_PUBLISHER,Etersoft)
@$(call set,BRANDING,etersoft-ximper)
@$(call add,THE_BRANDING,graphics backgrounds indexhtml release notes)
@$(call set,META_VOL_ID,Ximper Linux $(DISTRO_VERSION) $(ARCH))
@$(call set,META_APP_ID,Ximper Linux $(DISTRO_VERSION) $(ARCH) $(shell date +%F))
use/ximper/ready-set:
@$(call add,BASE_PACKAGES,ready-set-service)
@$(call add,LIVE_PACKAGES,installer-feature-alterator-setup-stage2)
@$(call set,LOCALES,ru_RU en_US)
# ==================== Cleanup ====================
use/ximper/cleanup:
@$(call add,CLEANUP_BASE_PACKAGES,branding-etersoft-ximper-alterator)
@$(call add,CLEANUP_BASE_PACKAGES,'alterator*' rpm-macros-alterator)
@$(call add,CLEANUP_BASE_PACKAGES,'guile*' libvhttpd autologin-sh-functions)
use/apt-conf/deferred: use/apt-conf
use/ximper/cleanup/x11: \
use/ximper/cleanup
@$(call add,CLEANUP_BASE_PACKAGES, xinitrc xorg-server)
use/ximper/cleanup/nvidia-nouveau:
@$(call add,CLEANUP_PACKAGES,'^kernel-modules-drm-nouveau.*')
# ==================== Repos ======================
use/ximper/repo/deferred: \
use/apt-conf
@$(call set,THE_APT_CONF,deferred)
@$(call set,REPO,http/deferred)
@$(call set,LIVE_REPO,http/deferred)
use/ximper/regreet: use/x11-autostart use/pkgpriorities
use/ximper/repo/additives:
@$(call add,THE_PACKAGES, ximper-repos)
# =================================================
use/ximper/ready-set:
@$(call add,BASE_PACKAGES,ready-set-service)
@$(call add,LIVE_PACKAGES,installer-feature-alterator-setup-stage2)
use/ximper/regreet: \
use/x11-autostart use/pkgpriorities
@$(call add,THE_PACKAGES,greetd-regreet-config-hyprland)
@$(call add,THE_PACKAGES,greetd-regreet)
@$(call add,PINNED_PACKAGES,greetd)
@$(call add,DEFAULT_SERVICES_ENABLE,greetd)
mixin/ximper-desktop-base-software:
# ==================== Main software ==============
use/ximper/software/base:
@$(call add,THE_LISTS,etersoft/meta/base)
@$(call add,MAIN_GROUPS,\
\
......@@ -91,224 +123,264 @@ mixin/ximper-desktop-base-software:
slinux/graphics-full-shotwell\
etersoft/base/system-management/timeshift\
etersoft/base/system-management/gparted\
)
)
mixin/ximper-desktop-gnome-software:
use/ximper/software/gnome:
@$(call add,THE_LISTS,etersoft/meta/base-gnome)
@$(call add,MAIN_GROUPS,\
etersoft/gnome/settings/base\
etersoft/gnome/accessibility/gnome-a11y\
etersoft/gnome/dev-tools/gnome-ssh-agent\
)
@$(call add,LIVE_LISTS,etersoft/gnome/settings/base)
@$(call add,THE_LISTS,etersoft/meta/base-gnome)
@$(call add,LIVE_LISTS,\
etersoft/gnome/settings/base\
)
mixin/ximper-desktop-hyprland-software:
use/ximper/software/hyprland:
@$(call add,THE_LISTS,etersoft/meta/base-hyprland)
@$(call add,MAIN_GROUPS,\
etersoft/hyprland/settings/base\
etersoft/hyprland/accessibility/hyprmag\
etersoft/hyprland/peripheral/overskride\
)
@$(call add,LIVE_LISTS,etersoft/hyprland/settings/base)
@$(call add,THE_LISTS,etersoft/meta/base-hyprland)
mixin/ximper-desktop: +alsa +nm-native \
use/xdg-user-dirs use/l10n \
use/branding/notes use/bootloader/os-prober
@$(call set,LOCALES,en_US)
@$(call add,BASE_LISTS, \
$(call tags,(base || desktop) && (l10n || network)))
@$(call add,LIVE_LISTS,\
etersoft/hyprland/settings/base\
)
@$(call add,THE_PACKAGES,pam-limits-desktop beesu polkit dvd+rw-tools fonts-cascadia-code)
@$(call add,THE_BRANDING,graphics indexhtml backgrounds notes)
@$(call add,THE_PACKAGES, ximper-repos)
@$(call add,THE_PACKAGES,$$(THE_IMAGEWRITER))
use/ximper/software/imagewriter:
@$(call set,THE_IMAGEWRITER,impression)
@$(call add,THE_PACKAGES,upower udev-rules-rfkill-uaccess)
@$(call add,DEFAULT_SERVICES_DISABLE,gssd idmapd krb5kdc rpcbind)
@$(call add,DEFAULT_SERVICES_ENABLE,cups)
@$(call add,SERVICES_ENABLE,fstrim.timer)
@$(call add,SERVICES_ENABLE,asusd)
@$(call add,CONTROL,fusermount:public)
@$(call add,CONTROL,libnss-role:disabled)
@$(call add,THE_PACKAGES,sudo)
@$(call add,CONTROL,sudowheel:enabled)
mixin/ximper-x11: use/luks \
use/kernel/disable-usb-autosuspend \
use/branding use/ntp/chrony use/services/lvm2-disable
@$(call add,THE_LISTS,$(call tags,(base || desktop) && ximper && !extra))
@$(call add,THE_PACKAGES,disable-usb-autosuspend)
@$(call add,THE_PACKAGES,btrfs-progs)
@$(call add,THE_PACKAGES,gpm)
@$(call add,DEFAULT_SERVICES_DISABLE,gpm powertop)
@$(call add,LIVE_PACKAGES,volumes-profile-kdesktop)
@$(call set,INSTALL2_FONTS,fonts-otf-abattis-cantarell)
@$(call add,THE_PACKAGES,$$(THE_IMAGEWRITER))
mixin/ximper-gnome: use/x11/xorg \
use/x11/gdm \
+nm-gtk \
+nm-gtk4 \
+pipewire
@$(call add,LIVE_PACKAGES,gnome-flashback)
@$(call add,THE_PACKAGES,gdm-settings)
@$(call add,SERVICES_ENABLE,switcheroo-control.service) # Service to check dual-GPU. Q: Maybe to post script if present?
@$(call add,IM_PACKAGES,imsettings-gsettings)
@$(call add,THE_PACKAGES,gnome-console)
@$(call add,PINNED_PACKAGES,gnome-console)
# ==================== Fonts ======================
use/ximper/fonts: \
use/fonts use/fonts/ttf/redhat
@$(call add,FONTS,fonts-ttf-google-noto-sans)
@$(call add,FONTS,fonts-ttf-google-noto-serif)
@$(call add,FONTS,fonts-ttf-google-noto-sans-mono)
@$(call add,FONTS,fonts-ttf-google-noto-sans-symbols)
@$(call add,FONTS,fonts-ttf-google-noto-sans-symbols2)
@$(call add,FONTS,fonts-ttf-google-noto-emoji)
@$(call add,FONTS,fonts-ttf-google-noto-emoji-color)
@$(call add,FONTS,fonts-otf-google-noto-cjk)
@$(call add,FONTS,fonts-ttf-cascadia-code)
@$(call add,FONTS,fonts-ttf-fira-code-nerd)
mixin/ximper-wm: +nm-gtk
@$(call add,THE_LISTS,etersoft/meta/base-wm)
@$(call add,SERVICES_ENABLE,switcheroo-control.service)
@$(call add,IM_PACKAGES,imsettings-gsettings)
@$(call add,THE_PACKAGES,xorg-xwayland)
@$(call add,THE_PACKAGES,kitty)
@$(call add,PINNED_PACKAGES,kitty)
@$(call add,FONTS,fonts-ttf-gnu-freefont-mono)
@$(call add,FONTS,fonts-ttf-gnu-freefont-sans)
@$(call add,FONTS,fonts-ttf-gnu-freefont-serif)
mixin/ximper-hyprland: use/ximper/regreet \
+pipewire
@$(call set,INSTALL2_FONTS,fonts-otf-abattis-cantarell)
distro/.ximper-bare: distro/.base \
use/kernel/laptop use/kernel/net use/kernel/wireless \
use/docs/license \
use/stage2/ata use/stage2/fs use/stage2/hid use/stage2/md \
use/stage2/mmc use/stage2/net use/stage2/net-nfs use/stage2/cifs \
use/stage2/rtc use/stage2/sbc use/stage2/scsi use/stage2/usb \
use/stage2/drm use/tty
# ==================== Base =======================
use/ximper/installer: \
use/luks +live-installer
@$(call set,INSTALLER,ximper)
@$(call try,SAVE_PROFILE,yes)
@$(call add,INSTALL2_BRANDING,alterator slideshow)
@$(call add,STAGE1_PACKAGES,firmware-linux)
@$(call add,STAGE1_KMODULES,drm)
ifeq (sisyphus,$(BRANCH))
ifeq (,$(filter-out i586 x86_64,$(ARCH)))
@$(call add,LIVE_PACKAGES,\
installer-feature-fstrim-stage2\
installer-feature-online-repo\
volumes-profile-kdesktop\
alterator-notes\
branding-etersoft-ximper-alterator\
)
use/ximper/initrd: \
use/stage2/ata use/stage2/fs use/stage2/hid \
use/stage2/mmc use/stage2/scsi use/stage2/usb; @:
use/ximper/bootloader: \
use/bootloader/grub use/bootloader/os-prober \
use/syslinux/ui/gfxboot use/grub/ui/gfxboot use/efi/shell \
use/stage2/ata use/stage2/fs use/stage2/hid \
use/stage2/mmc use/stage2/scsi use/stage2/usb \
use/ximper/initrd use/memtest use/tty \
+plymouth +efi +systemd +systemd-optimal
@$(call add,THE_BRANDING,bootloader bootsplash)
@$(call set,BOOTLOADER,grubpcboot)
endif
endif
# base target (for most images)
distro/.ximper-minimal-env: distro/.ximper-bare \
use/isohybrid use/vmguest use/memtest \
use/efi/dtb +efi; @:
use/ximper/kernel: \
use/kernel/disable-usb-autosuspend \
use/kernel/laptop use/kernel/net +wireless
@$(call set,KFLAVOURS,6.12)
@$(call add,THE_KMODULES,virtualbox bcmwl)
@$(call add,THE_PACKAGES,bcmwl-kernel-conf)
# ==================== GPU specific ===============
use/ximper/graphics/base:
@$(call add,THE_LISTS,mesa-dri-drivers)
@$(call add,THE_PACKAGES,vulkan-tools)
use/ximper/graphics/standard: \
use/ximper/graphics/base
@$(call add,MAIN_GROUPS,\
etersoft/base/games/32bit-libs\
etersoft/base/system-management/amd\
)
# graphical target (not enforcing xorg drivers or blobs)
distro/.ximper-x11: distro/.ximper-minimal-env mixin/ximper-x11 \
use/x11/wacom use/x11/amdgpu +wireless \
use/live/x11 use/live/repo \
use/live/suspend \
use/syslinux/ui/gfxboot use/grub/ui/gfxboot
@$(call add,THE_BRANDING,bootloader)
@$(call add,THE_LISTS,$(call tags,(base || desktop) && ximper))
@$(call add,LIVE_LISTS,$(call tags,base rescue))
@$(call add,LIVE_PACKAGES,gpm)
@$(call add,DEFAULT_SERVICES_DISABLE,gpm powertop)
use/ximper/graphics/nvidia: \
use/ximper/graphics/base \
use/x11/nvidia use/stage2/kms/nvidia
@$(call add,MAIN_GROUPS,etersoft/base/system-management/nvidia)
@$(call add,LIVE_PACKAGES,\
installer-feature-nvidia\
apt-scripts-nvidia\
)
@$(call add,BASE_LISTS,\
etersoft/base/drivers/nvidia
)
@$(call add,SERVICES_ENABLE,\
nvidia-suspend.service\
nvidia-resume.service\
nvidia-hibernate.service\
)
# ==================== Services and control =======
use/ximper/services/base: \
use/services/bluetooth-enable \
use/services/lvm2-disable
@$(call add,DEFAULT_SERVICES_DISABLE,\
gssd\
idmapd\
krb5kdc\
rpcbind\
gpm\
powertop\
)
@$(call add,SYSTEMD_SERVICES_ENABLE,\
fstrim.timer\
cups\
asusd\
)
distro/.ximper-wm: distro/.ximper-x11 \
mixin/ximper-desktop +vmguest \
use/live/rw use/live/ru
@$(call set,INSTALLER,ximper)
use/ximper/services/graphical: \
use/ximper/services/base
@$(call add,DEFAULT_SYSTEMD_USER_SERVICES_ENABLE,\
ximper-unified-theme-switcher.service\
)
@$(call add,SYSTEMD_SERVICES_ENABLE,\
switcheroo-control.service\
)
distro/.ximper-install: distro/.ximper-minimal-env +live-installer-pkg \
use/branding use/bootloader/grub use/luks use/stage2/kms
@$(call add,LIVE_PACKAGES,fdisk)
ifeq (,$(filter-out i586 x86_64,$(ARCH)))
@$(call add,LIVE_PACKAGES,xorg-conf-synaptics)
endif
@$(call add,THE_LISTS,$(call tags,base ximper))
use/ximper/control:
@$(call add,CONTROL,fusermount:public)
@$(call add,CONTROL,libnss-role:disabled)
# ==================== Features (modules) =========
use/ximper/features/bluetooth:
@$(call add,THE_PACKAGES,bluez)
@$(call add,DEFAULT_SYSTEMD_SERVICES_ENABLE,bluetoothd)
use/ximper/features/network: \
+nm +nm-gtk +nm-gtk4 +nm-native
use/ximper/features/sudo:
@$(call add,THE_PACKAGES,sudo)
@$(call add,CONTROL,sudowheel:enabled)
use/ximper/features/vmguest: \
+vmguest
# ==================== live ===============
use/ximper/live: \
use/live/repo use/live/suspend \
use/live/rw use/live/ru \
use/stage2/kms
@$(call add,LIVE_PACKAGES,btrfs-progs)
@$(call add,LIVE_PACKAGES,alterator-notes)
@$(call add,LIVE_PACKAGES,branding-etersoft-ximper-alterator)
use/ximper/live/rescue: \
use/ximper/live
@$(call add,LIVE_LISTS,$(call tags,base rescue))
@$(call add,LIVE_PACKAGES,fdisk)
@$(call add,LIVE_PACKAGES,gpm)
distro/.ximper-install-x11: distro/.ximper-install +vmguest +wireless \
mixin/ximper-desktop mixin/ximper-x11 \
use/branding/complete use/branding/slideshow/once \
use/efi/shell use/l10n/default/ru_RU
@$(call add,LIVE_PACKAGES,installer-feature-fstrim-stage2)
@$(call add,LIVE_PACKAGES,installer-feature-online-repo)
@$(call set,INSTALLER,ximper)
@$(call add,MAIN_PACKAGES,anacron man-whatis usb-modeswitch)
use/ximper/live/x11: \
use/live/x11 use/ximper/live/rescue
@$(call add,LIVE_PACKAGES,\
xorg-drv-wacom\
xorg-drv-amdgpu\
xorg-conf-synaptics\
)
@$(call add,LIVE_LISTS,\
$(call tags,desktop xorg)\
)
distro/.ximper-install-x11-systemd: distro/.ximper-install-x11 +systemd +systemd-optimal
@$(call add,THE_PACKAGES,bluez)
@$(call add,THE_PACKAGES,btrfs-progs)
@$(call add,DEFAULT_SERVICES_ENABLE,bluetoothd)
# ==================== Desktop mixins =============
mixin/ximper-gnome: \
use/x11/gdm
@$(call add,THE_PACKAGES,gdm-settings)
@$(call add,IM_PACKAGES,imsettings-gsettings)
@$(call add,THE_PACKAGES,gnome-console)
@$(call add,PINNED_PACKAGES,gnome-console)
distro/.ximper-base: distro/.ximper-install-x11-systemd \
use/live/rw use/live/ru use/live/x11 use/live/repo \
use/apt-conf/deferred \
use/ximper/ready-set \
use/live/suspend \
mixin/ximper-desktop-base-software \
use/fonts/ttf/redhat \
use/fonts/ttf/google-noto \
+plymouth;
@$(call set,META_VOL_ID,Ximper Linux $(DISTRO_VERSION) $(ARCH))
@$(call set,META_APP_ID,Ximper Linux $(DISTRO_VERSION) $(ARCH) $(shell date +%F))
@$(call set,BRANDING,etersoft-ximper)
@$(call set,KFLAVOURS,6.12)
@$(call add,MAIN_PACKAGES,kernel-headers-6.12)
@$(call add,MAIN_PACKAGES,kernel-headers-modules-6.12)
@$(call add,THE_KMODULES,virtualbox bcmwl)
@$(call add,THE_PACKAGES,bcmwl-kernel-conf)
@$(call add,LIVE_PACKAGES,screenpen)
@$(call add,FONTS,fonts-ttf-fira-code-nerd)
@$(call add,DEFAULT_SYSTEMD_USER_SERVICES_ENABLE,ximper-unified-theme-switcher.service)
mixin/ximper-wm:
@$(call add,THE_LISTS,etersoft/meta/base-wm)
@$(call add,THE_PACKAGES,kitty)
@$(call add,PINNED_PACKAGES,kitty)
# nvidia-drm.modeset=1 for Wayland and VR
# Remove nouveau as not needed
# Add install scripts of Nvidia and all releated things out of box
mixin/ximper-nvidia: use/x11/nvidia use/stage2/kms/nvidia
@$(call add,MAIN_GROUPS,etersoft/base/system-management/nvidia)
@$(call add,LIVE_PACKAGES,installer-feature-nvidia)
@$(call add,LIVE_PACKAGES,apt-scripts-nvidia)
@$(call add,CLEANUP_PACKAGES,'^kernel-modules-drm-nouveau.*')
@$(call add,BASE_PACKAGES,apt-scripts-nvidia)
@$(call add,BASE_PACKAGES,nvidia-modprobe nvidia-settings libglut libGLU nvidia-vaapi-driver vulkan-tools \
nvidia-xconfig libvulkan1 libcuda libcudadebugger libnvcuvid libnvidia-api libnvidia-encode \
libnvidia-fbc libnvidia-ml libnvidia-ngx libnvidia-nvvm libnvidia-opencl \
libnvidia-ptxjitcompiler libnvoptix nvidia-smi ocl-nvidia)
@$(call add,SERVICES_ENABLE,nvidia-suspend.service nvidia-resume.service nvidia-hibernate.service)
mixin/ximper-standard:
@$(call add,MAIN_GROUPS,\
etersoft/base/games/32bit-libs\
etersoft/base/system-management/amd\
mixin/ximper-hyprland: \
use/ximper/regreet use/ximper/cleanup/x11
# ==================== Core profiles ==============
distro/.ximper-core: \
distro/.base \
use/ntp/chrony \
use/xdg-user-dirs \
use/ximper/metainfo \
use/ximper/kernel \
use/ximper/installer \
use/ximper/bootloader \
use/ximper/services/base \
use/ximper/control \
use/ximper/features/bluetooth \
use/ximper/features/network \
use/ximper/features/sudo \
use/ximper/repo/deferred \
use/ximper/repo/additives \
use/ximper/ready-set \
use/ximper/cleanup \
use/live/suspend +pipewire
distro/.ximper-desktop: \
distro/.ximper-core \
use/ximper/services/graphical \
use/ximper/features/vmguest \
use/ximper/live/x11 \
use/ximper/software/base \
use/ximper/software/imagewriter \
use/ximper/graphics/base \
use/ximper/fonts
@$(call add,THE_LISTS,\
$(call tags,(base || desktop) && ximper)\
$(call tags,(base || desktop) && (l10n || network))\
)
@$(call add,LIVE_PACKAGES,xorg-dri-radeon)
@$(call add,LIVE_LISTS,etersoft/base/games/32bit-libs)
distro/ximper-gnome: distro/.ximper-base \
mixin/ximper-standard \
# ==================== Image profiles =============
distro/ximper-gnome: distro/.ximper-desktop \
use/ximper/graphics/standard \
mixin/ximper-gnome \
mixin/ximper-desktop-gnome-software
use/ximper/software/gnome
distro/ximper-gnome-nvidia: distro/.ximper-base \
mixin/ximper-nvidia \
distro/ximper-gnome-nvidia: distro/.ximper-desktop \
use/ximper/graphics/nvidia \
mixin/ximper-gnome \
mixin/ximper-desktop-gnome-software
use/ximper/software/gnome
distro/ximper-hyprland: distro/.ximper-base \
mixin/ximper-standard \
distro/ximper-hyprland: distro/.ximper-desktop \
use/ximper/graphics/standard \
mixin/ximper-wm \
mixin/ximper-hyprland \
mixin/ximper-desktop-hyprland-software
use/ximper/software/hyprland
distro/ximper-hyprland-nvidia: distro/.ximper-base \
mixin/ximper-nvidia \
distro/ximper-hyprland-nvidia: distro/.ximper-desktop \
use/ximper/graphics/nvidia \
mixin/ximper-wm \
mixin/ximper-hyprland \
mixin/ximper-desktop-hyprland-software
endif
use/ximper/software/hyprland
# Fonts mixins
use/fonts/ttf/google-noto: use/fonts
@$(call add,FONTS,fonts-ttf-google-noto-sans)
@$(call add,FONTS,fonts-ttf-google-noto-serif)
@$(call add,FONTS,fonts-ttf-google-noto-sans-mono)
@$(call add,FONTS,fonts-ttf-google-noto-sans-symbols)
@$(call add,FONTS,fonts-ttf-google-noto-sans-symbols2)
@$(call add,FONTS,fonts-ttf-google-noto-emoji)
@$(call add,FONTS,fonts-ttf-google-noto-emoji-color)
@$(call add,FONTS,fonts-otf-google-noto-cjk)
# =================================================
endif
apt-scripts-nvidia
nvidia-vaapi-driver
nvidia-modprobe
nvidia-settings
nvidia-xconfig
nvidia-smi
ocl-nvidia
libnvidia-api
libnvidia-encode
libnvidia-fbc
libnvidia-ml
libnvidia-ngx
libnvidia-nvvm
libnvidia-opencl
libnvidia-ptxjitcompiler
s
libglut
libGLU
libcuda
libcudadebugger
libnvoptix
libnvcuvid
glibc-locales
xfsprogs
jfsprogs
dosfstools
......@@ -47,4 +45,5 @@ bc
ncdu
tree
zsh
polkit
pam-limits-desktop
xdg-user-dirs
glxinfo
glxgears
xorg-conf-synaptics@X86
exfatprogs
hdparm
......@@ -36,11 +33,6 @@ librsvg
gnome-icon-theme
gnome-icon-theme-symbolic
# unicode fonts
fonts-ttf-gnu-freefont-mono
fonts-ttf-gnu-freefont-sans
fonts-ttf-gnu-freefont-serif
btop
# firmware update utils
......@@ -49,3 +41,5 @@ btop
blacklist-pcspkr@X86
edid-decode
xorg-xwayland
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment