From 4ebccb89cbc64541d48416902a9d16b3580c2c9a Mon Sep 17 00:00:00 2001 From: nsfisis Date: Wed, 22 Jan 2025 12:06:35 +0900 Subject: nix: refactor flake.nix --- flake.nix | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index 5dc2fbd..d6dc789 100644 --- a/flake.nix +++ b/flake.nix @@ -22,33 +22,37 @@ nixpkgs, home-manager, ... - } @ inputs: + }: let + readJSON = p: builtins.fromJSON (builtins.readFile p); + machines = [ + (readJSON ./mitamae/node.akashi.json) + (readJSON ./mitamae/node.hotaru.json) + (readJSON ./mitamae/node.pc168.json) + ]; mkHomeConfiguration = { system, env, ... }: home-manager.lib.homeManagerConfiguration { pkgs = import nixpkgs { - system = system; + inherit system; config.allowUnfree = true; }; - extraSpecialArgs = { - inherit inputs; - inherit env; - }; + extraSpecialArgs = { inherit env; }; modules = [ ./home-manager/home.nix ]; }; in { - homeConfigurations = let - readJSON = p: builtins.fromJSON (builtins.readFile p); - mkHomeConfigurationFromJSON = p: mkHomeConfiguration (readJSON p).flake; - in { - akashi = mkHomeConfigurationFromJSON ./mitamae/node.akashi.json; - hotaru = mkHomeConfigurationFromJSON ./mitamae/node.hotaru.json; - pc168 = mkHomeConfigurationFromJSON ./mitamae/node.pc168.json; - }; + homeConfigurations = ( + builtins.listToAttrs ( + builtins.map (machine: { + name = machine.name; + value = mkHomeConfiguration machine.flake; + }) + machines + ) + ); }; } -- cgit v1.2.3-70-g09d2