1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-12-20 16:59:47 +01:00
Commit graph

239 commits

Author SHA1 Message Date
Robert Helgesson
7ca68c6492
emacs: minor cleanup of extra packages option 2017-11-13 00:03:49 +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
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
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
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
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
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
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
a4c0fead1f
files: be less verbose when linking a directory 2017-10-29 01:21:40 +02:00
Robert Helgesson
7417d8e86e
nixpkgs: add module 2017-10-24 01:29:35 +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
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
Robert Helgesson
335cffe9a9
man: install man, not man-db
This may help with installing on Darwin.
2017-10-18 00:33:31 +02:00
Silvan Mosberger
d81276607c
files: support absolute home directory path 2017-10-15 17:15:16 +02:00
Silvan Mosberger
3bc3b34d97
home-environment: add username and homeDirectory options 2017-10-15 17:15:16 +02:00
Silvan Mosberger
f0a1d69f50
Separate home files module from home-environment.nix 2017-10-15 17:14:32 +02:00
Robert Helgesson
0672936134
info: add "info" to extra outputs to install 2017-10-15 16:03:35 +02:00
Robert Helgesson
3632478b8d
man: add module 2017-10-15 16:01:41 +02:00
Robert Helgesson
c07fa70d58
home-environment: add option home.extraOutputsToInstall 2017-10-15 15:58:34 +02:00
Nikita Uvarov
ee7f2413ed
zsh: use new option to set internal session vars 2017-10-13 16:34:02 +02:00
Robert Helgesson
12ebf21be5
bash: add sessionVariables option 2017-10-12 15:06:51 +02:00
Nikita Uvarov
691eea9b45
zsh: add sessionVariables option 2017-10-12 14:14:06 +02:00
Nikita Uvarov
7e6f3364bc
blueman-applet: add note about required system service 2017-10-11 13:05:47 +02:00
Robert Helgesson
3f430627df
fontconfig: add module 2017-10-10 20:29:22 +02:00
Nikita Uvarov
3160c03843
dunst: implement settings parameter 2017-10-09 14:51:07 +02:00
Nikita Uvarov
420a3f4a01
vim: add more vim settings
New settings: copyindent, hidden, ignorecase, modeline, smartcase.
2017-10-09 14:39:56 +02:00
Nikita Uvarov
9eb48312c7
polybar: enclose strings in double quotes
This fixes the case when there are trailing spaces in
string values which can be used for elements padding.
2017-10-09 14:21:43 +02:00
Nikita Uvarov
469caa1a14
polybar: add module 2017-10-07 12:40:08 +02:00
Robert Helgesson
3aca8a938c
gpg-agent: use full path to gpg-connect-agent 2017-10-05 19:54:09 +02:00
Robert Helgesson
9c859d2655
xmonad: add module
Adapted from #78 and originally authored by Infinisil.
2017-10-04 20:36:31 +02:00
Robert Helgesson
e4c359d8b9
udiskie: add a few configuration options
The new options allow some control over automounting, notifications,
and the tray icon.

This commit also changes the defaults to automatically mount new
devices, udiskie was previously told not to automount. The change in
behavior is to closer match the default options.
2017-10-02 13:25:31 +02:00
Nikita Uvarov
52256d7a73
rofi: add fullscreen option 2017-09-30 14:14:07 +02:00
Robert Helgesson
aa974c0dc3
vim: add option programs.vim.settings
This option gathers basic Vim options into a single place. The idea is
to allow many options without making the Home Manager documentation
too verbose.

This also deprecates the options `programs.vim.lineNumbers` and
`programs.vim.tabSize`.

Fixes #69.
2017-09-30 13:30:42 +02:00
Robert Helgesson
23d3539fcb
xsession: deprecate xsession.windowManager
The intention is for the `xsession.windowManager` option to be
available for full modules in the future. The option
`xsession.windowManager.command` should now be used to specify the
window manager startup command.
2017-09-30 12:48:47 +02:00
Robert Helgesson
bcff7274f4
vim, zsh: use DocBook links in description 2017-09-30 12:10:52 +02:00
Nikita Uvarov
e9deaf2ca5
rofi: add module 2017-09-28 15:39:25 +02:00
Linus Heckemann
34428fc709
Add overlay and instructions for using it 2017-09-27 13:27:40 +02:00
Nikita Uvarov
393274d142
command-not-found: add module 2017-09-27 09:49:32 +02:00
Robert Helgesson
a8e08d14bb
Mark rycee as maintainer for a bunch of modules 2017-09-26 23:40:31 +02:00
Silvan Mosberger
bf9b9026d9
compton: extend module 2017-09-26 14:06:13 +02:00
Nikita Uvarov
0f096f9ad4
git: change extraConfig from lines to attrs 2017-09-22 23:32:38 +02:00
Silvan Mosberger
db55e596d2
zsh: refine module
- fix part of zsh config being built even though cfg.enable is false
- fix .zshenv sourcing when ZDOTDIR already set

and some other minor adjustments
2017-09-22 23:27:49 +02:00
Robert Helgesson
742d1889c5
lib: make dag.nix take lib as argument 2017-09-21 13:19:29 +02:00
Robert Helgesson
61042c7606
lib: use generators from Nixpkgs 2017-09-21 13:18:33 +02:00
Nikita Uvarov
3e4f7228a0
screen-locker: add module 2017-09-20 17:16:21 +02:00
Robert Helgesson
76e0e09aca
emacs: allow custom Emacs package 2017-09-19 23:38:18 +02:00
Silvan Mosberger
e4deffcbe8
vim: add package option
This adds a readonly package option which will be set to the resulting
configured vim package, so it can be refered to by other configuration.
An example would be home.sessionVariables.EDITOR =
config.programs.vim.package + "/bin/vim".
2017-09-18 09:22:01 +02:00
Silvan Mosberger
de5f902487
zsh: add custom dotDir parameter 2017-09-16 21:30:47 +02:00
Robert Helgesson
6ecf9e091c
home-environment: fail if a home.file is outside $HOME 2017-09-13 15:23:43 +02:00
Nikita Uvarov
aa69598b57
compton: add module 2017-09-13 14:40:30 +02:00
Robert Helgesson
f47084968d
news: minor cleanup
This puts entries in chronological order and adds a comment describing
how to get a suitable time stamp.
2017-09-12 18:08:44 +02:00
Nikita Uvarov
6a8e8e92a7
blueman-applet: add module 2017-09-12 16:44:16 +02:00
Nikita Uvarov
c7edde6ca4
zsh: add user nix-profile dir to fpath
Fixes zsh plugins installed to nix user profile via nixpkgs.
2017-09-12 15:39:36 +02:00
Nikita Uvarov
379e2c694b
zsh: move aliases definitions after initExtra
Same motivation as in https://github.com/NixOS/nixpkgs/pull/28378.
zsh.initExtra parameter can be used by external modules which can
redefine user aliases. This change will give user-defined aliases
the highest priority.
2017-09-12 15:21:38 +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
Robin Stumm
258bc85b9c
zsh: add plugins submodule
To pass compinit security checks,
plugins are liked into ~/zsh/plugins folder.
This also solves issues with a slow start up,
see https://github.com/rycee/home-manager/pull/56#issuecomment-328057513.
2017-09-12 14:42:38 +02:00
Silvan Mosberger
fc1d4f5362
ssh: allow attrset matchBlock 2017-09-12 08:54:18 +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
Jean Potier
721f924e15
zsh: remove search for installed completions
1. It slows down the initial start: it takes around 2s at first launch,
and around 0.25s for the following launches;
2. It seems to be redundant since just installing zsh package gives
working completions with correct $fpath set.
2017-09-04 11:45:41 +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
Robert Helgesson
e561beab44
home-environment: include home path in generation directory
Technically not necessary but it was a bit silly to leave out this
important directory from the generation directory. This also makes it
more convenient to browse the installed packages after a
`home-manager build`.
2017-08-27 00:18:13 +02:00
Nikita Uvarov
3bcd9d747b
owncloud-client: add module 2017-08-26 22:56:26 +02:00
Nikita Uvarov
85a71a3923
oh-my-zsh: set ZSH_CACHE_DIR 2017-08-26 18:24:52 +02:00
Robert Helgesson
a30751464a
info: use XDG_CACHE_HOME if defined 2017-08-26 12:10:14 +02:00
Nikita Uvarov
1678548353
zsh: set HELPDIR 2017-08-24 13:13:35 +02:00