mirror of
https://github.com/Melorise/cp-nix.git
synced 2026-11-07 14:39:34 +00:00
init
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
{
|
||||
description = "Clash Party, built from source with a reproducible Nix flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
|
||||
clash-party = {
|
||||
url = "github:mihomo-party-org/clash-party/v2.0.0";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
sysproxy = {
|
||||
url = "github:mihomo-party-org/sysproxy-rs-opti/main";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
country = {
|
||||
url = "file+https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/country-lite.mmdb";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
geoip = {
|
||||
url = "file+https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
geosite = {
|
||||
url = "file+https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
metadb = {
|
||||
url = "file+https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.metadb";
|
||||
flake = false;
|
||||
};
|
||||
|
||||
asn = {
|
||||
url = "file+https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/GeoLite2-ASN.mmdb";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
inputs@{ self, nixpkgs, ... }:
|
||||
let
|
||||
systems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
forEachSystem = nixpkgs.lib.genAttrs systems;
|
||||
mkPkgs =
|
||||
system:
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
mkPackage =
|
||||
system:
|
||||
let
|
||||
pkgs = mkPkgs system;
|
||||
in
|
||||
pkgs.callPackage ./nix/package.nix {
|
||||
src = inputs.clash-party;
|
||||
sysproxySrc = inputs.sysproxy;
|
||||
inherit (inputs)
|
||||
country
|
||||
geoip
|
||||
geosite
|
||||
metadb
|
||||
asn
|
||||
;
|
||||
subStore = pkgs.sub-store;
|
||||
subStoreFrontend = pkgs.sub-store-frontend;
|
||||
notoFontsColorEmoji = pkgs.noto-fonts-color-emoji;
|
||||
};
|
||||
in
|
||||
{
|
||||
packages = forEachSystem (
|
||||
system:
|
||||
let
|
||||
package = mkPackage system;
|
||||
in
|
||||
{
|
||||
clash-party = package;
|
||||
default = package;
|
||||
inherit (package) sysproxy unwrapped;
|
||||
}
|
||||
);
|
||||
|
||||
apps = forEachSystem (system: {
|
||||
clash-party = {
|
||||
type = "app";
|
||||
program = "${self.packages.${system}.clash-party}/bin/clash-party";
|
||||
};
|
||||
default = self.apps.${system}.clash-party;
|
||||
});
|
||||
|
||||
nixosModules = {
|
||||
clash-party = import ./nix/module.nix { inherit self; };
|
||||
default = self.nixosModules.clash-party;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user