{config, lib, ...}: { options.u = { confPath = lib.mkOption { type = lib.types.path; description = "path to nixos config"; default = "${config.home.homeDirectory}/.local/nixos"; }; tmux = { plugins = lib.mkOption { type = lib.types.listOf lib.types.package; description = "tmux plugins to source in config"; }; extraConfig = lib.mkOption { type = lib.types.lines; description = "extra config to append to bottom of config"; default = ""; }; }; bookmarks = lib.mkOption { type = lib.types.listOf (lib.types.submodule { options = { href = lib.mkOption { type = lib.types.str; description = "link of the bookmark"; example = "file:///tmp"; }; name = lib.mkOption { type = lib.types.str; description = "name of the bookmark"; example = "tmp"; }; icon = lib.mkOption { type = lib.types.str; description = "icon name of the bookmark"; example = "folder-temp"; }; }; }); description = "list of file manager bookmarks"; }; lib = lib.mkOption { type = lib.types.attrs; description = "library"; }; }; config.u.lib = rec { ln = base: x: config.lib.file.mkOutOfStoreSymlink "${base}/${x}"; lnh = ln "${config.home.homeDirectory}"; lnn = ln "${config.u.confPath}"; }; }