nixos-config/overlays/default.nix

101 lines
3 KiB
Nix
Raw Normal View History

2023-01-29 13:50:23 -03:00
{ inputs, packages, ... }: rec {
all = [
nur
scripts
sway
unstable
sixel-patches
themes
new-packages
patches
variables
2023-02-25 18:04:58 -03:00
lib_extended
2023-01-22 18:12:04 -03:00
];
nur = inputs.nur.overlay;
scripts = (import ../scripts);
sway = (import ./sway.nix);
unstable = (final: prev: {
unstable = import inputs.nixpkgs-unstable {
inherit (prev) system config;
};
});
sixel-patches = (import ./sixel-patches.nix (inputs));
themes = (final: prev: {
material-wifi-icons = final.stdenv.mkDerivation rec {
name = "material-wifi-icons";
src = inputs.material-wifi-icons;
2023-02-25 19:56:38 -03:00
installPhase = ''
install -D material-wifi.ttf $out/share/fonts/${name}
'';
};
papirus_red = (final.unstable.papirus-icon-theme.override { color = "red"; });
2023-02-25 16:43:58 -03:00
orchis_theme_compact = (final.orchis-theme.override {
border-radius = 0;
tweaks = [ "compact" "solid" ];
}).overrideAttrs (old: {
patches = (old.patches or [ ]) ++
[ ../patches/orchis-fix-warnings.patch ];
2023-02-25 16:43:58 -03:00
});
nerdfonts_fira_hack = (final.nerdfonts.override { fonts = [ "FiraCode" "Hack" ]; });
});
2023-01-25 17:00:40 -03:00
new-packages = (final: prev: packages // {
2023-01-29 13:50:23 -03:00
dhist = inputs.dhist.packages.${prev.system}.dhist;
2023-02-18 22:15:44 -03:00
demoji = inputs.demoji.packages.${prev.system}.default;
2023-05-19 17:53:08 -03:00
tlauncher = inputs.tlauncher.packages.${prev.system}.tlauncher;
2023-05-13 00:13:40 -03:00
maildir-notify-daemon = inputs.maildir-notify-daemon.packages.${prev.system}.default;
mpvpaper = inputs.wegank.packages.${prev.system}.mpvpaper;
sea-orm-cli = inputs.sea-orm-cli.legacyPackages.${prev.system}.sea-orm-cli;
webcord = (prev.webcord or prev.unstable.webcord).overrideAttrs (old: {
patches = (old.patches or [ ]) ++ [ ../patches/webcord/fix-reading-config.patch ];
});
2023-05-03 08:55:32 -03:00
mullvad = final.unstable.mullvad;
});
patches = (final: prev: {
bemenu = prev.bemenu.overrideAttrs (o: {
postPatch = ''
substituteInPlace lib/renderers/wayland/window.c \
--replace ZWLR_LAYER_SHELL_V1_LAYER_TOP ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY
'';
});
sway-unwrapped = prev.sway-unwrapped.overrideAttrs (old: {
patches = old.patches
++ [ ../patches/sway/fix-hide_cursor-clearing-focus.patch ];
});
qutebrowser = prev.qutebrowser.overrideAttrs (old: {
src = prev.fetchFromGitHub {
owner = "pinusc";
repo = "qutebrowser";
rev = "feature/tree-tabs";
sha256 = "sha256-kHxZ3AzbfPJ3im1kQNn8DDlKBn+yPI4SLbSZuBQrUWY=";
};
});
});
variables = (final: prev: {
uservars = import ../user/variables.nix;
});
2023-02-25 18:04:58 -03:00
lib_extended = (final: prev: {
lib = prev.lib // rec {
# Utility function
2023-02-25 18:04:58 -03:00
# Input: [{v1=1;} {v2=2;}]
# Output: {v1=1;v2=2;}
mergeAttrsSet = prev.lib.foldAttrs (n: _: n) { };
# Easily translate imperative templating code
# Input: [ 1 2 ] (num: { "v${num}" = num; })
# Output: {v1=1;v2=2;}
forEachMerge = list: func: mergeAttrsSet (prev.lib.forEach list func);
};
});
2023-01-29 13:50:23 -03:00
}