Switched profile appearance management from activation script to systemd service

This is to fix an issue i found with activation scripts not really
playing nicely with UWSM
This commit is contained in:
2025-07-16 11:31:23 +01:00
parent 8bddd066c3
commit 2d51ac7f75
2 changed files with 28 additions and 20 deletions

View File

@@ -127,19 +127,6 @@
extraGroups = ["networkmanager" "wheel" "libvirtd"];
shell = unstablePkgs.nushell;
};
# # The hack below sets the user profile image declaratively
system.activationScripts.script.text = ''
mkdir -p /var/lib/AccountsService/{icons,users}
cp /home/cianh/Pictures/face.png /var/lib/AccountsService/icons/cianh
echo "[User]
Session=
Icon=/var/lib/AccountsService/icons/cianh
SystemAccount=false" > /var/lib/AccountsService/users/cianh
chown root:root /var/lib/AccountsService/users/cianh
chmod 0600 /var/lib/AccountsService/users/cianh
chown root:root /var/lib/AccountsService/icons/cianh
chmod 0444 /var/lib/AccountsService/icons/cianh
'';
xdg.portal = {
enable = true;

View File

@@ -39,7 +39,27 @@
};
# Add custom services
systemd.services.pueued = {
systemd.services = {
setup-user-icon = {
description = "Set user profile icon";
wantedBy = ["multi-user.target"];
after = ["home.mount"];
serviceConfig = {
Type = "oneshot";
ExecStart = ''
${pkgs.bash}/bin/bash -c " \
mkdir -p /var/lib/AccountsService/{icons,users} && \
cp /home/cianh/Pictures/face.png /var/lib/AccountsService/icons/cianh && \
echo '[User]\nSession=\nIcon=/var/lib/AccountsService/icons/cianh\nSystemAccount=false' > /var/lib/AccountsService/users/cianh && \
chown root:root /var/lib/AccountsService/users/cianh && \
chmod 0600 /var/lib/AccountsService/users/cianh && \
chown root:root /var/lib/AccountsService/icons/cianh && \
chmod 0444 /var/lib/AccountsService/icons/cianh \
"
'';
};
};
pueued = {
enable = true;
description = "Pueue Daemon - CLI process scheduler and manager";
wantedBy = ["default.target"];
@@ -48,6 +68,7 @@
ExecStart = "${pkgs.pueue.outPath}/bin/pueued -vv";
};
};
};
# Enable GPG signing
security.pam.services.gdm.enableGnomeKeyring = true; # load gnome-keyring at startup