54 lines
1.6 KiB
Nix
54 lines
1.6 KiB
Nix
# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
{ inputs, withSystem, ... }:
|
|
let
|
|
entries = builtins.attrNames (builtins.readDir ./.);
|
|
modules = builtins.filter (dir: builtins.pathExists (./. + "/${dir}/default.nix")) entries;
|
|
in
|
|
{
|
|
imports = [
|
|
inputs.home-manager.flakeModules.home-manager
|
|
] ++ builtins.map (name: (./. + "/${name}")) modules;
|
|
perSystem =
|
|
{ config, system, ... }:
|
|
let
|
|
pkgs = import inputs.nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
inputs.nur.overlays.default
|
|
inputs.nixgl.overlays.default
|
|
];
|
|
};
|
|
in
|
|
{
|
|
_module.args.pkgs = pkgs;
|
|
devshells.default = {
|
|
commands =
|
|
[
|
|
{
|
|
help = " show home-manager documentation";
|
|
name = "man-home";
|
|
command = "${pkgs.man}/bin/man home-configuration.nix";
|
|
category = " home-manager";
|
|
}
|
|
]
|
|
++ builtins.concatMap (name: [
|
|
{
|
|
help = " `home-manager switch` for ${name}";
|
|
name = "hm-${name}";
|
|
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#${name}";
|
|
category = " home-manager (${name})";
|
|
}
|
|
{
|
|
help = " `home-manager switch` for ${name} with backup";
|
|
name = "hm-${name}-backup";
|
|
command = "${pkgs.home-manager}/bin/home-manager switch --flake .#${name} -b backup";
|
|
category = " home-manager (${name})";
|
|
}
|
|
]) modules;
|
|
packages = [ pkgs.home-manager ];
|
|
};
|
|
};
|
|
}
|