Commit graph

894 commits

Author SHA1 Message Date
Florian Klink c718951e97
git: add option 'programs.git.ignores'
This allows the global Git ignores to be configured.
2017-11-12 14:22:59 +01:00
Robert Helgesson 04ea044917
home-manager: look for '--help' on command line
This is a special case to work around the lack of long options in
`getopts`.
2017-11-12 14:11:59 +01:00
Robert Helgesson 66219f23bb
home-manager: add 'remove-generations' command
This command allows the user to immediately remove specific
generations from the profiles directory.
2017-11-12 14:07:41 +01:00
Robert Helgesson 187a12e90a
home-manager: minor cleanup output from generations 2017-11-12 13:37:59 +01:00
Florian Klink 356c0bf751
git: use XDG config directory 2017-11-12 13:16:02 +01:00
Robert Helgesson 7a9c873093
files: add special handling of systemd files
Unfortunately systemd derives nonsensical unit names when the unit
file is a link to a link to a file. This commit ensures that any file
whose target path matches the pattern `*/systemd/user/*` will be
reachable with only one link hop.

This also reverts f52ec0df7c, which
contained a temporary fix. This commit is an improvements in that it
is more explicit and also handles unit files given directly as a home
file source.
2017-11-12 00:56:34 +01:00
Robert Helgesson d7537777c3
files: improve keyword for inheriting executable bit 2017-11-12 00:13:29 +01:00
Robert Helgesson 145aefc9d1
files: simplify cleanup script slightly
The cleanup script now takes relative paths as arguments, not absolute
paths into the old generation. This uses a GNU specific feature of
find.
2017-11-11 14:21:11 +01:00
Robert Helgesson 2b2e20da24
dunst: use xdg.dataFile for D-Bus service file 2017-11-11 00:31:44 +01:00
Robert Helgesson a977c79f9f
xdg: add option 'xdg.dataFile'
This allows creating files within the user's XDG data directory.
2017-11-11 00:30:53 +01:00
Robert Helgesson f52ec0df7c
systemd: force copying of unit files
This is done by exploiting the fact that home files will be copied if
the executable bit of the source file and the target file is
different. This should be considered a hack until some nicer solution
is found.
2017-11-09 17:14:37 +01:00
Robert Helgesson 54043df8fb
files: support recursive linking of directory 2017-11-07 17:18:00 +01:00
Robert Helgesson fad1e108d8
dunst: add option services.dunst.iconTheme
Fixes #119
2017-11-07 17:13:51 +01:00
BjornMelgaard fc3e82584b
readme: expand preconditions installation step
Also fix markdown list item numbering.
2017-11-06 18:02:15 +01:00
Robert Helgesson a0afb6ec8e
Merge branch 'pr-59' 2017-11-06 14:29:18 +01:00
Robert Helgesson 549deb51d6
xdg: use fileType for xdg.configFile 2017-11-06 14:24:04 +01:00
Robert Helgesson 4f842d9f1b
files: extract type of home.file into own file 2017-11-06 14:24:04 +01:00
Cornelius Mika 9627fe6be6
files: link home files instead of copying
Only copy files that need their execute bit changed or use the
deprecated `mode` option.
2017-11-06 14:24:04 +01:00
Cornelius Mika b8ddb11796
use buildCommand for single phase builds 2017-11-06 14:24:04 +01:00
Cornelius Mika f04cc227a6
home-environment: clean up activation script creation 2017-11-06 14:24:04 +01:00
Cornelius Mika 811bc1b8e5
files: extract common variable
Also improve the pattern used to determine whether a symlink target
points to a Home Manager file path.
2017-11-06 14:24:04 +01:00
Cornelius Mika ccb291ce66
files: add option 'executable'
This also deprecates the `home.file.<name?>.mode` option, which is
misleading because the Nix store only allows modes 'r--' and 'r-x'.
2017-11-06 14:24:04 +01:00
Cornelius Mika 676f5c4b31 files: allow arbitrary paths as home file names
By sanitizing the home file name in the derivation name, the home file
name is no longer exposed to the naming restrictions for nix store
paths.

For example, it is now possible to define home files with spaces in
their names without providing a target or source attribute.
2017-11-06 10:34:45 +01:00
Robert Helgesson 14083a0857
home-manager: refuse build if CWD is read-only
This produces a clearer error message than produced by Nix.

Fixes #116.
2017-11-05 19:33:08 +01:00
Anton Strömkvist b4f5b5556f
zsh: Add options for remaining config files
`profileExtra`, `loginExtra` and `logoutExtra` for `zprofile`,
`zlogin`, and `zlogout` respectively
2017-11-02 12:53:43 +01:00
Robert Helgesson fa4f9197ee
home-manager: avoid import to improve error messages
When using `import` to inject the configuration into the module system
we lose the location in error messages, i.e., it just says
``<unknown-file>'`.
2017-11-02 11:19:12 +01:00
Robert Helgesson bfb5a678d2
modules/home-manager: add warning about modulesPath 2017-11-02 10:32:25 +01:00
Robert Helgesson d2572315ca
i3: use XDG configuration directory
Fixes #111.
2017-11-01 09:51:18 +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 82d6aa0c97
xdg: fix use of base path 2017-10-31 12:26:39 +01:00
Nikita Uvarov 1213578eb7
zsh: turn fpath into a set
Forcing fpath to contain unique values increases startup speed by
eliminating extra work of processing duplicated folders.
In addition, it increases startup time when zsh is enabled in both
system and home configuration due to having the same fpath value
between different compinit calls.
Fixes https://github.com/rycee/home-manager/issues/108.
2017-10-30 13:53:40 +01:00
Ruben Maher 268d027770
modules/home-manager: fix syntax error
Fixes the error

    error: syntax error, unexpected $undefined, expecting IND_STR or
    DOLLAR_CURLY or IND_STRING_CLOSE, at
    .../home-manager/modules/programs/home-manager.nix:70:47
2017-10-30 10:47:16 +01:00
Robert Helgesson f55fbe037a
Merge branch 'add/xdg' 2017-10-29 02:00:28 +02:00
Robert Helgesson 3a95ff7435
xdg: add news entry 2017-10-29 01:59:34 +02:00
Robert Helgesson d70715a635
use xdg.configFile for files in XDG config home 2017-10-29 01:59:34 +02: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 efb5256d28
home-manager: use XDG configuration directory 2017-10-29 01:59:34 +02:00
Robert Helgesson a4c0fead1f
files: be less verbose when linking a directory 2017-10-29 01:21:40 +02:00
Silvan Mosberger 35775b3bc5 fix typo 2017-10-24 13:12:18 +02:00
Robert Helgesson 7417d8e86e
nixpkgs: add module 2017-10-24 01:29:35 +02:00
Robert Helgesson df84c466c1
readme: update installation instructions
Also clean up usage section slightly.
2017-10-24 01:17:54 +02:00
Robert Helgesson bf3a8c6383
home-manager: point <home-manager> to project root
Before this path would point to the modules path. Using the project
root instead makes it possible to set `<home-manager>` to point to a
downloadable archive of Home Manager. This should make it
significantly easier to install and keep Home Manager up to date.

To match this change we also deprecate the Home Manager option

    programs.home-manager.modulesPath

and instead ask users to use

    programs.home-manager.path
2017-10-24 01:14:22 +02:00
Ruben Maher 5605e46acb
home-manager: fix typo 2017-10-22 10:59:09 +02:00
Robert Helgesson 3346c7f455
xsession: prepare for session in ~/.xprofile
This works around the way NixOS starts up the systemd graphical
session target.
2017-10-21 14:37:30 +02:00
pasqui23 b78b2b6b35
firefox: add enableIcedTea option 2017-10-21 12:09:39 +02:00
Silvan Mosberger 0f43d5df6a
home-environment: add extraBuilderCommands option 2017-10-21 00:22:05 +02:00
Robert Helgesson 30b9d7f00e
Use only tools from Nixpkgs in activation script
Note, we still pull in the user's `PATH` in case the user has defined
their own activation blocks that depend on additional tools.
Eventually this will be deprecated and removed.

See #99.
2017-10-20 19:04:33 +02:00
Robert Helgesson b9f49cee45
home-environment: use makeBinPath for activation PATH 2017-10-19 22:44:02 +02:00
Robert Helgesson c144580c98
xsession: warn about windowManager option removal 2017-10-19 11:45:04 +02:00