nixcfg/flake.nix
Harald Hoyer 36ed41047d feat(x1): enable cratedocs-mcp service and update dependencies
- Enabled the cratedocs-mcp service in the x1 configuration.
- Added `cratedocs` as a new flake input and included its modules and overlay.
- Updated multiple flake inputs (`nixpkgs`, `rust-overlay`, etc.) with new revisions.
2025-05-28 09:41:21 +02:00

125 lines
3.4 KiB
Nix

{
description = "Harald Hoyer's Nix Configurations";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
# NixPkgs Unstable (nixos-unstable)
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
cratedocs = {
url = "git+https://git.hoyer.xyz/harald/cratedocs-mcp.git";
inputs.nixpkgs.follows = "nixpkgs";
};
crane.url = "github:ipetkov/crane/v0.20.3";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs.nixpkgs.follows = "nixpkgs";
};
lanzaboote = {
url = "github:nix-community/lanzaboote/v0.4.2";
inputs.nixpkgs.follows = "nixpkgs";
inputs.crane.follows = "crane";
inputs.rust-overlay.follows = "rust-overlay";
};
snowfall-lib = {
url = "github:snowfallorg/lib";
inputs.nixpkgs.follows = "nixpkgs";
};
# macOS Support (master)
darwin.url = "github:lnl7/nix-darwin/nix-darwin-25.05";
darwin.inputs.nixpkgs.follows = "nixpkgs";
nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew";
homebrew-core = {
url = "github:homebrew/homebrew-core";
flake = false;
};
homebrew-cask = {
url = "github:homebrew/homebrew-cask";
flake = false;
};
homebrew-bundle = {
url = "github:homebrew/homebrew-bundle";
flake = false;
};
home-manager.url = "github:nix-community/home-manager/release-25.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
neovim-flake.url = "github:NotAShelf/nvf/";
neovim-flake.inputs.nixpkgs.follows = "nixpkgs";
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
nixsgx-flake = {
url = "github:matter-labs/nixsgx";
# inputs.nixpkgs.follows = "nixpkgs";
};
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.05";
simple-nixos-mailserver.inputs.nixpkgs.follows = "nixpkgs";
claude.url = "github:k3d3/claude-desktop-linux-flake";
claude.inputs.nixpkgs.follows = "nixpkgs";
};
outputs =
inputs:
let
lib = inputs.snowfall-lib.mkLib {
inherit inputs;
src = ./.;
snowfall.namespace = "metacfg";
snowfall = {
meta = {
name = "metacfg";
title = "Metacfg";
};
};
};
in
lib.mkFlake {
channels-config = {
allowUnfree = true;
};
homes.modules = with inputs; [ neovim-flake.homeManagerModules.default ];
systems.modules.nixos = with inputs; [
nix-homebrew.darwinModules.nix-homebrew
lanzaboote.nixosModules.lanzaboote
home-manager.nixosModules.home-manager
sops-nix.nixosModules.sops
disko.nixosModules.disko
simple-nixos-mailserver.nixosModule
cratedocs.nixosModules.default
];
overlays = with inputs; [
nixsgx-flake.overlays.default
(final: prev: {
inherit (claude.packages.${prev.system}) claude-desktop-with-fhs;
})
(final: prev: {
inherit (cratedocs.packages.${prev.system}) cratedocs-mcp;
})
];
outputs-builder = channels: {
formatter = channels.nixpkgs.nixfmt-rfc-style;
defaultApp = lib.flake-utils-plus.mkApp { drv = channels.nixpkgs.home-manager; };
};
};
}