Commit graph

128 commits

Author SHA1 Message Date
Robert Helgesson
4ccd4b9ccc
readme: add 'console' syntax highlighting
(cherry picked from commit e1bceb2adb)
2017-09-27 18:26:00 +02:00
Linus Heckemann
c9d0e3ee29
Add overlay and instructions for using it
(cherry picked from commit 34428fc709)
2017-09-27 18:25:54 +02:00
Robert Helgesson
3c6453b32d
home-environment: fail if a home.file is outside $HOME
(cherry picked from commit 6ecf9e091c)
2017-09-21 15:55:56 +02:00
Nikita Uvarov
c2ab3bc95c
readme: add man page info
(cherry picked from commit 82c5aa82d2)
2017-09-21 15:50:47 +02:00
Robert Helgesson
d31a1ba6e2
lib: make dag.nix take lib as argument
(cherry picked from commit 742d1889c5)
2017-09-21 15:50:47 +02:00
Robert Helgesson
21a4dedd6f
lib: use generators from Nixpkgs
(cherry picked from commit 61042c7606)
2017-09-21 15:50:47 +02:00
Silvan Mosberger
4b09df1809
ssh: allow attrset matchBlock
(cherry picked from commit fc1d4f5362)
2017-09-12 08:58:13 +02:00
Nikita Uvarov
7ad849f033
home-manager: remove escaping
The Nix code that was extracted to its own file erroneously included
escaping of "${".

(cherry picked from commit 5eff7f38df)
2017-08-29 13:05:52 +02:00
Robert Helgesson
a3395bc3a4
home-manager: move Nix code to own file
(cherry picked from commit e9ca4305a6)
2017-08-29 13:05:52 +02:00
Robert Helgesson
edb46f4aa2
home-manager: add explanatory comment
(cherry picked from commit 125deafc84)
2017-08-29 13:05:51 +02:00
Robert Helgesson
83866e7fc4
home-manager: temporarily re-add attribute
(cherry picked from commit 1445673e18)
2017-08-29 13:05:51 +02:00
Robert Helgesson
01a030a974
home-manager: remove unused attribute
(cherry picked from commit 4a17d8ef97)
2017-08-29 13:05:51 +02:00
Robert Helgesson
0357f71d71
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.

(cherry picked from commit b4fff6b9b7)
2017-08-29 13:05:51 +02:00
Robert Helgesson
331eb9b809
home-manager: simplify use of nix-build output
There is no need to specify an out link when switching to a new
generation since nix-build prints the store path on standard output.
Similarly, when just building a generation we specify no out link
since nix-build will use "result" by default.

(cherry picked from commit 2245b0ac94)
2017-08-29 13:05:51 +02:00
Robert Helgesson
6b55d5373c
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`.

(cherry picked from commit e561beab44)
2017-08-27 00:22:08 +02:00
Robert Helgesson
f6a05b15a6
info: use XDG_CACHE_HOME if defined
(cherry picked from commit a30751464a)
2017-08-26 12:55:21 +02:00
Robert Helgesson
b25037d68b
git: simplify submodule slightly
(cherry picked from commit fed112e497)
2017-08-24 01:03:34 +02:00
Richard Yang
95327eb5cd
home-environment: use relative latest profile link
Using a relative path prevents the latest version from being garbage
collected.

(cherry picked from commit 42f5d4404d)
2017-08-22 09:46:39 +02:00
Cornelius Mika
d38ef895e5
lib-bash: always print message announcing a dry run
(cherry picked from commit 5c098dc7ad)
2017-08-21 18:53:26 +02:00
Cornelius Mika
4e7a26e710
home-environment: replace superfluous spaces in debug messages
(cherry picked from commit 3dba6fc95c)
2017-08-21 18:53:26 +02:00
Cornelius Mika
b18d5e02ef
home-environment: only notify about path deletion on verbose output
(cherry picked from commit 1eee82272a)
2017-08-21 18:53:26 +02:00
Cornelius Mika
9865e3ce29
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.

(cherry picked from commit da5b7bea78)
2017-08-21 18:46:07 +02:00
Cornelius Mika
758d2ef9c1
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.

(cherry picked from commit 02a501705a)
2017-08-21 18:46:07 +02:00
Cornelius Mika
463d6db90b
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.

(cherry picked from commit a9d9fb5d75)
2017-08-21 18:46:07 +02:00
Cornelius Mika
5f2a6d90bd
home-manager: add config file attribute
(cherry picked from commit ffbc7e723d)
2017-08-21 18:46:07 +02:00
Silvan Mosberger
85d12028ad
htop: use types.coercedTo
(cherry picked from commit 1d24e96074)
2017-08-02 22:33:53 +02:00
Robert Helgesson
bea9daabeb
ssh: add control persist option
(cherry picked from commit be432c8654)
2017-07-29 17:54:50 +02:00
Silvan Mosberger
31655a1621
htop: add module
(cherry picked from commit 3778a69fbe)
2017-07-24 13:23:48 +02:00
Robert Helgesson
ee28f76369
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.

(cherry picked from commit d807a5c314)
2017-07-22 14:26:31 +02:00
Robert Helgesson
7f2eacfe49
home-environment: avoid harmless but scary error message
(cherry picked from commit 5862a05fb1)
2017-07-22 14:26:23 +02:00
Robert Helgesson
0ef0be8ffb
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.

(cherry picked from commit 2e257f40e6)
2017-07-20 09:14:23 +02:00
Robert Helgesson
e9cc225cbb
syncthing: expand service description
This models the user service on the upstream systemd file.

(cherry picked from commit cdb2bec909)
2017-07-20 09:14:23 +02:00
Utku Demir
68f0ed58c1
Add syncthing service
(cherry picked from commit dd5061d73b)
2017-07-20 09:14:23 +02:00
Robert Helgesson
4bc6e454d7
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.

(cherry picked from commit 7a18a0fb34)
2017-07-13 00:40:20 +02:00
Robert Helgesson
401975f500
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.

(cherry picked from commit 28d3f74614)
2017-07-13 00:40:20 +02:00
Robert Helgesson
1bcfec1e87
home-manager: remove unnecessary variable setting
The `NIX_PATH` variable is set by the `setHomeManagerModulesPath`
function so it is unnecessary to set it again.

(cherry picked from commit 98c7b23178)
2017-07-13 00:40:20 +02:00
Robin Stumm
540e90d3fa
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`.

(cherry picked from commit 89dc8c2004)
2017-07-08 00:40:58 +02:00
Robert Helgesson
3c3f68bf61
Merge commit '196db18' into release-17.03 2017-06-30 22:46:58 +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
46f0338092
README: add instructions for release-17.03 branch 2017-06-15 18:13:56 +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