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