109 lines
3.5 KiB
Nix
109 lines
3.5 KiB
Nix
{
|
|
outputs =
|
|
inputs:
|
|
let
|
|
lib = import ./lib inputs;
|
|
uGenPkgs = lib.genPkgs inputs.nixpkgs-unstable;
|
|
in
|
|
{
|
|
packages = uGenPkgs (import ./packages);
|
|
|
|
nixosConfigurations = import ./packages/hosts inputs;
|
|
# homeConfigurations = import ./packages/home inputs;
|
|
|
|
templates = import ./lib/templates;
|
|
|
|
diskoConfigurations = import ./lib/disko inputs;
|
|
checks = uGenPkgs (import ./packages/checks inputs);
|
|
devShells = uGenPkgs (import ./packages/shells inputs);
|
|
|
|
nixosModules = import ./lib/modules/nixos inputs;
|
|
homeManagerModules = import ./lib/modules/home inputs;
|
|
|
|
overlays = import ./lib/overlays inputs;
|
|
|
|
formatter = uGenPkgs (p: p.nixfmt-rfc-style);
|
|
|
|
/*
|
|
TODO: nix-on-droid for phone terminal usage? mobile-nixos?
|
|
TODO: nix-darwin for work?
|
|
TODO: nixos ISO?
|
|
*/
|
|
}
|
|
// (import ./lib/constants.nix inputs)
|
|
// {
|
|
flakeLib = lib;
|
|
};
|
|
|
|
inputs = {
|
|
# stable inputs
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
|
|
|
home-manager.url = "github:nix-community/home-manager/release-24.11";
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
# "unstable" inputs
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
|
hardware.url = "github:NixOS/nixos-hardware";
|
|
disko.url = "github:nix-community/disko/master";
|
|
disko.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
sops-nix.url = "github:Mic92/sops-nix";
|
|
sops-nix.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
|
|
git-hooks.url = "github:cachix/git-hooks.nix";
|
|
git-hooks.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
|
|
home-manager-unstable.url = "github:nix-community/home-manager";
|
|
home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
|
|
helix.url = "github:helix-editor/helix/master";
|
|
helix.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
|
|
slippi.url = "github:lytedev/slippi-nix";
|
|
# slippi.url = "git+file:///home/daniel/code/open-source/slippi-nix"; # used during flake development
|
|
slippi.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
slippi.inputs.home-manager.follows = "home-manager-unstable";
|
|
|
|
# jovian.url = "github:Jovian-Experiments/Jovian-NixOS/development";
|
|
# jovian.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
|
|
ghostty.url = "github:ghostty-org/ghostty";
|
|
ghostty.inputs.nixpkgs-unstable.follows = "nixpkgs-unstable";
|
|
ghostty.inputs.nixpkgs-stable.follows = "nixpkgs";
|
|
|
|
# nnf.url = "github:thelegy/nixos-nftables-firewall?rev=71fc2b79358d0dbacde83c806a0f008ece567b7b";
|
|
|
|
mobile-nixos = {
|
|
url = "github:lytedev/mobile-nixos";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
nixConfig = {
|
|
extra-experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
];
|
|
|
|
extra-substituters = [
|
|
"https://cache.nixos.org/"
|
|
"https://nix-community.cachix.org"
|
|
"https://nix.h.lyte.dev"
|
|
|
|
# since we are forcing most inputs to follow our nixpkgs, we don't bother settings up caches and just use our own
|
|
# "https://helix.cachix.org"
|
|
# "https://ghostty.cachix.org"
|
|
];
|
|
|
|
extra-trusted-public-keys = [
|
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
"h.lyte.dev-2:te9xK/GcWPA/5aXav8+e5RHImKYMug8hIIbhHsKPN0M="
|
|
|
|
# "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs="
|
|
# "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
|
# "ghostty.cachix.org-1:QB389yTa6gTyneehvqG58y0WnHjQOqgnA+wBnpWWxns="
|
|
];
|
|
};
|
|
}
|