nixos-configs/lib.nix

63 lines
1.3 KiB
Nix
Raw Normal View History

{
grim-hyprland,
home-manager,
nix-on-droid,
nixpkgs,
nixpkgs-wayland,
...
} @ inputs: rec {
2024-06-13 22:27:54 -04:00
mkVersion = src: "0pre+" + src.shortRev;
# Import pkgs from a nixpkgs
mkPkgs = system: input:
import input {
inherit system;
config.allowUnfree = true;
overlays = [
grim-hyprland.overlays.default
nixpkgs-wayland.overlays.default
];
};
# Function that makes the attrs that make up the specialArgs
mkArgs = system:
inputs
// {
pkgs = mkPkgs system nixpkgs;
};
# Default system
mkNixOS = mods:
nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = mkArgs system;
modules =
[
{home-manager.extraSpecialArgs = specialArgs;}
./common
]
++ mods;
};
mkNixOnDroid = mods:
nix-on-droid.lib.nixOnDroidConfiguration rec {
extraSpecialArgs = mkArgs "aarch64-linux";
home-manager-path = home-manager.outPath;
pkgs = extraSpecialArgs.pkgs;
modules =
[
{
options = with pkgs.lib; {
environment.variables.FLAKE = mkOption {
type = with types; nullOr str;
};
};
}
{home-manager = {inherit extraSpecialArgs;};}
./common/nix-on-droid.nix
]
++ mods;
};
}