2024-06-24 11:38:30 -04:00
|
|
|
{...} @ inputs: rec {
|
2024-07-30 22:35:17 -04:00
|
|
|
mkVersion = src: "0.0.0+" + src.shortRev;
|
2024-06-13 22:27:54 -04:00
|
|
|
|
2024-06-24 11:38:30 -04:00
|
|
|
buildPlugin = pname: src:
|
|
|
|
inputs.pkgs.vimUtils.buildVimPlugin {
|
|
|
|
inherit pname src;
|
|
|
|
version = mkVersion src;
|
|
|
|
};
|
|
|
|
|
2024-08-06 20:35:11 -04:00
|
|
|
buildNodeModules = dir: npmDepsHash: let
|
|
|
|
pkg = inputs.pkgs.callPackage ({buildNpmPackage, ...}: let
|
|
|
|
inherit (builtins) readFile fromJSON;
|
|
|
|
|
|
|
|
packageJSON = fromJSON (readFile (dir + /package.json));
|
|
|
|
in
|
|
|
|
buildNpmPackage {
|
|
|
|
pname = packageJSON.name;
|
|
|
|
inherit (packageJSON) version;
|
|
|
|
|
|
|
|
src = dir;
|
|
|
|
|
|
|
|
inherit npmDepsHash;
|
|
|
|
dontNpmBuild = true;
|
|
|
|
}) {};
|
|
|
|
in "${pkg}/lib/node_modules/${pkg.pname}/node_modules";
|
|
|
|
|
2024-05-20 22:41:45 -04:00
|
|
|
# Import pkgs from a nixpkgs
|
|
|
|
mkPkgs = system: input:
|
|
|
|
import input {
|
|
|
|
inherit system;
|
|
|
|
config.allowUnfree = true;
|
2024-08-04 18:44:53 -04:00
|
|
|
overlays =
|
|
|
|
(map (i: inputs.${i}.overlays.default) [
|
|
|
|
"discord-overlay"
|
|
|
|
"grim-hyprland"
|
|
|
|
"jovian"
|
|
|
|
"nixpkgs-wayland"
|
|
|
|
])
|
|
|
|
++ [
|
|
|
|
inputs.self.overlays.xdg-desktop-portal-kde
|
|
|
|
];
|
2024-05-20 22:41:45 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
# Function that makes the attrs that make up the specialArgs
|
|
|
|
mkArgs = system:
|
|
|
|
inputs
|
|
|
|
// {
|
2024-06-24 11:38:30 -04:00
|
|
|
pkgs = mkPkgs system inputs.nixpkgs;
|
2024-05-20 22:41:45 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
# Default system
|
|
|
|
mkNixOS = mods:
|
2024-06-24 11:38:30 -04:00
|
|
|
inputs.nixpkgs.lib.nixosSystem rec {
|
2024-05-20 22:41:45 -04:00
|
|
|
system = "x86_64-linux";
|
|
|
|
specialArgs = mkArgs system;
|
|
|
|
modules =
|
|
|
|
[
|
|
|
|
{home-manager.extraSpecialArgs = specialArgs;}
|
2024-08-05 16:40:32 -04:00
|
|
|
./common
|
2024-05-20 22:41:45 -04:00
|
|
|
]
|
|
|
|
++ mods;
|
|
|
|
};
|
|
|
|
|
|
|
|
mkNixOnDroid = mods:
|
2024-06-24 11:38:30 -04:00
|
|
|
inputs.nix-on-droid.lib.nixOnDroidConfiguration rec {
|
2024-05-20 22:41:45 -04:00
|
|
|
extraSpecialArgs = mkArgs "aarch64-linux";
|
2024-06-24 11:38:30 -04:00
|
|
|
home-manager-path = inputs.home-manager.outPath;
|
2024-05-20 22:41:45 -04:00
|
|
|
pkgs = extraSpecialArgs.pkgs;
|
|
|
|
|
|
|
|
modules =
|
|
|
|
[
|
|
|
|
{
|
|
|
|
options = with pkgs.lib; {
|
|
|
|
environment.variables.FLAKE = mkOption {
|
|
|
|
type = with types; nullOr str;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
{home-manager = {inherit extraSpecialArgs;};}
|
2024-08-05 16:40:32 -04:00
|
|
|
./common/nix-on-droid.nix
|
2024-05-20 22:41:45 -04:00
|
|
|
]
|
|
|
|
++ mods;
|
|
|
|
};
|
|
|
|
}
|