aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2025-01-22 12:06:35 +0900
committernsfisis <nsfisis@gmail.com>2025-01-22 12:06:35 +0900
commit4ebccb89cbc64541d48416902a9d16b3580c2c9a (patch)
treef41444e866112dc12da6305463eb4ba837a32e16
parenta11301c25fea8dcbab7de468e194cb7624d02b82 (diff)
downloaddotfiles-4ebccb89cbc64541d48416902a9d16b3580c2c9a.tar.gz
dotfiles-4ebccb89cbc64541d48416902a9d16b3580c2c9a.tar.zst
dotfiles-4ebccb89cbc64541d48416902a9d16b3580c2c9a.zip
nix: refactor flake.nix
-rw-r--r--flake.nix32
1 files changed, 18 insertions, 14 deletions
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
+ )
+ );
};
}