mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
Merge pull request 'refactor-packages' (#13) from refactor-packages into trunk
Reviewed-on: https://codeberg.org/leana8959/.files/pulls/13
This commit is contained in:
commit
e0a89ab571
20 changed files with 137 additions and 99 deletions
11
nix/packages/by-name.nix
Normal file
11
nix/packages/by-name.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
sources ? import ../sources.nix,
|
||||||
|
pkgs ? import sources.nixpkgs {},
|
||||||
|
}: let
|
||||||
|
inherit (pkgs) lib;
|
||||||
|
in
|
||||||
|
lib.mapAttrs
|
||||||
|
(name: _: pkgs.callPackage (./by-name + "/${name}/package.nix") {})
|
||||||
|
(
|
||||||
|
lib.filterAttrs (_: type: type == "directory") (builtins.readDir ./by-name)
|
||||||
|
)
|
||||||
19
nix/packages/by-name/audio-lint/package.nix
Normal file
19
nix/packages/by-name/audio-lint/package.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
rustPlatform,
|
||||||
|
fetchFromGitea,
|
||||||
|
}:
|
||||||
|
rustPlatform.buildRustPackage (finalAttrs: {
|
||||||
|
name = "audio-lint";
|
||||||
|
version = lib.substring 0 8 finalAttrs.src.rev;
|
||||||
|
|
||||||
|
src = fetchFromGitea {
|
||||||
|
domain = "git.confusedcompiler.org";
|
||||||
|
owner = "leana8959";
|
||||||
|
repo = "audio-lint";
|
||||||
|
rev = "3ea38c85c5f6135958e51ad4ff13a96ccd68a21c";
|
||||||
|
hash = "sha256-h1SnWAh3FPL5GweOXVXXtp+swZApgecYaWjy7rM/J+w=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoHash = "sha256-hsFUeGPvo3n6/Z35ui3N4qefa4odM0yo1rVBhzL3fLU=";
|
||||||
|
})
|
||||||
33
nix/packages/by-name/hbrainfuck/package.nix
Normal file
33
nix/packages/by-name/hbrainfuck/package.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
haskellPackages,
|
||||||
|
haskell,
|
||||||
|
fetchFromGitea,
|
||||||
|
installShellFiles,
|
||||||
|
}: let
|
||||||
|
inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
|
||||||
|
|
||||||
|
drv =
|
||||||
|
haskellPackages.callCabal2nix "hbrainfuck"
|
||||||
|
(fetchFromGitea {
|
||||||
|
domain = "git.confusedcompiler.org";
|
||||||
|
owner = "leana8959";
|
||||||
|
repo = "hbrainfuck";
|
||||||
|
rev = "796aae9bdb222e8e0431627eb11a3e3a71c1ffef";
|
||||||
|
hash = "sha256-4OQ//QGzuPeOe1Zi9IjttUu4vLKufPCWXJzBk9v5zXc=";
|
||||||
|
})
|
||||||
|
{};
|
||||||
|
|
||||||
|
cabalOverrides = o: {
|
||||||
|
buildTools = o.buildTools or [] ++ [installShellFiles];
|
||||||
|
postInstall =
|
||||||
|
o.postInstall or ""
|
||||||
|
+ ''
|
||||||
|
installShellCompletion --cmd hbrainfuck \
|
||||||
|
--bash <("$out/bin/hbf" --bash-completion-script "$out/bin/hbf") \
|
||||||
|
--fish <("$out/bin/hbf" --fish-completion-script "$out/bin/hbf") \
|
||||||
|
--zsh <("$out/bin/hbf" --zsh-completion-script "$out/bin/hbf")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
justStaticExecutables
|
||||||
|
(overrideCabal cabalOverrides drv)
|
||||||
19
nix/packages/by-name/hutils/package.nix
Normal file
19
nix/packages/by-name/hutils/package.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
haskellPackages,
|
||||||
|
haskell,
|
||||||
|
fetchFromGitea,
|
||||||
|
}: let
|
||||||
|
inherit (haskell.lib.compose) justStaticExecutables;
|
||||||
|
|
||||||
|
drv =
|
||||||
|
haskellPackages.callCabal2nix "hutils"
|
||||||
|
(fetchFromGitea {
|
||||||
|
domain = "git.confusedcompiler.org";
|
||||||
|
owner = "leana8959";
|
||||||
|
repo = "hutils";
|
||||||
|
rev = "ee04ec425af81e762362bc2c4bcd5d89ad50ddc8";
|
||||||
|
hash = "sha256-e22agWHNftl7zlXnPpzNyE3iJKPHxcE7tH1XRYfG+4Q=";
|
||||||
|
})
|
||||||
|
{};
|
||||||
|
in
|
||||||
|
justStaticExecutables drv
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
# static version of noto-fonts cjk serif
|
||||||
{
|
{
|
||||||
stdenvNoCC,
|
stdenvNoCC,
|
||||||
fetchFromGitHub,
|
fetchFromGitHub,
|
||||||
33
nix/packages/by-name/prop-solveur/package.nix
Normal file
33
nix/packages/by-name/prop-solveur/package.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
haskellPackages,
|
||||||
|
haskell,
|
||||||
|
fetchFromGitea,
|
||||||
|
installShellFiles,
|
||||||
|
}: let
|
||||||
|
inherit (haskell.lib.compose) justStaticExecutables overrideCabal;
|
||||||
|
|
||||||
|
drv =
|
||||||
|
haskellPackages.callCabal2nix "prop-solveur"
|
||||||
|
(fetchFromGitea {
|
||||||
|
domain = "git.confusedcompiler.org";
|
||||||
|
owner = "leana8959";
|
||||||
|
repo = "prop_solveur";
|
||||||
|
rev = "cc2430dc5a396b01d02bd925070ce5d009d05bc4";
|
||||||
|
hash = "sha256-jwNfRBytf/w0d2CWczXp+rVRXYNzptkuFE3OKSdOhLc=";
|
||||||
|
})
|
||||||
|
{};
|
||||||
|
|
||||||
|
cabalOverrides = o: {
|
||||||
|
buildTools = o.buildTools or [] ++ [installShellFiles];
|
||||||
|
postInstall =
|
||||||
|
o.postInstall or ""
|
||||||
|
+ ''
|
||||||
|
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")
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
justStaticExecutables
|
||||||
|
(overrideCabal cabalOverrides drv)
|
||||||
|
|
@ -1,99 +1,3 @@
|
||||||
{
|
args:
|
||||||
sources ? import ../sources.nix,
|
import ./top-level.nix args
|
||||||
pkgs ? import sources.nixpkgs {},
|
// import ./by-name.nix args
|
||||||
...
|
|
||||||
}: 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";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
|
||||||
18
nix/packages/top-level.nix
Normal file
18
nix/packages/top-level.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
sources ? import ../sources.nix,
|
||||||
|
pkgs ? import sources.nixpkgs {},
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue