34 lines
1 KiB
Nix
34 lines
1 KiB
Nix
{ config, options, lib, pkgs, ... }:
|
|
let
|
|
inherit (builtins) elem isList pathExists toString;
|
|
inherit (lib.attrsets) mapAttrs mapAttrsToList;
|
|
inherit (lib.lists) findFirst;
|
|
inherit (lib.modules) mkAliasDefinitions;
|
|
inherit (lib.strings) concatMapStringsSep concatStringsSep;
|
|
inherit (lib.my) mkOpt mkOpt';
|
|
in
|
|
{
|
|
options = let
|
|
inherit (lib.options) mkOption;
|
|
inherit (lib.types) attrs attrsOf either listOf oneOf path str;
|
|
in
|
|
{
|
|
user = mkOpt attrs {};
|
|
|
|
kaas = {
|
|
dir = mkOpt path (findFirst pathExists (toString ../.) [
|
|
"${config.user.home}/Workspace/public/kaas"
|
|
"/etc/kaas"
|
|
]);
|
|
hostDir = mkOpt path "${config.kaas.dir}/hosts/${config.networking.hostName}";
|
|
binDir = mkOpt path "${config.kaas.dir}/bin";
|
|
configDir = mkOpt path "${config.kaas.dir}/config";
|
|
modulesDir = mkOpt path "${config.kaas.dir}/modules";
|
|
themesDir = mkOpt path "${config.kaas.modulesDir}/themes";
|
|
};
|
|
|
|
home = {
|
|
# HIER BEN IK GEBLEVEN!!!
|
|
};
|
|
};
|
|
}
|