nur-packages/flake.nix

50 lines
1.7 KiB
Nix
Raw Normal View History

2020-12-10 20:58:21 +11:00
{
2021-11-13 18:51:16 +11:00
description = "xeals's Nix repository";
2020-12-10 20:58:21 +11:00
2021-11-13 18:51:16 +11:00
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
2023-02-23 09:48:25 +11:00
inputs.flake-utils.url = "github:numtide/flake-utils";
2020-12-10 20:58:21 +11:00
2023-02-23 09:48:25 +11:00
outputs = { self, nixpkgs, flake-utils }:
2020-12-10 20:58:21 +11:00
let
2021-11-13 18:51:16 +11:00
inherit (nixpkgs) lib;
2023-02-23 09:48:25 +11:00
inherit (flake-utils.lib) mkApp;
2020-12-10 20:58:21 +11:00
in
2023-02-23 09:48:25 +11:00
flake-utils.lib.eachDefaultSystem
(system:
2021-11-13 18:51:16 +11:00
let
2023-02-23 09:48:25 +11:00
pkgs = import nixpkgs { inherit system; };
2021-11-13 18:51:16 +11:00
in
{
2023-02-23 09:48:25 +11:00
packages =
lib.filterAttrs
(_: drv: builtins.elem system (drv.meta.platforms or [ ]))
(import ./pkgs/top-level/all-packages.nix { inherit pkgs; });
devShells.ci = pkgs.mkShell {
buildInputs = [ pkgs.nix-build-uncached ];
};
2023-02-23 09:48:25 +11:00
apps = {
alacritty = mkApp { drv = pkgs.alacritty-ligatures; exePath = "/bin/alacritty"; };
protonmail-bridge = mkApp { drv = pkgs.protonmail-bridge; };
protonmail-bridge-headless = mkApp { drv = pkgs.protonmail-bridge; };
psst-cli = mkApp { drv = pkgs.psst; exePath = "/bin/psst-cli"; };
psst-gui = mkApp { drv = pkgs.psst; exePath = "/bin/psst-gui"; };
samrewritten = mkApp { drv = pkgs.samrewritten; };
spotify-ripper = mkApp { drv = pkgs.spotify-ripper; };
};
})
// {
nixosModules = lib.mapAttrs (_: path: import path) (import ./modules) // {
default = {
imports = lib.attrValues self.nixosModules;
};
};
2021-11-13 18:51:16 +11:00
2023-02-23 09:48:25 +11:00
overlays = import ./overlays // {
pkgs = _: prev: import ./pkgs/top-level/all-packages.nix { pkgs = prev; };
default = _: _: { xeals = nixpkgs.lib.composeExtensions self.overlays.pkgs; };
};
2021-11-13 18:51:16 +11:00
};
2020-12-10 20:58:21 +11:00
}