Commit graph

981 commits

Author SHA1 Message Date
Daniel Gorin
96e2f1bdf0
kakoune: add support for plugins
The kakoune editor has a plugin mechanism and several plugins are
already packaged under `pkgs.kakounePlugins`. However, adding these
packages to `home.packages` is not enough: the `kakoune` package needs
to be configured with the list of plugins to include, so that they get
sourced on start-up.

We add a `programs.kakoune.plugins` option, analogous to
`programs.vim.plugins`.

The change is backwards compatible since `pkgs.kakoune` is defined as

    wrapKakoune kakoune-unwrapped { };

and `wrapKakoune` defaults the list of plugins to empty.

PR #1356
2020-08-13 23:45:49 +02:00
Philipp Mildenberger
3886f8db33
pulseeffects: fix autostart
PR #1442
2020-08-13 22:39:03 +02:00
Andrew Fontaine
baea46c5ac
git: set SSL if useStartTls is false
The git-send-email [0] script uses StartTLS if `smtpEncryption` is set
to `tls`, which can break services that don't support StartTLS.

[0]: bd42bbe1a4/git-send-email.perl (L1533)

PR #1395
2020-08-13 21:36:31 +02:00
jD91mZM2
fceef469c2
xdg-user-dirs: fix erroneous dirs file
Before this change,

```rust
fn main() {
    println!("{:?}", glib::get_user_special_dir(glib::UserDirectory::Documents));
}
```

would return `None` even though `~/Documents` is available and
`xdg.userDirs.enable = true`. Checking the differences between
`xdg-user-dirs-update` shows that the latter has quotes around each
thing.

PR #1440
2020-08-13 00:07:04 +02:00
Tom Bereknyei
ae8f432a75
bash: initExtra after autojump config
Allow for initExtra to manipulate results of autojump, e.g., remove
aliases.

PR #1431
2020-08-12 23:21:57 +02:00
Symphorien Gibol
e1fbb74b41
lib.gvariant: escape backslashes in strings
PR #1433
2020-08-12 22:53:28 +02:00
Daniel Gorin
d1f4d1514d
kakoune: escape showWhitespace separators
We were passing the separators for the `show-whitespaces` highlighter
verbatim. This was problematic in case one wanted to use, spaces,
quotes or `%` as separators since the resulting kakoune configuration
would be invalid.

According to kakoune's docs, the separator has to be one character
long, so we can use a simple rule for escaping them. It is possible
that people has been working this around by passing, e.g. `"' '"` as
separator in order to get a space (i.e., escaped explicitly by the
user), so we just let longer strings be used verbatim.

PR #1357
2020-08-12 22:44:33 +02:00
Robert Helgesson
223e3c38a1
Revert "systemd: use sd-switch"
This reverts commit 9c0fe3957b.
2020-08-04 19:38:14 +02:00
Robert Helgesson
9c0fe3957b
systemd: use sd-switch
This makes the systemd module use the sd-switch application to perform
the unit switch during a generation activation.

Since the closure of sd-switch is relatively lightweight we
unconditionally pull it in as a dependency. We simultaneously remove
the `systemd.user.startServices` option and perform the switch action
automatically.

PR #1388
2020-08-04 01:01:10 +02:00
Robert Helgesson
152769aed9
xscreensaver: restart if settings change 2020-08-02 14:05:18 +02:00
hpfr
dbf6b2d2ab
starship: fix fish integration syntax
The previous fish integration for starship erroneously used parts of
POSIX-esque test syntax. It also used `-n` instead of `-z` to check
for an unset variable.

PR #1422
2020-08-02 13:04:24 +02:00
Robert Helgesson
79a2320fd0
files: minor documentation improvements 2020-07-31 00:54:23 +02:00
eyjhb
bb6eb9b13e
dropbox: fix bug caused by Python gi import
When running the service start script with `DISPLAY` set, a `gi`
import error is triggered. Blanking the variable will make the script
use a different code path that does not attempt to import `gi`.

Also moves activation script up into start of script instead.

PR #1415
2020-07-30 00:07:23 +02:00
Leon Kowarschick
2e7935767f
alacritty: add package option
PR #1372
2020-07-27 17:08:10 +02:00
seylerius
89adfc9f01
qutebrowser: unwrap list from keybinding removal
The option to remove the default keybindings by setting the
`programs.qutebrowser.enableDefaultKeybindings` variable to `false`
had a list wrapped around the `config.py` line. This would cause a
type coercion error.

PR #1410
2020-07-27 16:48:38 +02:00
eyjhb
7b73f84071
dropbox: add module
Ability to control Dropbox daemon, if it should start and where to
place the files.

PR #1391
2020-07-25 23:12:33 +02:00
Sergei Maximov
5cd7865c6c
spotifyd: add package option
This option can be used to enable optional Spotifyd features, such as
looking up the Spotify password in the system keyring or enabling
MPRIS support.

PR #1390
2020-07-25 20:43:43 +02:00
Philipp Mildenberger
3f1be69359
nushell: add module (#1333) 2020-07-24 17:15:55 +02:00
Robert Helgesson
83301ca787
lib: support gvariant maybe type
Fixes #1397
2020-07-24 16:45:13 +02:00
Robert Helgesson
8ad5580021
zsh: fix trailing white space 2020-07-21 01:10:54 +02:00
dawidsowa
e2e8b7371d
zsh: add shellGlobalAliases (#1381) 2020-07-20 19:54:30 +02:00
Mario Rodas
4bd0ca2cd7
git: configure delta through [delta] git section (#1371)
this breaks backwards compatibility (now accepts a dict instead of a list) so please update
programs.git.delta.options accordingly.
2020-07-20 17:03:40 +02:00
Cole Mickens
5c639ff68a
sway: focus.followMouse supports yes/no/always
Also add associated tests for both Sway and i3.

PR #1231
2020-07-17 15:35:00 +02:00
Robert Helgesson
a49ce0e9ed
home-environment: use per-user profile path in /etc
Before the profile directory value would point directly to the build
output in the Nix store. Unfortunately this would cause an infinite
loop if the user's configuration directly or indirectly refers to the
profile directory value.

Fixes #1188
2020-07-14 23:31:20 +02:00
f4814n
e0fb488e57
sway: Fix output example (#1385)
The example for wayland.windowManager.sway.config.output has to
contain a mode behind the filename to be correct.
2020-07-14 09:17:05 +01:00
Siva Mahadevan
5f189acce4
neomutt: fix SMTP port string
Fix the SMTP port string from #1374 by properly converting the integer
port into a string.

PR #1377
2020-07-04 12:21:02 +02:00
Robin Stumm
7dc322c1eb
kakoune: support user modes in keyMappings
kakoune: support user modes in keyMappings

User modes are declared automatically.

PR #1286
2020-07-03 22:43:18 +02:00
Siva Mahadevan
8736190743
neomutt: Add SMTP port to smtp_url 2020-07-03 15:30:12 -04:00
Damien Cassou
7f7348b470
powerline-go: fix argument to -error option
Addition of the line "local old_exit_status=$?" broke the call to
powerline-go.

PR #1364
2020-06-29 10:21:17 +02:00
Robert Helgesson
600f39f966
xresources: do not generate file for empty properties 2020-06-28 00:41:05 +02:00
Tad Fisher
54b69d2ef8
emacs: fix service environment
Emacs populates 'exec-path' at launch from the 'PATH' environment
variable. Likewise, the emacs derivation from nixpkgs populates
'load-path' from the 'NIX_PROFILES' variable. As neither of these are
available by default in the systemd user manager, revert to the
previous behavior of launching the Emacs daemon from a login shell.

Fixes #1354
Fixes #1340
PR #1355
2020-06-24 22:50:30 +02:00
cwyc
8f2342e13a
ne: add module
Added a simple module to place configuration files for ne: the nice
editor.

PR #1336
2020-06-23 22:37:02 +02:00
Mario Rodas
8ab1139891
tmux: only enable secureSocket on Linux by default
Darwin does not have the `/run/user` directory.

PR #1349
2020-06-22 19:34:52 +02:00
Robert Helgesson
1f174f6681
git: add news entry about changed escaping 2020-06-18 00:54:41 +02:00
Robert Helgesson
bf7297d55c
Move email account options to their owning modules
This removes the long list of submodules from

    modules/accounts/email.nix

and instead move each entry to its owning module.
2020-06-16 00:45:20 +02:00
Jonathan Reeve
ad4f33cfc4
qutebrowser: add package option
Fixes #1315
PR #1334
2020-06-15 21:06:14 +02:00
Robert Helgesson
ecb93ab9ae
generic-linux: respect NIX_STATE_DIR 2020-06-14 23:34:53 +02:00
Dmitry Kalinkin
dc227b579d
home-manager: respect NIX_STATE_DIR
This allows to install home-manager on a system without root access.

PR #1196
2020-06-14 20:41:55 +02:00
Vincent Breitmoser
7682eb88c4
fluidsynth: fix description 2020-06-14 16:58:08 +02:00
Vincent Breitmoser
b0e8a1569e
fluidsynth: add module
Fluidsynth is a real-time MIDI synthesizer based on the SoundFont 2
format.

PR #1326
2020-06-14 15:30:51 +02:00
s1341
1b210e7143
zplug: add module
This adds initial support for the zsh package manager "zplug".

PR #1105
2020-06-14 15:12:49 +02:00
Robert Helgesson
bb567e20b3
vte: add module
This abstracts out the VTE setup from the gnome-terminal module into
its own module and options.
2020-06-14 12:20:12 +02:00
Zsolt Szende
507e446475
vscode: fix extensions directory path
Fixes #1302
PR #1327
2020-06-14 00:43:44 +02:00
Damien Cassou
478022afad
powerline-go: add module
PR #1285
2020-06-13 00:02:13 +02:00
Damien Cassou
43ef16c3e1
clipmenu: add module
PR #1309
2020-06-12 19:52:52 +02:00
Shamrock Lee
561b3d5650
eclipse: add option package
PR #1310
2020-06-12 19:34:39 +02:00
Robert Helgesson
a3cb63265d
emacs: make news entry Linux specific 2020-06-12 10:30:52 +02:00
Tad Fisher
2209d3cb51
emacs: add myself to maintainers 2020-06-11 20:40:10 +02:00
Tad Fisher
3815248786
emacs: Support socket activation via systemd
Add 'services.emacs.socketActivation.enable' for generating an
'emacs.socket' systemd unit.

Emacs since version 26 has supported socket activation, whereby an
external process manager such as systemd listens on a socket and passes
it to the Emacs daemon when the manager launches it. This improves
startup time of the user session and avoids launching the daemon when not
needed, for example when launching the user session via SSH.

This implementation hard-codes the socket path to the default for the
version of 'programs.emacs.finalPackage', because systemd does not
perform shell expansion in the socket unit's 'ListenStream' parameter
and it seems like an advanced use-case to change the socket path. Shell
expansion would be desirable as the socket path usually resides in
directories such as $XDG_RUNTIME_DIR or $TMPDIR.

Tests were added to verify behavior in the following cases:

- Emacs service with socket activation disabled
- Emacs 26 with socket activation enabled
- Emacs 27 with socket activation enabled

PR #1314
2020-06-11 20:39:49 +02:00
Robert Helgesson
02c1f8d416
status-notifier-watcher: introduce unit start delay
Fixes #1312
2020-06-10 23:32:44 +02:00
Dany Marcoux
c378c1cbcd
autorandr: add crtc option
This option was missing. It is generated by autorandr when executing
`autorandr --save my_profile`.

Fixes #1024
PR #1283
2020-06-09 23:15:44 +02:00
Robert Helgesson
abcddfe090
firefox: update extensions option description
This adds a note that the extensions will only apply to profiles
managed through Home Manager.
2020-06-09 22:12:08 +02:00
Damien Cassou
b33802ca7f
direnv: add support for nix-direnv
PR #1297
2020-06-06 22:17:43 +02:00
Alex Rice
68b931aef8
sway: add alexarice as codeowner 2020-06-06 21:35:09 +02:00
Alex Rice
2dbe637478
sway: allow package to be null
This allows the `sway.package` option to be null so that the module
can be used alongside the nixos module.
2020-06-06 21:35:08 +02:00
Jakub Fišer
479274775f
home-environment: add full locale options support
Allows setting every locale option independently. Also fixes `LC_`
order to match the order of `locale` command output for better
reference.

PR #1278
2020-06-06 21:23:01 +02:00
Robert Helgesson
cca5161289
i3: replace deprecated package name 2020-06-06 14:53:44 +02:00
Robert Helgesson
354344d971
gnome-keyring: replace deprecated package name 2020-06-06 14:53:43 +02:00
Robert Helgesson
248dc17394
gnome-terminal: replace deprecated package names
The names `gnome3.vte` and `gnome3.gnome_terminal` have been replaced
by their more modern names.
2020-06-06 14:53:42 +02:00
Robert Helgesson
410d2febbb
dunst: replace deprecated package name 2020-06-06 14:53:41 +02:00
Robert Helgesson
42fd47b246
emacs: replace use of emacsPackagesGen
Instead we use `emacsPackagesFor`, which `emacsPackagesGen` aliases
anyway.
2020-06-06 14:53:40 +02:00
Robert Helgesson
46cd37abc9
dunst: replace deprecated package name 2020-06-06 14:53:15 +02:00
zowoq
3b33862b04
files: reference lndir through xorg
The xlibs attribute set is deprecated and is an alias for xorg.

PR #1304
2020-06-06 13:24:51 +02:00
Roman Volosatovs
85748171ec
sway: add option config.bindkeysToCode
Do not use `--to-code` by default in `bindsym`.

PR #1289
2020-06-04 23:40:42 +02:00
Julien Moutinho
0ee5c9536b
broot: fix install check
broot uses `~/.config/broot/launcher/installed-v1`, not
`~/.config/broot/launcher/installed`.

PR #1303
2020-06-04 21:54:35 +02:00
Damien Cassou
ca6fcc92a1
firefox: show how to get pre-packaged add-ons
PR #1296
2020-06-04 21:29:51 +02:00
Robert Helgesson
8e8210b441
xdg-mime: fix issue on WSL1
This change stops update-mime-database from running unless the
`share/mime/packages` directory is writable. For some reason it
appears to be read-only on WSL1.

Fixes #1192
2020-06-04 19:45:22 +02:00
Damien Cassou
a21c97d011
ssh: add support for ServerAliveCountMax
PR #1299
2020-06-03 23:16:43 +02:00
Nicolas Berbiche
b567d27394
mpv: use wrapMpv instead of mpv-with-scripts
The latter has been removed from Nixpkgs.

See:

- <https://github.com/NixOS/nixpkgs/pull/88620>
- <https://github.com/NixOS/nixpkgs/pull/89208>

PR #1295
2020-05-31 14:11:10 +02:00
Justin Lovinger
3a80ece9fa
dircolors: fix usage together with zsh.oh-my-zsh
PR #1280
2020-05-28 00:08:15 +02:00
Mario Rodas
a957e2dc6b
zoxide: add module
PR #1274
2020-05-26 19:14:39 +02:00
Nikita Uvarov
99a97c917a
autorandr: remove blank lines from config
Fixes #1249.
2020-05-26 19:04:26 +02:00
Robert Helgesson
b95ad63201
Deprecate use of builtins.getEnv
This removes the use of the non-deterministic function
`builtins.getEnv` for state version ≥ 20.09.

PR #1269
2020-05-26 00:28:59 +02:00
Robert Helgesson
31ed6f1604
gtk: apply nixfmt 2020-05-25 00:46:58 +02:00
Robert Helgesson
ac6235e53d
emacs: apply nixfmt 2020-05-25 00:45:51 +02:00
Robert Helgesson
f90b86b577
sway: fix config.keybindings example 2020-05-24 13:00:51 +02:00
Robert Helgesson
1c71bd1242
i3: fix config.keybindings example 2020-05-24 13:00:30 +02:00
Robert Helgesson
a0d9a58616
lorri: make system environment attribute a list
It should be a list to allow inclusions of additional variables.
2020-05-24 12:19:39 +02:00
Robert Helgesson
dcbe0f2a31
home-manager: add activation sanity check of Nix
This adds an empty `nix-build` command to verify that the user is
having a good Nix install. It also, as a side effect, will create the
necessary per-user `profiles` and `gcroots` directories.

Fixes #1246
2020-05-20 22:32:35 +02:00
Sophie Taylor
a43e7112e5
starship: improve Emacs handling for fish
PR #1248
2020-05-19 00:12:11 +02:00
piegames
6c7a031367
files: print source path for detected collision
PR #1236
2020-05-17 21:49:18 +02:00
Cole Helbling
645149d77b
files: fix warning message
PR #1241
2020-05-17 21:20:40 +02:00
Robert Helgesson
9ec9f004e1
home-manager: use nix-env to list generations
Using the `nix-env` command is far more robust. It also has the
benefit that if the per-user `profiles` and `gcroots` directories do
not exist then they will be created with the correct permissions.

Because of the second point this commit also removes the `mkdir` step
of the installation instructions.

PR #1239
Closes #474, #948, #1091
2020-05-16 19:17:13 +02:00
dawidsowa
0fe984d575
tmpfiles: add module
PR #1144
2020-05-16 13:32:33 +02:00
Robert Helgesson
69f8e47e9e
starship: allow running in Emacs if vterm is used
The vterm buffer is backed by libvterm and can handle Starship prompts
without issues.
2020-05-15 22:58:57 +02:00
Andrew McDermott
40b1c5c448
gnome-terminal: allow for 'system' theme variant
PR #1228
2020-05-13 00:30:09 +02:00
Justin Lovinger
e9945ee6ee
dircolors: add module
PR #1219
2020-05-12 22:15:32 +02:00
Bruno Bigras
cca024da2b
starship: check if $TERM == "dumb" for Bash setup
This fixes an issue with Emacs tramp.

PR #1191
2020-05-12 20:40:34 +02:00
Samuel Grahn
1ec45b11ab
rofi: add package option
Add option to specify which package provides the rofi binary.

PR #1225
2020-05-11 23:07:26 +02:00
Roman Volosatovs
7f4053084c
sway: allow unsetting status command 2020-05-11 22:02:38 +02:00
Roman Volosatovs
37202a1b70
sway: use --to-code in bindsym 2020-05-11 22:02:37 +02:00
Robert Helgesson
b886cbea0b
xdg.mimeApps: use xdg.dataFile instead of home.file
The former honors the data home path set by the user.
2020-05-09 23:53:48 +02:00
Hugo Geoffroy
9f396fddc6
emacs: add emacsclient desktop file
Add an option to enable a .desktop file for the Emacs client.

PR #1223

Co-authored-by: Michael Lingelbach <m.j.lbach@gmail.com>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2020-05-09 22:13:04 +02:00
Mario Rodas
cba7b6ee6e
git: add basic support for delta
PR #1198
2020-05-05 00:12:58 +02:00
ivann
03b4f81679
qutebrowser: add some options
Specificially, this adds options

- `aliases`,
- `searchEngines`,
- `keyMappings`, and
- `keyBindings`.

PR #1212
2020-05-03 13:53:06 +02:00
Justin Lovinger
1dd226fde7
aria2: add module
PR #1202
2020-05-03 13:21:52 +02:00
Robert Helgesson
ded327b9fc
i3status: add news entry 2020-05-03 13:13:26 +02:00
Justin Lovinger
ecc1f2310c
i3status: add module
PR #1210
2020-05-03 13:12:13 +02:00
Robert Helgesson
866d7d5152
lib: add maintainers attribute set
This attribute set is for users who are Home Manager maintainers but
not Nixpkgs maintainers.
2020-05-02 16:30:55 +02:00
Robert Helgesson
91551c09d4
files: add helper function mkOutOfStoreSymlink
Using this function it is possible to make `home.file` create a
symlink to a path outside the Nix store. For example, a Home Manager
configuration containing

    home.file."foo".source = config.lib.file.mkOutOfStoreSymlink ./bar;

would upon activation create a symlink `~/foo` that points to the
absolute path of the `bar` file relative the configuration file.

PR #1211
2020-05-02 01:22:14 +02:00