When using the NixOS module we cannot guarantee that the Nix store
will be writable during startup. Installing the user packages through
`nix-env -i` will fail in these cases.
This commit adds a NixOS option `home-manager.useUserPackages` that,
when enabled, installs user packages through the NixOS
users.users.<name?>.packages
option.
Note, when submodule support and external package install is enabled
then the installed packages are not available in `~/.nix-profile`. We
therefore set `home.profileDirectory` directly to the HM profile
packages.
(cherry picked from commit ef168979bf)
This removes the `nixosSubmodule` option in favor of a new option
`submoduleSupport.enable`. This name better indicates that the
submodule mode applies to both NixOS and nix-darwin.
(cherry picked from commit 2f372ab4d6)
If you want to run a development version for instance, it is easier to
set neovim.package rather than work around the wrapping mechanism etc.
(cherry picked from commit c18984c452)
This makes sure that values added to
programs.git.aliases
or
programs.git.extraConfig
are merged as expected.
Also add a few option examples.
(cherry picked from commit 445c0b1482)
On non-x86 architectures (for example, aarch64) the installation of
home-manager fails indicating that it is attempting to select i686
packages for Linux and those aren't available.
Solution: make the condition for choosing these packages stricter
(cherry picked from commit 2410bc603b)
Makes fish use global scope for abbreviations.
This makes it so that they don't stick across config changes.
Before, an abbreviation would still exist even if removed from the config.
(cherry picked from commit 601619660d)
In particular support source files whose name start with `.` or
contain characters not allowed in the nix store, such as spaces.
Also add some test cases for `home.file`.
(cherry picked from commit 7c04351a57)
This patch allow to define custom msmtp options per email account. For
example: to change the "auth" method from "on" to "login", add
`msmtp.extraConfig.auth="login"`.
(cherry picked from commit a7affc93ba)
Add option "extraLocalVars" for additional local variable definitions
in .zshrc, at the top of the file.
Some zsh plugins/themes expect configuration in local variables before they
are loaded (example: https://github.com/bhilburn/powerlevel9k). Exporting
those clutters the environment and is unnecessary.
(cherry picked from commit 9052131aef)
Use the new module lib.zsh to generate export statements in zsh syntax, using
zsh arrays for lists.
Being a zsh script, this seems more intuitive for .zshrc
(cherry picked from commit 6b5e0efd1e)
Added utilities to generate export statements and definitions for zsh scripts.
Currently, there is only lib.shell which generates export statements in bash
syntax. However, this does not allow to generate export statements for zsh
arrays (syntax: NAME=(elem1 elem2 ...) ), which would be the natural
representation of lists in the nix language.
(cherry picked from commit 62eb7ebeba)
All default keybindings should have a default priority attached to them.
This will allow users to redefine some of the default keybindings
without using mkForce. Fixes#485.
(cherry picked from commit 5d63abb473)