This allows specifying, for example, the music directory using path
literals without causing the directory to be copied to the Nix store.
Suggested-by: Silvan Mosberger <infinisil@icloud.com>
(cherry picked from commit b0544c8cde)
This changes the type of all options that specify ports to
`types.port`. This type restricts values to between 0 and 65535.
(cherry picked from commit ed4f66185f)
This commit adds a "build" command to the install derivation that
tells the user that `nix-shell` should be used.
A derivation attribute `shellHookOnly = true` is also added with the
intent to indicate that the shell hook is the entire point of the
derivation.
(cherry picked from commit fcdab6a62d)
enableCompletion option not only calls compinit but also adds
nix-zsh-completions package to home.packages which should still happen
even if oh-my-zsh is enabled.
The double compinit call will still be eliminated by moving guarding condition
down to the compinit call itself.
Fixes#771.
(cherry picked from commit 7310cfc557)
In particular, don't add trailing backslashes introduced by
`xautolockExtraOptions`. Systemd's unit file parser seems to have
gotten a bit stricter and with systemd 242, the trailing backslash
caused the next non-empty line to be ignored.
In that case, this was `[Section]`, so all subsequent settings were
mistakenly added to `[Service]`, causing them to be ignored entirely.
Simplify and fix this by using `concatStringsSep` to build a single
`ExecStart` line.
(cherry picked from commit 8991fe2e90)
Use `usercfg.home.username` for username instead of attribute name,
as this way we can change username regardless of the name of the attribute.
(cherry picked from commit 2e13c3cdfd)
Add parens to expression so the `-exec` includes files matching both.
Otherwise (before this change) the `-exec` is only invoked for
links (`-type l`):
file or (link -> doexec)
=>
(file or link) -> doexec
(cherry picked from commit f56256f488)
Unfortunately, using `attrsOf` is not possible since it results in too
eager evaluation. In particular, the
home.sessionVariables = {
FOO = "Hello";
BAR = "${config.home.sessionVariables.FOO} World!";
};
example will cause an infinite recursion.
This commit restores the option type of
- `home.sessionVariables`,
- `pam.sessionVariables`,
- `programs.bash.sessionVariables`, and
- `programs.zsh.sessionVariables`
to `attrs`. It also adds test cases for the above options to avoid
regressions.
Fixes#659
(cherry picked from commit b6e613c771)
Having this in the unit file will prevent the file from being
restarted if a change is detected. This is useful if data loss may
occur if the unit is suddenly restarted. For example, restarting the
Emacs service may result in the loss of unsaved open buffers.