nixconfig/flake.nix
2023-10-29 00:00:00 +07:00

76 lines
1.6 KiB
Nix

{
description = "FollieHiyuki's Nix Configuration";
inputs = {
# nixos-unstable can be used just fine on non-NixOS platforms
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
impermanence.url = "github:nix-community/impermanence";
darwin = {
url = "github:LnL7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-search = {
url = "github:peterldowns/nix-search-cli";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs @ { self
, nixpkgs
, darwin
, home-manager
, nix-search
, agenix
, disko
, impermanence
, ...
}:
let
forAllSystems = nixpkgs.lib.genAttrs [
"aarch64-darwin"
"x86_64-linux"
];
in
{
devShells = forAllSystems
(system:
let
pkgs = nixpkgs.legacyPackages."${system}" // nix-search.packages."${system}";
in
import ./shell.nix { inherit pkgs; });
darwinConfigurations = import ./hosts/darwin {
inherit (nixpkgs) lib;
inherit inputs nixpkgs darwin home-manager;
};
};
nixConfig = {
extra-trusted-substituters = [
"https://nix-community.cachix.org"
];
extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
}