dotfiles/machines/common/shared/nix.nix

34 lines
977 B
Nix
Raw Normal View History

{
lib,
inputs,
pkgs,
...
2023-08-31 00:03:07 +02:00
}: let
2023-12-29 09:39:36 +01:00
inherit (builtins) attrValues mapAttrs;
inherit (lib) filterAttrs;
inherit (pkgs.stdenv) isDarwin isLinux;
2023-12-29 09:39:36 +01:00
flakeInputs = filterAttrs (name: value: (value ? outputs) && (name != "self")) inputs;
2023-08-31 00:03:07 +02:00
in {
2023-03-02 07:30:03 +01:00
nixpkgs.config.allowUnfree = true;
nix = {
gc.automatic = true;
2024-04-27 02:07:37 +02:00
package = pkgs.nixVersions.nix_2_22;
settings =
{
2023-12-27 23:56:56 +01:00
auto-optimise-store = true;
2024-04-27 02:07:37 +02:00
experimental-features = ["auto-allocate-uids" "flakes" "nix-command"];
2023-11-06 07:28:26 +01:00
trusted-users = ["@sudo" "@wheel" "winston"];
use-xdg-base-directories = true;
warn-dirty = false;
}
2023-12-27 23:56:56 +01:00
// (import ../../../flake.nix).nixConfig;
2023-12-29 09:39:36 +01:00
registry = mapAttrs (name: v: {flake = v;}) flakeInputs;
nixPath =
if isDarwin
2023-12-29 09:39:36 +01:00
then lib.mkForce (mapAttrs (k: v: v.outPath) flakeInputs)
else if isLinux
2023-12-29 09:39:36 +01:00
then attrValues (mapAttrs (k: v: "${k}=${v.outPath}") flakeInputs)
2023-12-27 23:56:56 +01:00
else throw "Unsupported platform";
2023-02-13 23:33:09 +01:00
};
}