| 26 Dec 2023 |
WhiteBlackGoose | Hi Does overlay over gnome allow to overlay Mutter? | 19:37:24 |
WhiteBlackGoose | I mean
nixpkgs.overlays = [
(final: prev: {
gnome = prev.gnome // {
mutter = prev.gnome.mutter.overrideAttrs {
| 19:37:47 |
WhiteBlackGoose | and another question
I'm trying out the Mutter by Daniel van Dugt who is working on triple buffering
But I cannot figure out the way to make sure I'm actually on the right one
I don't feel any difference after I wrote the overlay, and also it didn't take any time to build Mutter so I suppose I'm on the same one | 19:39:21 |
WhiteBlackGoose | aand another Q
now that I'm rebooted it's a lot smoother
so I guess it gets slower over time
Why is that happening though? | 19:45:39 |
Jan Tojnar | In reply to @whiteblackgoose:matrix.org
I mean
nixpkgs.overlays = [
(final: prev: {
gnome = prev.gnome // {
mutter = prev.gnome.mutter.overrideAttrs {
Use gnome = prev.gnome.overrideScope' (gnomeFinal: gnomePrev: {…}) | 21:33:11 |
Jan Tojnar | with //, the packages in gnome scope would keep referring to the old mutter | 21:34:25 |
WhiteBlackGoose | In reply to @jtojnar:matrix.org Use gnome = prev.gnome.overrideScope' (gnomeFinal: gnomePrev: {…}) Ah thanks! And what do I write inside then?
gnomePrev // { ... } doesn't work (it still overwrites the whole gnome for some reason) | 21:46:00 |
Jan Tojnar | it works just like another overlay, define mutter there | 21:46:55 |
WhiteBlackGoose | gnome = prev.gnome.overrideScope' (gnomeFinal: gnomePrev: {
mutter = gnomePrev.mutter.overrideAttrs {
like this?
| 21:48:07 |
WhiteBlackGoose | because it later says "gedit is not found" or something, whcih means that gnome lost all other properties | 21:51:26 |
WhiteBlackGoose | Oh I found an example for Mutter on wiki nvl | 21:52:23 |
WhiteBlackGoose | * Oh I found an example for Mutter on wiki nvm | 21:52:25 |
Jan Tojnar | there was some issue where it broke aliases, not sure if we ever fixed it | 21:53:46 |
Jan Tojnar | either way, I recommend using nixpkgs.config.allowAliases = false; | 21:54:29 |
WhiteBlackGoose | I tried setting that option and I'm getting attribute nixFlakes is missing 😅 | 21:56:32 |
Jan Tojnar | yes, because that is an alias too | 21:57:24 |
WhiteBlackGoose | ohhh | 21:57:37 |
WhiteBlackGoose | how to view what an alias stands for? | 21:58:09 |
Jan Tojnar | https://github.com/NixOS/nixpkgs/blob/cacf372fa697eaa7b8bd6c0b5d77f6c226b854bc/pkgs/top-level/aliases.nix#L641 | 21:58:16 |
Jan Tojnar | for gnome https://github.com/NixOS/nixpkgs/blob/cacf372fa697eaa7b8bd6c0b5d77f6c226b854bc/pkgs/desktops/gnome/default.nix#L264 | 21:58:49 |
WhiteBlackGoose | aaalright | 21:59:22 |
WhiteBlackGoose | is there no CLI way to check the alias? I might need to go over my packages now | 22:00:12 |
Jan Tojnar | I do not think so. From Nix POV, it is just a binding. | 22:00:52 |
WhiteBlackGoose | makes sense | 22:01:02 |
WhiteBlackGoose | the files you linked cover that ig | 22:01:09 |
Jan Tojnar | we could probably make a tool that would try to bisect aliases but it is probably not worth the effort | 22:02:09 |
WhiteBlackGoose | Alright so it almost worked
I hit a syntax error in a glib header file during build... a lot of syntax errors
Any idea why? | 22:26:46 |
WhiteBlackGoose | This is my overlay:
nixpkgs.overlays = [
(final: prev: {
gnome = prev.gnome.overrideScope' (gnomeFinal: gnomePrev: {
mutter = gnomePrev.mutter.overrideAttrs ( old: {
patches = (old.patches or []) ++ [ "${pkgs.fetchpatch {
url = "https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1441/diffs.patch";
sha256 = "sha256-5r4UP4njxrfRebItzQBPrTKaPUzkWA+9727YdWgBCpA=";
}}" ];
src = pkgs.fetchgit {
url = "https://gitlab.gnome.org/GNOME/mutter.git";
rev = "3a94822e755e530b71c33bb5bce0e8faa438983c";
sha256 = "sha256-BTBDEIefqFmzMEE85KwEhkcNlL/9UaMp10rXjWmspKQ=";
};
} );
});
})
];
| 22:27:03 |
WhiteBlackGoose | not sure if it makes sense to attach the error | 22:28:15 |
WhiteBlackGoose | Download gnome-mutter-build.log | 22:28:31 |