home-manager

This commit is contained in:
Madeleine Sydney
2024-12-28 21:44:51 -07:00
parent 9a99a6dfb7
commit 56f2a65be2
9 changed files with 83 additions and 40 deletions

View File

@@ -8,15 +8,13 @@
impermanence.url = "github:nix-community/impermanence";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager.url = "github:nix-community/home-manager";
niri.url = "github:sodiboo/niri-flake";
};
outputs = { nixpkgs, ... }@inputs:
# TODO: Move to utils.nix.
let list-nix-directory = dir:
builtins.attrNames
(nixpkgs.lib.filterAttrs
@@ -58,7 +56,7 @@
({ config, lib, ... }: {
users.users =
(lib.mapAttrs
(k: v: (import ./users/${k}).systemUser)
(k: v: (import ./users/${k}).systemConfiguration)
(lib.filterAttrs
(k: _v: builtins.elem k config.sydnix.users.users)
(builtins.readDir ./users)));
@@ -85,14 +83,19 @@
inputs.home-manager.nixosModules.home-manager
({ config, lib, self, ... }: {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
# home-manager.useUserPackages = true;
home-manager.users =
lib.filterAttrs
(k: _v: builtins.elem k config.sydnix.users.users)
self.homeConfigurations;
home-manager.extraSpecialArgs = inputs // { inherit self; };
home-manager.extraSpecialArgs = {
utils = import ./lib/utils.nix {
inherit config lib;
pkgs = nixpkgs;
};
};
})
];
};
@@ -103,9 +106,10 @@
homeConfigurations =
let users = builtins.readDir ./users;
mkUser = username: _v: {
# TODO: This is very ad-hoc, and I don't like it. Organise this better.
# TODO: This is very ad-hoc, and I don't like it. Organise this
# better.
imports = [
(import ./users/${username}).home
(import ./users/${username}/default.nix).homeConfiguration
inputs.self.homeManagerModules.default