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 11:46:04 +11:00
|
|
|
# nixos/rfcs#140
|
|
|
|
# Only produces the package set of the proposed functionality.
|
|
|
|
# Unstable names are variables.
|
2023-02-23 09:48:25 +11:00
|
|
|
packages =
|
2023-02-23 11:46:04 +11:00
|
|
|
let
|
|
|
|
|
|
|
|
legacyPackages = import ./pkgs/top-level/all-packages.nix { inherit pkgs; };
|
|
|
|
onlyAvailable = lib.filterAttrs (_: drv: builtins.elem system (drv.meta.platforms or [ ]));
|
|
|
|
in
|
2023-03-06 09:40:35 +11:00
|
|
|
onlyAvailable (legacyPackages // import ./callUnitRoot.nix { inherit pkgs; });
|
2023-02-23 09:48:25 +11:00
|
|
|
|
2023-02-23 10:51:53 +11:00
|
|
|
checks = {
|
|
|
|
nixpkgs-fmt = pkgs.writeShellScriptBin "nixpkgs-fmt-check" ''
|
|
|
|
${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt --check .
|
|
|
|
'';
|
|
|
|
deadnix = pkgs.writeShellScriptBin "deadnix-check" ''
|
|
|
|
${pkgs.deadnix}/bin/deadnix --fail .
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
|
|
|
|
devShells.ci = pkgs.mkShellNoCC {
|
2023-02-23 10:21:52 +11:00
|
|
|
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
|
|
|
}
|