modules/ Options
_module.args#
Additional arguments passed to each module in addition to ones
like lib
, config
,
and pkgs
, modulesPath
.
This option is also available to all submodules. Submodules do not
inherit args from their parent module, nor do they provide args to
their parent module or sibling submodules. The sole exception to
this is the argument name
which is provided by
parent modules to a submodule and contains the attribute name
the submodule is bound to, or a unique generated name if it is
not bound to an attribute.
Some arguments are already passed by default, of which the following cannot be changed with this option:
-
lib
: The nixpkgs library. -
config
: The results of all options after merging the values from all modules together. -
options
: The options declared in all modules. -
specialArgs
: ThespecialArgs
argument passed toevalModules
. -
All attributes of
specialArgs
Whereas option values can generally depend on other option values
thanks to laziness, this does not apply to imports
, which
must be computed statically before anything else.
For this reason, callers of the module system can provide specialArgs
which are available during import resolution.
For NixOS, specialArgs
includes
modulesPath
, which allows you to import
extra modules from the nixpkgs package tree without having to
somehow make the module aware of the location of the
nixpkgs
or NixOS directories.
For NixOS, the default value for this option includes at least this argument:
pkgs
: The nixpkgs package set according to thenixpkgs.pkgs
option.
Type: lazy attribute set of raw value
Declared by: - .nixpkgs/lib/modules.nix>
tensorfiles.misc.gtk.enable#
Whether to enable Enables NixOS module that configures/handles the gtk system. .
Type: boolean
Default:
false
Example:
true
tensorfiles.misc.gtk.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.misc.gtk.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.misc.nix.enable#
Whether to enable Enables NixOS module that configures/handles defaults regarding nix language . nix package manager. .
Type: boolean
Default:
false
Example:
true
tensorfiles.misc.xdg.enable#
Whether to enable Enables NixOS module that configures/handles the xdg toolset. .
Type: boolean
Default:
false
Example:
true
tensorfiles.misc.xdg.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.misc.xdg.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.profiles.base.enable#
Whether to enable Enables NixOS module that configures/handles the base system profile.
Base layer sets up necessary structures to be able to simply just evaluate the configuration, ie. not build it, meaning that this layer enables fundamental functionality that other higher level modules rely on. .
Type: boolean
Default:
false
Example:
true
tensorfiles.profiles.graphical-hyprland.enable#
Whether to enable Enables NixOS module that configures/handles the laptop system profile.
TODO: decouple this into a graphical + xmonad + persitence profiles .
Type: boolean
Default:
false
Example:
true
tensorfiles.profiles.graphical-xmonad.enable#
Whether to enable Enables NixOS module that configures/handles the graphical-xmonad system profile.
TODO: decouple this into a graphical + xmonad + persitence profiles .
Type: boolean
Default:
false
Example:
true
tensorfiles.profiles.headless.enable#
Whether to enable Enables NixOS module that configures/handles the headless system profile.
Headless layer builds on top of the minimal layer and adds other server-like functionality like simple shells, basic networking for remote access and simple editors. .
Type: boolean
Default:
false
Example:
true
tensorfiles.profiles.minimal.enable#
Whether to enable Enables NixOS module that configures/handles the minimal system profile.
Minimal layers builds on top of the base layer and creates a minimal bootable system. It isn’t targeted to posses any other functionality, for example if you’d like remote access and more of server-like features, use the headless profile that build on top of this one. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.browsers.firefox.enable#
Whether to enable Enables NixOS module that configures/handles the firefox browser .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.browsers.firefox.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.browsers.firefox.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.direnv.enable#
Whether to enable Enables NixOS module that configures/handles direnv colorscheme generator. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.direnv.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.direnv.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.direnv.home.settings..name>.pkg#
Which package to use for the direnv utilities. You can provide any custom derivation or forks with differing internals as long as the API and binaries stay the same and reside at the same place.
Type: package
Default:
<derivation direnv-2.32.3>
tensorfiles.programs.dmenu.enable#
Whether to enable Enables NixOS module that configures/handles the dmenu app launcher. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.dmenu.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.dmenu.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.dmenu.home.settings..name>.pkg#
Which package to use for the dmenu binaries. You can provide any custom derivation of your choice as long as the main binaries reside at
$pkg/bin/dmenu
$pkg/bin/dmenu_run
- etc…
Type: package
Default:
<derivation dmenu-5.2>
tensorfiles.programs.dmenu.home.settings..name>.pywal.enable#
Whether to enable Whether to enable the integration with the pywal colorscheme generator program. The integration may range from just some color parsing/loading to sometimes full on detailed plugins depending on the context.
Note that the code will get execute only if
-
pywal.enable = true;
-
tensorfiles.programs.pywal module is loaded
-
tensorfiles.programs.pywal.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.editors.neovim.enable#
Whether to enable Enables NixOS module that configures/handles the neovim program. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.editors.neovim.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.editors.neovim.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.editors.neovim.persistence.enable#
Whether to enable Whether to autoappend files/folders to the persistence system. For more info on the persistence system refer to the system.persistence NixOS module documentation.
Note that this will get executed only if
-
persistence.enable = true;
-
tensorfiles.system.persistence module is loaded
-
tensorfiles.system.persistence.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.file-managers.lf.enable#
Whether to enable Enables NixOS module that configures/handles the lf file manager.
https://github.com/gokcehan/lf .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.file-managers.lf.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.file-managers.lf.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.file-managers.lf.home.settings..name>.pkg#
Which package to use for the lf binaries. You can provide any custom derivation or forks with differing internals as long as the API and binaries stay the same and reside at the same place.
Type: package
Default:
<derivation lf-31>
tensorfiles.programs.file-managers.lf.home.settings..name>.previewer.enable#
Whether to enable Whether to include a custom previewer solution as well. Aside the less complicated text file previewing this includes a solution for the image previewing as well, since lf doesn’t have yet a builtin solution for this issue. That’s the primary reason for these options since it requires sticking up together a bunch of tools with custom scripts. .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.file-managers.lf.home.settings..name>.previewer.backend#
As of now the following backends/solutions are supported
- Ueberzug (https://github.com/ueber-devel/ueberzug)
- Kitty and its icat kitten protocol
Type: one of “ueberzug”, “kitty”
Default:
"ueberzug"
tensorfiles.programs.file-managers.lf.home.settings..name>.withIcons#
Enable the preview icons defined at ./icons for the lf file manager
Type: boolean
Default:
true
tensorfiles.programs.git.enable#
Whether to enable Enables NixOS module that configures/handles the git program. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.git.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.git.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.git.home.settings..name>.userEmail#
Email that should be used for commits and credentials.
Type: null or string
Default:
null
tensorfiles.programs.git.home.settings..name>.userName#
Username that should be used for commits and credentials. If none provided, the top level name for the home-manager will be used.
Type: null or string
Default:
null
tensorfiles.programs.newsboat.enable#
Whether to enable Enables NixOS module that configures/handles the newsboat rss reader. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.newsboat.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.newsboat.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.newsboat.home.settings..name>.urls.news.enable#
Whether to enable Enable the addition of news related urls into the newsboat rss reader. .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.newsboat.home.settings..name>.urls.news.urls#
News source urls for the newsboat rss reader
Type: list of (submodule)
Default:
[
{
tags = [
"news"
"czech"
];
url = "https://www.novinky.cz/rss";
}
{
tags = [
"news"
"czech"
];
url = "https://zpravy.aktualne.cz/rss/";
}
{
tags = [
"news"
"czech"
];
url = "https://www.krimi-plzen.cz/rss";
}
{
tags = [
"news"
"czech"
];
url = "https://www.irozhlas.cz/rss/irozhlas";
}
{
tags = [
"news"
"czech"
];
url = "http://feeds.feedburner.com/odemcene-clanky";
}
{
tags = [
"news"
"english"
];
url = "https://www.theguardian.com/international/rss";
}
]
tensorfiles.programs.newsboat.home.settings..name>.urls.news.urls...tags#
Feed tags.
Type: list of string
Default:
[ ]
Example:
tensorfiles.programs.newsboat.home.settings..name>.urls.news.urls...title#
Feed title.
Type: null or string
Default:
null
Example:
"ORF News"
tensorfiles.programs.newsboat.home.settings..name>.urls.news.urls...url#
Feed URL.
Type: string
Example:
"http://example.com"
tensorfiles.programs.newsboat.home.settings..name>.urls.sci.enable#
Whether to enable Enable the addition of science related urls into the newsboat rss reader. .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.newsboat.home.settings..name>.urls.sci.urls#
Science source urls for the newsboat rss reader
Type: list of (submodule)
Default:
[
{
tags = [
"sci"
"czech"
];
url = "https://vesmir.cz/cz/vesmir-rss-odemcene-clanky.html";
}
{
tags = [
"sci"
"czech"
];
url = "https://www.mff.cuni.cz/cs/articlesRss";
}
{
tags = [
"sci"
"english"
];
url = "https://api.quantamagazine.org/feed/";
}
{
tags = [
"sci"
"english"
];
url = "http://feeds.nature.com/nature/rss/current";
}
{
tags = [
"sci"
"english"
"papers"
];
url = "http://export.arxiv.org/rss/quant-ph";
}
{
tags = [
"sci"
"english"
"papers"
];
url = "http://export.arxiv.org/rss/math-ph";
}
{
tags = [
"sci"
"english"
"papers"
];
url = "http://export.arxiv.org/rss/gr-qc";
}
{
tags = [
"sci"
"english"
"papers"
];
url = "http://export.arxiv.org/rss/cs";
}
]
tensorfiles.programs.newsboat.home.settings..name>.urls.sci.urls...tags#
Feed tags.
Type: list of string
Default:
[ ]
Example:
tensorfiles.programs.newsboat.home.settings..name>.urls.sci.urls...title#
Feed title.
Type: null or string
Default:
null
Example:
"ORF News"
tensorfiles.programs.newsboat.home.settings..name>.urls.sci.urls...url#
Feed URL.
Type: string
Example:
"http://example.com"
tensorfiles.programs.newsboat.home.settings..name>.urls.tech.enable#
Whether to enable Enable the addition of tech related urls into the newsboat rss reader. .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.newsboat.home.settings..name>.urls.tech.urls#
Tech source urls for the newsboat rss reader
Type: list of (submodule)
Default:
[
{
tags = [
"tech"
"czech"
];
url = "https://root.cz/rss/clanky";
}
{
tags = [
"tech"
"czech"
];
url = "https://root.cz/rss/zpravicky";
}
{
tags = [
"tech"
"english"
];
url = "https://www.archlinux.org/feeds/news/";
}
{
tags = [
"tech"
"english"
];
url = "https://news.ycombinator.com/rss";
}
{
tags = [
"tech"
"english"
];
url = "https://feeds.arstechnica.com/arstechnica/index";
}
]
tensorfiles.programs.newsboat.home.settings..name>.urls.tech.urls...tags#
Feed tags.
Type: list of string
Default:
[ ]
Example:
tensorfiles.programs.newsboat.home.settings..name>.urls.tech.urls...title#
Feed title.
Type: null or string
Default:
null
Example:
"ORF News"
tensorfiles.programs.newsboat.home.settings..name>.urls.tech.urls...url#
Feed URL.
Type: string
Example:
"http://example.com"
tensorfiles.programs.pywal.enable#
Whether to enable Enables NixOS module that configures/handles pywal colorscheme generator. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.pywal.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.pywal.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.pywal.home.settings..name>.pkg#
Which package to use for the pywal utilities. You can provide any custom derivation or forks with differing internals as long as the API and binaries stay the same and reside at the same place.
Type: package
Default:
<derivation pywal-3.3.0>
tensorfiles.programs.pywal.persistence.enable#
Whether to enable Whether to autoappend files/folders to the persistence system. For more info on the persistence system refer to the system.persistence NixOS module documentation.
Note that this will get executed only if
-
persistence.enable = true;
-
tensorfiles.system.persistence module is loaded
-
tensorfiles.system.persistence.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.shells.zsh.enable#
Whether to enable Enables NixOS module that configures/handles the zsh shell. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.shells.zsh.package#
The zsh package (derivation or path) that should be used for the internals of this module.
Type: package
Default:
<derivation zsh-5.9>
tensorfiles.programs.shells.zsh.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.shells.zsh.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.shells.zsh.home.settings..name>.oh-my-zsh.enable#
Whether to enable Whether to enable the oh-my-zsh framework related code .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.shells.zsh.home.settings..name>.oh-my-zsh.plugins#
oh-my-zsh plugins that are enabled by default
Type: list of string
Default:
tensorfiles.programs.shells.zsh.home.settings..name>.oh-my-zsh.withFzf#
Whether to enable the fzf plugin
Type: boolean
Default:
true
tensorfiles.programs.shells.zsh.home.settings..name>.p10k.enable#
Whether to enable Whether to enable the powerlevel10k theme (and plugins) related code. .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.shells.zsh.home.settings..name>.p10k.cfgFile#
Potential override of the p10k.zsh config filename.
Type: string
Default:
"p10k.zsh"
tensorfiles.programs.shells.zsh.home.settings..name>.p10k.cfgSrc#
Path (or ideally, path inside a derivation) for the p10k.zsh configuration file
Note: This should point just to the target directory. If you
want to change the default filename of the p10k.zsh
file,
modify the cfgFile option.
Type: path
Default:
/nix/store/3a58am8j0qrzxlcqdwv86hscapqzkcil-source/modules/programs/shells/zsh
tensorfiles.programs.shells.zsh.home.settings..name>.pywal.enable#
Whether to enable Whether to enable the integration with the pywal colorscheme generator program. The integration may range from just some color parsing/loading to sometimes full on detailed plugins depending on the context.
Note that the code will get execute only if
-
pywal.enable = true;
-
tensorfiles.programs.pywal module is loaded
-
tensorfiles.programs.pywal.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.shells.zsh.home.settings..name>.shellAliases.catToBat#
Remap the cat related commands to its reworked edition bat.
Type: boolean
Default:
true
tensorfiles.programs.shells.zsh.home.settings..name>.shellAliases.findToFd#
Remap the find related commands to its reworked edition fd.
Type: boolean
Default:
true
tensorfiles.programs.shells.zsh.home.settings..name>.shellAliases.grepToRipgrep#
Remap the find related commands to its reworked edition fd.
Type: boolean
Default:
true
tensorfiles.programs.shells.zsh.home.settings..name>.shellAliases.lsToEza#
Enable predefined shell aliases
Type: boolean
Default:
true
tensorfiles.programs.shells.zsh.home.settings..name>.withAutocompletions#
Whether to enable autosuggestions/autocompletion related code
Type: boolean
Default:
true
tensorfiles.programs.shells.zsh.persistence.enable#
Whether to enable Whether to autoappend files/folders to the persistence system. For more info on the persistence system refer to the system.persistence NixOS module documentation.
Note that this will get executed only if
-
persistence.enable = true;
-
tensorfiles.system.persistence module is loaded
-
tensorfiles.system.persistence.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.programs.terminals.alacritty.enable#
Whether to enable Enables NixOS module that configures/handles the alacritty terminal. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.terminals.alacritty.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.terminals.alacritty.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.terminals.kitty.enable#
Whether to enable Enables NixOS module that configures/handles the kitty terminal. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.terminals.kitty.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.terminals.kitty.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.wayland.ags.enable#
Whether to enable Enables NixOS module that configures/handles the ags.nix app launcher
https://github.com/Aylur/ags .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.wayland.ags.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.wayland.ags.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.wayland.anyrun.enable#
Whether to enable Enables NixOS module that configures/handles the anyrun app launcher
https://github.com/Kirottu/anyrun .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.wayland.anyrun.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.wayland.anyrun.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.programs.wayland.waybar.enable#
Whether to enable Enables NixOS module that configures/handles the waybar wayland bar. .
Type: boolean
Default:
false
Example:
true
tensorfiles.programs.wayland.waybar.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.programs.wayland.waybar.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.security.agenix.enable#
Whether to enable Enables NixOS module that configures/handles the agenix security module. By doing so, you enhance other modules with the option to automatically configure their various secrets/passwords via agenix. .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.dunst.enable#
Whether to enable Enables NixOS module that configures/handles the dunst notification manager service. .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.dunst.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.services.dunst.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.services.dunst.home.settings..name>.pywal.enable#
Whether to enable Whether to enable the integration with the pywal colorscheme generator program. The integration may range from just some color parsing/loading to sometimes full on detailed plugins depending on the context.
Note that the code will get execute only if
-
pywal.enable = true;
-
tensorfiles.programs.pywal module is loaded
-
tensorfiles.programs.pywal.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.networking.networkmanager.enable#
Whether to enable Enables NixOS module that configures/handles the networkmanager service. .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.networking.networkmanager.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.services.networking.networkmanager.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.services.networking.networkmanager.home.settings..name>.addUserToGroup#
Whether the given user should be added to the
networkmanager
group.
Type: boolean
Default:
true
tensorfiles.services.networking.networkmanager.persistence.enable#
Whether to enable Whether to autoappend files/folders to the persistence system. For more info on the persistence system refer to the system.persistence NixOS module documentation.
Note that this will get executed only if
-
persistence.enable = true;
-
tensorfiles.system.persistence module is loaded
-
tensorfiles.system.persistence.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.networking.openssh.enable#
Whether to enable Enables NixOS module that configures/handles everything related to ssh, that is remote access, messagess, ssh-agents and ssh-keys with the openssh backend. .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.networking.openssh.agenix.enable#
Whether to enable Whether to enable the agenix ecosystem for handling secrets, which includes
a. passwords
b. keys
c. certificates
There is a preferred way to organize secrets (see example at
github:tsandrini/tensorfiles), however, most modules will accept a path
override if you wish to do so. For this you should look into the agenix
related options of the appropriate modules. If this is not okay for you, you
should set the password manually yourself instead.
Note that this will get executed only if
-
agenix = true;
-
tensorfiles.security.agenix module is loaded
-
tensorfiles.security.agenix.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.networking.openssh.agenix.hostKey.enable#
Whether to enable TODO .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.networking.openssh.agenix.hostKey.privateKeyEnvPath#
TODO
Type: string
Default:
"ssh/ssh_host_ed25519_key"
tensorfiles.services.networking.openssh.agenix.hostKey.privateKeySecretsPath#
TODO
Type: string
Default:
"hosts/exampleHost/files/host_key"
tensorfiles.services.networking.openssh.agenix.hostKey.publicKeyEnvPath#
TODO
Type: string
Default:
"ssh/id_ed25519.pub"
tensorfiles.services.networking.openssh.agenix.hostKey.publicKeyRaw#
TODO
Type: null or string
Default:
null
tensorfiles.services.networking.openssh.agenix.hostKey.publicKeySecretsAttrsetKey#
TODO
Type: string
Default:
"publicKeys.hosts.exampleHost.hostKey"
tensorfiles.services.networking.openssh.genHostKey.enable#
Whether to enable Enables autogenerating per-host based keys. Apart from certain additional
checks this works mostly as a passthrough to
openssh.authorizedKeys.keys
, for more info refer to the documentation
of said option.
.
Type: boolean
Default:
true
Example:
true
tensorfiles.services.networking.openssh.genHostKey.hostKey#
TODO
Type: attribute set
Default:
tensorfiles.services.networking.openssh.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.services.networking.openssh.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.services.networking.openssh.home.settings..name>.authorizedKeys.enable#
Whether to enable TODO .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.networking.openssh.home.settings..name>.authorizedKeys.keysRaw#
TODO
Type: list of string
Default:
[ ]
tensorfiles.services.networking.openssh.home.settings..name>.authorizedKeys.keysSecretsAttrsetKey#
TODO
Type: string
Default:
"publicKeys.hosts.exampleHost.users.‹name›.authorizedKeys"
tensorfiles.services.networking.openssh.home.settings..name>.userKey.enable#
Whether to enable TODO .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.networking.openssh.home.settings..name>.userKey.privateKeyHomePath#
TODO
Type: string
Default:
".ssh/id_ed25519"
tensorfiles.services.networking.openssh.home.settings..name>.userKey.privateKeySecretsPath#
TODO
Type: string
Default:
"hosts/exampleHost/users/‹name›/private_key"
tensorfiles.services.networking.openssh.home.settings..name>.userKey.publicKeyHomePath#
TODO
Type: string
Default:
".ssh/id_ed25519.pub"
tensorfiles.services.networking.openssh.home.settings..name>.userKey.publicKeyRaw#
TODO
Type: null or string
Default:
null
tensorfiles.services.networking.openssh.home.settings..name>.userKey.publicKeySecretsAttrsetKey#
TODO
Type: string
Default:
"publicKeys.hosts.exampleHost.users.‹name›.userKey"
tensorfiles.services.networking.openssh.home.settings..name>.withKeychain#
TODO
Type: boolean
Default:
true
tensorfiles.services.pywalfox-native.enable#
Whether to enable Enables NixOS module that configures/handles the pywalfox native messenger. .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.pywalfox-native.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.services.pywalfox-native.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.services.wayland.window-managers.hyprland.enable#
Whether to enable TODO .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.wayland.window-managers.hyprland.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.services.wayland.window-managers.hyprland.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.services.wayland.window-managers.hyprland.home.settings..name>.ags.enable#
Whether to enable Enable ags hyprland integration
This includes
- launching ags
- mediakeys via ags .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.wayland.window-managers.hyprland.home.settings..name>.pywal.enable#
Whether to enable Whether to enable the integration with the pywal colorscheme generator program. The integration may range from just some color parsing/loading to sometimes full on detailed plugins depending on the context.
Note that the code will get execute only if
-
pywal.enable = true;
-
tensorfiles.programs.pywal module is loaded
-
tensorfiles.programs.pywal.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.x11.picom.enable#
Whether to enable Enables NixOS module that configures/handles the x11 picom compositor service. .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.x11.picom.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.services.x11.picom.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.services.x11.redshift.enable#
Whether to enable Enables NixOS module that configures/handles the x11 redshift service .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.x11.redshift.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.services.x11.redshift.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.services.x11.window-managers.xmonad.enable#
Whether to enable Enables NixOS module that configures/handles the xmonad window manager. .
Type: boolean
Default:
false
Example:
true
tensorfiles.services.x11.window-managers.xmonad.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.services.x11.window-managers.xmonad.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.services.x11.window-managers.xmonad.home.settings..name>.cbatticon.enable#
Whether to enable Enable the cbatticon battery indicator. Doing so install the appropriate derivation and adds the management code into the xmonad configuration.
https://github.com/valr/cbatticon .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.x11.window-managers.xmonad.home.settings..name>.cbatticon.pkg#
Which package to use for the battery indicator.
You can provide any custom derivation as long as the main binary
resides at $pkg/bin/cbatticon
.
Type: package
Default:
<derivation cbatticon-1.6.13>
tensorfiles.services.x11.window-managers.xmonad.home.settings..name>.dmenu.enable#
Whether to enable Enable the dmenu app launcher integration. This does one of two things, first off
-
If
tensorfiles.programs.dmenu
is installed and enabled it will use whatever is defined inside that module. -
If not, it will install
dmenu.pkg
and use that version.
and secondly, it creates the keyboard mappings. .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.x11.window-managers.xmonad.home.settings..name>.dmenu.pkg#
Which package to use for the dmenu app launcher.
You can provide any custom derivation as long as the main binary
resides at $pkg/bin/dmenu
, $pkg/bin/dmenu_run
, …
Type: package
Default:
<derivation dmenu-5.2>
tensorfiles.services.x11.window-managers.xmonad.home.settings..name>.playerctl.enable#
Whether to enable Enable integration with the playerctl toolset. Doing so enables the media keys functionality.
https://github.com/altdesktop/playerctl .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.x11.window-managers.xmonad.home.settings..name>.playerctl.pkg#
Which package to use for the playerctl utility.
You can provide any custom derivation as long as the main binary
resides at $pkg/bin/playerctl
.
Type: package
Default:
<derivation playerctl-2.4.1>
tensorfiles.services.x11.window-managers.xmonad.home.settings..name>.pywal.enable#
Whether to enable Whether to enable the integration with the pywal colorscheme generator program. The integration may range from just some color parsing/loading to sometimes full on detailed plugins depending on the context.
Note that the code will get execute only if
-
pywal.enable = true;
-
tensorfiles.programs.pywal module is loaded
-
tensorfiles.programs.pywal.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.x11.window-managers.xmonad.home.settings..name>.volumeicon.enable#
Whether to enable Enable the volumeicon volume indicator. Doing so install the appropriate derivation and adds code to spawn it into the trayer.
http://nullwise.com/volumeicon.html .
Type: boolean
Default:
true
Example:
true
tensorfiles.services.x11.window-managers.xmonad.home.settings..name>.volumeicon.pkg#
Which package to use for the volumeicon indicator.
You can provide any custom derivation as long as the main binary
resides at $pkg/bin/volumeicon
.
Type: package
Default:
<derivation volumeicon-0.5.1>
tensorfiles.services.x11.window-managers.xmonad.persistence.enable#
Whether to enable Whether to autoappend files/folders to the persistence system. For more info on the persistence system refer to the system.persistence NixOS module documentation.
Note that this will get executed only if
-
persistence.enable = true;
-
tensorfiles.system.persistence module is loaded
-
tensorfiles.system.persistence.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.system.persistence.enable#
Whether to enable Enables NixOS module that configures/handles the persistence ecosystem. Doing so enables other modules to automatically use the persistence instead of manually having to set it up yourself. .
Type: boolean
Default:
false
Example:
true
tensorfiles.system.persistence.btrfsWipe.enable#
Whether to enable Enable btrfs based root filesystem wiping.
This has the following requirements
-
The user needs to have a btrfs formatted root partition (
rootPartition
) with a root subvolumerootSubvolume
. This means that the whole system is going to reside on one partition.Additional decoupling can be achieved then by btrfs subvolumes.
-
The user needs to create a blank snapshot of
rootSubvolume
during installation specified byblankRootSnapshot
.
The TL;DR of this approach is that we basically just restore the rootSubvolume to its initial blank snaphost.
You can populate the root partition with any amount of desired btrfs
subvolumes. The rootSubvolume
is the only one required.
.
Type: boolean
Default:
false
Example:
true
tensorfiles.system.persistence.btrfsWipe.blankRootSnapshot#
The btrfs snapshot of the main rootSubvolume. You will probably need to create this one manually during the installation . formatting of the system. One such way is using the following command:
btrfs su snapshot -r /mnt/root /mnt/root-blank
Type: string
Default:
"root-blank"
tensorfiles.system.persistence.btrfsWipe.mountpoint#
Temporary mountpoint that should be used for mounting and resetting the rootPartition.
This is useful mainly if you want to prevent some conflicts.
Type: path
Default:
"/mnt"
tensorfiles.system.persistence.btrfsWipe.rootPartition#
The dev path for the main btrfs formatted root partition that is mentioned in the btrfsWipe.enable doc.
Type: path
Default:
"/dev/sda1"
tensorfiles.system.persistence.btrfsWipe.rootSubvolume#
The main root btrfs subvolume path that is going to be reset to blankRootSnapshot later.
Type: string
Default:
"root"
tensorfiles.system.persistence.disableSudoLectures#
Whether to disable the default sudo lectures that would be otherwise printed every time on login
Type: boolean
Default:
true
tensorfiles.system.persistence.persistentRoot#
Path on the already mounted filesystem for the persistent root, that is, a root where we should store the persistent files and against which should we link the temporary files against.
This is usually simply just /persist.
Type: path
Default:
"/persist"
tensorfiles.system.users.enable#
Whether to enable Enables NixOS module that sets up the basis for the userspace, that is declarative management, basis for the home directories and also configures home-manager, persistence, agenix if they are enabled.
(Persistence) The users module will automatically append and set up the
usual home related directories, however, in case that you have an opt-in
filesystem with a persistent home, you should set
persistence.enable = false
(Agenix) This module uses the following secrets
common/passwords/users/$user_default
User passwords. They are meant to be defaults that should be later configured and changed appropriately on each host, which would ideally behosts/$host/passwords/users/$user
.
Type: boolean
Default:
false
Example:
true
tensorfiles.system.users.agenix.enable#
Whether to enable Whether to enable the agenix ecosystem for handling secrets, which includes
a. passwords
b. keys
c. certificates
There is a preferred way to organize secrets (see example at
github:tsandrini/tensorfiles), however, most modules will accept a path
override if you wish to do so. For this you should look into the agenix
related options of the appropriate modules. If this is not okay for you, you
should set the password manually yourself instead.
Note that this will get executed only if
-
agenix = true;
-
tensorfiles.security.agenix module is loaded
-
tensorfiles.security.agenix.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.system.users.home.enable#
Enable multi-user configuration via home-manager.
The configuration is then done via the settings option with the toplevel
attribute being the name of the user, for more info please refer to the
documentation and example of the settings
option.
Type: boolean
Default:
true
Example:
false
tensorfiles.system.users.home.settings#
Multiuser home-manager configuration option submodule. Enables doing hm module level configurations via simple attrsets.
In the case of an enabled home configuration, but not passing any
concrete values, ie. meaning that home.enable = true
, however,
home.settings
is left unchanged, it will be populated with the
default values specific to each module using the user provided
during the initialization of lib.tensorfiles.options
(by default “root”).
Type: attribute set of (submodule)
Default:
Example:
{
myOtherUser = { };
myUser = {
myOption = true;
otherOption = {
name = "test2";
};
};
root = {
myOption = false;
otherOption = {
name = "test1";
};
};
}
tensorfiles.system.users.home.settings..name>.IDE#
User’s preferred IDE.
Note that this option doesn’t actually download or enable any packages (you should do that yourself), it’s instead a simple way to tell other programs what IDE to launch for a given user if needed (and also presets some env variables).
Type: null or string
Default:
"vi"
tensorfiles.system.users.home.settings..name>.agenixPassword.enable#
Whether to enable TODO .
Type: boolean
Default:
false
Example:
true
tensorfiles.system.users.home.settings..name>.agenixPassword.passwordSecretsPath#
TODO
Type: string
Default:
"hosts/exampleHost/users/‹name›/system-password"
tensorfiles.system.users.home.settings..name>.appDataDir#
The usual downloads home dir. Path is relative to the given user home directory.
If you’d like to disable the features of the downloads dir, just
set it to null, ie home.settings.$user.downloadsDir = null;
Type: path
Default:
"/home/‹name›/.local/share"
tensorfiles.system.users.home.settings..name>.appStateDir#
TODO
Type: path
Default:
"/home/‹name›/.local/state"
tensorfiles.system.users.home.settings..name>.browser#
User’s preferred browser.
Note that this option doesn’t actually download or enable any packages (you should do that yourself), it’s instead a simple way to tell other programs what browser to launch for a given user if needed (and also presets some env variables).
Type: string
Default:
"w3m"
tensorfiles.system.users.home.settings..name>.cacheDir#
TODO
Type: path
Default:
"/home/‹name›/.cache"
tensorfiles.system.users.home.settings..name>.configDir#
The usual downloads home dir. Path is relative to the given user home directory.
If you’d like to disable the features of the downloads dir, just
set it to null, ie home.settings.$user.downloadsDir = null;
Type: path
Default:
"/home/‹name›/.config"
tensorfiles.system.users.home.settings..name>.description#
TODO
Type: null or string
Default:
null
tensorfiles.system.users.home.settings..name>.downloadsDir#
The usual downloads home dir.
If you’d like to disable the features of the downloads dir, just
set it to null, ie home.settings.$user.downloadsDir = null;
Type: null or path
Default:
"/home/‹name›/Downloads"
tensorfiles.system.users.home.settings..name>.editor#
User’s preferred editor.
Note that this option doesn’t actually download or enable any packages (you should do that yourself), it’s instead a simple way to tell other programs what editor to launch for a given user if needed (and also presets some env variables).
Type: null or string
Default:
"vi"
tensorfiles.system.users.home.settings..name>.email#
TODO
Type: null or string
Default:
null
tensorfiles.system.users.home.settings..name>.graphicalBackend#
User’s preferred graphical backend.
Type: one of “tty”, “wayland”, “x11”
Default:
"tty"
tensorfiles.system.users.home.settings..name>.homeDir#
TODO
Type: path
Default:
"/home/‹name›"
tensorfiles.system.users.home.settings..name>.initDirectoryStructure#
Whether to automatically create all the directories. Home-manager doesn’t do this automatically unless you need to populate it with files, so this option might be useful.
This is achieved by creating an empty .blank
file inside the
directories, thanks to this we preserve the overall purity.
Type: boolean
Default:
true
tensorfiles.system.users.home.settings..name>.isNixTrusted#
Whether the user has the ability to connect to the nix daemon and gain additional privileges for working with nix (like adding binary cache)
Type: boolean
Default:
false
tensorfiles.system.users.home.settings..name>.isSudoer#
Add user to sudoers (ie the wheel
group)
Type: boolean
Default:
true
tensorfiles.system.users.home.settings..name>.miscDataDir#
TODO
If you’d like to disable the features of the downloads dir, just
set it to null, ie home.settings.$user.miscDataDir = null;
Type: null or path
Default:
"/home/‹name›/FiberBundle"
tensorfiles.system.users.home.settings..name>.orgDir#
Central directory for the organization of your whole life! Org-mode, org-roam, org-agenda, and much more!
If you’d like to disable the features of the org dir, just
set it to null, ie home.settings.$user.orgDir = null;
Type: null or path
Default:
"/home/‹name›/OrgBundle"
tensorfiles.system.users.home.settings..name>.projectsDir#
TODO
If you’d like to disable the features of the downloads dir, just
set it to null, ie home.settings.$user.projectsDir = null;
Type: null or path
Default:
"/home/‹name›/ProjectBundle"
tensorfiles.system.users.home.settings..name>.terminal#
User’s preferred terminal emulator.
Note that this option doesn’t actually download or enable any packages (you should do that yourself), it’s instead a simple way to tell other programs what terminal to launch for a given user if needed (and also presets some env variables).
Type: string
Default:
"xterm"
tensorfiles.system.users.persistence.enable#
Whether to enable Whether to autoappend files/folders to the persistence system. For more info on the persistence system refer to the system.persistence NixOS module documentation.
Note that this will get executed only if
-
persistence.enable = true;
-
tensorfiles.system.persistence module is loaded
-
tensorfiles.system.persistence.enable = true; .
Type: boolean
Default:
true
Example:
true
tensorfiles.tasks.nix-garbage-collect.enable#
Whether to enable Enables NixOS module that configures the task handling periodix nix store garbage collection. .
Type: boolean
Default:
false
Example:
true
tensorfiles.tasks.system-autoupgrade.enable#
Whether to enable Module enabling system wide nixpkgs . host autoupgrade Enables NixOS module that configures the task handling periodix nixpkgs and host autoupgrades. .
Type: boolean
Default:
false
Example:
true