Another way to customize sddm under Kinoite

Because the config file of sddm is under /usr/share it is not possible to install sddm themes and change background pictures as normal. @nullrequest has thought of making sddm themes a rpm package and use rpm-ostree to install it. see hear However, she only provides source code but not binary program which makes it really inconvenient to use. Besides, I do not like to rpm-ostree install too much for it is not an ordinary package manager.
So I come up with another idea to install themes for sddm. It is that to use mount --rbind for @siosm found that ln -s not work. The way is
1,
sudo cp -r /usr/share/sddm /var
2,
Editing /etc/fstab with root to add /var/sddm /usr/share/sddm none rbind 0 0 and then just reboot
3, Now you can edit themes and background pictures by hand. Go to /var/sddm to edit them by yourself. You can also download sddm themes from kde store and copy them under /var/sddm/themes. Noting that the system setting program still not works for changing the file under /usr/share/sddm still banned. I have tried for rw but not work. It seems to be still read-only.

I try to edit some themes but not all of them success. The major point is to edit metadata.desktop and theme.conf, especially later one to customize the background.
It is better to make up a GUI program to edit it. The best way might be to fork official sddm setting program. However I know nothing about GUI programming, so it needs someone’s help.

1 Like

BTW, I think it also provide a way to use nix in ostree system, maybe guix also but more difficult. snap is not possible for it bans home dir outside of /home.

Hello @djypku,
To do “live” actions of the immutable portion you could turn on the option to make it mutable with sudo ostree admin unlock to do your edits then test them, but this is temporary and does not continue over to the next commit, so you would need to do it again after updates etc… Ideally, it would be more desirable to use the hardlinking feature to achieve this and therefore keeping your configuration in a more known state for updates.
Your solution is workable though, and you are getting the desired result so kudo’s.