Nikita Uvarov
8b77f1db2c
syncthing: start tray service after bars
...
The QSyncthingTray service requires running tray providers such as
polybar and taffybar.
2018-01-27 17:18:39 +01:00
Nikita Uvarov
a597c66afe
syncthing: merge qsyncthingtray into the module
2018-01-25 21:52:01 +01:00
Nadrieril
38020d9068
redshift: add option to start redshift tray applet
2018-01-22 19:09:13 +01:00
Nikita Uvarov
1b0a5eb54a
polybar: fix the case when config value is a path
...
Polybar treats 'include-file' property differently.
In particular, its value can't be enclosed in
double quotes. Fixes #185 .
2018-01-21 21:01:26 +01:00
André-Patrick Bubel
071f7aea82
qsyncthingtray: add module
2018-01-20 11:51:39 +01:00
Robert Helgesson
32b3f7f2d2
ssh: allow disabling compression in host block
...
Fixes #181 .
2018-01-14 22:08:31 +01:00
Robert Helgesson
576217d33a
gpg-agent: use gpgconf
to set SSH socket path
...
Inspired by #163 .
2018-01-14 15:58:59 +01:00
John Wiegley
b8b595c6b2
ssh: add a few more options
2018-01-13 12:47:30 +01:00
Nikita Uvarov
a93445f3fe
zsh: add history.save option
2018-01-13 11:38:39 +01:00
Nikita Uvarov
dbcb3dd1ae
zsh: fix HISTSIZE and HISTFILE configuration
...
HISTSIZE and HISTFILE should be set in ~/.zshrc and before
sourcing oh-my-zsh since otherwise it will be overridden.
Fixes #177 .
2018-01-13 11:38:39 +01:00
Nadrieril
d6ab6ee370
ssh: add extraConfig option for non-standard options
2018-01-10 22:24:03 +01:00
John Wiegley
c9294e30d9
bash: add option historyFile
2018-01-09 22:34:20 +01:00
Robert Helgesson
d7715f71ad
eclipse: add option enableLombok
2018-01-09 22:03:13 +01:00
Robert Helgesson
18159c85b9
home-environment: deprecate option home.sessionVariableSetter
2018-01-08 21:40:32 +01:00
Robert Helgesson
d7755de116
pam: add option pam.sessionVariables
2018-01-07 17:52:13 +01:00
Robert Helgesson
7631921366
zsh: source session variables script
...
This replaces the explicit set within the Z shell `zshenv` file.
2018-01-07 17:52:13 +01:00
Robert Helgesson
803abb58f9
bash: source session variables script
...
This replaces the explicit set within the Bash profile file.
2018-01-07 17:52:13 +01:00
Robert Helgesson
a3250dfac7
xsession: source session variables script
2018-01-07 17:52:13 +01:00
Robert Helgesson
e624b9aa6a
home-environment: install hm-session-vars.sh
file
...
This is a file containing all session variables exported using a
Bourne-compatible syntax.
2018-01-07 17:52:13 +01:00
Robert Helgesson
2fc1b9b5e0
zsh: use shell library
2018-01-07 17:52:12 +01:00
Robert Helgesson
026375da49
bash: use shell library
2018-01-07 17:51:51 +01:00
Robert Helgesson
58a629b02e
lib/shell: add library of convenience functions
...
This library holds a few convenience functions for generating shell
code.
2018-01-07 16:59:22 +01:00
Robert Helgesson
df6590abfc
home-environment: describe session variable values a bit
2018-01-07 16:59:22 +01:00
Robert Helgesson
33af9948e5
home-environment: describe session variable trickyness
2018-01-07 16:59:22 +01:00
Robert Helgesson
8ab6298f30
bash: do not export HIST* variables
...
These are interpreted by the shell itself and it does not make sense
to export them to sub-processes.
2018-01-07 16:54:29 +01:00
Robert Helgesson
78c308c835
bash: add option bashrcExtra
...
This variable adds some extra flexibility in constructing the
`~/.bashrc` file. Currently the option is hidden from public
documentation since the option name is provisional.
2018-01-07 15:15:32 +01:00
Robert Helgesson
8a2bf21cee
bash: reword option descriptions
2018-01-07 15:04:57 +01:00
Robert Helgesson
59f44c1189
home-environment: run activation script in $HOME
...
This avoids issues when starting the activation script somewhere
inaccessible.
2018-01-05 08:09:18 +01:00
Robert Helgesson
02219dcd79
home-environment: minor code simplification
2018-01-05 08:05:53 +01:00
Robert Helgesson
f0d207f380
Add dag library to config.lib
...
Also replace all imports of `dag.nix` by the entry in `config.lib`.
2017-12-26 17:27:21 +01:00
Robert Helgesson
7dd09cecda
gtk: remove deprecated options
2017-12-23 12:46:02 +01:00
Robert Helgesson
e75b68e391
home-environment: make username and home directory writable
...
In certain cases it makes sense to override the target username and
home directory. In particular, if you're building a configuration for
a remote profile.
2017-12-13 16:31:35 +01:00
Silvan Mosberger
8d360c5a57
systemd: remove filename hack
2017-12-12 18:05:04 +01:00
Cornelius Mika
f6900f0689
files: improve 'target not in $HOME' check
...
Check for prefix instead of inclusion.
2017-12-12 17:46:48 +01:00
Cornelius Mika
8759a5a63e
systemd: add option to automatically start services
2017-12-11 18:25:49 +01:00
Cornelius Mika
52bdbc42bb
systemd: move activation script to separate file
...
This makes the following commit more readable.
2017-12-11 18:08:33 +01:00
Robert Helgesson
28e00b68fd
home-environment: optionally empty PATH in activation
...
This adds the option `home.emptyActivationPath` that, when enabled,
will cause the activation script to ignore the calling user's `PATH`.
The option is disabled by default to match current behavior but the
intent is to change this in the future to reduce risk of accidental
dependencies of the environment.
2017-12-11 17:03:34 +01:00
Robert Helgesson
2ff09158f3
systemd: fix systemctl command
...
The command's path should be taken from the configuration, not be
assumed to be in `PATH`.
2017-12-11 16:58:50 +01:00
Robert Helgesson
6764c26954
files: remove mode
option
...
This option was deprecated >1 month ago and is therefore removed as
per the corresponding news entry.
2017-12-11 15:14:45 +01:00
Robert Helgesson
040159c02f
modules: fix sorting
2017-12-11 13:51:22 +01:00
Robert Helgesson
61c6c83de4
modules: do not import modules
...
The `evalModules` function is smart enough to import modules and will
then also use correct file names.
2017-12-11 13:48:46 +01:00
Silvan Mosberger
0be32c9d42
xmonad: make package lower priority
...
This avoids a conflict for when the user has an xmonad package
installed through `haskellPackages.ghcWithPackages`, which is
necessary for wanting to load the xmonad config with ghc.
2017-12-08 11:48:05 +01:00
Gleb Peregud
aa1bf31bcb
parcellite: add module
...
This adds a Parcellite service. It has no configuration options, since
the app has its own mutable preferences dialog, which unconditionally
replaces `~/.config/parcellite/parcelliterc` when preferences are
saved.
2017-12-08 00:40:28 +01:00
Roman Volosatovs
c023b0532a
gpg-agent: add missing options
2017-12-02 19:44:53 +01:00
Silvan Mosberger
f8aaba6704
lib: add module
2017-12-02 18:11:53 +01:00
Robert Helgesson
a1e36a9a37
xmonad: install xmonad command to profile
...
Fixes #153 .
2017-11-29 23:40:43 +01:00
Tad Fisher
11da41e106
kbfs: add binaries to user profile
...
Add the binaries produced by 'pkgs.kbfs' to the profile, so that
the git-remote-keybase helper can work automatically with
'keybase://' remotes.
2017-11-29 23:35:50 +01:00
Tad Fisher
7a5b9152e9
keybase, kbfs: add modules
2017-11-26 23:11:37 +01:00
Robert Helgesson
7876d533cf
gtk: fix erroneous variable reference
2017-11-24 22:25:36 +01: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
Robert Helgesson
bcb82da88f
gtk: improve theme and font configuration
...
Specifically, allow the user to specify the package that provides the
theme or font.
Fixes #1 .
2017-11-24 21:24:31 +01:00
Robert Helgesson
592fd61788
module/home-manager: remove modulesPath
option
...
This option has been deprecated for a month and is removed according
to the news entry.
2017-11-24 13:51:21 +01:00
Florian Klink
3c875267af
i3: config.modes.resize: add Return to defaults
2017-11-21 09:14:13 +01:00
Robert Helgesson
64befb27eb
news: minor formatting fix
2017-11-20 13:58:04 +01:00
Nikita Uvarov
177565567e
i3: extend module
...
New options:
i3.config.keycodebindings
i3.config.window.commands
i3.config.window.hideEdgeBorders
i3.config.focus.mouseWarping
2017-11-20 11:50:20 +01:00
Nikita Uvarov
8045e56df2
i3: fix config.gaps.smartBorders default value
2017-11-17 09:43:48 +01:00
Nicolò Balzarotti
206a4e17b5
i3: fix small formatting error (missing space)
2017-11-17 09:31:37 +01:00
Florian Klink
2785bf9cb2
i3: correct example for config.floating.criteria
...
The parameter accepts a listOf criteriaModule
(which is types.attrs, not types.string)
2017-11-17 09:27:23 +01:00
Robert Helgesson
bc2f2ad546
systemd: honor RefuseManualStart and RefuseManualStop
...
Fixes https://github.com/rycee/home-manager/issues/140
2017-11-16 15:37:53 +01:00
Robert Helgesson
4fce730326
files: log when creating home file links
2017-11-15 18:31:04 +01:00
Robert Helgesson
9206f363ff
files: fix order of activation actions
...
Specifically, move the cleanup phase to before we switch over the
generation links in `gcroots` and `profiles`.
Fixes https://github.com/rycee/home-manager/issues/134
2017-11-15 18:26:42 +01:00
Robert Helgesson
a36989a860
gnome-terminal: remove commented code
2017-11-15 17:02:19 +01:00
Nikita Uvarov
1946343d5b
i3: add notification option to startup submodule
...
Fixes https://github.com/rycee/home-manager/issues/129 .
2017-11-15 15:43:05 +01:00
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
Nikita Uvarov
7218c45443
zsh: add completions to fpath
2017-08-24 13:13:34 +02:00
Nikita Uvarov
bd914d49f1
zsh: add history submodule
2017-08-24 13:13:34 +02:00
Robert Helgesson
fed112e497
git: simplify submodule slightly
2017-08-24 01:03:01 +02:00
Nikita Uvarov
c3be4c4629
termite: add module
2017-08-23 23:31:47 +02:00
Cornelius Mika
286d678785
systemd: don't fail on activation when services changed
...
The diff command exits with status 1 when detecting differences.
Because of 'set -e', this caused the activation to fail.
2017-08-23 20:07:06 +02:00
Nikita Uvarov
42ae135d38
gpg-agent: add zsh support
2017-08-22 10:10:13 +02:00
Richard Yang
42f5d4404d
home-environment: use relative latest profile link
...
Using a relative path prevents the latest version from being garbage
collected.
2017-08-22 09:23:03 +02:00
Cornelius Mika
5c098dc7ad
lib-bash: always print message announcing a dry run
2017-08-21 18:50:21 +02:00
Cornelius Mika
3dba6fc95c
home-environment: replace superfluous spaces in debug messages
2017-08-21 18:50:21 +02:00
Cornelius Mika
1eee82272a
home-environment: only notify about path deletion on verbose output
2017-08-21 18:50:21 +02:00
Cornelius Mika
da5b7bea78
home-environment: fix error when deleting empty directories
...
With --ignore-fail-on-non-empty, non-emptiness is the only failure
that gets ignored by rmdir. In the case that rmdir reaches $HOME and
considers deleting it, it will detect insufficient permissions and
subsequently exit with an error, even if $HOME is not empty.
Prevent this by calling rmdir with a relative path that excludes
$HOME.
2017-08-21 18:43:17 +02:00
Nikita Uvarov
910cdc0537
zsh: use .zshenv for env vars
2017-08-21 18:00:58 +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
1d24e96074
htop: use types.coercedTo
2017-08-02 22:22:54 +02:00
Robert Helgesson
be432c8654
ssh: add control persist option
2017-07-29 17:47:18 +02:00
Silvan Mosberger
3778a69fbe
htop: add module
2017-07-24 11:42:45 +02:00
Robert Helgesson
d807a5c314
home-environment: fix cleanup of user replaced directories
...
We must only follow the symbolic link once (i.e., not use the `-e`
option) since otherwise the pattern will not match when
`home.file.xyz.source` is a directory.
2017-07-22 00:38:12 +02:00
Robert Helgesson
5862a05fb1
home-environment: avoid harmless but scary error message
2017-07-22 00:18:31 +02:00
Robert Helgesson
dba14bfe90
manual: fix man pages build on unstable NixOS
2017-07-21 21:10:32 +02:00
Robert Helgesson
2e257f40e6
home-manager: remove manually installed home-manager
...
If the `home-manager` module is enabled then check if the
`home-manager` package is installed using `nix-env -i` and if so then
it is automatically uninstalled before the new package environment,
which includes home-manager, is installed.
2017-07-19 00:12:34 +02:00
Robert Helgesson
cdb2bec909
syncthing: expand service description
...
This models the user service on the upstream systemd file.
2017-07-18 13:49:02 +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
89dc8c2004
home-environment: fix home.activation.checkLinkTargets
...
Problem
-------
We resolve symlinks from inside `/nix/store/HASH-home-manager-files`
into the nix store as `/nix/store/HASH-DRVNAME` which does not match
the pattern.
This happened to me because I pull in some repos in via `home.file`.
The `home-manager-files` derivation links to the repo's derivation in
the nix store. For example:
let nanorcs = fetchFromGitHub {
owner = "scopatz";
repo = "nanorc";
…
}; in [
{
target = ".nano";
source = nanorcs;
}
{
target = ".nanorc";
source = "${nanorcs}/nanorc";
}
]
Solution
--------
Call `readlink` without `-e` to obtain only the first redirection from
`~` to `/nix/store/HASH-home-manager-files`.
2017-07-08 00:38:57 +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
Robert Helgesson
196db18f5b
gpg-agent: use systemd socket activation
2017-06-29 23:33:28 +02:00
Robert Helgesson
acf813cadc
systemd: add support for socket units
2017-06-29 01:06:08 +02:00
Robert Helgesson
8af6838869
home-environment: prevent delete of non-managed files
...
When a file has disappeared between the previous and the next
generations then its symlink in `$HOME` is typically deleted. With
this commit we refuse to delete the path unless we are reasonably
certain it is a symlink into a Home Manager generation.
2017-06-29 01:03:39 +02:00
Robert Helgesson
4c85ff7ff2
xsession: rename graphical session target name
...
The `he` in `he-graphical-session` doesn't make much sense, change it
to `hm` for Home Manager.
2017-06-29 00:24:29 +02:00
Robert Helgesson
9c17c5ccbb
Clean up systemd units for all graphical services
2017-06-26 18:42:27 +02:00
Robert Helgesson
acf8d4e985
xsession: use systemd graphical targets
...
The systemd targets don't allow direct startup so we create our own
target for graphical sessions managed by Home Environment.
2017-06-26 18:31:55 +02:00
Robert Helgesson
a9343d8194
udiskie: remove taffybar requirement
...
It should be sufficient to have a graphical session going.
2017-06-26 16:59:11 +02:00
Robert Helgesson
8b5d19e6b7
random-background: actually use image directory option
2017-06-25 22:25:36 +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
Robert Helgesson
f60a1ed689
systemd: handle non-Linux systems better
...
This commit causes an error to be printed if running under a non-Linux
system when a systemd service, target, or timer is active.
It will also prevent running systemd during activation if running
under a non-Linux system.
2017-05-16 22:05:02 +02:00
Robert Helgesson
02288320d0
home-environment: use explicit PATH in activation
...
In the activation script we expect to use the tools provided by GNU
Core Utilities and GNU Bash. This commit therefore explicitly add
these first in the `PATH` environment variable.
2017-05-16 22:04:19 +02:00
Robert Helgesson
8c7811a213
Credit original source for shell color code
2017-05-14 20:35:13 +02:00
Robert Helgesson
3ee505179f
home-environment: colorize activation output slightly
2017-05-14 16:17:38 +02:00
Robert Helgesson
a9da4575f5
home-environment: run file collision check in function
2017-05-14 14:02:11 +02:00
Robert Helgesson
ecf7d91d8b
ssh: use types.str
instead of types.string
...
The `types.string` type is deprecated due to its surprising behavior.
2017-05-13 12:23:59 +02:00
Robert Helgesson
961722c3a8
ssh: add proxy command option
2017-05-13 12:08:09 +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
e8fb9f50ce
gnome-terminal: use attrsOf
rather than loaOf
...
Since the attribute names carry semantic meaning we should be more
strict about the type.
2017-05-10 00:20:15 +02:00
Robert Helgesson
3c69c7589a
xsession: make windowManager option required
...
Also add a fairly complicated example.
2017-05-06 13:01:07 +02:00
Robert Helgesson
88ec7145ba
home-environment: prevent overwriting existing files
...
This should reduce the risk of overwriting an existing file in the
user's home directory. A file will only be replaced if it is a link
pointing to a home-manager tree inside the Nix store.
If an existing file is detected an error is written indicating the
file's path and the activation will terminate before any mutation
occurs.
Fixes #6
2017-05-06 13:01:01 +02:00
Robert Helgesson
7e58b6bb35
home-environment: always link new and clean old generation
...
Previously the home files were not linked if the generation hadn't
changed. Unfortunately, this would mean that, if a file link was
removed for some reason it would not be recreated by running a switch
command.
2017-05-06 00:43:53 +02:00
Robert Helgesson
8fab2a5d9b
Add basic directed acyclic graph data structure
...
Also make use of this instead of Nixpkgs's strings-with-deps library
in activation script generation.
2017-05-04 00:39:36 +02:00
Robert Helgesson
4f1eec8180
Avoid undefined variables in activation script
2017-03-29 00:11:01 +02:00
Robert Helgesson
fea693ba16
Use stricter Bash settings in activation script
...
For example, with these settings Bash will complain if uninitialized
variables are used. Some code has been improved to run cleanly with
these settings.
2017-03-25 21:57:03 +01:00
Robert Helgesson
207c349825
home-environment: allow directory as home file
...
Fixes issue #5 .
2017-03-12 22:39:51 +01:00
Robert Helgesson
ee9bc66f69
home-environment: show full file path in error
...
The file name alone may be misleading.
2017-02-21 21:55:07 +01:00
Robert Helgesson
a3900340e4
home-environment: check files for '.' prefix
...
Nix does not allow files whose name start with a '.' in the Nix store.
This commit makes a not of this fact in the `home.file.source` option
and also adds an assertion verifying that no such file is given.
Closes #4
2017-02-21 21:41:05 +01:00
Robert Helgesson
beba608705
Add support for assertions and warnings
2017-02-21 21:39:53 +01:00
Robin Stumm
fa73a7f916
home-environment: fix evaluation error on undefined lang.base
2017-02-12 10:41:15 +01:00
Robert Helgesson
5d49ea6d49
git: remove default signing key
...
It is mandatory for a user to set the signing key so it does not make
sense to set a default.
2017-02-12 10:02:06 +01:00
Robin Stumm
386d2dbd25
git: fix evaluation error on null extraConfig
2017-02-11 23:35:36 +01:00
Robert Helgesson
ebe01057f8
home-environment: reduce verbosity
2017-02-09 22:32:09 +01:00
Robert Helgesson
6794efdf68
home-environment: add link for current profile
...
This link is needed to make the `delete-older-than` option for
`nix-collect-garbage` work as expected.
2017-02-05 23:00:04 +01:00
Robert Helgesson
119c7b2538
gnome-terminal: load configuration at right time
...
If the dconf service hasn't been installed then the configuration
activation will fail. Thus, make sure the activation script is run after
packages have been installed.
2017-02-05 12:01:49 +01:00
Robert Helgesson
34d472886d
home-environment: do not nix-env -i
on dry run
2017-02-05 11:51:33 +01:00
Robert Helgesson
11ef3873cd
xsession: always source ~/.profile
...
It seems to be pretty standard to do this so always do it, not just when
Bash is the session variable setter.
2017-01-28 18:29:27 +01:00
Robert Helgesson
10031e16bf
gnome-terminal: rename activation command
2017-01-21 13:33:07 +01:00
Robert Helgesson
deaa6d3dd4
Add configurable verbosity during activation
2017-01-21 12:27:50 +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
35e0a339f8
dunst: support dbus activation
2017-01-20 00:20:25 +01:00
Robert Helgesson
550d0e81c9
systemd: handle missing service directories
...
Before it suggested to restart a service `*.service`, which is quite
silly.
2017-01-18 09:27:28 +01:00
Robert Helgesson
86217419e7
home-environment: handle no home files
...
If no files should be installed into the home directory then an error
would occur since the directory holding the files would never be
created. With this change the directory is unconditionally created.
2017-01-17 22:12:51 +01:00
Robert Helgesson
d7a70c87cd
gtk: fix bug in condition
2017-01-17 18:16:45 +01:00
Robert Helgesson
5221dee9ce
home-environment: use Bash to set variables
...
Until a few more standard variables are available to PAM it is a bit
risky to default to it.
2017-01-17 01:13:31 +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
f35b9a9970
Add initial section of activation script
...
The initial section creates some useful variables for use by later
activation sections.
2017-01-16 20:33:53 +01:00
Robert Helgesson
b1f84ada60
Support dry run in activation script
...
If the `DRY_RUN` variable is set then no actual change should be
performed. Only printing what actions would be taken.
2017-01-16 00:16:22 +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
071e631648
Improve a few description fields
2017-01-15 23:42:48 +01:00
Robert Helgesson
6ec3026e51
xsession: improve initialization script
...
This adds a `graphical-session-pre` target for things that need to run
just before the main session starts. Also adds a loop during shutdown
that waits until all deactivating units are gone. Inspired by
<https://youtu.be/hq18daxTkLA >.
2017-01-15 23:42:48 +01:00
Robert Helgesson
75bb0c8efb
gpg-agent: remove deprecated argument
2017-01-15 23:42:47 +01:00
Robert Helgesson
d02f8b17ef
xresources: add newline to end of file
2017-01-15 23:42:47 +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
Robert Helgesson
a617aeaa73
gnome-terminal: add to packages
2017-01-15 23:42:03 +01:00
Robert Helgesson
4efbf0e090
systemd: minor activation output fix
2017-01-15 23:42:03 +01:00
Robert Helgesson
a578ea9527
xsession: import XAUTHORITY into systemd env
2017-01-15 23:42:03 +01:00
Robert Helgesson
8a196bb62b
systemd: fix quoting in glob pattern
2017-01-15 23:42:02 +01:00
Robert Helgesson
dd0e71d686
Rename xorg.target to graphical-session.target
...
Also make sure graphical-session.target is generated.
2017-01-15 23:41:53 +01:00
Robert Helgesson
06a24c37e5
systemd: add support for creating target files
2017-01-15 23:41:52 +01:00
Robert Helgesson
43fd747ba7
Use a generation directory
...
Before we put only user files in the generation directory but that was
quite limiting. In particular, we lost track of the activation script.
2017-01-15 23:41:20 +01:00
Robert Helgesson
d7d02c3ce8
Initial import
2017-01-14 13:15:24 +01:00