Files
dev/flake.nix

87 lines
2.6 KiB
Nix

{
description = "alexion.dev";
inputs = {
# Provides the base nixpkgs channel.
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
# Provides newer packages through `unstable.<name>`.
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
# Provides the latest stable release through `stable.<name>`.
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-26.05";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# Provides signed AMO extensions pinned by version and hash.
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
# Uses this flake's nixpkgs so plugins build against the same package set.
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
# Configures declarative disk partitioning.
# Each host declares its layout.
disko = {
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
# Provides upstream hardware profiles for each machine.
# Each host imports its profile.
nixos-hardware = {
url = "github:NixOS/nixos-hardware";
inputs.nixpkgs.follows = "nixpkgs";
};
# Decrypts committed secrets at activation with an age identity on the host.
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# Themes the graphical layer with one base16 scheme.
# Uses this flake's nixpkgs so it themes the host package set.
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
# TODO: Deprecate and remove this input.
# Provides a Gitea CLI for agents.
# Its Home Manager module configures agent context.
gitea-axi = {
url = "git+https://git.alexion.dev/alexion/gitea-axi";
inputs.nixpkgs.follows = "nixpkgs";
};
# Configures the repository formatter and Nix linter.
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# Provides the CachyOS kernel and binary cache.
# Uses its pinned package set because Chaotic builds against it.
# Its cache serves the kernel only when the overlay uses the cache-friendly path.
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
};
outputs =
{ self, nixpkgs, ... }@inputs:
import ./src/flake {
inherit inputs self;
inherit (nixpkgs) lib;
root = ./.;
system = "x86_64-linux";
};
}