Commit graph

51 commits

Author SHA1 Message Date
GrizzlT c7ce343d9b
home-manager: add extendModules attribute
The `home-manager.lib.homeManagerConfiguration` function now has an
additional attribute that can be used to extend a Home Manager
configuration with additional modules outside the project tree.

It works similar to the result of `lib.nixosSystem` from Nixpkgs
2024-01-25 23:24:36 +01:00
Robert Helgesson f2942f3385
Remove some formatting exceptions
This formats a few more file using nixfmt.
2024-01-13 19:05:27 +01:00
Luc Chabassier 5ac84ebeef
Add lib argument to homeManagerConfiguration (#2753) 2022-04-17 18:14:41 -04:00
Michael Hoang 8ab155c61f
modules: Export pkgs to match NixOS (#2696)
This makes it a lot easier to access the `pkgs` that would be used to
build the home configuration, e.g.

    nix build ./dotfiles#homeConfigurations."user@host".pkgs.vim

This is useful as it allows access to a Nixpkgs that has been
instiantiated with config and overlays.
2022-04-16 18:36:37 -04:00
Bernardo Meurer 0fa2b16a07
modules: don't reference deprecated stdenv.lib (#1770)
`stdenv.lib` has been deprecated, and the correct approach is to use
`lib` directly through `pkgs.lib`.
2021-02-01 09:52:05 -05:00
mlatus cf5dad76c1
flake: add extraSpecialArgs
This allows flake user to pass extra arguments to all modules.
2021-01-07 21:13:28 +01:00
Robert Helgesson 6e4b9af080
Switch to extended Nixpkg's lib
This change makes use of the `extend` function inside `lib` to inject
a new `hm` field containing the Home Manager library functions. This
simplifies use of the Home Manager library in the modules and reduces
the risk of accidental infinite recursion.

PR #994
2020-01-21 20:47:04 +01:00
Robert Helgesson f8b03f5750
modules: register the base modules path
This is needed, for example, to support relative paths when disabling
modules.
2019-04-07 13:26:38 +02:00
Robert Helgesson e99de88c5c
modules core: move modules list to own file
This is to simplify use of Home Manager as a NixOS module.
2017-11-24 21:58:16 +01:00
Matthieu Coudron 61a869a1f5
neovim: add module
This is a basic module that allows to configure different Neovim
providers than the system ones. Note, it does not generate any
`init.vim`.
2017-11-12 23:57:14 +01:00
Nikita Uvarov 467b774d13
i3: add module 2017-10-31 16:10:42 +01:00
Robert Helgesson 78a1424582
xsession: remove xsession.windowManager option
This removes the deprecated use of `xsession.windowManager` as a
string.

This commit also adjusts the xmonad module to become a full module.
I.e., the backwards compatibility hack was removed.
2017-10-31 14:05:54 +01:00
Robert Helgesson 54a9058ee0
xdg: add module
When enabled this module will cause Home Manager to manage the user
environment XDG variables. When disabled, then Home Manager will use
the XDG variables taken from the user environment.
2017-10-29 01:59:34 +02:00
Robert Helgesson 7417d8e86e
nixpkgs: add module 2017-10-24 01:29:35 +02:00
Silvan Mosberger f0a1d69f50
Separate home files module from home-environment.nix 2017-10-15 17:14:32 +02:00
Robert Helgesson 3632478b8d
man: add module 2017-10-15 16:01:41 +02:00
Robert Helgesson 3f430627df
fontconfig: add module 2017-10-10 20:29:22 +02:00
Nikita Uvarov 469caa1a14
polybar: add module 2017-10-07 12:40:08 +02:00
Nikita Uvarov e9deaf2ca5
rofi: add module 2017-09-28 15:39:25 +02:00
Nikita Uvarov 393274d142
command-not-found: add module 2017-09-27 09:49:32 +02:00
Nikita Uvarov 3e4f7228a0
screen-locker: add module 2017-09-20 17:16:21 +02:00
Nikita Uvarov aa69598b57
compton: add module 2017-09-13 14:40:30 +02:00
Nikita Uvarov 6a8e8e92a7
blueman-applet: add module 2017-09-12 16:44:16 +02:00
Robin Stumm 29d5f5d760
zsh: fix double compinit slowdown with oh-my-zsh
Integrate oh-my-zsh into zsh module
to be able to control invocation order.
2017-09-12 14:52:04 +02:00
Robert Helgesson cda222d2ec
home-manager: present news even if assertion failed 2017-09-09 17:14:07 +02:00
Robert Helgesson 9c1b3735b4
home-manager: add news sub-command
This command allows the user to examine the news items generated by
the news module. See #52.

Many thanks to @nonsequitur and @uvNikita for suggestions and
improvements.
2017-09-05 11:37:07 +02:00
Robert Helgesson ab0338f6ae
news: add module
This new module adds a "news" feature to Home Manager. See #52.

Many thanks to @nonsequitur and @uvNikita for suggestions and
improvements.
2017-09-05 11:36:33 +02:00
Nikita Uvarov f5289c546e
feh: add module 2017-09-04 21:36:06 +02:00
Nikita Uvarov 2c5151726c
vim: add module 2017-08-28 21:59:38 +02:00
Robert Helgesson 125deafc84
home-manager: add explanatory comment 2017-08-27 17:44:23 +02:00
Robert Helgesson 1445673e18
home-manager: temporarily re-add attribute 2017-08-27 17:13:06 +02:00
Robert Helgesson 4a17d8ef97
home-manager: remove unused attribute 2017-08-27 13:13:43 +02:00
Robert Helgesson b4fff6b9b7
home-manager: minor attribute rename
The "activation-script" attribute doesn't actually point directly at
the activation script. Renamed the attribute to be more descriptive.
2017-08-27 13:04:39 +02:00
Nikita Uvarov 3bcd9d747b
owncloud-client: add module 2017-08-26 22:56:26 +02:00
Nikita Uvarov c3be4c4629
termite: add module 2017-08-23 23:31:47 +02:00
Nikita Uvarov 3ef56576d3
oh-my-zsh: add module 2017-08-16 15:44:27 +02:00
Nikita Uvarov cde8e02bf2
zsh: add module 2017-08-16 13:58:30 +02:00
Silvan Mosberger 3778a69fbe
htop: add module 2017-07-24 11:42:45 +02:00
Utku Demir dd5061d73b
Add syncthing service 2017-07-18 12:50:30 +02:00
Robert Helgesson 7a18a0fb34
home-manager: add module
This module is a module to install and configure the home-manager
tool. By managing the home-manager tool through the Home Manager
module system it will be installed/updated on configuration
activation.
2017-07-11 20:53:42 +02:00
Robin Stumm e274fc732b browserpass: add module (#16)
* browserpass: add module

* apply some review requests

* browserpass: update to 1.0.5

* browserpass: install from Nixpkgs using `home.file`
2017-06-30 22:45:09 +02:00
Christopher League ff65781b84
info: add module
This is a module for managing the GNU info directory for the user
profile. See comments at the top of `modules/programs/info.nix` for
further information.
2017-05-26 00:44:55 +02:00
Christopher League bce262e46e
ssh: add programs.ssh module
This module generates a `.ssh/config` file. This doesn't embed _all_
options for the ssh client, but the most common ones should be there.

Example usage:

```nix
  programs.ssh = {
    enable = true;
    forwardAgent = true;
    controlMaster = "auto";
    matchBlocks = [
      {
        host = "something.blah.edu";
        port = 1024;
        user = "cleague";
        identitiesOnly = true;
      }
      {
        host = "host1 host2 host2.net host2.com";
        port = 7422;
        hostname = "example.com";
        serverAliveInterval = 60;
      }
      {
        host = "lucian";
        forwardX11 = true;
        forwardX11Trusted = true;
        checkHostIP = false;
      };
    };
  };
```

Each entry in `programs.ssh.matchBlocks` must contain a `host` field,
which will be used for the block condition.
2017-05-13 11:41:38 +02:00
Robert Helgesson beba608705
Add support for assertions and warnings 2017-02-21 21:39:53 +01:00
Robert Helgesson 64d6a66324
redshift: add module
This module is adapted from the Nixpkgs version.
2017-01-20 19:26:52 +01:00
Robert Helgesson 30e30688b8
gtk: add module
Quite rough around the edges, though.
2017-01-17 00:50:18 +01:00
Robert Helgesson 5fbbbd1ea4
pam: add module
Also make it possible to set session variables using PAM rather than
Bash.
2017-01-16 23:54:45 +01:00
Robert Helgesson ed81b6848e
manual: add module
This module is capable of producing a bastardized NixOS configuration
manual with Home Manager configuration options instead.
2017-01-15 23:42:48 +01:00
Robert Helgesson 3d3a3f6d13
xresources: add module
This module adds basic support for configuring X resources.
2017-01-15 23:42:47 +01:00
Robert Helgesson 5cb1ede034
firefox: add module 2017-01-15 23:42:46 +01:00