nixcfg/flake.nix
Harald Hoyer d2b3358a58 chore: update dependencies and migrate to nixos-25.05
- Updated `nixos-mailserver` to track the nixos-25.05 release.
- Replaced `systems_7` with `systems_6` and updated `flake-utils`.
- Added new dependencies: `git-hooks` and `gitignore_2`.
- Updated `nixpkgs` to a newer revision.
2025-05-27 13:35:30 +02:00

116 lines
3.1 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";
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
];
overlays = with inputs; [
nixsgx-flake.overlays.default
(final: prev: {
inherit (claude.packages.${prev.system}) claude-desktop-with-fhs;
})
];
outputs-builder = channels: {
formatter = channels.nixpkgs.nixfmt-rfc-style;
defaultApp = lib.flake-utils-plus.mkApp { drv = channels.nixpkgs.home-manager; };
};
};
}