Enable temporarily
I do not recommend enabling this permanently. You should probably add individual writable directories
sudo apt update
sudo apt install (package)
sudo nano /lib/systemd/system/(service name, arbitrary).mount
[Unit]
Before=local-fs.target
[Mount]
Where=(target location)
What=/userdata/system-data/(target location)
Type=none
Options=bind
[Install]
WantedBy=local-fs.target
sudo systemctl enable (service name)
sudo systemctl start (service name)
Note: many Ubuntu Touch ports do not have DRM support, so a lot of DEs will not work
sudo systemctl stop lightdm
sudo systemctl disable lightdm
sudo nano /lib/systemd/system/desktop.service
[Unit]
Description=User Session Starter
Conflicts=getty@tty7.service plymouth-quit.service
After=systemd-user-sessions.service getty@tty7.service plymouth-quit.service
[Service]
ExecStart=/usr/bin/su phablet -c (session command e.g. startx)
Restart=always
[Install]
WantedBy=graphical.target
sudo systemctl enable desktop
sudo systemctl start desktop
/etc/X11/Xwrapper.config
allowed_users=console
to
allowed_users=anybody
sudo rm /lib/systemd/system/lightdm.service
To update the screen once run:
cat /sys/class/graphics/fb0/modes > /sys/class/graphics/fb0/mode
(as root)
sudo nano /lib/systemd/system/fb-refresher.service
[Unit]
Description=Fix the screen
[Service]
ExecStart=/usr/bin/sh -c "while [ ! ]; do cat /sys/class/graphics/fb0/modes > /sys/class/graphics/fb0/mode; done"
[Install]
WantedBy=multi-user.target
sudo systemctl enable fb-refresher
sudo systemctl start fb-refresher
Enable temporarily
sudo dd if=/dev/zero of=/userdata/swapfile bs=1024 count=(desired size in kilobytes) status=progress
sudo chmod 600 /userdata/swapfile
sudo mkswap /userdata/swapfile
sudo swapon /userdata/swapfile
Enable permanently:
sudo nano /lib/systemd/system/swap.service
[Unit]
Description=Enable swap
[Service]
Type=oneshot
ExecStart=/usr/sbin/swapon /userdata/swapfile
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
sudo systemctl enable swap
sudo systemctl start swap
Installing nix:
sudo chown -R phablet /nix
sh <(curl -L https://nixos.org/nix/install) --no-daemon
You might get
ERROR: ld.so: object 'libtls-padding.so' from LD_PRELOAD cannot be preloaded
. It can be safely ignored. To disable this warning:
unset LD_PRELOAD
to the end of
~/.bashrc
Installing home-manager: