summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
authorMihai Fufezan <mihai@fufexan.net>2026-03-02 20:56:00 +0200
committerMihai Fufezan <mihai@fufexan.net>2026-03-02 21:03:44 +0200
commit52ece2b017cd9ce1f7ec199017fd67c639a3ee7f (patch)
treed39974857f83eef3bf943304f2888082a00f1aac /flake.nix
parentd98f7ffaf5ce8fcfe901e4cdcb3dc0d1a5f48816 (diff)
treewide: alejandra -> nixfmt
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix218
1 files changed, 116 insertions, 102 deletions
diff --git a/flake.nix b/flake.nix
index 21561cc5..6d695bfb 100644
--- a/flake.nix
+++ b/flake.nix
@@ -88,108 +88,122 @@
};
};
- outputs = inputs @ {
- self,
- nixpkgs,
- systems,
- ...
- }: let
- inherit (nixpkgs) lib;
- eachSystem = lib.genAttrs (import systems);
- pkgsFor = eachSystem (system:
- import nixpkgs {
- localSystem = system;
- overlays = with self.overlays; [
- hyprland-packages
- hyprland-extras
- ];
- });
- pkgsCrossFor = eachSystem (system: crossSystem:
- import nixpkgs {
- localSystem = system;
- inherit crossSystem;
- overlays = with self.overlays; [
- hyprland-packages
- hyprland-extras
- ];
- });
- pkgsDebugFor = eachSystem (system:
- import nixpkgs {
- localSystem = system;
- overlays = with self.overlays; [
- hyprland-debug
- ];
- });
- pkgsDebugCrossFor = eachSystem (system: crossSystem:
- import nixpkgs {
- localSystem = system;
- inherit crossSystem;
- overlays = with self.overlays; [
- hyprland-debug
- ];
- });
- in {
- overlays = import ./nix/overlays.nix {inherit self lib inputs;};
-
- checks = eachSystem (system:
- (lib.filterAttrs
- (n: _: (lib.hasPrefix "hyprland" n) && !(lib.hasSuffix "debug" n))
- self.packages.${system})
- // {
- inherit (self.packages.${system}) xdg-desktop-portal-hyprland;
- pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run {
- src = ./.;
- hooks = {
- hyprland-treewide-formatter = {
- enable = true;
- entry = "${self.formatter.${system}}/bin/hyprland-treewide-formatter";
- pass_filenames = false;
- excludes = ["subprojects"];
- always_run = true;
+ outputs =
+ inputs@{
+ self,
+ nixpkgs,
+ systems,
+ ...
+ }:
+ let
+ inherit (nixpkgs) lib;
+ eachSystem = lib.genAttrs (import systems);
+ pkgsFor = eachSystem (
+ system:
+ import nixpkgs {
+ localSystem = system;
+ overlays = with self.overlays; [
+ hyprland-packages
+ hyprland-extras
+ ];
+ }
+ );
+ pkgsCrossFor = eachSystem (
+ system: crossSystem:
+ import nixpkgs {
+ localSystem = system;
+ inherit crossSystem;
+ overlays = with self.overlays; [
+ hyprland-packages
+ hyprland-extras
+ ];
+ }
+ );
+ pkgsDebugFor = eachSystem (
+ system:
+ import nixpkgs {
+ localSystem = system;
+ overlays = with self.overlays; [
+ hyprland-debug
+ ];
+ }
+ );
+ pkgsDebugCrossFor = eachSystem (
+ system: crossSystem:
+ import nixpkgs {
+ localSystem = system;
+ inherit crossSystem;
+ overlays = with self.overlays; [
+ hyprland-debug
+ ];
+ }
+ );
+ in
+ {
+ overlays = import ./nix/overlays.nix { inherit self lib inputs; };
+
+ checks = eachSystem (
+ system:
+ (lib.filterAttrs (
+ n: _: (lib.hasPrefix "hyprland" n) && !(lib.hasSuffix "debug" n)
+ ) self.packages.${system})
+ // {
+ inherit (self.packages.${system}) xdg-desktop-portal-hyprland;
+ pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run {
+ src = ./.;
+ hooks = {
+ hyprland-treewide-formatter = {
+ enable = true;
+ entry = "${self.formatter.${system}}/bin/hyprland-treewide-formatter";
+ pass_filenames = false;
+ excludes = [ "subprojects" ];
+ always_run = true;
+ };
};
};
- };
- }
- // (import ./nix/tests inputs pkgsFor.${system}));
-
- packages = eachSystem (system: {
- default = self.packages.${system}.hyprland;
- inherit
- (pkgsFor.${system})
- # hyprland-packages
- hyprland
- hyprland-unwrapped
- hyprland-with-tests
- # hyprland-extras
- xdg-desktop-portal-hyprland
- ;
- inherit (pkgsDebugFor.${system}) hyprland-debug;
- hyprland-cross = (pkgsCrossFor.${system} "aarch64-linux").hyprland;
- hyprland-debug-cross = (pkgsDebugCrossFor.${system} "aarch64-linux").hyprland-debug;
- });
-
- devShells = eachSystem (system: {
- default =
- pkgsFor.${system}.mkShell.override {
- inherit (self.packages.${system}.default) stdenv;
- } {
- name = "hyprland-shell";
- hardeningDisable = ["fortify"];
- inputsFrom = [pkgsFor.${system}.hyprland];
- packages = [pkgsFor.${system}.clang-tools];
- inherit (self.checks.${system}.pre-commit-check) shellHook;
- };
- });
-
- formatter = eachSystem (system: pkgsFor.${system}.callPackage ./nix/formatter.nix {});
-
- nixosModules.default = import ./nix/module.nix inputs;
- homeManagerModules.default = import ./nix/hm-module.nix self;
-
- # Hydra build jobs
- # Recent versions of Hydra can aggregate jobsets from 'hydraJobs' instead of a release.nix
- # or similar. Remember to filter large or incompatible attributes here. More eval jobs can
- # be added by merging, e.g., self.packages // self.devShells.
- hydraJobs = self.packages;
- };
+ }
+ // (import ./nix/tests inputs pkgsFor.${system})
+ );
+
+ packages = eachSystem (system: {
+ default = self.packages.${system}.hyprland;
+ inherit (pkgsFor.${system})
+ # hyprland-packages
+ hyprland
+ hyprland-unwrapped
+ hyprland-with-tests
+ # hyprland-extras
+ xdg-desktop-portal-hyprland
+ ;
+ inherit (pkgsDebugFor.${system}) hyprland-debug;
+ hyprland-cross = (pkgsCrossFor.${system} "aarch64-linux").hyprland;
+ hyprland-debug-cross = (pkgsDebugCrossFor.${system} "aarch64-linux").hyprland-debug;
+ });
+
+ devShells = eachSystem (system: {
+ default =
+ pkgsFor.${system}.mkShell.override
+ {
+ inherit (self.packages.${system}.default) stdenv;
+ }
+ {
+ name = "hyprland-shell";
+ hardeningDisable = [ "fortify" ];
+ inputsFrom = [ pkgsFor.${system}.hyprland ];
+ packages = [ pkgsFor.${system}.clang-tools ];
+ inherit (self.checks.${system}.pre-commit-check) shellHook;
+ };
+ });
+
+ formatter = eachSystem (system: pkgsFor.${system}.callPackage ./nix/formatter.nix { });
+
+ nixosModules.default = import ./nix/module.nix inputs;
+ homeManagerModules.default = import ./nix/hm-module.nix self;
+
+ # Hydra build jobs
+ # Recent versions of Hydra can aggregate jobsets from 'hydraJobs' instead of a release.nix
+ # or similar. Remember to filter large or incompatible attributes here. More eval jobs can
+ # be added by merging, e.g., self.packages // self.devShells.
+ hydraJobs = self.packages;
+ };
}