Commit Graph

162 Commits

Author SHA1 Message Date
Robert Helgesson 28b6c3670c
docs: update nmd
With improved conversion of Markdown list items.
2023-06-24 13:18:38 +02:00
Robert Helgesson 29872a1c8f
docs: update nmd
Mainly to work around recent changes in Nixpkgs with respect to
`_module.args`.
2023-06-24 11:52:37 +02:00
Naïm Favier 6c78ba7932
docs/contributing: link to NMT's bash-lib (#4125) 2023-06-22 16:35:33 +02:00
Midnight Veil a10aa82e8a
docs: Document osConfig module argument (#4103)
As mentioned https://github.com/nix-community/home-manager/issues/393#issuecomment-1259996423.

Otherwise only documented in source code, which isn't very findable.
2023-06-19 11:37:28 +02:00
Robert Helgesson 28614ed7a1
lib: add functions to create DAGs from lists 2023-06-05 23:08:30 +02:00
Naïm Favier 96078e4a93
Fix release notes (#4044) 2023-06-01 00:44:06 +02:00
Emily 53ccbe0170
fish: use babelfish for `hm-session-vars.sh` (#4012)
* home-environment: add `home.sessionVariablesPackage`

Allow the `hm-session-vars.sh` derivation to be referenced from other
modules, e.g. to translate it to fish with babelfish at build time.

* fish: use babelfish for `hm-session-vars.sh`

Translate `hm-session-vars.sh` to fish at system build time,
significantly decreasing shell startup time.

Based on https://github.com/NixOS/nixpkgs/pull/108947 by @kevingriffin.
2023-06-01 00:01:27 +02:00
Robert Helgesson f1490b8caf
Switch current unstable version to 23.11 2023-05-31 19:11:30 +02:00
Robert Helgesson 33ccc5c285
Switch stable branch to release-23.05 2023-05-31 19:11:29 +02:00
Cynthia Fox 59659243cd
PR_TEMPLATE: Note nix3 test method in checklist (#3972)
* PR_TEMPLATE: Note nix3 test method in checklist

Allows for running with the `nixpkgs` from the lock file, as well as
using a more familiar interface for users of the experimental CLI, which
would've avoided me opening #3971.

Also updates the corresponding note in `docs/contributing.adoc` to have
the correct invocation path.

* PR_TEMPLATE: `the experimental CLI` -> `Flakes`
2023-05-17 12:59:35 +02:00
Naïm Favier e4272987f7
Drop CODEOWNERS 2023-05-14 12:46:21 +02:00
Jan Tojnar ea29b1a8d1
docs: Add GVariant cross-references 2023-05-07 12:25:32 +02:00
Jan Tojnar 13d666dd68
docs: Mention GVariant format strings 2023-05-07 12:25:31 +02:00
Jan Tojnar a0ddb8af40
docs: Mention GVariant auto-coercion at the top 2023-05-07 12:25:30 +02:00
Jan Tojnar cfa5c2869b
docs: GVariant dictionaries are already supported
The support for dictionaries were introduced in 864ff685fe.
2023-05-07 12:25:29 +02:00
Jan Tojnar 81d5b220cd
docs: Fix broken GVariant docs link 2023-05-07 12:25:28 +02:00
Jan Tojnar 3e906060a8
docs: Add inline anchors for direct linking to GVariant types 2023-05-07 12:25:27 +02:00
witcher ae79840bc7
doc: replace invalid link (#3881)
The link to the Nix RFC 42 is invalid. Replace this with a valid link to the
upstream NixOS/rfcs repo, pinning it to the commit that introduced the RFC.
2023-04-17 17:53:44 +02:00
Robert Helgesson d3fd3b9d69
docs: bump nmd
Makes code callouts unselectable.
2023-03-31 00:00:25 +02:00
Robert Helgesson db37c53760
docs: bump nmd 2023-03-24 20:01:16 +01:00
Damien Cassou 2bf15d3835
docs: reference Stylix in 3rd-party extensions 2023-03-21 08:50:31 +01:00
Robert Helgesson c8cb60b8a1
home-manager: add `init` command to main tool
The init command is essentially the old install script but integrated
into the home-manager tool. This simplifies things slightly since we
can use the existing code infrastructure.

The init command is Nix flake aware in the sense that, if we detect
that the user's Nix setup supports flakes, then we also create an
initial `flake.nix` file.

Finally, we update the installation instructions for the Nix flakes
standalone setup to use the new init command.

Zsh completion update provided by Anund <anundm@gmail.com>.
2023-03-15 22:47:04 +01:00
Robert Helgesson cae54dc45c
home-manager: change default configuration home
This changes the default configuration location for Home Manager
configurations from

    $XDG_CONFIG_HOME/nixpkgs

to

    $XDG_CONFIG_HOME/home-manager

The old location is still supported but using it will trigger a
warning message.

Fixes #3640
2023-03-14 23:10:54 +01:00
Robert Helgesson da15dd1f27
docs: minor typographic improvement in release note 2023-03-14 21:44:06 +01:00
Robert Helgesson 8d2b898532
docs: update description of uninstall command
The removal of Home Manager generations is now non-optional.
2023-03-13 22:50:48 +01:00
cbarrete 36999b8d19
docs: simplify flake-specific instructions in the documentation (#3737)
Install home-manager via `nix run` rather than `nix-build` then running
the activation script out of the store manually.

Co-authored-by: Cédric Barreteau <cbarrete@users.noreply.github.com>
2023-03-08 11:29:47 +01:00
Robert Helgesson f807788035
docs: add chapter on 3rd-party extensions
Fixes #3459
2023-03-01 22:09:38 +01:00
Robert Helgesson 7b6e507151
docs: slight improvement of Flake documentation 2023-02-26 16:20:40 +01:00
Robert Helgesson 02ac667557
docs: bump nmd
Fixes cross-compilation.
2023-02-07 23:28:21 +01:00
Robert Helgesson c43d4a3d6d
firefox: manage add-ons per-profile
Internally we already managed them per-profile but exposed a global
option to maintain backwards compatibility. The benefit to having
per-profile extensions is quite large though, so it is time to switch.

Users of the global extensions option will get an error message that
indicates how to edit their configuration to work again.
2023-02-05 23:54:56 +01:00
Bernardo Meurer 6d2ba4654d
home-manager: pass --refresh to nix (#3624)
This flag is useful to force Nix to re-fetch cached flakes. Without it,
you cannot deploy from a non-local flake in quick succession, since the
caching causes the flake to not be re-fetched.
2023-02-05 11:14:03 +01:00
Mario Rodas c59f0eac51
treewide: fix typos (#3618) 2023-01-24 11:30:04 +01:00
Robert Helgesson 12d43fd40a
docs: bump nmd
Fixes #3612
2023-01-23 23:07:09 +01:00
Robert Helgesson 275ab72891
docs: bump nmd
Fixes #3605
2023-01-20 22:36:43 +01:00
Robert Helgesson 2c29ae48f9
docs: bump nmd 2023-01-18 12:26:16 +01:00
Robert Helgesson 6c5b08a0c1
docs: fetch nmd from sourcehut 2023-01-18 12:26:15 +01:00
Naïm Favier bd3efacb82
docs: mention how to override the home-manager flake input (#3556) 2023-01-17 10:35:01 +01:00
Robert Helgesson 2827b53064
docs: bump nmd
- Fix paragraphs in option field texts containing Markdown.

- Fix generation of documentation for options with Markdown in
  multiple fields.

- Support AsciiDoc in module option documentation.
2023-01-15 00:11:26 +01:00
Zhaofeng Li 176e455371
home-manager: Add home-manager search path to EXTRA_NIX_PATH (#3241) 2023-01-10 10:35:00 +01:00
Robert Helgesson f1b1594e7b
docs: bump nmd
Fixes #3579
2023-01-09 23:06:21 +01:00
Gaétan Lepage 684bdb386c
i3: remove i3/i3-gaps distinction (#3563) 2023-01-08 22:05:36 +01:00
Robert Helgesson 9e565f0d9d
docs: bump nmd
Fixes #3573
2023-01-07 12:08:34 +01:00
Robert Helgesson 709a87fe33
docs: bump nmd
- Introduces support for Markdown documentation in modules.
2023-01-06 23:51:39 +01:00
Robert Helgesson 3ecd5305a4
docs: bump nmd
- Simplifies DocBook build by generation version DocBook 5 files
  directly.

- Make DocBook generate consistent anchor IDs.
2023-01-05 22:40:52 +01:00
Anders Kaseorg c55fa26ce0
home-manager: pass -L/--print-build-logs to nix build
When building from a flake, `nix build` hides the build output by
default, with a `-L`/`--print-build-logs` option to show it. Pass this
option along from `home-manager` if the user provides it.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2022-12-25 12:09:29 +01:00
Mario Rodas b5c083300b
treewide: fix typos 2022-12-05 12:58:02 +01:00
James Chen-Smith 90b0e5f440
flake: correct nix-darwin flake description
Corrects copy/paste mistake in the nix-darwin flake description.
2022-12-04 15:26:36 +01:00
Robert Helgesson 71fa4cdf9c
home-manager: update stable version to 22.11 2022-12-02 11:49:58 +01:00
Andrew Marshall cc58d31953
flake: Expose tests to allow running purely (#3412)
* flake: Expose tests to allow running purely

The existing way to run tests with `nix-shell` relies on impure usage of
`<nixpkgs>`. This can lead to failures when the local nixpkgs is
incompatible with the locked one. I.e., where CI is passing but a
contributor may experience a failure.

So, expose tests as `devShells.tests` to use the locked nixpkgs and
allow easy invocation via `nix develop`.

* tests: Remove impure path

With Nix 2.10+ and pure evaluation mode e.g.

```
nix run nixpkgs/nixos-unstable#nixVersions.nix_2_10 -- develop -i .#tests.zplug-modules
```

this test would fail with:

> error: the path '~/.customZplugHome' can not be resolved in pure mode

Since the test only cares that it is a path, rather than anything about
its contents, use a dummy empty directory.
2022-11-27 01:37:24 +01:00
Robert Helgesson 62cb5bcf93
Switch master branch version to 23.05 2022-11-24 23:13:38 +01:00
Robert Helgesson 886675991b
home-environment: reset PATH in activation script
Starting with state version 22.11 we completely reset the PATH
variable in the activation script. This is to avoid impurities and
unexpected results if the activation script accidentally uses a
command found in the user's PATH.
2022-11-07 15:09:36 +01:00
Robert Helgesson d1191c6d05
docs: bump nmd
Fixes #3342
2022-10-20 08:47:36 +02:00
Liam Petrie 864ff685fe
lib: add two new gvariant types
Add GVariant variant and dictionary entry types
2022-09-29 13:05:51 +02:00
mtths 9da6c0232e
docs: explain how to enable flakes on NixOS
Since `nix.conf` is generated when using NixOS, it cannot be edited.

Instead we add the instructions described by Xe in
https://xeiaso.net/blog/nix-flakes-1-2022-02-21
2022-09-29 12:15:38 +02:00
Robin Stumm 65b65ce5ef
broot: use upstream defaults, allow all config options (#2644)
* broot: use freeformType for config

* broot: use defaults from upstream

closes #2395

* broot: generate shell function

* broot: add @dermetfan to CODEOWNERS

* broot: rename `config` option to `settings`

* broot: make example more idiomatic

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2022-09-26 20:36:06 +02:00
Robert Helgesson 5427f3d1f0
mpd: use XDG music dir if XDG user dirs are enabled
If the user has enabled the XDG user directories module then we can
use the XDG music directory in the MPD module. Otherwise we'll leave
the option undefined so that the user is forced to define the
directory to use.

This applies to state version 22.11 and above.

Fixes #3225
2022-09-16 13:41:40 +02:00
DrRuhe 9f7fe353b6
docs: replace use of `#` by `$ sudo`
The hope is that this makes it more obvious that these commands should
be run as the root user.
2022-09-09 23:34:29 +02:00
MaxCan-Code 8e4220e6c6
flake: add templates (#2892)
Add example flakes from `docs/nix-flakes.adoc` as templates.
2022-08-26 22:37:16 -04:00
hab25 b13946438f
docs: improve contributing documentation
- Fix name of file generated by `$ nix-build -A docs.manPages`.

- Note "Capitalize the subject line" as an exception to the seven
  rules. Not even the example commit message (closely below this
  change) follows this rule.
2022-07-27 14:10:32 +02:00
Robert Helgesson 602f2ce59c
docs: note support for 2.4 or later for Flake 2022-07-12 23:35:46 +02:00
Fisher Sun d6d600e76d
docs: remove bit about Nix 2.4 not being supported
With #2840, Nix 2.4 is supported.
Resolves #3061.

Signed-off-by: Fisher Sun <fisher521.fs@gmail.com>
2022-07-12 23:32:47 +02:00
Thiago Kenji Okada 177f1887d4
compton: remove
This module was deprecated since release 20.03 according to the news, so
it can be removed.
2022-07-12 11:21:50 +02:00
Thiago Kenji Okada b908e61dfa
picom: sync module with the NixOS version
This brings a few advantages:

- Use of float instead of strings to represent float values,

- Use of structure settings, and

- Better type checking for some settings

Also add thiagokokada as codeowner of picom.
2022-07-12 11:21:49 +02:00
Robert Helgesson 9550595502
docs,tests: fetch nmd and nmt using fetchTarball
This simplifies the code a bit and avoids using experimental Flake
functionality. If Flakes become stable before NixOS 22.11 then we can
consider having nmd and nmt as Flake inputs. Maybe could then also
avoid the need for flake-compat.
2022-06-26 22:22:46 +02:00
Pol Dellaiera 72a135b093
docs: fix homeManagerConfiguration documentation 2022-06-26 20:05:31 +02:00
Naïm Favier f26946858e
flake: remove superfluous arguments
Remove `stateVersion`, `username`, and `homeDirectory` as they can be
set in the configuration directly. Together with the previous commit,
this makes setting `stateVersion` explicitly mandatory.

Also replace `configuration` by `modules`, which expects a list of
Home Manager modules.

Also remove `system` which was made useless by #3028.
2022-06-26 01:01:57 +02:00
Naïm Favier e0baf8ee0c
docs: disable _module.check for nixos/nix-darwin modules
Currently we're maintaining a "mock" module made of sink options,
which requires updating whenever the definitions in the
nixos/nix-darwin modules change.

Instead, set `_module.check` to false so that definitions in those
modules are simply ignored.
2022-06-25 11:47:47 +02:00
David Baynard da55d18ba2
docs: fix typo in nix-darwin flake
The nix-darwin documentation uses `darwin` not `nix-darwin` to refer
to its own flake, and so this is now consistent (and correct) and uses
`darwin`.
2022-06-25 11:17:37 +02:00
Robert Helgesson 3c710201d5
version: remove default value
The user should always explicitly set the state version they wish to
use. Indeed, the configuration generated by the Home Manager install
script has set this option for a long time. This removal should
therefore not affect many users.
2022-06-21 00:06:53 +02:00
Naïm Camille Favier ce8266dedc
docs: revert to `#` prompt on NixOS 2022-06-20 00:35:04 +02:00
Naïm Favier a0e7ffe7aa
docs: use `$` prompts for nix-channel commands
Channels should be added for the normal user, not for root, because the
home-manager configuration is not supposed to be evaluated as root.

Fixes https://github.com/nix-community/home-manager/issues/2985
2022-06-18 20:59:51 +02:00
Naïm Camille Favier 64ab7d6e8d
Prepare inclusion in nixos-search (#2971)
* Add flake.lock and clean up flake.nix

Add a lockfile to work around https://github.com/NixOS/nix/issues/6541
(and because it's a good idea anyway).

Also use flake-utils, and restrict ourselves to the five platforms
supported by nixpkgs. Otherwise, the IFD for nmd fails on weird
platforms. This fixes `nix flake check`.

Remove the redundant `apps` output, see https://github.com/nix-community/home-manager/pull/2442#issuecomment-1133670487

* nixos,nix-darwin: factor out into a common module

* nixos,nix-darwin: make `home-managers.users` shallowly visible

Make sure the option is included in the NixOS/nix-darwin manual (but the
HM submodule options aren't).

Also add a static description to the HM submodule type so that we don't need to
evaluate the submodules just to build the option manual. This makes
nixos-search able to index the home-manager flake.

Also clean up some TODOs.

* flake: add nmd and nmt

This avoids having to use `pkgs.fetchFromGitLab` in an IFD, which causes
issues when indexing packages with nixos-search because `pkgs` is
instantiated with every platform.
2022-06-07 20:45:06 +02:00
Robert Helgesson 684e85d01d
docs: set 22.11 as next version 2022-06-01 21:56:46 +02:00
Robert Helgesson ac2287df5a
docs: set 22.05 as stable version 2022-06-01 21:56:45 +02:00
Robert Helgesson acad715f78
docs: update copyright year 2022-06-01 21:42:55 +02:00
Robert Helgesson e66f0ff69a
docs: bump nmd 2022-05-23 23:09:24 +02:00
Farseen 8afee75d0d
dconf: note that system dconf must be enabled
Before enabling dconf in Home Manager, dconf must be enabled in system
config.

Otherwise it will fail like this:

```
$ home-manager switch
Starting Home Manager activation
Activating checkFilesChanged
Activating checkLinkTargets
Activating writeBoundary
Activating installPackages
replacing old 'home-manager-path'
installing 'home-manager-path'
Activating dconfSettings
error: GDBus.Error:org.freedesktop.systemd1.NoSuchUnit: Unit dconf.service not found.
```
2022-03-26 09:33:10 +01:00
Robert Helgesson ac94041153
docs: bump nmd
Fixes #2821
2022-03-24 00:41:16 +01:00
midchildan c7a13f76a7
launchd: initial support for LaunchAgents 2022-02-26 10:32:19 +01:00
Daniel Siepmann 5b208b42b2
docs: section how to update system 2022-02-17 22:57:52 +01:00
Caleb Chase 30082a623a
docs: fix standalone flake setup 2022-02-17 22:45:37 +01:00
Shamrock Lee 23a9f9127c
home-manager: add more pass-through options
Specifically, pass through --[extra-]experimental-features to Nix.
2022-02-15 22:45:59 +01:00
Shamrock Lee 03b7495183
docs: fix typo and clarify 2022-02-15 22:44:41 +01:00
Wout Mertens 7c2ae0bdd2
faq: explain how to let HM manage shell profiles 2022-02-13 00:02:53 +01:00
Shamrock Lee 85bbc6cc12
docs: move Nix Flakes documentation to manual
In the manual:
*   Add chapter Nix Flakes
*   Add links to sections of chapter "Using Home Manager"

In README.md:
*   Remove section "Nix Flakes"
*   Add manual reference at the buttom of section "Installation"
2022-02-10 22:15:03 +01:00
Thibault Lemaire fb939d1acf
docs: note how to get status of activation service
Add a note explaining how to get the output of the Home Manager
activation script when it's used as a NixOS module.
2022-01-28 23:01:26 +01:00
Robert Helgesson 1477eb1555
docs: add link to Matrix room
Fixes #2639
2022-01-16 18:48:01 +01:00
rcerc a5dd5d5f19
docs: clarify stand-alone installation instructions
Specifically,

- include system-wide Nixpkgs channel so `NIX_PATH` solution also
  works on multi-user installations;

- additionally link to Nix Discourse reply for more information on
  `NIX_PATH`; and

- remove note about relog on NixOS since all the channels in
  `~/.nix-defexpr/channels/` are included by default, so the Home
  Manager channel should be picked up automatically.
2022-01-14 00:49:04 +01:00
Robert Helgesson adaea605db
home-manager: document the `--version` command option
Fixes #2604
2022-01-02 08:33:32 +01:00
Robert Helgesson a3457d3f85
ci: verify that `meta.maintainers` evaluate
Fixes #2588
2021-12-29 10:16:19 +01:00
Robert Helgesson aef97988da
docs: add release note about translation support 2021-12-20 22:58:54 +01:00
polykernel c7592b747b
treewide: prefer XDG variables over dot directories
Currently, dot directories and XDG base directories are used
inconsistently in the Home Manager option declarations. This creates
ambiguity for the user as to where the location of the file should be
albeit this is rarely encountered in practice as it is sufficient to
read upstream documentation. The rationale is to make declarations
consistent and make a clear distinction between hardcoded and modular
specifications.

References to ~/.config in relevant nixpkgs modules were untouched as
the location is hardcoded upstream[1]. Furthermore, modules of
programs which do not follow XDG specifications were also untouched.

Generalization of tilde(~) expansions to $HOME were also considered,
however there isn't sufficient rationale despite the use of $HOME
being more universal. The expansion is standardized in POSIX[2] and is
essentially portable across all shells, thus there is no pragmatic
value to introducing the change.

[1] https://github.com/nixos/nixpkgs/blob/master/pkgs/top-level/impure.nix
[2] https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_06_01
2021-12-10 23:51:44 +01:00
Nicolas Berbiche 1aaa1a033b
docs: add note about Waybar modules 2021-12-03 18:57:59 +01:00
Nicolas Berbiche 290a188dad
docs: change stable from 21.05 to 21.11 2021-12-03 18:50:22 +01:00
Robert Helgesson 579f2e8beb
Switch to 22.05 as current development release 2021-11-25 22:29:49 +01:00
Robert Helgesson dc2a4e4146
Switch to 21.11 as stable release 2021-11-25 22:22:26 +01:00
oxalica df931a59a5
taskwarrior: change config file location and use relative theme paths (#2455)
After taskwarrior 2.6.0, its default config file now locates at
`$XDG_CONFIG_HOME/task/taskrc`, and builtin themes can be included
via relative paths.
2021-11-23 21:33:03 -05:00
Robert Helgesson 2452979efe
docs: bump nmd 2021-11-18 16:32:15 +01:00
Mmequignon d85bf67c48
pet: fix settings format issue
Before it was not possible to place setting values outside the
`General` section.
2021-11-17 23:42:21 +01:00
Robert Helgesson 2dcd9eb021
docs: minor rewording in usage documentation 2021-11-15 20:52:15 +01:00