1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-30 15:09:46 +01:00
Commit graph

122 commits

Author SHA1 Message Date
polykernel
9437177e82
home-manager: fix home-manager build error (#2514)
Two misplaced quotations were introduced in `doBuild` by https://github.com/nix-community/home-manager/pull/2501, which
caused the parameter expansion of DRY_RUN to include an extraneous tab. Since the flake uri is passed
later into the command, Nix assumes the whitespace sequence as the flake uri and returns that it is not
a valid flake reference.

This PR removes the misplaced quotations in `doBuild` and also places the flake uri as the first argument for
calls to `doBuildFlake` for consistency with `doBuildAttr`. Placing the uri first in the command line also guards
against possible security issues if arbitrary uris are expanded prior to the user given uri.

(cherry picked from commit 9de77227d7)
2021-12-02 23:22:52 +01:00
polykernel
609370699f
home-manager: do not build news when using flake (#2501)
Currently, the `buildNews` and `doBuildAttrs` are always called
unconditionally even if a flake configuration is specified. This cause
it to always fail prior to the actual build performed by `doBuildAttrs`
because `setConfigFIle` can not find the home-manager configuration file.
As a result, an error message specifying no configuration file is shown.

Furthermore, if a user has remnant legacy configuration, the `doSwitch` and
`doBuild` functions will effectively build the activationPackage twice, with
the legacy configuration overriding the flake configuration.

A conditional check for FLAKE_CONFIG_URI was added to mitigate this by building
the legacy configuration when no flake configuration is present. There is one
exception which is when a flake configuration exists in the default location, where
the user can not build the legacy configuration as along as the file is present.
However, the tradeoff is acceptable as it matches current behavior when FLAKe_CONFIG_URI
is set for instantiation, and an user is unlikely to simulataneously switch
between the two mechanisms.

An abstract function for building flakes `doBuildFlake` was created to match
`doBuildAttrs` for  manageing options and build flags.

The --no-write-lock-file flag was removed from the --debug case as it is already
matched previously at the --recreate-lock-file case.
2021-11-24 19:09:53 -05:00
Sandro Jäckel
398c0b36a3
home-manager: properly forward exit codes 2021-11-19 23:47:57 +01:00
Sandro
3f12ce5f7d
home-manager: forward --no-write-lock-file (#2471) 2021-11-14 23:00:26 -05:00
Robert Helgesson
426830a174
home-manager: minor reorder of generated home.nix
It's a bit nicer to put the home options at the top, I think.
2021-11-14 00:13:53 +01:00
Robert Helgesson
be1ad30503
Remove remaining allowSubstitutes = false
See, e.g., https://github.com/NixOS/nix/issues/4442 for wider
discussions.
2021-11-12 23:24:08 +01:00
oxalica
70c5b268e1
xdg: add option 'xdg.stateHome' (#2439)
It corresponds to the newly introduced `XDG_STATE_HOME`.
2021-11-04 17:42:44 +01:00
Thiago Kenji Okada
e377556818
home-manager: remove top-level with pkgs.lib 2021-10-31 08:50:55 +01:00
Sandro
71902bc913
home-manager: fix command line option for nix build 2021-10-30 23:30:46 +02:00
c4605
1a6df903e3
home-manager: add command line argument --impure 2021-08-19 00:07:49 +02:00
Timur Demin
d11afee973
home-manager: allow remote builders for nix-build (#2268)
This allows running home-manager with --builders option passed through
to nix-build, which will then pass build execution to remote builders on
other machines.

This may be useful with relatively complex home-manager configurations
where building on a local machine is not feasible.
2021-08-17 16:53:44 -04:00
Sandro Jäckel
5f6364fc28
home-manager: add --no-out-link command line option
When this option is used then `home-manager build` will not produce a
`result` link in the current working directory.
2021-07-29 16:04:41 +02:00
Kid
0423a7b40c
fish: fix home-manager completion path 2021-07-25 00:32:20 +08:00
axion
82b06103ae
home-manager: add fish completion 2021-07-18 23:13:06 +02:00
Jörg Thalheim
9ed7a73ae2 home-manager: fix nixos-option fallback 2021-07-10 11:38:33 +02:00
Jörg Thalheim
ae636c09f4 Revert "Revert "home-manager: use nixos-option from pkgs""
This reverts commit 2c9fe368c1.
2021-07-10 11:21:04 +02:00
Jörg Thalheim
2c9fe368c1 Revert "home-manager: use nixos-option from pkgs"
This reverts commit d7d7bbbf20.
2021-07-10 11:17:32 +02:00
Robert Helgesson
d7d7bbbf20
home-manager: use nixos-option from pkgs
Fixes #2170
2021-07-10 09:34:55 +02:00
Nicolas Berbiche
5a19e0ea9c
home-manager: fix nixos-option evaluation (#2115) 2021-06-16 16:39:02 -04:00
Dusk Banks
63af2d3e4c
home-manager: add home-manager option
This adds functionality much like that provided by `nixos-option`.
2021-06-15 23:46:45 +02:00
bb010g
5eb199e937
home-manager: pass on --debug option (#2049)
* man-home-manager: remove trailing whitespace

* home-manager: pass on `--debug` option
2021-06-05 16:11:06 -06:00
Robert Helgesson
19d95258ac
docs: set current version to 21.11 2021-06-05 20:05:04 +02:00
Robert Helgesson
7fcfd9b565
home-manager: format home-manager/default.nix 2021-04-07 21:09:27 +02:00
ant-arctica
3a16ebdf72
home-manager: Add --flake option to home-manager (#1856)
Implements a --flake options for build and switch, along with the usual
flake related optons (for lock-files etc).

Configurations in the flake are automatically discovered in the
following order:
1. `outputs.homeConfigurations."$flake-uri"` (the `--flake parameter`)
2. `outputs.homeConfigurations."$USERNAME@$HOSTNAME"`
3. `outputs.homeConfigurations."$USERNAME"`

Make home-manager use default configuration from
~/.config/nixpkgs/flake.nix, if it exists and nothing else is
specified.

Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-04-07 13:17:39 -04:00
Sandro
90223cf3eb
home-manager: allow overriding pkgs with --arg(str) (#1889) 2021-03-31 19:40:37 +02:00
Teo Ljungberg
69e2693342
home-manager: respect NO_COLOR environment variable
This makes Home Manager respect the NO_COLOR environment variable to
disable coloring from output generated by Home Manager.

This initiative can be found more on https://no-color.org/
2021-03-03 23:28:06 +01:00
Robert Helgesson
46a750f94f
home-manager: use 21.05 as next version
Fixes #1662
2021-02-05 22:09:00 +01:00
Anund
68dfc86173
home-manager: add zsh completion
Fixes #1075
2021-01-03 10:13:46 +01:00
Robert Helgesson
fd79015c0f
home-manager: pass -j to nix-build
Fixes #1596
2020-11-13 23:56:57 +01:00
Robert Helgesson
ef72617c4a
home-manager: add --version option 2020-11-03 23:12:24 +01:00
Robert Helgesson
072a6ea333
docs: change stable from 20.03 to 20.09 2020-11-02 23:13:20 +01:00
zimbatm
014d8deb60
tree-wide: update url to the repo 2020-10-22 22:41:56 +02:00
Samuel Ainsworth
7e5fee4268
home-manager: handle $EDITOR containing spaces
The quoted `$EDITOR` causes errors when using values containing
arguments, eg. "code --wait". This is in contrast to the majority of
tools (git, etc.) that do support this usage.

Fixes #1496
2020-10-08 23:17:28 +02:00
Robert Helgesson
2c6a023744
home-manager: remove home-manager-path on uninstall
Fixes #1443
2020-08-14 23:19:48 +02:00
Dmitry Kalinkin
dc227b579d
home-manager: respect NIX_STATE_DIR
This allows to install home-manager on a system without root access.

PR #1196
2020-06-14 20:41:55 +02:00
Robert Helgesson
b95ad63201
Deprecate use of builtins.getEnv
This removes the use of the non-deterministic function
`builtins.getEnv` for state version ≥ 20.09.

PR #1269
2020-05-26 00:28:59 +02:00
Matthew Bauer
4d49cee194
home-manager: allow unspecified confAttr
PR #1255
2020-05-21 14:04:13 +02:00
Robert Helgesson
42e4eef749
Update documentation for release 20.03 2020-04-23 00:29:11 +02:00
Robert Helgesson
687395ebda
home-manager: remove unsupported -2 option
This option used to make the `home-manager` command use the `nix` tool
from Nix 2. Unfortunately the `nix` tool is a bit experimental and it
is best to await its stabilization before supporting it in Home
Manager.
2020-04-18 11:37:06 +02:00
Robert Helgesson
e5325c2274
home-manager: fix shellcheck warning 2020-04-18 11:37:05 +02:00
Timo Kaufmann
5969551a5c
home-manager: add instantiate subcommand
It can be useful to simply instantiate a Home Manager configuration
without actually building it, for example for the purpose of
pre-building it with some custom command.

PR #1099
2020-03-25 21:16:43 +01:00
Chris Hodapp
9ab59dd6ac
home-manager: handle args with spaces to doBuildAttr
Presently, if you pass an argument with spaces in it to `doBuildAttr`,
it will be split it into multiple arguments to `nix build` or
`nix-build`. This situation arises, for example, on systems with
spaces in `XDG_DATA_HOME`.

Specifically, the `home-manager` script errors out in trying to
address the `read-news` state file. With this change, argument
separation should be preserved properly in `doBuildAttr`.

PR #1044
2020-02-24 23:51:36 +01:00
Robert Helgesson
e1153f4d2e
home-manager: make sure all files are uninstalled
This forces the `home.file` option to be completely empty when
switching to the uninstall configuration. This is necessary to guard
against files are added by default in Home Manager, such as
`$XDG_CACHE_HOME/.keep`.
2020-02-15 19:26:23 +01:00
Robert Helgesson
45abf3d38a
Apply nixfmt on many files 2020-02-02 01:07:28 +01:00
oxalica
7c30831e8f
home-manager: fix pass-through option passing
This resolves, e.g., the errors occurring when passing empty arguments
like `--option builders ''`.

Closes #967
2020-01-01 12:27:29 +01:00
Robert Helgesson
54f367b119
install: add state version to initial configuration
This sets the state version in recent installs to the latest released
version. It is beneficial for people to be aware of this option and it
is also good to help new users get a more recent setup.
2019-12-31 09:27:37 +01:00
Robert Helgesson
7c2532d9f9
home-manager: add --(no-)substitute options
Fixes #312
2019-12-01 10:43:39 +01:00
Robert Helgesson
8ab1d22a82
home-manager: support --option argument
Fixes #784
2019-08-30 00:52:09 +02:00
Robert Helgesson
8fe4e0879c
home-manager: support a few extra pass-through options
These options will be passed through to the `nix-build` tool.
2019-08-26 23:06:36 +02:00
Robert Helgesson
6bec9547c6
home-manager: exit directly after printing help 2019-08-26 23:06:36 +02:00