Hi there, I have installed budgie desktop with the traditional services.xserver.desktopManager.budgie.enable = true
as per the wiki.
One of the packages (budgie-desktop-10.9.1) installed will create something like /nix/store/5imjisy3vgjxvvgcayqdnpbn9m40z6bd-budgie-desktop-10.9.1/share/icons/hicolor/scalable/actions/budgie-menu-sy mbolic.svg
I want to replace that file with a custom one. Now I have done overrides for packages themselves before, but I could not seem to get it to work with this. I am wondering if this is because the package is coming in via services.xserver.....
.
I do not have the code published to a repo yet (since it is not working). But I tried something like (obviously not complete):
{ user-settings, secrets, lib, pkgs, config, inputs, ... }:
let
cfg = config.desktops.budgie;
src = ./budgie-menu-symbolic.svg;
dest = share/icons/hicolor/scalable/actions;
overlays = [
(self: super: {
budgie-desktop = super.budgie.budgie-desktop.overrideAttrs
(oldAttrs: rec {
postInstall = ''
mkdir -p $out/$dest
cp $src $out/$dest/budgie-menu-symbolic.svg
ls $out/$dest
'';
});
in {
options = {
desktops.budgie.enable = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable Budgie Desktop.";
};
};
config = lib.mkIf cfg.enable {
services = {.............};
nixpkgs.overlays = overlays;
environment = {
systemPackages = with pkgs; [
budgie.budgie-desktop
];
........
Any hints?