Files
komorebi/flake.nix
T
LGUG2Z 6038e53fc5 refactor(nix): the checks are separate sets
Every platform module now defines its checks as allChecks.<name> and the new
nix/checks.nix says which set each is in (fmt, deny, windows-lint, windows-test,
linux-lint, linux-test, linux-options, macos-lint, macos-test, macos-options,
linux-demo, linux-nixos-eval, vm-fast, vm-slow; the vm tiers come from the
suites). A check in no set, or in two, fails the evaluation. checks.<system>
holds the members of the sets that are not heavy, the same split flake-one made
(vm-*, the Plasma guests, the module scenarios and run-kde left out), and the
placeholder legacyPackages.<system>.heavyChecks is gone: every set is one
linkFarm derivation, legacyPackages.<system>.checkSets.<set>, and its members
are legacyPackages.<system>.checkMembers.<set>.<name>. legacyPackages.<system>.vm
is unchanged.

The linux module is mostly reindented (the split wrapper is gone); no check
changed. Verified: see the revision that composes the sets.

treefmt and pre-commit, which the treefmt-nix and git-hooks-nix modules add to checks themselves, are allChecks of nix/common.nix now (those modules' own entries are switched off, treefmt.flakeCheck and pre-commit.check.enable), so that they are members of the set fmt.
2026-11-05 15:03:27 -08:00

40 lines
1.7 KiB
Nix

{
description = "komorebi, a tiling window manager for Windows, KDE Plasma and macOS";
inputs = {
# One nixpkgs for the three platforms. The KDE VM tests run against the Plasma and KWin of this
# revision (nix/linux/supported-kwin.nix says which KWin that is), so it is the one an update has
# to keep green for the VM suites; see docs/dev/flake.md.
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
# Intel Macs only: nixpkgs 26.11 dropped x86_64-darwin (evaluating it throws), so the x86_64-darwin
# outputs use the last revision that still supported it, the one the macOS flake was pinned to.
# Nothing else uses it; drop it with x86_64-darwin when Intel Macs are no longer supported.
nixpkgs-x86_64-darwin.url = "github:NixOS/nixpkgs/16c7794d0a28b5a37904d55bcca36003b9109aaa";
flake-parts.url = "github:hercules-ci/flake-parts";
crane.url = "github:ipetkov/crane";
rust-overlay.url = "github:oxalica/rust-overlay";
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
treefmt-nix.url = "github:numtide/treefmt-nix";
treefmt-nix.inputs.nixpkgs.follows = "nixpkgs";
git-hooks-nix.url = "github:cachix/git-hooks.nix";
git-hooks-nix.inputs.nixpkgs.follows = "nixpkgs";
# the application-specific configuration that komorebic embeds on Windows
asc = {
url = "github:LGUG2Z/komorebi-application-specific-configuration";
flake = false;
};
};
outputs =
inputs@{ flake-parts, ... }:
flake-parts.lib.mkFlake { inherit inputs; } {
imports = [
./nix/common.nix
./nix/checks.nix
./nix/windows/flake-module.nix
./nix/linux/flake-module.nix
./nix/macos/flake-module.nix
];
};
}