85 lines
2 KiB
Nix
85 lines
2 KiB
Nix
{ inputs, packages, ... }:
|
|
rec {
|
|
all = [
|
|
scripts
|
|
themes
|
|
new-packages
|
|
patches
|
|
lib_extended
|
|
disko
|
|
];
|
|
|
|
scripts = (import ../scripts);
|
|
|
|
themes = (
|
|
final: prev: {
|
|
papirus_red = (final.papirus-icon-theme.override { color = "red"; });
|
|
orchis_theme_compact = (
|
|
final.orchis-theme.override {
|
|
border-radius = 0;
|
|
tweaks = [
|
|
"compact"
|
|
"solid"
|
|
];
|
|
}
|
|
);
|
|
nerdfonts_fira_hack = (
|
|
final.nerdfonts.override {
|
|
fonts = [
|
|
"FiraCode"
|
|
"Hack"
|
|
];
|
|
}
|
|
);
|
|
}
|
|
);
|
|
|
|
new-packages = (
|
|
final: prev:
|
|
packages
|
|
// {
|
|
dhist = inputs.dhist.packages.${prev.system}.dhist;
|
|
demoji = inputs.demoji.packages.${prev.system}.default;
|
|
tlauncher = inputs.tlauncher.packages.${prev.system}.tlauncher;
|
|
wl-crosshair = inputs.wl-crosshair.packages.${prev.system}.default;
|
|
}
|
|
);
|
|
|
|
patches = (
|
|
final: prev: {
|
|
mySway = prev.sway.override {
|
|
withBaseWrapper = true;
|
|
withGtkWrapper = true;
|
|
sway-unwrapped = prev.sway-unwrapped.overrideAttrs (old: {
|
|
patches = old.patches ++ [ ../patches/sway/fix-hide_cursor-clearing-focus.patch ];
|
|
});
|
|
};
|
|
}
|
|
);
|
|
|
|
lib_extended = (
|
|
final: prev: {
|
|
lib = prev.lib // rec {
|
|
# Utility function
|
|
# 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);
|
|
};
|
|
}
|
|
);
|
|
|
|
disko = final: prev: {
|
|
makeDiskoTest =
|
|
let
|
|
makeTest = import (prev.path + "/nixos/tests/make-test-python.nix");
|
|
eval-config = import (prev.path + "/nixos/lib/eval-config.nix");
|
|
in
|
|
(prev.callPackage "${inputs.disko}/tests/lib.nix" { inherit makeTest eval-config; }).makeDiskoTest;
|
|
};
|
|
}
|