Add Niri installer, fix versions

This commit is contained in:
Aleksey Samoilov 2025-06-09 22:46:15 +04:00
parent 4c42ce709e
commit 2faa70a556
26 changed files with 423 additions and 29 deletions

View file

@ -0,0 +1,5 @@
niri/branding/ etc/calamares/
niri/modules/*conf etc/calamares/modules/
niri/settings.conf etc/calamares/
niri/install-tileos-river usr/bin/
niri/install-tileos-river.desktop usr/share/applications/

7
debian/changelog vendored
View file

@ -1,3 +1,10 @@
calamares-settings-tileos (2.0.1~tileos) unstable; urgency=medium
* Add Niri installer
* Fix version
-- Aleksey Samoilov <samoilov.lex@gmail.com> Mon, 09 Jun 2025 22:45:16 +0400
calamares-settings-tileos (2.0.0~tileos) unstable; urgency=medium
* Initial release for Sauropod

11
debian/control vendored
View file

@ -18,6 +18,17 @@ Description: TileOS Miracle-WM theme and settings for the Calamares Installer
package provides the latest TileOS artwork as well as scripts that
supports EFI installations.
Package: calamares-settings-tileos-niri
Architecture: all
Depends: calamares-settings-tileos-common
Conflicts: calamaes-settings-tileos-river, calamares-settings-debian, calamaes-settings-tileos-sway, calamares-settings-tileos-miracle
Provides: calamares-settings
Description: TileOS Niri theme and settings for the Calamares Installer
Calamares is a generic installer framework for Linux distributions.
By default, it contains a set of boilerplate wording and images. This
package provides the latest TileOS artwork as well as scripts that
supports EFI installations.
Package: calamares-settings-tileos-qtile
Architecture: all
Depends: calamares-settings-tileos-common

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

View file

@ -1,15 +1,15 @@
---
componentName: tileos-sway
componentName: tileos-miracle
windowExpanding: normal
windowSize: "890px,600px"
strings:
productName: TileOS
shortProductName: TileOS
version: 1.1 (t-rex)
shortVersion: 1.1
versionedName: TileOS 1.1 (t-rex)
shortVersionedName: TileOS 1.1
version: 2.0 (sauropod)
shortVersion: 2.0
versionedName: TileOS 2.0 (sauropod)
shortVersionedName: TileOS 2.0
bootloaderEntryName: TileOS
supportUrl: https://gitlab.com/tile-os/tileos/-/issues

View file

@ -29,19 +29,6 @@ Presentation
repeat: true
onTriggered: presentation.goToNextSlide()
}
Slide {
Image {
anchors.centerIn: parent
id: image1
x:0
y:0
width: 810
height: 485
fillMode: Image.PreserveAspectFit
smooth: true
source: "Sway.png"
}
}
Slide {
Image {
anchors.centerIn: parent

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View file

@ -0,0 +1,30 @@
---
componentName: tileos-niri
windowExpanding: normal
windowSize: "890px,600px"
strings:
productName: TileOS
shortProductName: TileOS
version: 2.0 (sauropod)
shortVersion: 2.0
versionedName: TileOS 2.0 (sauropod)
shortVersionedName: TileOS 2.0
bootloaderEntryName: TileOS
supportUrl: https://gitlab.com/tile-os/tileos/-/issues
images:
productLogo: "tileos-logo.png"
productIcon: "tileos-logo.png"
productWelcome: "welcome.png"
# productWallpaper: "wallpaper.png"
slideshow: "show.qml"
style:
sidebarBackground: "#1e2030"
sidebarText: "#cad3f5"
sidebarTextSelect: "#24273a"
sidebarTextSelect: "#24273a"
slideshowAPI: 2

View file

@ -0,0 +1,71 @@
/* === This file is part of Calamares - <http://github.com/calamares> ===
*
* Copyright 2015, Teo Mrnjavac <teo@kde.org>
* Copyright 2018-2019, Jonathan Carter <jcc@debian.org>
*
* 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, 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 <http://www.gnu.org/licenses/>.
*/
import QtQuick 2.0;
import calamares.slideshow 1.0;
Presentation
{
id: presentation
Timer {
interval: 20000
running: true
repeat: true
onTriggered: presentation.goToNextSlide()
}
Slide {
Image {
anchors.centerIn: parent
id: image2
x:0
y:0
width: 810
height: 485
fillMode: Image.PreserveAspectFit
smooth: true
source: "Features.png"
}
}
Slide {
Image {
anchors.centerIn: parent
id: image3
x:0
y:0
width: 810
height: 485
fillMode: Image.PreserveAspectFit
smooth: true
source: "Software.png"
}
}
Slide {
Image {
anchors.centerIn: parent
id: image4
x:0
y:0
width: 810
height: 485
fillMode: Image.PreserveAspectFit
smooth: true
source: "Follow.png"
}
}
}

View file

@ -0,0 +1,46 @@
/*
A branding component can ship a stylesheet (like this one)
which is applied to parts of the Calamares user-interface.
In principle, all parts can be styled through CSS.
Missing parts should be filed as issues.
The IDs are based on the object names in the C++ code.
Documentation for styling Qt Widgets through a stylesheet
can be found at
https://doc.qt.io/qt-5/stylesheet-examples.html
In Calamares, styling widget classes is supported (e.g.
using `QComboBox` as a selector). You can also use specific
object names (ids), which you can find through debugging tools.
*/
/* Main application window. */
#mainApp {
}
/*-----QPushButton-----*/
QPushButton::flat {
background-color: transparent;
border: none;
color: #cad3f5;
}
/* Partitioning module.
#bootInfoIcon { }
#bootInfoLable { }
#deviceInfoIcon { }
#defineInfoLabel { }
#scrollAreaWidgetContents { }
#partitionBarView { }
*/
/* Licensing module.
#licenseItem { }
#licenseItemFullText { }
*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

4
niri/install-tileos-niri Executable file
View file

@ -0,0 +1,4 @@
#!/bin/bash
export BROWSER='sudo -H -u tileos firefox'
QT_STYLE_OVERRIDE=fusion calamares -D8

View file

@ -0,0 +1,13 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=Install TileOS
GenericName=Calamares Installer
Exec=sudo -E /usr/bin/install-tileos-niri
Comment=Install TileOS River Edition
Keywords=calamares;system;install;debian;installer
Icon=calamares
Terminal=false
Categories=Qt;System;
StartupWMClass=calamares
StartupNotify=True

View file

@ -0,0 +1,13 @@
displaymanagers:
- greetd
greetd:
greeter_user: "_greetd"
greeter_group: "_greetd"
defaultDesktopEnvironment:
executable: "niri-session"
desktopFile: "niri"
basicSetup: false
sysconfigSetup: false

View file

@ -0,0 +1,18 @@
backend: apt
skip_if_no_internet: false
update_db: true
update_system: false
operations:
- remove:
- 'live-boot'
- 'live-boot-doc'
- 'live-config'
- 'live-config-doc'
- 'live-config-systemd'
- 'live-config-systemd'
- 'live-tools'
- 'live-task-localisation'
- 'live-task-recommended'
- 'calamares-settings-tileos-river'

View file

@ -0,0 +1,6 @@
efiSystemPartition: "/boot/efi"
enableLuksAutomatedPartitioning: true
userSwapChoices:
- none
drawNestedPartitions: true
defaultFileSystemType: "ext4"

View file

@ -0,0 +1,5 @@
---
unpack:
- source: "/run/live/medium/live/filesystem.squashfs"
sourcefs: "squashfs"
destination: ""

17
niri/modules/users.conf Normal file
View file

@ -0,0 +1,17 @@
---
userGroup: users
defaultGroups:
- cdrom
- floppy
- sudo
- audio
- dip
- video
- plugdev
- netdev
- lpadmin
- scanner
- bluetooth
autologinGroup: autologin
sudoersGroup: sudo
setRootPassword: false

27
niri/modules/welcome.conf Normal file
View file

@ -0,0 +1,27 @@
---
showSupportUrl: true
showKnownIssuesUrl: false
showReleaseNotesUrl: false
requirements:
requiredStorage: 20
requiredRam: 1.0
internetCheckUrl: https://google.com/
check:
- storage
- ram
- power
- root
- internet
required:
- storage
- ram
- root
- internet
# Try to set language if internet available
geoip:
style: "json"
url: "https://ipapi.co/json"
selector: "country"

134
niri/settings.conf Normal file
View file

@ -0,0 +1,134 @@
# Configuration file for Calamares
# Syntax is YAML 1.2
---
# "local" is LIBDIR/calamares/modules with settings in SHARE/calamares/modules
modules-search: [ local, /usr/lib/calamares/modules ]
# If this is set to true, Calamares refers to itself as a "setup program"
# rather than an "installer". Defaults to the value of dont-chroot, but
# Calamares will complain if this is not explicitly set.
oem-setup: false
# If this is set to true, the "Cancel" button will be disabled entirely.
# The button is also hidden from view.
#
# This can be useful if when e.g. Calamares is used as a post-install
# configuration tool and you require the user to go through all the
# configuration steps.
#
# Default is false, but Calamares will complain if this is not explicitly set.
#
# YAML: boolean.
disable-cancel: false
# If this is set to true, the "Cancel" button will be disabled once
# you start the 'Installation', meaning there won't be a way to cancel
# the Installation until it has finished or installation has failed.
#
# Default is false, but Calamares will complain if this is not explicitly set.
#
# YAML: boolean.
disable-cancel-during-exec: false
# If this is set to true, the "Next" and "Back" button will be hidden once
# you start the 'Installation'.
#
# Default is false, but Calamares will complain if this is not explicitly set.
#
# YAML: boolean.
hide-back-and-next-during-exec: false
# If this is set to true, then once the end of the sequence has
# been reached, the quit (done) button is clicked automatically
# and Calamares will close. Default is false: the user will see
# that the end of installation has been reached, and that things are ok.
#
#
quit-at-end: false
sequence:
# 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.
- show:
- welcome
- locale
- keyboard
- netinstall
- 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.
- exec:
- partition
- mount
- unpackfs
- dpkg-unsafe-io
- machineid
- fstab
- locale
- keyboard
- localecfg
- luksbootkeyfile
- users
- displaymanager
- networkcfg
- hwclock
- services-systemd
- initramfscfg
- initramfs
- grubcfg
- bootloader-config
- bootloader
- packages
- plymouthcfg
- dpkg-unsafe-io-undo
- sources-final
- 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.
- show:
- 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: tileos-river
# If this is set to true, Calamares will show an "Are you sure?" prompt right
# before each execution phase, i.e. at points of no return. If this is set to
# false, no prompt is shown. Default is false.
#
# YAML: boolean.
prompt-install: false
# If this is set to true, Calamares will execute all target environment
# commands in the current environment, without chroot. This setting should
# only be used when setting up Calamares as a post-install configuration tool,
# as opposed to a full operating system installer.
#
# Some official Calamares modules are not expected to function with this
# setting. (e.g. partitioning seems like a bad idea, since that is expected to
# have been done already)
#
# Default is false (for a normal installer).
#
# YAML: boolean.
dont-chroot: false

View file

@ -6,10 +6,10 @@ windowSize: "890px,600px"
strings:
productName: TileOS
shortProductName: TileOS
version: 1.2 (t-rex)
shortVersion: 1.2
versionedName: TileOS 1.2 (t-rex)
shortVersionedName: TileOS 1.2
version: 2.0 (sauropod)
shortVersion: 2.0
versionedName: TileOS 2.0 (sauropod)
shortVersionedName: TileOS 2.0
bootloaderEntryName: TileOS
supportUrl: https://gitlab.com/tile-os/tileos/-/issues

View file

@ -6,10 +6,10 @@ windowSize: "890px,600px"
strings:
productName: TileOS
shortProductName: TileOS
version: 1.2 (t-rex)
shortVersion: 1.2
versionedName: TileOS 1.2 (t-rex)
shortVersionedName: TileOS 1.2
version: 2.0 (sauropod)
shortVersion: 2.0
versionedName: TileOS 2.0 (sauropod)
shortVersionedName: TileOS 2.0
bootloaderEntryName: TileOS
supportUrl: https://gitlab.com/tile-os/tileos/-/issues

View file

@ -6,10 +6,10 @@ windowSize: "890px,600px"
strings:
productName: TileOS
shortProductName: TileOS
version: 1.2 (t-rex)
version: 2.0 (sauropod)
shortVersion: 1.2
versionedName: TileOS 1.2 (t-rex)
shortVersionedName: TileOS 1.2
versionedName: TileOS 2.0 (sauropod)
shortVersionedName: TileOS 2.0
bootloaderEntryName: TileOS
supportUrl: https://gitlab.com/tile-os/tileos/-/issues