-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample.toml
More file actions
177 lines (151 loc) · 4.97 KB
/
Copy pathexample.toml
File metadata and controls
177 lines (151 loc) · 4.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# ============================================================================
# Lingmo Builder Configuration - KDE Plasma Desktop Live ISO
# ============================================================================
# This configuration builds a bootable Debian-based live ISO with KDE Plasma
# desktop, Calamares installer, NVIDIA support, and NetworkManager.
[distro]
name = "LingmoOS"
version = "2026.1"
codename = "trixie"
mirror = "https://mirrors.tuna.tsinghua.edu.cn/debian"
architecture = "amd64"
components = ["main", "contrib", "non-free", "non-free-firmware"]
profile = "desktop"
desktop = "kde"
[installer]
type = "calamares"
# type = "debian-installer"
# mode = "graphical"
# ============================================================================
# Repository Configuration
# ============================================================================
# DEB822 format is used by default (Debian 12+).
# Legacy .list files are NOT generated.
[repositories]
default_format = "deb822"
[repositories.debian]
mirror = "https://mirrors.tuna.tsinghua.edu.cn/debian"
security_mirror = "https://mirrors.tuna.tsinghua.edu.cn/debian-security"
suite = "trixie"
components = ["main", "contrib", "non-free", "non-free-firmware"]
# Enable source repositories (optional, slows apt update)
source_enabled = false
[[repositories.extra]]
name = "lingmo"
repo_type = "obs"
url = "http://download.opensuse.org/repositories/home:/LingmoOS/Debian_13/"
suite = "/"
key_url = "https://download.opensuse.org/repositories/home:LingmoOS/Debian_13/Release.key"
key_path = "/etc/apt/keyrings/lingmo.gpg"
enabled = true
# ============================================================================
# Package Management
# ============================================================================
[packages]
additional = [
"firefox-esr",
"libreoffice",
"gimp",
"vlc",
"celluloid",
"thunderbird",
"keepassxc",
"nextcloud-desktop",
"teams-for-linux",
"onlyoffice-desktopeditors",
]
remove = [
"gnome-games",
"airodump-ng",
]
[packages.pin_priorities]
# Pin Debian backports to lower priority
"*" = 500
"linux-image-amd64" = 1001
# ============================================================================
# System Configuration
# ============================================================================
[system]
hostname = "lingmo"
locale = "en_US.UTF-8"
timezone = "America/New_York"
keyboard_layout = "us"
kernel_cmdline = "quiet splash loglevel=3 systemd.show_status=auto"
[[system.users]]
username = "live"
password_hash = "$y$j9T$cPgCx8DqL9YzEQkGqU/Vl1$C7jhMq6x3wbzG5qF2vH8sL0nW9Xy2R4tB6vN8mP1kD" # live
shell = "/bin/bash"
groups = ["sudo", "audio", "video", "cdrom", "plugdev", "netdev", "bluetooth"]
sudo = true
[[system.users]]
username = "root"
password_hash = "$y$j9T$cPgCx8DqL9YzEQkGqU/Vl1$C7jhMq6x3wbzG5qF2vH8sL0nW9Xy2R4tB6vN8mP1kD" # root
shell = "/bin/bash"
groups = []
sudo = false
[system.fstab]
# Add custom fstab entries (optional)
# ============================================================================
# Output Configuration
# ============================================================================
[output]
iso_name = "lingmo-2026.1-amd64.iso"
iso_label = "LINGMO_2026"
iso_volume = "LINGMO_OS_2026_1"
output_dir = "./output"
work_dir = "./work"
squashfs_compression = "zstd"
squashfs_block_size = 262144
# ============================================================================
# Multi-Volume SquashFS
# ============================================================================
# Splits the root filesystem into multiple SquashFS volumes.
#
# Strategies:
# single - one volume (traditional, default)
# size - split by size threshold
# plugin - one volume per plugin group (core, desktop, drivers, etc.)
# profile - split core vs desktop files
[volume]
strategy = "size"
max_volume_size = 1073741824 # 1 GiB per volume
compression = "zstd"
block_size = 131072
output_pattern = "filesystem.part{}.squashfs"
generate_manifest = true
verify_checksums = true
# ============================================================================
# Caching
# ============================================================================
[cache]
enabled = true
directory = "./cache"
stages = ["bootstrap", "install-base", "install-kernel"]
# ============================================================================
# Plugins
# ============================================================================
plugins = [
"core",
"kde",
"networkmanager",
"nvidia",
]
# ============================================================================
# Custom Hooks
# ============================================================================
[[hooks]]
name = "disable-sleep"
script = """
systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
"""
stage = "chroot-hooks"
chroot = true
order = 80
[[hooks]]
name = "set-default-target"
script = """
systemctl set-default graphical.target
"""
stage = "system-config"
chroot = true
order = 10