nix-home/overlay.nix

153 lines
4.8 KiB
Nix
Raw Permalink Normal View History

2024-08-19 15:28:08 +00:00
{ nixpkgs, nixpkgs-unstable, ... }@inputs:
2021-10-29 17:31:16 +00:00
let
overlay-unstable = final: prev: {
2024-08-15 16:11:33 +00:00
stable = import nixpkgs { config.allowUnfree = true; system = prev.system; };
2021-10-29 17:31:16 +00:00
unstable = import nixpkgs-unstable { config.allowUnfree = true; system = prev.system; };
2022-07-04 19:41:04 +00:00
x86 = import nixpkgs-unstable { system = prev.system; config.allowUnsupportedSystem = true; };
2021-10-29 17:31:16 +00:00
};
overlay-needs-unstable = final: prev: {
2023-07-03 20:42:03 +00:00
# Typst updates really quickly.
typst = final.unstable.typst;
typst-lsp = final.unstable.typst-lsp;
2024-03-19 21:11:06 +00:00
2024-06-01 15:34:26 +00:00
# Until 0.35 is in
kitty = final.unstable.kitty;
2021-10-29 17:31:16 +00:00
};
overlay-imported = final: prev: {
sway = prev.sway.override { sway-unwrapped = final.swayfx-unwrapped; };
2023-04-23 09:41:24 +00:00
deploy-rs = inputs.deploy-rs.packages.default;
2023-07-16 13:49:44 +00:00
dtth-phanpy = inputs.dtth-phanpy.packages.${final.system}.default;
matrix-conduit = inputs.conduit.packages.${final.system}.default;
# A list of source-style inputs.
sources = final.lib.attrsets.filterAttrs (name: f: !(builtins.hasAttr "outputs" f)) inputs;
2021-10-29 17:31:16 +00:00
};
2023-06-07 08:48:29 +00:00
overlay-versioning = final: prev: {
2023-12-02 20:48:09 +00:00
gotosocial = prev.gotosocial.overrideAttrs (attrs: rec {
2024-06-16 21:04:45 +00:00
version = "0.16.0";
2023-12-02 20:48:09 +00:00
ldflags = [
"-s"
"-w"
"-X main.Version=${version}"
];
doCheck = false;
web-assets = final.fetchurl {
url = "https://github.com/superseriousbusiness/gotosocial/releases/download/v${version}/gotosocial_${version}_web-assets.tar.gz";
2024-06-16 21:04:45 +00:00
hash = "sha256-aZQpd5KvoZvXEMVzGbWrtGsc+P1JStjZ6U5mX6q7Vb0=";
2023-12-02 20:48:09 +00:00
};
src = final.fetchFromGitHub {
owner = "superseriousbusiness";
repo = "gotosocial";
rev = "v${version}";
2024-06-16 21:04:45 +00:00
hash = "sha256-QoG09+jmq5e5vxDVtkhY35098W/9B1HsYTuUnz43LV4=";
2023-12-02 20:48:09 +00:00
};
postInstall = ''
tar xf ${web-assets}
mkdir -p $out/share/gotosocial
mv web $out/share/gotosocial/
'';
});
2024-02-23 18:02:30 +00:00
input-remapper = final.unstable.input-remapper;
kakoune-unwrapped =
prev.kakoune-unwrapped.overrideAttrs (attrs: {
version = "r${builtins.substring 0 6 inputs.kakoune.rev}";
src = inputs.kakoune;
patches = [
# patches in the original package was already applied
];
});
2024-06-22 13:42:41 +00:00
swayfx-unwrapped = prev.swayfx-unwrapped.overrideAttrs (attrs: {
patches = (attrs.patches or [ ]) ++ [
(final.fetchurl {
url = "https://patch-diff.githubusercontent.com/raw/WillPower3309/swayfx/pull/315.patch";
hash = "sha256-zamOLHUjlzRs8PytPTAzEsdzgVtK+HVziHgrhwPcB+E=";
})
];
});
2024-06-25 18:24:48 +00:00
librewolf = (prev.librewolf.override {
nativeMessagingHosts = with final; [ kdePackages.plasma-browser-integration ];
});
# Add desktop file to premid
premid = final.symlinkJoin {
name = prev.premid.name;
paths = [
prev.premid
(final.makeDesktopItem {
name = prev.premid.name;
desktopName = "PreMID";
2024-07-01 19:48:24 +00:00
exec = "${final.lib.getExe prev.premid} --no-sandbox %U";
2024-06-25 18:24:48 +00:00
icon = "premid";
})
];
};
2024-08-15 16:11:33 +00:00
# https://github.com/NixOS/nixpkgs/issues/334822
vulkan-validation-layers = prev.vulkan-validation-layers.overrideAttrs (attrs: {
buildInputs = attrs.buildInputs ++ [
final.spirv-tools
];
});
2023-06-07 08:48:29 +00:00
};
overlay-libs = final: prev: {
2024-06-25 18:24:48 +00:00
libs.crane = inputs.crane.mkLib final;
};
2023-02-25 20:43:29 +00:00
2023-05-04 12:34:00 +00:00
overlay-packages = final: prev: {
kak-tree-sitter = final.callPackage ./packages/common/kak-tree-sitter.nix { rustPlatform = final.unstable.rustPlatform; };
2024-07-03 17:43:15 +00:00
kak-lsp =
let
src = inputs.kak-lsp;
cargoArtifacts = final.libs.crane.buildDepsOnly { inherit src; };
in
final.libs.crane.buildPackage {
inherit src cargoArtifacts;
buildInputs = (with final;
lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Security SystemConfiguration CoreServices ])
) ++ (with final; [ libiconv ]);
};
2023-05-04 12:34:00 +00:00
};
2024-08-15 16:11:33 +00:00
overlay-rust-is-dumb = final: prev: {
# Use stable delta compiled with old Rust version
delta = final.stable.delta;
deepfilternet = final.stable.deepfilternet;
harmonia = final.callPackage
(import
(builtins.fetchurl {
url = "https://raw.githubusercontent.com/Mic92/nixpkgs/63f91202f5cd071187ede5e5ffc56003cb442876/pkgs/by-name/ha/harmonia/package.nix";
sha256 = "1mz211c0bxn116ix0j5xx4wlglpbkfg7d3npw1z8hg9gc0vbj2xb";
}))
{ };
2024-08-15 16:11:33 +00:00
};
2021-10-29 17:31:16 +00:00
in
2022-07-04 19:41:04 +00:00
[
2024-08-02 22:10:57 +00:00
# inputs.swayfx.inputs.scenefx.overlays.override
# inputs.swayfx.overlays.override
2024-06-22 13:42:41 +00:00
inputs.mpd-mpris.overlays.default
2024-08-24 21:50:19 +00:00
inputs.rust-overlay.overlays.default
2024-06-22 13:42:41 +00:00
inputs.youmubot.overlays.default
2022-07-04 19:41:04 +00:00
(import ./overlays/openrazer)
overlay-unstable
overlay-needs-unstable
2023-05-04 12:34:00 +00:00
overlay-packages
2022-07-04 19:41:04 +00:00
overlay-imported
overlay-versioning
overlay-libs
2024-08-15 16:11:33 +00:00
overlay-rust-is-dumb
2021-11-29 18:17:20 +00:00
2023-03-01 15:58:01 +00:00
(import ./packages/common)
2022-07-04 19:41:04 +00:00
# Bug fixes
] # we assign the overlay created before to the overlays of nixpkgs.
2021-10-29 17:31:16 +00:00