generated from Vanilla-OS/custom-image
-
Notifications
You must be signed in to change notification settings - Fork 0
/
recipe.yml
98 lines (88 loc) · 2.51 KB
/
recipe.yml
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
name: Custom Vanilla Surface Image
id: surface-nv
stages:
- id: build
base: ghcr.io/vanilla-os/nvidia:main # nvidia:main does not build with the latest linux-surface kernel
singlelayer: false
labels:
maintainer: self-maintained
args:
DEBIAN_FRONTEND: noninteractive # Set the image environment as non-interactive
# Commands to run first before building the modules
runs:
commands:
- echo 'APT::Install-Recommends "1";' > /etc/apt/apt.conf.d/01norecommends
modules:
- name: init-setup
type: shell
commands:
- lpkg --unlock
- apt-get update
# Put your custom actions behind this comment
- name: surface-kernel
type: shell
commands:
- >-
wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
| gpg --dearmor | dd of=/etc/apt/trusted.gpg.d/linux-surface.gpg
- >-
echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" \
| tee /etc/apt/sources.list.d/linux-surface.list
- apt-get update
- name: surface-kernel
type: shell
commands:
- >-
apt-mark hold linux-image-surface linux-headers-surface libwacom-surface iptsd surface-control
modules:
- name: install-surface-kernel
type: apt
source:
packages:
- linux-image-6.9.9-surface-1
- linux-headers-6.9.9-surface-1
- libwacom-surface
- iptsd
- surface-control
- name: nvidia-extras
type: apt
source:
packages:
- nvidia-powerd
- name: nvidia-config
type: shell
commands:
- >-
cp /usr/share/doc/nvidia-powerd/examples/nvidia-powerd.service
/etc/systemd/system/nvidia-powerd.service
- systemctl enable nvidia-powerd.service
# Put your custom actions before this comment
- name: set-image-name-abroot
type: includes
includes:
- modules/80-set-image-abroot-config.yml
- name: cleanup
type: shell
commands:
- apt-get autoremove -y
- apt-get clean
- lpkg --lock
- name: fsguard
type: fsguard
CustomFsGuard: false
FsGuardLocation: "/usr/sbin/FsGuard"
GenerateKey: true
FilelistPaths: ["/usr/bin"]
modules:
- name: remove-prev-fsguard
type: shell
commands:
- rm -rf /FsGuard
- rm -f ./minisign.pub ./minisign.key
- chmod +x /usr/sbin/init
- name: cleanup2
type: shell
commands:
- rm -rf /tmp/*
- rm -rf /var/tmp/*
- rm -rf /sources