first
This commit is contained in:
commit
1f7ebba108
12 changed files with 315 additions and 0 deletions
38
flake.nix
Normal file
38
flake.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ description = "niss's silly extra packages";
|
||||
|
||||
outputs = all@{ self, nixpkgs, ... }:
|
||||
let
|
||||
inherit (nixpkgs.lib) genAttrs optionalAttrs systems;
|
||||
|
||||
forAllSystems = genAttrs systems.flakeExposed;
|
||||
getCallPackage = system: nixpkgs.legacyPackages.${system}.callPackage;
|
||||
ifLinux64 = system: attrs: optionalAttrs (system == "x86_64-linux") attrs;
|
||||
|
||||
linuxPackageNames =
|
||||
[ "basilisk" "firefox-esr-alias" "isabelle" "multi-ghc" ];
|
||||
fontNames =
|
||||
[ "constructium" "fairfax-hd" "kreative-square" "muller"
|
||||
"pragmatapro" "teranoptia" ];
|
||||
|
||||
linuxAppNames = [ "basilisk" "isabelle" "firefox-esr-alias" ];
|
||||
linuxAppExes = { "firefox-esr-alias" = "firefox-esr"; };
|
||||
|
||||
packagesInDir = names: dir: call:
|
||||
genAttrs names (pkg: call ./${dir}/${pkg}.nix {});
|
||||
|
||||
linuxOnly = packagesInDir linuxPackageNames "apps";
|
||||
fonts = packagesInDir fontNames "fonts";
|
||||
all = system: call: ifLinux64 system (linuxOnly call) // fonts call;
|
||||
|
||||
makeApp = pkgs: name: {
|
||||
type = "app";
|
||||
program = "${pkgs.${name}}/bin/${linuxAppExes.${name} or name}";
|
||||
};
|
||||
|
||||
linuxApps = call: genAttrs linuxAppNames (makeApp (linuxOnly call));
|
||||
in {
|
||||
packages = forAllSystems (s: all s (getCallPackage s));
|
||||
apps = forAllSystems (s: ifLinux64 s (linuxApps (getCallPackage s)));
|
||||
overlays = forAllSystems (s: final: prev: all s final.callPackage);
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue