mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
packages: create indirection
This commit is contained in:
parent
079e7acf26
commit
0b248d82ca
2 changed files with 101 additions and 98 deletions
|
|
@ -1,99 +1,3 @@
|
|||
{
|
||||
sources ? import ../sources.nix,
|
||||
pkgs ? import sources.nixpkgs {},
|
||||
...
|
||||
}: let
|
||||
inherit (pkgs) lib;
|
||||
args:
|
||||
|
||||
mkHaskellPackage = {
|
||||
src,
|
||||
name,
|
||||
apply ? lib.id,
|
||||
}: let
|
||||
drv = pkgs.haskellPackages.callCabal2nix name src {};
|
||||
in
|
||||
lib.pipe drv [
|
||||
apply
|
||||
pkgs.haskell.lib.dontHaddock
|
||||
pkgs.haskell.lib.justStaticExecutables
|
||||
];
|
||||
|
||||
infuse-lib = import sources.infuse {
|
||||
inherit lib;
|
||||
sugars = infuse-lib.v1.default-sugars;
|
||||
};
|
||||
|
||||
infuse = lib.flip infuse-lib.v1.infuse;
|
||||
|
||||
iosevka-pin = import sources.pin-iosevka {};
|
||||
mkNerdFont = iosevka-pin.callPackage ../lib/mkNerdFont.nix {};
|
||||
in rec {
|
||||
# fonts
|
||||
altiosevka = iosevka-pin.callPackage ./altiosevka {};
|
||||
altiosevka-nerd-font-mono = mkNerdFont {
|
||||
font = altiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFM"
|
||||
"--use-single-width-glyphs"
|
||||
];
|
||||
};
|
||||
# static version of noto-fonts cjk serif
|
||||
noto-fonts-cjk-serif' = pkgs.callPackage ./noto-fonts-cjk-serif.nix {};
|
||||
|
||||
necrolib = pkgs.callPackage ./necrolib.nix {};
|
||||
|
||||
maeel = pkgs.callPackage ./maeel.nix {};
|
||||
tokei = pkgs.callPackage ./tokei {}; # alpha tokei with typst, skel, hledger
|
||||
typst-mutilate = pkgs.callPackage ./typst-mutilate.nix {};
|
||||
webtoon_downloader = pkgs.callPackage ./webtoon_downloader.nix {};
|
||||
|
||||
xbrightness = pkgs.callPackage ./xbrightness.nix {};
|
||||
ffgun = pkgs.callPackage ./ffgun.nix {};
|
||||
easyscan = pkgs.callPackage ./easyscan.nix {};
|
||||
|
||||
baguette-sharp = pkgs.callPackage ./baguette-sharp.nix {};
|
||||
|
||||
# TODO: remove when channel update
|
||||
ltex-ls-plus = pkgs.callPackage ./ltex-ls-plus.nix {};
|
||||
|
||||
# my repositories
|
||||
hbrainfuck = mkHaskellPackage {
|
||||
name = "hbrainfuck";
|
||||
src = sources.hbrainfuck;
|
||||
apply = infuse {
|
||||
__output.nativeBuildInputs.__append = [pkgs.installShellFiles];
|
||||
__output.postInstall.__append = ''
|
||||
installShellCompletion --cmd hbrainfuck \
|
||||
--bash <("$out/bin/hbrainfuck" --bash-completion-script "$out/bin/hbrainfuck") \
|
||||
--fish <("$out/bin/hbrainfuck" --fish-completion-script "$out/bin/hbrainfuck") \
|
||||
--zsh <("$out/bin/hbrainfuck" --zsh-completion-script "$out/bin/hbrainfuck")
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
prop-solveur = mkHaskellPackage {
|
||||
name = "prop-solveur";
|
||||
src = sources.prop_solveur;
|
||||
apply = infuse {
|
||||
__output.nativeBuildInputs.__append = [pkgs.installShellFiles];
|
||||
__output.postInstall.__append = ''
|
||||
installShellCompletion --cmd prop-solveur \
|
||||
--bash <("$out/bin/prop-solveur" --bash-completion-script "$out/bin/prop-solveur") \
|
||||
--fish <("$out/bin/prop-solveur" --fish-completion-script "$out/bin/prop-solveur") \
|
||||
--zsh <("$out/bin/prop-solveur" --zsh-completion-script "$out/bin/prop-solveur")
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
hutils = mkHaskellPackage {
|
||||
name = "hutils";
|
||||
src = sources.hutils;
|
||||
};
|
||||
|
||||
audio-lint = pkgs.rustPlatform.buildRustPackage rec {
|
||||
pname = "audio-lint";
|
||||
version = lib.substring 0 8 sources.audio-lint.rev;
|
||||
src = sources.audio-lint;
|
||||
cargoLock.lockFile = "${src}/Cargo.lock";
|
||||
};
|
||||
}
|
||||
import ./top-level.nix args
|
||||
|
|
|
|||
99
nix/packages/top-level.nix
Normal file
99
nix/packages/top-level.nix
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
{
|
||||
sources ? import ../sources.nix,
|
||||
pkgs ? import sources.nixpkgs {},
|
||||
...
|
||||
}: let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
mkHaskellPackage = {
|
||||
src,
|
||||
name,
|
||||
apply ? lib.id,
|
||||
}: let
|
||||
drv = pkgs.haskellPackages.callCabal2nix name src {};
|
||||
in
|
||||
lib.pipe drv [
|
||||
apply
|
||||
pkgs.haskell.lib.dontHaddock
|
||||
pkgs.haskell.lib.justStaticExecutables
|
||||
];
|
||||
|
||||
infuse-lib = import sources.infuse {
|
||||
inherit lib;
|
||||
sugars = infuse-lib.v1.default-sugars;
|
||||
};
|
||||
|
||||
infuse = lib.flip infuse-lib.v1.infuse;
|
||||
|
||||
iosevka-pin = import sources.pin-iosevka {};
|
||||
mkNerdFont = iosevka-pin.callPackage ../lib/mkNerdFont.nix {};
|
||||
in rec {
|
||||
# fonts
|
||||
altiosevka = iosevka-pin.callPackage ./altiosevka {};
|
||||
altiosevka-nerd-font-mono = mkNerdFont {
|
||||
font = altiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFM"
|
||||
"--use-single-width-glyphs"
|
||||
];
|
||||
};
|
||||
# static version of noto-fonts cjk serif
|
||||
noto-fonts-cjk-serif' = pkgs.callPackage ./noto-fonts-cjk-serif.nix {};
|
||||
|
||||
necrolib = pkgs.callPackage ./necrolib.nix {};
|
||||
|
||||
maeel = pkgs.callPackage ./maeel.nix {};
|
||||
tokei = pkgs.callPackage ./tokei {}; # alpha tokei with typst, skel, hledger
|
||||
typst-mutilate = pkgs.callPackage ./typst-mutilate.nix {};
|
||||
webtoon_downloader = pkgs.callPackage ./webtoon_downloader.nix {};
|
||||
|
||||
xbrightness = pkgs.callPackage ./xbrightness.nix {};
|
||||
ffgun = pkgs.callPackage ./ffgun.nix {};
|
||||
easyscan = pkgs.callPackage ./easyscan.nix {};
|
||||
|
||||
baguette-sharp = pkgs.callPackage ./baguette-sharp.nix {};
|
||||
|
||||
# TODO: remove when channel update
|
||||
ltex-ls-plus = pkgs.callPackage ./ltex-ls-plus.nix {};
|
||||
|
||||
# my repositories
|
||||
hbrainfuck = mkHaskellPackage {
|
||||
name = "hbrainfuck";
|
||||
src = sources.hbrainfuck;
|
||||
apply = infuse {
|
||||
__output.nativeBuildInputs.__append = [pkgs.installShellFiles];
|
||||
__output.postInstall.__append = ''
|
||||
installShellCompletion --cmd hbrainfuck \
|
||||
--bash <("$out/bin/hbrainfuck" --bash-completion-script "$out/bin/hbrainfuck") \
|
||||
--fish <("$out/bin/hbrainfuck" --fish-completion-script "$out/bin/hbrainfuck") \
|
||||
--zsh <("$out/bin/hbrainfuck" --zsh-completion-script "$out/bin/hbrainfuck")
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
prop-solveur = mkHaskellPackage {
|
||||
name = "prop-solveur";
|
||||
src = sources.prop_solveur;
|
||||
apply = infuse {
|
||||
__output.nativeBuildInputs.__append = [pkgs.installShellFiles];
|
||||
__output.postInstall.__append = ''
|
||||
installShellCompletion --cmd prop-solveur \
|
||||
--bash <("$out/bin/prop-solveur" --bash-completion-script "$out/bin/prop-solveur") \
|
||||
--fish <("$out/bin/prop-solveur" --fish-completion-script "$out/bin/prop-solveur") \
|
||||
--zsh <("$out/bin/prop-solveur" --zsh-completion-script "$out/bin/prop-solveur")
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
hutils = mkHaskellPackage {
|
||||
name = "hutils";
|
||||
src = sources.hutils;
|
||||
};
|
||||
|
||||
audio-lint = pkgs.rustPlatform.buildRustPackage rec {
|
||||
pname = "audio-lint";
|
||||
version = lib.substring 0 8 sources.audio-lint.rev;
|
||||
src = sources.audio-lint;
|
||||
cargoLock.lockFile = "${src}/Cargo.lock";
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue