Manjaro Difference between revisions of "Build Manjaro ISOs with buildiso"

Difference between revisions of "Build Manjaro ISOs with buildiso"

From Manjaro
imported>Fhdk
imported>Fhdk
Line 266: Line 266:
<pre>
<pre>
## Network
## Network
>systemd avahi
avahi
>openrc avahi-openrc
networkmanager
>systemd networkmanager
>openrc networkmanager-openrc
>openrc networkmanager-consolekit
networkmanager-openconnect
networkmanager-openconnect
networkmanager-openvpn
networkmanager-openvpn
networkmanager-pptp
networkmanager-pptp
networkmanager-vpnc
networkmanager-vpnc
networkmanager-dispatcher-ntpd
nss-mdns # NSS support for mDNS (optdepend for avahi)
nss-mdns # NSS support for mDNS (optdepend for avahi)
>systemd ntp
ntp
>openrc ntp-openrc
mobile-broadband-provider-info
mobile-broadband-provider-info
modemmanager
modemmanager
>systemd openresolv
openresolv
>systemd openssh
openssh
>openrc openssh-openrc
samba
samba
usb_modeswitch


## Libraries for Sound/Audio/Video
## Libraries for Sound/Audio/Video
alsa-firmware
alsa-firmware
>systemd alsa-utils
alsa-utils
>openrc alsa-utils-openrc
ffmpeg
ffmpeg
gst-libav
gst-libav
Line 298: Line 292:
libdvdcss
libdvdcss
>multilib manjaro-alsa
>multilib manjaro-alsa
>systemd manjaro-pulse
manjaro-pulse
>systemd pulseaudio-bluetooth
pulseaudio-bluetooth
>systemd pulseaudio-ctl
pulseaudio-ctl
>systemd pulseaudio-zeroconf
pulseaudio-zeroconf


## Connect Packages
## Connect Packages
Line 325: Line 319:
flex
flex
gcc
gcc
>multilib gcc-libs-multilib
>multilib gcc-multilib
>multilib gcc-multilib
libtool
libtool
Line 336: Line 331:
>extra patchutils
>extra patchutils
>extra subversion
>extra subversion
yaourt


## Fonts
## Fonts
cantarell-fonts
cantarell-fonts
# noto-fonts               # default font
# noto-fonts             # default font
# noto-fonts-cjk        # big package, ~76 mb compressed
# noto-fonts-cjk        # big package, ~76 mb compressed
# >extra noto-fonts-emoji
# >extra noto-fonts-emoji
>extra terminus-font
terminus-font
>extra ttf-bitstream-vera
ttf-bitstream-vera       # xfce4-terminal default Monospace
# ttf-dejavu            # Installed as gnome-themes-standard dependency
# ttf-dejavu            # Installed as gnome-themes-standard dependency
>extra ttf-inconsolata
>extra ttf-inconsolata
Line 356: Line 350:
## Package management
## Package management
pamac
pamac
flatpak


## Java
## Java
Line 368: Line 363:
>extra ghostscript
>extra ghostscript
>extra gsfonts
>extra gsfonts
>extra gtk3-print-backends
>extra hplip
>extra hplip
>extra splix
>extra splix
>extra system-config-printer


## Optional dependencies for hplip
## Optional dependencies for hplip
Line 383: Line 380:
lightdm-gtk-greeter-settings
lightdm-gtk-greeter-settings
accountsservice  # Enhanced user accounts handling
accountsservice  # Enhanced user accounts handling
## GTK3
gtk3-classic
>multilib lib32-gtk3-classic


## XFCE Group
## XFCE Group
exo
exo-gtk3
garcon
garcon-gtk3
gtk-xfce-engine
thunar-gtk3
thunar
thunar-volman
thunar-volman
tumbler
tumbler
xfce4-appfinder
xfce4-appfinder-gtk3
xfce4-panel
xfce4-panel-gtk3
xfce4-power-manager
xfce4-power-manager-gtk3
xfce4-session
xfce4-session-gtk3
xfce4-settings
xfce4-settings-gtk3
xfce4-terminal
xfce4-terminal
xfconf
xfconf-gtk3
xfdesktop
xfdesktop-gtk3
xfwm4
xfwm4-gtk3
xfwm4-themes


## XFCE Extras
## XFCE Extras
Line 406: Line 405:
ffmpegthumbnailer  # tumbler - for video thumbnails
ffmpegthumbnailer  # tumbler - for video thumbnails
freetype2          # tumbler - for font thumbnails
freetype2          # tumbler - for font thumbnails
gconf              # fix qt-theme
gksu
gksu
gnome-keyring      # fix wlan segfault
gnome-keyring      # fix wlan segfault
Line 417: Line 415:
poppler-glib      # tumbler - for PDF thumbnails
poppler-glib      # tumbler - for PDF thumbnails
thunar-archive-plugin
thunar-archive-plugin
file-roller
thunar-media-tags-plugin
thunar-media-tags-plugin
# >extra xfce4-artwork
# >extra xfce4-artwork
Line 433: Line 432:
>extra xfce4-netload-plugin
>extra xfce4-netload-plugin
>extra xfce4-notes-plugin
>extra xfce4-notes-plugin
xfce4-notifyd
xfce4-notifyd-gtk3
xfce4-screenshooter
xfce4-screenshooter
>extra xfce4-sensors-plugin
>extra xfce4-sensors-plugin
Line 444: Line 443:
>extra xfce4-wavelan-plugin
>extra xfce4-wavelan-plugin
>extra xfce4-weather-plugin
>extra xfce4-weather-plugin
xfce4-whiskermenu-plugin
xfce4-whiskermenu-plugin-gtk3
xfce4-xkb-plugin
xfce4-xkb-plugin
>systemd pa-applet
xfce4-pulseaudio-plugin
>systemd pavucontrol
pavucontrol


## Themes QT/GTK/SDDM
## Themes
>extra manjaro-backgrounds
>extra manjaro-wallpapers-18.0
>extra wallpapers-2018
gnome-icon-theme
gnome-icon-theme
gnome-themes-standard
gnome-themes-standard
gtk-theme-breath
grub-theme-manjaro
>systemd plymouth-legacy
matcha-gtk-theme
>systemd plymouth-theme-manjaro-elegant
xcursor-simpleandsoft
xcursor-simpleandsoft
xcursor-vanilla-dmz-aa
xcursor-vanilla-dmz-aa
Line 463: Line 462:
dmidecode # optional dependency inxi
dmidecode # optional dependency inxi
engrampa
engrampa
engrampa-thunar-plugin
>extra firefox
>extra firefox
>extra flashplugin
# >extra flashplugin
>extra galculator-gtk2
>extra galculator-gtk2
gcolor2
>extra gimp
>extra gimp
gparted
gparted
gufw
gufw
>extra guayadeque
>extra audacious
>extra hexchat
>extra hexchat
htop
htop
qpdfview
qpdfview
>extra qpdfview-djvu-plugin
>extra qpdfview-ps-plugin
inxi
inxi
>extra libreoffice-still
>extra libreoffice-still
ms-office-online
manjaro-hello
manjaro-hello
manjaro-application-utility
manjaro-settings-manager
manjaro-settings-manager
manjaro-settings-manager-notifier
manjaro-settings-manager-notifier
Line 485: Line 484:
mousepad
mousepad
mugshot
mugshot
parole # media player
>basic parole # media player
>extra pidgin
>extra pidgin
powertop
powertop
screenfetch
>extra poppler-data  # CKJ support for pdf
>extra poppler-data  # CKJ support for pdf
>basic sylpheed # mail client
>basic sylpheed # mail client
>extra thunderbird
>extra thunderbird
# vlc-nightly
>extra vlc
>extra viewnior
>extra viewnior
>extra xfburn
>extra xfburn
Line 499: Line 499:
p7zip  # 7Z and ARJ archive support
p7zip  # 7Z and ARJ archive support
unace  # ACE archive support
unace  # ACE archive support
unrar  # RAR archive support  
unrar  # RAR archive support


## Documentation
## Documentation
manjaro-documentation
manjaro-documentation-en


## Settings packages
## Settings packages
>extra manjaro-xfce-settings
>extra manjaro-xfce-gtk3-settings
>basic manjaro-xfce-minimal-settings
>basic manjaro-xfce-gtk3-minimal-settings
manjaro-browser-settings
manjaro-browser-settings


Line 518: Line 518:


## Xorg Server and Graphics
## Xorg Server and Graphics
numlockx
>multilib lib32-libva-intel-driver
>multilib lib32-libva-mesa-driver
>multilib lib32-libva-vdpau-driver
libva-intel-driver
libva-mesa-driver
libva-vdpau-driver
mesa-demos
mesa-demos
>multilib lib32-mesa-demos
>multilib lib32-mesa-demos
numlockx
xdg-user-dirs
xorg-server
xorg-server
xorg-server-utils
xorg-twm
xorg-twm
xorg-utils
xorg-xinit
xorg-xinit
xorg-xkill
xorg-xkill
Line 530: Line 535:
## Desktop Utils
## Desktop Utils
perl-file-mimeinfo
perl-file-mimeinfo
xdg-user-dirs
xdg-utils
xdg-utils
xdg-su
xdg-su


## Misc
## Misc
>openrc consolekit-openrc
>openrc displaymanager-openrc
>openrc pm-utils
>openrc cgmanager-openrc
manjaro-hotfixes
manjaro-hotfixes
</pre>
</pre>
</div>
</div>

Revision as of 08:45, 31 October 2018


Prerequisites

Before we begin. You need Kernel linux419 or newer.

It is recommend to download and install the latest version of Manjaro.

Install manjaro-tools-iso

To get started you need to the following meta-package.

sudo pacman -Syu manjaro-tools

Accept the defaults and you will get the following packages installed

  • manjaro-tools-base
  • manjaro-tools-iso
  • manjaro-tools-pkg
  • manjaro-tools-yaml
  • manjaro-tools-iso-profiles-community
  • manjaro-tools-iso-profiles-official
  • sonar-iso-profiles

You will need all above packages - maybe except for `sonar-iso-profiles` which is a special branch for impaired people. If you want to exclude that package - enter 1-6 when asked for selection.

We're going to choose manjaro-iso-profiles-official along with XFCE to help you understand what you need to do.

ISO profile

ISO profile overview

Open Thunar Root and go to this directory.

/usr/share/manjaro-tools/iso-profiles/manjaro/xfce

Let's take a closer look at the XFCE profile folder (marked above):

~ >>> ls -lAgo /usr/share/manjaro-tools/iso-profiles/manjaro/xfce
drwxr-xr-x 3 4096 16 feb 19:52 desktop-overlay
lrwxr-xr-x 1   33 16 feb 19:52 live-overlay -> ../../shared/manjaro/live-overlay
-rw-r--r-- 1 5115 16 feb 19:52 Packages-Desktop
lrwxr-xr-x 1   26 16 feb 19:52 Packages-Live -> ../../shared/Packages-Live
lrwxr-xr-x 1   26 16 feb 19:52 Packages-Mhwd -> ../../shared/Packages-Mhwd
lrwxr-xr-x 1   26 16 feb 19:52 Packages-Root -> ../../shared/Packages-Root
-rw-r--r-- 1 2400 16 feb 19:52 profile.conf
  • desktop-overlay: After every successful installation of your ISO the files and folders in here will get copied over.
  • live-overlay: Similar to desktop-overlay. Files and folders in here will only get copied over to the LiveCD of your ISO.
  • Packages-Desktop: This file contains packages for the ISO installation. All packages will also get installed on LiveCDs.
  • Packages-Live: This file contains packages, which will only get installed on the LiveCD.
  • Packages-Mhwd: This file contains Mhwd packages important to all Manjaro installations and LiveCDs.
  • Packages-Root: This file contains base packages important to all Manjaro installations and LiveCDs.
  • profile.conf contains basic settings for your ISO installation and LiveCD.

As you have probably noticed, all files and folders are readonly and several are only symlinks to the shared ISO profile. It is good practice to never change files or folders in the shared ISO profile. If you ever want to change them, first copy them to your ISO profile folder and delete the symlink.

All folders and files specific to your ISO are in bold. You can change them to your liking.

Modifying an ISO profile

The most common places to tweak and customize an ISO profile are the 3 folders marked above: desktop-overlay, profile.conf, Packages-Desktop:

desktop-overlay

The desktop-overlay folder looks like this:

~ >>> tree /usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/etc                                           
/usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/etc
├── fonts
│   └── conf.d
│       └── 70-no-bitmaps.conf -> /etc/fonts/conf.avail/70-no-bitmaps.conf
└── lightdm
    └── lightdm-gtk-greeter.conf
3 directories, 2 files

Go to this directory.

/usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/etc/

Then create skel folder. This is where you can clone everything you see on your Desktop Screen to ISO.

After the ISO has been successfully installed all files and folder in desktop-overlay folder get copied over to the installed system. This includes settings/config files but also themes and backgrounds/pictures.

All files and folder in here will get copied to the home folder. Most hidden files and their structure in /usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/etc/skel/ should be already familiar to you, because your home folder looks very similar.

Clone Custom Wallpaper Desktop

To clone your Custom Wallpaper Desktop. Open a New File Manager and go to this file.

/home/<username>/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml

Change all image directories to where your Custom Wallpaper was located at.

/usr/share/backgrounds/<YOUR IMAGE HERE>

Example

A sample `xfce4-desktop.xml` can be viewed by unfolding this block

 <?xml version="1.0" encoding="UTF-8"?>
 
 <channel name="xfce4-desktop" version="1.0">
   <property name="backdrop" type="empty">
     <property name="screen0" type="empty">
       <property name="monitor0" type="empty">
         <property name="image-path" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
         <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
         <property name="last-single-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
         <property name="image-style" type="int" value="5"/>
       </property>
       <property name="monitorVGA-0" type="empty">
         <property name="workspace0" type="empty">
           <property name="color-style" type="int" value="0"/>
           <property name="image-style" type="int" value="5"/>
           <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
         </property>
         <property name="workspace1" type="empty">
           <property name="color-style" type="int" value="0"/>
           <property name="image-style" type="int" value="5"/>
           <property name="last-image" type="string" value="'''/usr/share/backgrounds/<YOUR IMAGE HERE>'''"/>
         </property>
       </property>
     </property>
   </property>
   <property name="desktop-icons" type="empty">
     <property name="style" type="int" value="2"/>
     <property name="file-icons" type="empty">
       <property name="show-removable" type="bool" value="true"/>
     </property>
     <property name="icon-size" type="uint" value="32"/>
   </property>
 </channel>

Go to this directory in Thunar Root.

/usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/

Then create usr/share/backgrounds and place your Custom Wallpaper at this directory.

/usr/share/manjaro-tools/iso-profiles/manjaro/xfce/desktop-overlay/usr/share/backgrounds/

profile.conf

The full content of the file can be viewed by unfolding this block

 ##########################################
 ###### use this file in the profile ######
 ##########################################
 
 # use multilib packages; x86_64 only
 # multilib="true"
 
 displaymanager="lightdm"
 
 # Set to false to disable autologin in the livecd
 # autologin="true"
 
 # nonfree mhwd drivers
 # nonfree_mhwd="true"
 
 # use plymouth; initcpio hook
 plymouth_boot="false"
 
 # use pxe boot; initcpio hook
 pxe_boot="false"
 
 # use core packages as defined in pkglist to use in basic profile
 # basic="false"
 
 # use extra packages as defined in pkglist to activate a full profile
 extra="true"
 
 ################ install ################
 
 # unset defaults to given value
 # efi_boot_loader="grub"
 
 # configure calamares for netinstall
 # netinstall="false"
 
 # the default url for the netinstall.yaml
 # netgroups="https://raw.githubusercontent.com/manjaro/iso-profiles/master/shared/netgroups"
 
 # configure calamares to use chrootcfg instead of unpackfs
 # chrootcfg="false"
 
 # use geoip for localization
 # geoip='true'
 
 # unset defaults to given values
 # names must match systemd service names
 enable_systemd=('avahi-daemon' 'bluetooth' 'cronie' 'ModemManager' 'NetworkManager' 'org.cups.cupsd' 'tlp' 'tlp-sleep')
 disable_systemd=('pacman-init')
 
 # unset defaults to given values,
 # names must match openrc service names
 # enable_openrc=('acpid' 'bluetooth' 'cgmanager' 'consolekit' 'cronie' 'cupsd' 'dbus' 'syslog-ng' 'NetworkManager')
 # disable_openrc=()
 
 # the same workgroup name if samba is used
 # smb_workgroup=""
 
 ################# livecd #################
 
 # unset defaults to given value
 # hostname="manjaro"
 
 # unset defaults to given value
 # username="manjaro"
 
 # unset defaults to given value
 # password="manjaro"
 
 # the login shell
 # defaults to bash
 # login_shell=/bin/bash
 
 # unset defaults to given values
 # addgroups="video,audio,power,disk,storage,optical,network,lp,scanner,wheel"
 
 # unset defaults to given values
 # names must match systemd service names
 # services in enable_systemd array don't need to be listed here
 # enable_systemd_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live-net')
 
 # unset defaults to given values,
 # names must match openrc service names
 # services in enable_openrc array don't need to be listed here
 # enable_openrc_live=('manjaro-live' 'mhwd-live' 'pacman-init' 'mirrors-live-net')

This config file contains setting options. All default settings are commented. If you want to change them, uncomment them (remove the # symbol in front) and change it.

The following settings are noteworthy:

  • initsys= lets you choose between systemd and OpenRC. This setting is associated with the >systemd and >openrc flags in your package lists.
  • multilib= setting belongs to the >multilib flag in your package lists. multilib will install basic 32bit libraries on 64bit systems. This increases compatibility for 32bit applications on 64bit systems.
  • displaymanager= sets the display / login manager your system uses. You need to list your display manager in your package list, too.
  • nonfree_xorg= refers to proprietary graphics drivers.
  • plymouth_boot= lets you activate Plymouth (the graphics displayed during boot). Do not forget the plymouth package in your package list.
  • pxe_boot= activates PXE boot on your system. Since manjaro-tools 15.1, PXE is enabled by default and this flag is no longer needed.
  • netinstall= activates an additional package selection in calamares. These packages will be downloaded and installed during the installation of the ISO (besides the packages in Packages-Desktop and Packages-Xfce). The list of packages gets chosen from this Github repository according to your ISO profile. Look for a file called packages-systemd.yaml.
  • chrootcfg=: If both netinstall=true and chrootcfg=true are set, the ISO will become a pure net install. This means that no packages from Packages-Desktop, Packages-Xfce, Packages-Mhwd, and Packages-Root will get installed during installation. Instead, Calamares offers a comfortable selection screen, where all packages (to be downloaded from a Manjaro mirror and installed on your system) can be selected. Please refer to the following guide for more detailed instructions: Build Manjaro Net-Install
  • kernel= lets you set the installed kernel. Do not include any kernels in your package list! This setting is all you need.
  • enable_systemd= let's you set systemd services, which get started on the installed system (and with a similar setting on the livecd). A similar setting is available for OpenRC.

Packages-Desktop

The default `Packages-Desktop` file can be viewed by unfolding this block

## Network
avahi
networkmanager
networkmanager-openconnect
networkmanager-openvpn
networkmanager-pptp
networkmanager-vpnc
nss-mdns # NSS support for mDNS (optdepend for avahi)
ntp
mobile-broadband-provider-info
modemmanager
openresolv
openssh
samba
usb_modeswitch

## Libraries for Sound/Audio/Video
alsa-firmware
alsa-utils
ffmpeg
gst-libav
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
libdvdcss
>multilib manjaro-alsa
manjaro-pulse
pulseaudio-bluetooth
pulseaudio-ctl
pulseaudio-zeroconf

## Connect Packages
android-tools
android-udev
gvfs
gvfs-afc
gvfs-gphoto2
gvfs-mtp
gvfs-nfs
gvfs-smb
mtpfs
udiskie
udisks2

## AUR Support/Development
# Missing base-devel packages
autoconf
automake
binutils
bison
fakeroot
flex
gcc
>multilib gcc-libs-multilib
>multilib gcc-multilib
libtool
m4
make
patch
pkg-config
>multilib lib32-flex
# Extra packages for AUR support
>extra git
>extra patchutils
>extra subversion

## Fonts
cantarell-fonts
# noto-fonts             # default font
# noto-fonts-cjk         # big package, ~76 mb compressed
# >extra noto-fonts-emoji
terminus-font
ttf-bitstream-vera       # xfce4-terminal default Monospace
# ttf-dejavu             # Installed as gnome-themes-standard dependency
>extra ttf-inconsolata
>extra ttf-indic-otf
>extra ttf-liberation
>extra ttf-droid

## Games
>extra steam-manjaro

## Package management
pamac
flatpak

## Java
>extra jdk8-openjdk
>extra jre8-openjdk-headless
>extra jre8-openjdk

## Printing
>extra cups
>extra cups-pdf
>extra cups-pk-helper
>extra ghostscript
>extra gsfonts
>extra gtk3-print-backends
>extra hplip
>extra splix
>extra system-config-printer

## Optional dependencies for hplip
>extra pyqt5-common # For hplip
>extra python-pillow # For hplip
>extra python-pip # For hplip
>extra python-pyqt5  # For hplip gui
>extra python-reportlab # For hplip

## Display manager
lightdm
lightdm-gtk-greeter
lightdm-gtk-greeter-settings
accountsservice  # Enhanced user accounts handling

## GTK3
gtk3-classic
>multilib lib32-gtk3-classic

## XFCE Group
exo-gtk3
garcon-gtk3
thunar-gtk3
thunar-volman
tumbler
xfce4-appfinder-gtk3
xfce4-panel-gtk3
xfce4-power-manager-gtk3
xfce4-session-gtk3
xfce4-settings-gtk3
xfce4-terminal
xfconf-gtk3
xfdesktop-gtk3
xfwm4-gtk3

## XFCE Extras
blueman
ffmpegthumbnailer  # tumbler - for video thumbnails
freetype2          # tumbler - for font thumbnails
gksu
gnome-keyring      # fix wlan segfault
libgsf             # tumbler - for ODF thumbnails
libopenraw         # tumbler - for RAW thumbnails
light-locker
network-manager-applet
menulibre
orage
poppler-glib       # tumbler - for PDF thumbnails
thunar-archive-plugin
file-roller
thunar-media-tags-plugin
# >extra xfce4-artwork
xfce4-battery-plugin
xfce4-clipman-plugin
>extra xfce4-cpufreq-plugin
>extra xfce4-cpugraph-plugin
# xfce4-datetime-plugin
>extra xfce4-dict
>extra xfce4-diskperf-plugin
>extra xfce4-fsguard-plugin
>extra xfce4-genmon-plugin
>extra xfce4-mailwatch-plugin
>extra xfce4-mount-plugin
>extra xfce4-mpc-plugin
>extra xfce4-netload-plugin
>extra xfce4-notes-plugin
xfce4-notifyd-gtk3
xfce4-screenshooter
>extra xfce4-sensors-plugin
>extra xfce4-smartbookmark-plugin
>extra xfce4-systemload-plugin
xfce4-taskmanager
>extra xfce4-time-out-plugin
>extra xfce4-timer-plugin
>extra xfce4-verve-plugin
>extra xfce4-wavelan-plugin
>extra xfce4-weather-plugin
xfce4-whiskermenu-plugin-gtk3
xfce4-xkb-plugin
xfce4-pulseaudio-plugin
pavucontrol

## Themes
>extra manjaro-wallpapers-18.0
>extra wallpapers-2018
gnome-icon-theme
gnome-themes-standard
grub-theme-manjaro
matcha-gtk-theme
xcursor-simpleandsoft
xcursor-vanilla-dmz-aa

## Applications
>extra catfish
dmidecode # optional dependency inxi
engrampa
>extra firefox
# >extra flashplugin
>extra galculator-gtk2
gcolor2
>extra gimp
gparted
gufw
>extra audacious
>extra hexchat
htop
qpdfview
inxi
>extra libreoffice-still
ms-office-online
manjaro-hello
manjaro-application-utility
manjaro-settings-manager
manjaro-settings-manager-notifier
>basic midori
>extra mlocate
mousepad
mugshot
>basic parole # media player
>extra pidgin
powertop
screenfetch
>extra poppler-data  # CKJ support for pdf
>basic sylpheed # mail client
>extra thunderbird
>extra vlc
>extra viewnior
>extra xfburn
>extra yelp

# Optional dependencies engrampa
p7zip  # 7Z and ARJ archive support
unace  # ACE archive support
unrar  # RAR archive support

## Documentation
manjaro-documentation-en

## Settings packages
>extra manjaro-xfce-gtk3-settings
>basic manjaro-xfce-gtk3-minimal-settings
manjaro-browser-settings

## Xorg Input Drivers
xf86-input-elographics
xf86-input-evdev
xf86-input-keyboard
xf86-input-libinput
xf86-input-mouse
xf86-input-void

## Xorg Server and Graphics
>multilib lib32-libva-intel-driver
>multilib lib32-libva-mesa-driver
>multilib lib32-libva-vdpau-driver
libva-intel-driver
libva-mesa-driver
libva-vdpau-driver
mesa-demos
>multilib lib32-mesa-demos
numlockx
xdg-user-dirs
xorg-server
xorg-twm
xorg-xinit
xorg-xkill

## Desktop Utils
perl-file-mimeinfo
xdg-utils
xdg-su

## Misc
manjaro-hotfixes

This file contains a list of packages, which will get installed on your installed ISO (XFCE) and the LiveCD (the packages in Packages-Live file only get installled on the live ISO). This is a package list with Xfce specific packages (and packages you like to add to your custom Manjaro ISO) of multiple package lists in your ISO profile. The other package lists are more generic.

You can add or remove package names from this list as you like. You do not need to worry about dependencies when adding package names, just make sure the package name is spelled correctly and the package is available in the Manjaro repositories.

# marks a comment. The rest of the line after the # symbol gets ignored.

>i686 is a flag and marks a package, which will only get installed on the 32bit version of your ISO (XFCE).

>x86_64 marks a package, which will only get installed on the 64bit version of your ISO (XFCE).

Adding AUR packages

If you want to add AUR packages to your ISO, you need to create a online repository and add it to a file ${profile_dir}/user-repos.conf beside your profile.conf.

Only use your own http enabled repo.

[your-repo-name]
SigLevel = Optional TrustAll
Server = http://repo.server.tld/your-repo-name

manjaro-tools.conf

manjaro-tools.conf is the central configuration file for all tools part of manjaro-tools. Only edit the general and the "buildiso" part to not exceed the scope of this tutorial. If you are not sure what and how to edit it, do not edit it. You can always use arguments with the buildiso command later.

By default, the systemwide config file is installed in

/etc/manjaro-tools/manjaro-tools.conf

Best practice is to leave the systemwide file untouched and copy the system wide config to your home directory here:

~/.config/manjaro-tools

If the userconfig is present, manjaro-tools/buildiso will load the userconfig values, however, if variables have been set in the systemwide config file, these values take precedence over the userconfig. Best practice is to leave the systemwide file untouched. By default it is commented and shows just initialization values done in code.

Build your ISO

Build your ISO with the following command:

buildiso -p xfce

You need to specify the name of your ISO profile after the -p argument. In this case, it is xfce.

If the build process fails with an error, start it again.

Attention: The build process needs at least 10 minutes to complete or much longer when you are using HDDs, slow CPUs, or large ISOs.

When the build process finishes successfully, the ISO file and the package list will appear in this folder:

/var/cache/manjaro-tools/iso/

Example:

You can use arguments with the buildiso command for more build options:

buildiso -f -p xfce -b stable
  • -f let's you specify if you want the full ISO. If omitted a minimal ISO will be build.
  • -b let's you specify the branch. You can also set this in your manjaro-tools.conf file.

You can find other examples of builds using different arguments for buildiso here.

Cleaning your hard drive

After a successful or failed build, you can get rid of most data (the "raw" ISO with all downloaded packages) by deleting this folder:

sudo rm -r /var/lib/manjaro-tools/buildiso/

To clean your system of packages files of packages not installed on your system (this includes all the package files downloaded for your custom ISO):

paccache -ruk0

You can also manually look into

/var/cache/manjaro-tools/

and delete folders or files to your liking. If you want to delete all ISO images, package lists, and cached Xorg packages do:

sudo rm -r /var/cache/manjaro-tools/

Please remember that all these packages and files are saved for your convenience. If you clean your system like suggested above, you have to download all packages and build all images again the next time you want to build your own Manjaro ISO.

By default, your manjaro-tools.conf file is saved. If you want to delete it, use

rm -r ~/.config/manjaro-tools

Further Reading

Tutorials for manjaro-tools and buildiso

Manjaro-tools (outdated)

It is also possible to ask questions on IRC:

  • Server: irc.freenode.net
  • Channel: #manjaro
Cookies help us deliver our services. By using our services, you agree to our use of cookies.