From a0c460ff3a30503ef0b01cd42be31ec022cd7568 Mon Sep 17 00:00:00 2001 From: Daniel Langbein Date: Tue, 21 Jan 2025 21:10:25 +0100 Subject: [PATCH] fix: profile-image --- modules/gnome-profile-image.nix | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/gnome-profile-image.nix b/modules/gnome-profile-image.nix index e6cdb7f..079eb7d 100644 --- a/modules/gnome-profile-image.nix +++ b/modules/gnome-profile-image.nix @@ -1,6 +1,7 @@ { config, pkgs, ... }: let - dir = "/var/lib/AccountsService/icons"; + iconsDir = "/var/lib/AccountsService/icons"; + usersDir = "/var/lib/AccountsService/users"; user = "yoda"; in { @@ -13,17 +14,24 @@ in # https://github.com/tolgaerok/nixos-kde/blob/3c4b55f2b0345facc5bc5157750dfaecef9d4d6c/user/user-home-settings/create-user-profile-pics.nix # After changing my profile image in KDE Plasma 6, this file was created: - # /var/lib/AccountsService/users + # /var/lib/AccountsService/users/yoda # With content: # [User] # Icon=/var/lib/AccountsService/icons/yoda # SystemAccount=false # Permissions: root:root 0600 + # This file is required, thus we create it manually in this nix config. # `system.activationScripts`: # - Since these are executed every time you boot the system or run `nixos-rebuild`, it’s important that they are idempotent and fast. system.activationScripts.setGnomeProfilePicture = '' - mkdir -p ${dir} - cp ${(pkgs.callPackage ./profile-image.nix { })}/img.png ${dir}/${user} + mkdir -p ${iconsDir} + cp ${(pkgs.callPackage ./profile-image.nix { })}/img.png ${iconsDir}/${user} + + mkdir -p ${usersDir} + rm -f ${usersDir}/${user} + echo "[User]" >> ${usersDir}/${user} + echo "Icon=${iconsDir}/${user}" >> ${usersDir}/${user} + echo "SystemAccount=false" >> ${usersDir}/${user} ''; }