refactor: modulization

This commit is contained in:
DACHXY 2025-04-09 13:24:02 +08:00
parent a29782681a
commit f6acb92ad0
63 changed files with 680 additions and 1959 deletions

View file

@ -0,0 +1,7 @@
{ config }:
prev: final: {
imports = [
./ferium.nix
(import ./vesktop.nix { inherit config; })
];
}

20
pkgs/overlays/ferium.nix Normal file
View file

@ -0,0 +1,20 @@
prev: final: {
ferium = prev.ferium.overrideAttrs (
final: prev: rec {
cargoHash = "sha256-yedl4KQCpT7Ai1EPvwD5kzhkHesIjGVAcxKjp5k2jmI=";
version = "4.7.0";
src = prev.fetchFromGitHub {
owner = "gorilla-devs";
repo = prev.pname;
rev = "v${version}";
hash = "sha256-jj3BdaxH7ofhHNF2eu+burn6+/0bPQQZ8JfjXAFyN4A=";
};
cargoDeps = prev.rustPlatform.fetchCargoVendor {
inherit (final) pname src version;
useFetchCargoVendor = true;
hash = final.cargoHash;
};
}
);
}

37
pkgs/overlays/vesktop.nix Normal file
View file

@ -0,0 +1,37 @@
{ config }:
final: prev:
let
discordIcon = prev.lib.readFile ../../pkgs/assets/discord.svg;
discordSplash = prev.lib.readFile ../../pkgs/assets/peepoLeave.gif.base64;
in
{
vesktop = prev.vesktop.overrideAttrs (oldAttrs: {
desktopItems = prev.lib.optional prev.stdenv.hostPlatform.isLinux (
(prev.lib.head oldAttrs.desktopItems).override {
name = "discord";
desktopName = "Discord";
exec =
if config.hardware.nvidia.prime.offload.enableOffloadCmd == true then
"nvidia-offload vesktop %U"
else
"vesktop %U";
}
);
patches = oldAttrs.patches ++ [
../../pkgs/patches/splash.patch
];
# Change Splash
preConfigure = ''
echo "${discordSplash}" | base64 -d > static/peepo.gif
'';
# Change Icon
postInstall = ''
rm -rf $out/share/icons/hicolor/*
mkdir -p $out/share/icons/hicolor/scalable/apps
echo '${discordIcon}' > $out/share/icons/hicolor/scalable/apps/vesktop.svg
'';
});
}