diff --git a/Makefile b/Makefile index 20fc9f6..a221d38 100644 --- a/Makefile +++ b/Makefile @@ -87,6 +87,7 @@ install: install-dirs install-locales install-icons $(INSTALL_PROGRAM) liveuser-sudoers $(DESTDIR)$(sysconfdir)/sudoers.d/liveuser $(INSTALL_DATA) installer/openmamba-installer.desktop $(DESTDIR)$(SYSTEM_MENU_DIR) cp -a liveuser/.kde4 $(DESTDIR)/home/liveuser/ + cp -a calamares $(DESTDIR)$(sysconfdir)/ clean: diff --git a/calamares/branding/openmamba/branding.desc b/calamares/branding/openmamba/branding.desc new file mode 100644 index 0000000..d60113f --- /dev/null +++ b/calamares/branding/openmamba/branding.desc @@ -0,0 +1,17 @@ +--- +componentName: openmamba + +strings: + productName: openmamba GNU/Linux + shortProductName: openmamba + version: milestone3 + shortVersion: 3.0 + versionedName: openmamba GNU/Linux milestone3 3.0 + shortVersionedName: openmamba 3.0 + bootloaderEntryName: openmamba + +images: + productLogo: "openmamba.png" + productIcon: "openmamba.png" + +slideshow: "show.qml" diff --git a/calamares/branding/openmamba/openmamba.png b/calamares/branding/openmamba/openmamba.png new file mode 100644 index 0000000..ea3478a Binary files /dev/null and b/calamares/branding/openmamba/openmamba.png differ diff --git a/calamares/branding/openmamba/show.qml b/calamares/branding/openmamba/show.qml new file mode 100644 index 0000000..40321bf --- /dev/null +++ b/calamares/branding/openmamba/show.qml @@ -0,0 +1,63 @@ +/* === This file is part of Calamares - === + * + * Copyright 2015, Teo Mrnjavac + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +import QtQuick 2.0; +import calamares.slideshow 1.0; + +Presentation +{ + id: presentation + + Timer { + interval: 5000 + running: false + repeat: true + onTriggered: presentation.goToNextSlide() + } + + Slide { + + Image { + id: background + source: "squid.png" + width: 200; height: 200 + fillMode: Image.PreserveAspectFit + anchors.centerIn: parent + } + Text { + anchors.horizontalCenter: background.horizontalCenter + anchors.top: background.bottom + text: "This is a customizable QML slideshow.
"+ + "Distributions should provide their own slideshow and list it in
"+ + "their custom branding.desc file.
"+ + "To create a Calamares presentation in QML, import calamares.slideshow,
"+ + "define a Presentation element with as many Slide elements as needed." + wrapMode: Text.WordWrap + width: root.width + horizontalAlignment: Text.Center + } + } + + Slide { + centeredText: "This is a second Slide element." + } + + Slide { + centeredText: "This is a third Slide element." + } +} diff --git a/calamares/modules/bootloader.conf b/calamares/modules/bootloader.conf new file mode 100644 index 0000000..8a102c6 --- /dev/null +++ b/calamares/modules/bootloader.conf @@ -0,0 +1,17 @@ +--- +# Gummiboot configuration files settings, set kernel and initramfs file names +# and amount of time before default selection boots +# Optionally set the menu entry name to use in Gummiboot. If not specified here, +# this setting will be taken from branding.desc. +# bootloaderEntryName: KaOS-kf5 +kernel: /vmlinuz-linux +img: /initramfs-linux.img +fallback: /initramfs-linux-fallback.img + +timeout: 10 + +# GRUB 2 binary names and boot directory +# Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names. +grubInstall: "grub-install" +grubMkconfig: "grub-mkconfig" +grubCfg: "/boot/grub/grub.cfg" diff --git a/calamares/modules/displaymanager.conf b/calamares/modules/displaymanager.conf new file mode 100644 index 0000000..59ad061 --- /dev/null +++ b/calamares/modules/displaymanager.conf @@ -0,0 +1,22 @@ +--- +#The DM module attempts to set up all the DMs found in this list, in that precise order. +#It also sets up autologin, if the feature is enabled in globalstorage. +#The displaymanagers list can also be set in globalstorage, and in that case it overrides anything set up here. +displaymanagers: + - slim + - sddm + - lightdm + - gdm + - mdm + - lxdm + - kdm + +#Enable the following settings to force a desktop environment in your displaymanager configuration file: +#defaultDesktopEnvironment: +# executable: "startkde" +# desktopFile: "plasma" + +#If true, try to ensure that the user, group, /var directory etc. for the +#display manager are set up correctly. This is normally done by the distribution +#packages, and best left to them. Therefore, it is disabled by default. +basicSetup: false diff --git a/calamares/modules/dummypython.conf b/calamares/modules/dummypython.conf new file mode 100644 index 0000000..fc98508 --- /dev/null +++ b/calamares/modules/dummypython.conf @@ -0,0 +1,18 @@ +--- +syntax: "YAML map of anything" +example: + whats_this: "module-specific configuration" + from_where: "dummypython.conf" +a_list: + - "item1" + - "item2" + - "item3" + - "item4" +a_list_of_maps: + - name: "an Item" + contents: + - "an element" + - "another element" + - name: "another item" + contents: + - "not much" \ No newline at end of file diff --git a/calamares/modules/finished.conf b/calamares/modules/finished.conf new file mode 100644 index 0000000..f93acb5 --- /dev/null +++ b/calamares/modules/finished.conf @@ -0,0 +1,4 @@ +--- +restartNowEnabled: true +restartNowChecked: false +restartNowCommand: "systemctl -i reboot" diff --git a/calamares/modules/fstab.conf b/calamares/modules/fstab.conf new file mode 100644 index 0000000..7dbf529 --- /dev/null +++ b/calamares/modules/fstab.conf @@ -0,0 +1,10 @@ +--- +mountOptions: + default: defaults,noatime + btrfs: defaults,noatime,space_cache,autodefrag +ssdExtraMountOptions: + ext4: discard + jfs: discard + xfs: discard + swap: discard + btrfs: discard,compress=lzo diff --git a/calamares/modules/grub.conf b/calamares/modules/grub.conf new file mode 100644 index 0000000..ffef6f6 --- /dev/null +++ b/calamares/modules/grub.conf @@ -0,0 +1,11 @@ +--- +# GRUB 2 binary names and boot directory +# Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names. +grubInstall: "grub-install" +grubMkconfig: "grub-mkconfig" +grubCfg: "/boot/grub/grub.cfg" +# Optionally set the --bootloader-id to use for EFI. If not set, this defaults +# to the bootloaderEntryName from branding.desc with problematic characters +# replaced. If an efiBootloaderId is specified here, it is taken to already be a +# valid directory name, so no such postprocessing is done in this case. +# efiBootloaderId: "dirname" diff --git a/calamares/modules/grubcfg.conf b/calamares/modules/grubcfg.conf new file mode 100644 index 0000000..608c9b2 --- /dev/null +++ b/calamares/modules/grubcfg.conf @@ -0,0 +1,13 @@ +--- +# If set to true, always creates /etc/default/grub from scratch even if the file +# already existed. If set to false, edits the existing file instead. +overwrite: false +# Default entries to write to /etc/default/grub if it does not exist yet or if +# we are overwriting it. Note that in addition, GRUB_CMDLINE_LINUX_DEFAULT and +# GRUB_DISTRIBUTOR will always be written, with automatically detected values. +defaults: + GRUB_TIMEOUT: 5 + GRUB_DEFAULT: "saved" + GRUB_DISABLE_SUBMENU: true + GRUB_TERMINAL_OUTPUT: "console" + GRUB_DISABLE_RECOVERY: true diff --git a/calamares/modules/initcpio.conf b/calamares/modules/initcpio.conf new file mode 100644 index 0000000..21f5704 --- /dev/null +++ b/calamares/modules/initcpio.conf @@ -0,0 +1,2 @@ +--- +kernel: linux312 diff --git a/calamares/modules/keyboard.conf b/calamares/modules/keyboard.conf new file mode 100644 index 0000000..a2606b9 --- /dev/null +++ b/calamares/modules/keyboard.conf @@ -0,0 +1,8 @@ +--- +# The name of the file to write X11 keyboard settings to +# The default value is the name used by upstream systemd-localed. +# Relative paths are assumed to be relative to /etc/X11/xorg.conf.d +xOrgConfFileName: "/etc/X11/xorg.conf.d/00-keyboard.conf" +# The path to search for keymaps converted from X11 to kbd format +# Leave this empty if the setting does not make sense on your distribution. +convertedKeymapPath: "/lib/kbd/keymaps/xkb" diff --git a/calamares/modules/locale.conf b/calamares/modules/locale.conf new file mode 100644 index 0000000..795ceb2 --- /dev/null +++ b/calamares/modules/locale.conf @@ -0,0 +1,3 @@ +--- +region: "Europe" +zone: "London" diff --git a/calamares/modules/machineid.conf b/calamares/modules/machineid.conf new file mode 100644 index 0000000..2636872 --- /dev/null +++ b/calamares/modules/machineid.conf @@ -0,0 +1,8 @@ +--- +# Whether to create /etc/machine-id for systemd. +systemd: true +# Whether to create /var/lib/dbus/machine-id for D-Bus. +dbus: true +# Whether /var/lib/dbus/machine-id should be a symlink to /etc/machine-id +# (ignored if dbus is false, or if there is no /etc/machine-id to point to). +symlink: true diff --git a/calamares/modules/mount.conf b/calamares/modules/mount.conf new file mode 100644 index 0000000..5da4367 --- /dev/null +++ b/calamares/modules/mount.conf @@ -0,0 +1,20 @@ +--- +extraMounts: + - device: proc + fs: proc + mountPoint: /proc + - device: sys + fs: sysfs + mountPoint: /sys + - device: /dev + mountPoint: /dev + options: bind + - device: tmpfs + fs: tmpfs + mountPoint: /run + +extraMountsEfi: + - device: /sys/firmware/efi + mountPoint: /sys/firmware/efi + options: bind + diff --git a/calamares/modules/packages.conf b/calamares/modules/packages.conf new file mode 100644 index 0000000..6cfe8b7 --- /dev/null +++ b/calamares/modules/packages.conf @@ -0,0 +1,41 @@ +--- +# +# Which package manager to use, options are: +# - packagekit - PackageKit CLI tool +# - zypp - Zypp RPM frontend +# - yum - Yum RPM frontend +# - dnf - DNF, the new RPM frontend +# - urpmi - Mandriva package manager +# - apt - APT frontend for DEB and RPM +# - pacman - Pacman +# +backend: packagekit +# +# List of maps with package operations such as install or remove. +# Distro developers can provide a list of packages to remove +# from the installed system (for instance packages meant only +# for the live system). +# +# A job implementing a distro specific logic to determine other +# packages that need to be installed or removed can run before +# this one. Distro developers may want to install locale packages +# or remove drivers not needed on the installed system. +# This job will populate a list of dictionaries in the global +# storage called "packageOperations" and it is processed +# after the static list in the job configuration. +# +#operations: +# - install: +# - pkg1 +# - pkg2 +# - remove: +# - pkg3 +# - pkg4 +# - install: +# - pkg5 +# - remove: +# - pkg2 +# - pkg1 +# install: +# - pkgs6 +# - pkg7 diff --git a/calamares/modules/prepare.conf b/calamares/modules/prepare.conf new file mode 100644 index 0000000..1c0db0b --- /dev/null +++ b/calamares/modules/prepare.conf @@ -0,0 +1,11 @@ +--- +requiredStorage: 5.5 +requiredRam: 1.0 +check: + - storage + - ram + - power + - internet +required: +# - storage + - ram diff --git a/calamares/modules/services.conf b/calamares/modules/services.conf new file mode 100644 index 0000000..fd3e398 --- /dev/null +++ b/calamares/modules/services.conf @@ -0,0 +1,13 @@ +--- +#systemd services and targets are enabled in this precise order + +services: + - name: "NetworkManager" #name of the service file + mandatory: false #true=> if enabling fails the installer errors out and quits + #false=>if enabling fails print warning to console and continue + - name: "cups" + mandatory: false + +targets: + - name: "graphical" + mandatory: true diff --git a/calamares/modules/unpackfs.conf b/calamares/modules/unpackfs.conf new file mode 100644 index 0000000..68de113 --- /dev/null +++ b/calamares/modules/unpackfs.conf @@ -0,0 +1,8 @@ +--- +unpack: + - source: "/path/to/filesystem.img" + sourcefs: "ext4" + destination: "" + - source: "/path/to/another/filesystem.sqfs" + sourcefs: "squashfs" + destination: "" diff --git a/calamares/modules/users.conf b/calamares/modules/users.conf new file mode 100644 index 0000000..aab7a40 --- /dev/null +++ b/calamares/modules/users.conf @@ -0,0 +1,11 @@ +--- +userGroup: users +defaultGroups: + - lp + - video + - network + - storage + - wheel + - audio +autologinGroup: autologin +sudoersGroup: wheel diff --git a/calamares/settings.conf b/calamares/settings.conf new file mode 100644 index 0000000..cd87f70 --- /dev/null +++ b/calamares/settings.conf @@ -0,0 +1,70 @@ +# Configuration file for Calamares +# Syntax is YAML 1.2 +--- +# Modules can be job modules (with different interfaces) and QtWidgets view modules. +# They could all be placed in a number of different paths. +# "local" is LIBDIR/calamares/modules with settings in SHARE/calamares/modules +modules-search: [ local, /path/to/dir/with/more/modules ] + +# We define the module names in the order they should show up (QtWidget view modules, +# with one or more pages) OR be executed if enqueued (all other modules). +# Pages can also enqueue jobs for delayed execution in the order specified for the +# install phase. + +# Phase 1 - prepare. +# View modules are shown as UI pages, jobs from job modules are executed immediately in +# the background. +# Jobs should be executed sparingly (if at all) in this phase. +prepare: +- greeting +- locale +- keyboard +- prepare +- partition +- users +- summary + +# Phase 2 - install. +# View modules are not shown. Only the view modules shown in the previous phase are +# allowed, their names should be added here as placeholders to specify the order in +# which view module jobs should be enqueued. Job modules are also allowed. +install: +#- dummyprocess +#- dummypython +- partition +- mount +- unpackfs +- machineid +- fstab +- locale +- keyboard +- localecfg +- initcpiocfg +- initcpio +- users +#- displaymanager +- networkcfg +- hwclock +- services +#- dracut +#- initramfs +- grubcfg +- grub +#- bootloader +- umount + +# Phase 3 - postinstall. +# View modules are shown as UI pages, jobs from job modules are executed immediately in +# the background. +# Jobs should be executed sparingly (if at all) in this phase. +postinstall: +- finished + + +# A branding component is a directory, either in SHARE/calamares/branding or in +# /etc/calamares/branding (the latter takes precedence). The directory must contain a +# YAML file branding.desc which may reference additional resources (such as images) as +# paths relative to the current directory. +# Only the name of the branding component (directory) should be specified here, Calamares +# then takes care of finding it and loading the contents. +branding: openmamba