Commit graph

1770 commits

Author SHA1 Message Date
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
Cornelius Mika 02a501705a
home-manager: show full script path on activation error
Run the activation script in its original nix-store location so that
Bash error messages show the real script location instead of 'wrkdir',
which gets deleted right after the script exits.
2017-08-20 09:50:42 +02:00
Cornelius Mika a9d9fb5d75
home-manager: exit with an error on build failure
Because 'set -e' has no effect on commands that run in an if condition,
the script was always exiting with no error when 'doBuild' failed.

As a bonus, $wrkdir is now always removed after building.
2017-08-20 09:50:37 +02:00
Cornelius Mika ffbc7e723d
home-manager: add config file attribute 2017-08-18 21:37:07 +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
Robert Helgesson 28d3f74614
home-manager: allow a user-defined third module path
The user-defined path will be used if present, otherwise the two
"fallback" defaults (in `.nixpkgs` and `.config/nixpkgs`) will be
used.
2017-07-11 20:53:42 +02:00
Robert Helgesson 98c7b23178
home-manager: remove unnecessary variable setting
The `NIX_PATH` variable is set by the `setHomeManagerModulesPath`
function so it is unnecessary to set it again.
2017-07-11 19:48:49 +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
Robert Helgesson 3793dfeab5
Merge branch 'fix/default-conf-dir' 2017-06-07 22:56:44 +02:00
Robert Helgesson 0aa549f07b
home-manager: support .config configuration path
This commit changes the default path of the Home Manager configuration
file from `~/.nixpkgs/home.nix` to `~/.config/nixpkgs/home.nix`. The
old path is still supported and will be used if the `.config` path
does not exist.

This aligns Home Manager with the preferred configuration directory in
NixOS 17.03.

Fixes #13.
2017-06-03 00:42:37 +02:00
Robert Helgesson 67391395ef
home-manager: use NIX_PATH to locate modules
This removes the old argument based method that Home Manager used to
find its modules by a `NIX_PATH` based method. Specifically, this adds
a `home-manager` Nix path prefix that can be overridden much like with
the `nixpkgs` path prefix.
2017-06-03 00:42:37 +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 a4e96843e5
More descriptive header in README 2017-05-17 23:26:16 +02:00
Robert Helgesson dfb5bbddf5
Expand installation instructions slightly
In particular, mention that non-NixOS users may have to create the
per-user `profiles` and `gcroots` directories.

Also reformat the list a little.
2017-05-17 23:15:48 +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
Christopher League 1a491f24f7
home-manager: add coreutils to PATH
This ensures that we use the expected version of some useful tools,
such as readlink.
2017-05-16 22:04:58 +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