{ inputs, ... }: { # This one brings our custom packages from the 'pkgs' directory additions = final: _prev: import ../packages { pkgs = final; }; nixpkgs.overlays = [ inputs.emacs-overlay ]; # This one contains whatever you want to overlay # You can change versions, add patches, set compilation flags, anything really. # https://nixos.wiki/wiki/Overlays modifications = final: prev: { # example = prev.example.overrideAttrs (oldAttrs: rec { # ... # }); polybar = prev.polybar.override { pulseSupport = true; }; qutebrowser = prev.qutebrowser.override { enableWideVine = true; }; vimix-gtk-themes = prev.vimix-gtk-themes.override { themeVariants = [ "ruby" ]; }; fluent-gtk-theme = prev.fluent-gtk-theme.override { colorVariants = [ "dark" ]; themeVariants = [ "pink" ]; tweaks = [ "square" ]; }; fluent-icon-theme = prev.fluent-icon-theme.override { colorVariants = [ "pink" ]; }; dwm = prev.dwm.overrideAttrs (old: { src = ../config/dwm; }); ags = prev.ags.overrideAttrs (old: { buildInputs = old.buildInputs ++ [ inputs.nixpkgs.legacyPackages.x86_64-linux.libdbusmenu-gtk3 ]; }); isync = prev.isync.overrideAttrs (old: { withCyrusSaslXoauth2 = true; }); localsend = prev.localsend.overrideAttrs (old: { # can't see window fix # https://github.com/NixOS/nixpkgs/commit/98a18e8bd005f6003686ca26e8223c8761b2322d postUnpack = '' substituteInPlace $sourceRoot/linux/my_application.cc \ --replace-fail "gtk_widget_realize(GTK_WIDGET(window))" "gtk_widget_show(GTK_WIDGET(window))" ''; }); }; # incase something breaks # access through pkgs.stable stable-packages = final: _prev: { stable = import inputs.nixpkgs-stable { system = final.system; config.allowUnfree = true; }; }; }