summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix99
1 files changed, 57 insertions, 42 deletions
diff --git a/flake.nix b/flake.nix
index 5384e10..a3859ce 100644
--- a/flake.nix
+++ b/flake.nix
@@ -21,64 +21,79 @@
};
};
- outputs = { self, nixpkgs, home-manager, nix-darwin, agenix, push-notification-api, ... }@inputs:
- let
- args = {
- flakeInputs = inputs;
- flakeOutputs = self.outputs;
- metadata = nixpkgs.lib.importTOML ./metadata.toml;
- };
+ outputs = {
+ self,
+ nixpkgs,
+ home-manager,
+ nix-darwin,
+ agenix,
+ push-notification-api,
+ ...
+ } @ inputs: let
+ args = {
+ flakeInputs = inputs;
+ flakeOutputs = self.outputs;
+ metadata = nixpkgs.lib.importTOML ./metadata.toml;
+ };
- darwinModules = builtins.attrValues (import ./modules/darwin);
- nixosModules = builtins.attrValues (import ./modules/nixos);
+ darwinModules = builtins.attrValues (import ./modules/darwin);
+ nixosModules = builtins.attrValues (import ./modules/nixos);
- # This is a function that generates an attribute by calling a function
- # you pass to it, with each system as an argument. `systems` lists all
- # supported systems.
- systems = [
- "aarch64-linux"
- "i686-linux"
- "x86_64-linux"
- "aarch64-darwin"
- "x86_64-darwin"
- ];
- forAllSystems = nixpkgs.lib.genAttrs systems;
- in
- {
- darwinConfigurations = {
- muhammed = nix-darwin.lib.darwinSystem {
- inherit inputs;
- system = "aarch64-darwin";
- modules = [
- { _module.args = args; }
+ # This is a function that generates an attribute by calling a function
+ # you pass to it, with each system as an argument. `systems` lists all
+ # supported systems.
+ systems = [
+ "aarch64-linux"
+ "i686-linux"
+ "x86_64-linux"
+ "aarch64-darwin"
+ "x86_64-darwin"
+ ];
+ forAllSystems = nixpkgs.lib.genAttrs systems;
+ in {
+ darwinConfigurations = {
+ muhammed = nix-darwin.lib.darwinSystem {
+ inherit inputs;
+ system = "aarch64-darwin";
+ modules =
+ [
+ {_module.args = args;}
home-manager.darwinModules.home-manager
./hosts/muhammed/configuration.nix
./hosts/common.nix
./home
- ] ++ darwinModules;
- };
+ ]
+ ++ darwinModules;
};
+ };
- nixosConfigurations = {
- ahmed = nixpkgs.lib.nixosSystem {
- system = "x86_64-linux";
- modules = [
- { _module.args = args; }
+ nixosConfigurations = {
+ ahmed = nixpkgs.lib.nixosSystem {
+ system = "x86_64-linux";
+ modules =
+ [
+ {_module.args = args;}
home-manager.nixosModules.home-manager
agenix.nixosModules.default
push-notification-api.nixosModules.default
./hosts/ahmed/configuration.nix
./hosts/common.nix
./home
- ] ++ nixosModules;
- };
+ ]
+ ++ nixosModules;
};
+ };
- packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
+ # Formatter to be run when `nix fmt` is executed.
+ formatter =
+ forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
- overlays = import ./overlays;
+ packages =
+ forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
- darwinModules = import ./modules/darwin;
- nixosModules = import ./modules/nixos;
- };
+ overlays = import ./overlays;
+
+ darwinModules = import ./modules/darwin;
+ nixosModules = import ./modules/nixos;
+ };
}