diff options
| author | nsfisis <nsfisis@gmail.com> | 2025-01-22 12:06:35 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2025-01-22 12:06:35 +0900 |
| commit | 4ebccb89cbc64541d48416902a9d16b3580c2c9a (patch) | |
| tree | f41444e866112dc12da6305463eb4ba837a32e16 | |
| parent | a11301c25fea8dcbab7de468e194cb7624d02b82 (diff) | |
| download | dotfiles-4ebccb89cbc64541d48416902a9d16b3580c2c9a.tar.gz dotfiles-4ebccb89cbc64541d48416902a9d16b3580c2c9a.tar.zst dotfiles-4ebccb89cbc64541d48416902a9d16b3580c2c9a.zip | |
nix: refactor flake.nix
| -rw-r--r-- | flake.nix | 32 |
1 files changed, 18 insertions, 14 deletions
@@ -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 + ) + ); }; } |
