Robert Helgesson
e307ceeee7
systemd: replace use of who
command
...
Curiously the `who` command sometimes does not list logged-in users,
resulting in systemd not being reloaded. Instead we use
systemctl --user is-system-running
to more directly detect whether systemd is running.
2018-02-20 22:04:29 +01:00
Robert Helgesson
4745c7a00d
pidgin: add module
2018-02-19 22:57:50 +01:00
Nikita Uvarov
05ad0c9e06
i3: escape ${} in bars.command example
2018-02-19 20:17:33 +01:00
Matthieu Coudron
6d7b5c9513
i3: don't evaluate "command" example
...
else it attempts to build i3-gaps and fails on darwin see
https://github.com/rycee/home-manager/pull/214#issuecomment-366594833
2018-02-19 16:28:30 +09:00
Nikita Uvarov
de001e05da
i3: add missing bar options
...
New options are: id, commmand, workspaceNumbers, colors.
Fixes #210 .
2018-02-18 20:58:52 +01:00
Matthieu Coudron
be60600a47
neovim: add 'configure' flag
...
so that we have the same options as in nixpkgs.
2018-02-19 07:41:24 +09:00
Andrew Scott
f2265b10e4
rofi: add theme option
...
The preferred method of theming rofi is now to use "rasi" theme files.
This commit therefore downplays the colors option and introduces the
theme option.
2018-02-10 20:11:33 +01:00
Nikita Uvarov
afa865587e
zsh: move env variables setting before oh-my-zsh
...
Fixes #207 .
2018-02-10 19:23:10 +01:00
Robert Helgesson
9ea353569a
Remove deprecated option home.sessionVariableSetter
2018-02-08 22:54:29 +01:00
Robert Helgesson
1bc59f7290
allow Home Manager to be used as a NixOS module
...
This is a NixOS module that is intended to be imported into a NixOS
system configuration. It allows the system users to be set up directly
from the system configuration.
The actual profile switch is performed by a oneshot systemd unit per
configured user that acts much like the regular `home-manager switch`
command.
With this implementation, the NixOS module does not work properly with
the `nixos-rebuild build-vm` command. This can be solved by using the
`users.users.<name?>.packages` option to install packages but this
does not work flawlessly with certain Nixpkgs packages. In particular,
for programs using the Qt libraries.
2018-02-07 20:50:01 +01:00
Christopher League
563a20fc82
xcursor: add module
...
This is a new module for configuring the X cursor theme.
2018-02-05 22:40:16 +01:00
Mogria
6833f96c14
rofi: add options to for location, xoffset & yoffset
2018-02-03 22:07:53 +01:00
Nikita Uvarov
2304c145f3
zsh: add system packages' completion path to fpath
2018-02-03 21:57:44 +01:00
Nikita Uvarov
fa6f697dbb
zsh: move session variables export to zshrc
...
Unlike .zshenv, .zshrc file is sourced only by interactive shells.
2018-02-03 21:16:00 +01:00
Alistair Potts
91a98f919d
stalonetray: add module
...
Adds a service for the Stalonetray system tray.
Configured through a 'config' attribute set, which writes space
separated key value pairs on successive lines to `~/.stalonetrayrc`.
2018-02-03 10:44:37 +01:00
Alistair Potts
616dbd67f7
mercurial: add module
...
Very simple module for hg based on programs.git, and is intended to have
compatible options. For simple setups, a user should be able to write
something like:
{...}:
let vcsconfig = {
enable = true;
userName = "John Smith";
userEmail = "js@example.com";
ignores = [ "*.swp" "*~" ];
};
in
{
programs.git = vcsconfig // {...extra git config...};
programs.mercurial = vcsconfig // {...extra hg confg...};
}
For this reason, the ignore options are `ignores` for `syntax: glob`
and `ignoresRegexp` for `syntax: regexp` so that simple glob ignores
can (very likely) be shared with a git config, despite regular
expressions being the default for mercurial.
2018-02-02 20:52:54 +01:00
Robert Helgesson
6fc0fd315c
syncthing: allow enabling tray independently
2018-02-01 06:59:22 +01:00
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