Nix: refactor flake

This commit is contained in:
Mihai Fufezan 2024-02-29 15:09:56 +02:00
parent 6ea4e04532
commit cc465d04d6
No known key found for this signature in database
3 changed files with 40 additions and 19 deletions

View file

@ -39,7 +39,23 @@
"root": {
"inputs": {
"hyprlang": "hyprlang",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"systems": "systems"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
}
},

View file

@ -3,6 +3,7 @@
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
systems.url = "github:nix-systems/default-linux";
hyprlang = {
url = "github:hyprwm/hyprlang";
@ -10,33 +11,35 @@
};
};
outputs = inputs: let
inherit (inputs.nixpkgs) lib;
genSystems = lib.genAttrs [
# Add more systems if they are supported
"x86_64-linux"
"aarch64-linux"
];
pkgsFor = genSystems (system:
import inputs.nixpkgs {
overlays = [inputs.self.overlays.default];
inherit system;
outputs = {
self,
nixpkgs,
systems,
...
} @ inputs: let
inherit (nixpkgs) lib;
eachSystem = lib.genAttrs (import systems);
pkgsFor = eachSystem (system:
import nixpkgs {
localSystem.system = system;
overlays = with self.overlays; [default];
});
in {
overlays = import ./nix/overlays.nix {inherit inputs lib;};
packages = genSystems (system: {
packages = eachSystem (system: {
default = self.packages.${system}.hypridle;
inherit (pkgsFor.${system}) hypridle;
default = inputs.self.packages.${system}.hypridle;
});
homeManagerModules = {
hypridle = import ./nix/hm-module.nix inputs.self;
default = inputs.self.homeManagerModules.hypridle;
default = self.homeManagerModules.hypridle;
hypridle = import ./nix/hm-module.nix self;
};
checks = genSystems (system: inputs.self.packages.${system});
checks = eachSystem (system: self.packages.${system});
formatter = genSystems (system: pkgsFor.${system}.alejandra);
formatter = eachSystem (system: pkgsFor.${system}.alejandra);
};
}

View file

@ -8,7 +8,9 @@
(builtins.substring 6 2 longDate)
]);
in {
default = lib.composeManyExtensions [
default = inputs.self.overlays.hypridle;
hypridle = lib.composeManyExtensions [
inputs.hyprlang.overlays.default
(final: prev: {
hypridle = prev.callPackage ./default.nix {