Commit Graph

1287 Commits

Author SHA1 Message Date
Robert Helgesson
de0070c4cf files: add preliminary support for full paths
This represents the first step in migrating `home.file` to support
arbitrary absolute paths. This is to allow Home Manager to manage
files anywhere, provided the user has sufficient privileges.

For example, with this change the configuration

    home.file."test/one".text = "foo";
    home.file."/test/two".text = "foo";

will result in the files "$HOME/test/one" and "/test/two",
respectively. Note, a relative file name will still be relative
`$HOME`.

To allow a reasonable transition between the old and new path handling
we introduce the notion of "generation directory layout version". The
version is simply a file `version` within the generation directory
containing a number indicating the version number.

The version 0 (also implied if the version file is missing) indicates
the legacy layout where managed file paths always are relative
`$HOME`.

Version 1 indicates the new layout where managed file paths are
relative `/`.
2021-07-27 23:42:51 +02:00
Matthieu Coudron
47ad3655ec programs.neovim: expose generatedConfigViml (#2213)
Expose the generated viml config, this has 2 advantages:
1/ user can choose to write the generated config to a file of its choice
2/ the user can prepend/append to the config before writing it

    xdg.configFile."nvim/init.vim".text = ''
	" prepend some config
	${programs.neovim.generatedConfigViml}
	" append some config
    '';

NOTE: this was already possible with 
xdg.configFile."nvim/init.vim" = mkMerge [
  (mkBefore {
    text = ''
      " prepend some config
    '';
  })
  (mkAfter {
    text = ''
      " append some config
    '';
  })
]
2021-07-27 15:59:50 +02:00
Kritnich
f6f6990fc8 barrier: remove tray option (#2215)
barrier's --no-tray CLI parameter is non-functional and so the option has been removed.
2021-07-26 09:16:00 -06:00
t4ccer
addc78bea0 neovim: Add coc support (#2154)
This adds two new options: 'programs.neovim.coc.{enable,settings}`.

These settings offer a simple interface over `xdg.configFile."nvim/coc-settings.json`,
using the standard Nix' syntax instead of a multiline string.
2021-07-25 22:40:07 -04:00
Robert Helgesson
996b439739 volnoti: add platform assert 2021-07-24 00:37:06 +02:00
Andreas Mager
cc6909d407 trayer: add module (#2177) 2021-07-24 00:29:49 +02:00
Bjørn Forsman
6c984bd675 taskwarrior: don't create dataLocation with home.file
With

  programs.taskwarrior.dataLocation = /absolute/path

(outside of $HOME) the current implementation wrongly creates
$HOME/absolute/path (due to how home.file is implemented).

Since taskwarrior creates the dataLocation automatically on first run,
there is actually no need for HM to create that directory.

Additional benefit, the .keep symlink that HM creates as a side-effect
no longer appears in the taskwarrior data directory.

Fixes #2207.
2021-07-23 23:22:32 +02:00
Robert Helgesson
ddeeb031fd nixos: add nix package to activation script path
Fixes #2178
2021-07-23 23:18:15 +02:00
Ivan Malison
41101d0e62 volnoti: add module (#2183) 2021-07-21 00:17:27 -04:00
Alexander
fa483b82ab xcape: run xcape after setxkbmap (#2198) (#2199)
Co-authored-by: Alexander Khodyrev <a@akho.name>
2021-07-19 21:16:14 -04:00
Robert Helgesson
d7e089699a syncthing: restrict service slightly 2021-07-19 22:41:51 +02:00
Robert Helgesson
41903a14b0 Remove a few format exceptions 2021-07-18 23:34:50 +02:00
Robert Helgesson
5f433eb164 Move platform check into modules
Before, loading a module would be guarded by an optional platform
condition. This made it possible to avoid loading and evaluating a
module if it did not support the host platform.

Unfortunately, this made it impossible to share a single configuration
between GNU/Linux and Darwin hosts, which some wish to do.

This removes the conditional load and instead inserts host platform
assertions in the modules that are platform specific.

Fixes #1906
2021-07-18 20:43:22 +02:00
Ivan Malison
c476cc61b2 xsettingsd: add service module 2021-07-15 15:47:42 +02:00
Sumner Evans
f56a087cbc sway: add propagate --to-code for modes (#2176)
Propagates the bindkeysToCode setting which adds --to-code to the keybindings in mode configs.

Closes #2174
2021-07-15 07:09:54 -06:00
IvarWithoutBones
775cb20bd4 sm64ex: add module 2021-07-12 08:57:35 +02:00
Colin Summers
9e3c402972 brave: fix config dir path (#2173)
Changes install path for extensions from `~/.config/brave` to
`~/.config/BraveSoftware/Brave-Browser` on Linux.
2021-07-11 21:19:10 -04:00
Naïm Favier
4971b9cad0 setxkbmap: reset options before setting new ones (#2160) 2021-07-11 21:15:18 -04:00
Gabriel Fontes
3ab254aff4 qutebrowser: add onChange ipc reloading 2021-07-11 22:46:06 +02:00
dawidsowa
97d183e2e4 devilspie2: add module (#1477)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-07-05 16:29:34 -04:00
Robert Helgesson
ac319fd314 home-environment: add Nixpkgs release version check
This adds a warning when a release version mismatch is detected
between Home Manager and Nixpkgs.
2021-07-04 09:40:40 +02:00
Rosario Pulella
7df6656b11 foot: revert always create config file (#2091) (#2157)
This reverts commit 666eee4f72 (#2091).

As of NixOS/nixpkgs#128121, which incorporated changes from:
https://codeberg.org/dnkl/foot/pulls/588/, foot no longer
errors if there is no config file.
2021-07-01 12:05:37 -06:00
Mario Rodas
9ad0024d4d rbw: use pientry.binaryPath when available (#2153)
`pinentry_mac` does not use bin/pientry as path to its binary, instead
it sets `binaryPath` pointing to the binary.
2021-06-29 21:27:19 -04:00
t4ccer
3f6cb409ca xmobar: add module (#2120)
* xmobar: Add module

* xmobar: Add test case

xmobar: Add test default.nix

* xmobar: Order lists alphabetically

* xmobar: Change colon to comma in description

* xmobar: Fix macos tests

* xmobar: Remove extra line

* xmobar: Add literalExample

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* xmobar: Update extraConfig description

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-06-29 13:02:43 -06:00
t4ccer
5b08b33e8f rofi: add "plugins" option (#2117)
* rofi: add support to plugins

* rofi: update package example

Co-authored-by: Sumner Evans <me@sumnerevans.com>

* rofi: Format package example

* rofi: Fix tests

Rofi will not try to install plugins using override when tests overlay
actual rofi package with empty scirpt

* rofi: Refactor

Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-06-29 11:13:01 -06:00
Robert Helgesson
9b7a90daa1 files: minor cleanup 2021-06-28 23:17:00 +02:00
Lava
85d67b0a6e xsession: Add profilePath configuration option (#2140)
This allows the user to move .xprofile somewhere else, which can help
with decluttering their home directory.
2021-06-28 09:11:15 -06:00
Lava
dc4337d9fe xresources: Add path configuration option (#2141)
* xresources: Add path configuration option

This allows the user to move .Xresources somewhere else, which can help
with decluttering the home directory.

* xresources: Update xresources.path docs

* xresources: Fix formatting
2021-06-28 00:50:40 -06:00
DG
a17bc3217f zsh: add enableSyntaxHighlighting option (#2144)
Add a simple way to enable syntax highlighting for zsh using https://github.com/zsh-users/zsh-syntax-highlighting
2021-06-28 00:04:38 -06:00
Robert Helgesson
2aeaf65e8f files: assert that target files are unique
Fixes #1807
2021-06-27 17:10:45 +02:00
Bruno BELANYI
8d3b273afe himalaya: add module
A very simple TUI mail client.
2021-06-26 18:29:42 -04:00
j-k
8eee5f5272 obs-studio: use wrapobs and the new plugin layout (#2142)
The packaging in nixpkgs for obs plugins has changed and there's a
wrapOBS function.
The name of the plugins has also changed so the example needed updating
to reflect that.

Related: https://github.com/NixOS/nixpkgs/pull/125308
2021-06-26 17:29:50 -04:00
Ilan Joselevich
7e2b1a42aa i18n.inputMethod: add module 2021-06-25 00:58:50 +02:00
Robert Helgesson
21ac4c499b xmonad: restrict news entry to Linux 2021-06-24 08:42:28 +02:00
Sergey Vlasov
b42fce7aaa i3,sway: add bar color options for the focused output (#2135)
Both i3bar and swaybar can use different colors for the bar on the
currently focused monitor output; add color options for this feature.
2021-06-22 20:56:41 -06:00
Nicolas Berbiche
49864a4370 xmonad: document breakage of recompilation (#2024)
Co-authored-by: Markus Scherer <markus.f.scherer@gmail.com>
2021-06-22 20:36:47 -04:00
Sandro Jäckel
cd11c02c28 command-not-found: update from nixpkgs 2021-06-20 20:40:37 +02:00
Naïm Favier
dc1b6b8349 bspwm: re-add support for lists as config option values (#2125)
Removed by mistake in e70524c, but ignore_ewmh_fullscreen still needs it.
2021-06-20 00:57:40 -04:00
Naïm Favier
e70524cd2b bspwm: various improvements (#2095)
* bspwm: various improvements

- fixes shell escaping issues and general style issues
- allow reloading the config on-the-fly by exposing bspwmrc to the user

* bspwm: add configuration test
2021-06-19 18:40:17 -04:00
Josh Holland
2f6d5c90f4 fzf: also use custom package for shell integrations (#2119) 2021-06-17 23:57:25 +02:00
Christopher League
6d9bff77ed rsibreak: add package when enabled; fixes #2092 (#2118)
Otherwise rsibreak cannot find its icon and is a blank gap on the
notification tray.
2021-06-17 09:08:10 -06:00
Philipp Dargel
d04e52b0c0 terminator: add module (#2063)
added configuration for terminator
2021-06-17 09:06:47 -06:00
Naïm Favier
3aa479d551 dunst: make icon_path extensible (#2097) 2021-06-16 21:06:16 -04:00
Robert Helgesson
a01fe9f81e sxhkd: fix service test
Before it generated a nonsense test script.
2021-06-17 00:16:17 +02:00
Kevin Amado
e92f5bb79e programs.gnome-terminal: terminal options (#2042)
- Add support for showing bold as bright colors
- Add support to configure the background transparency
- Fix the scrollOnOutput, it was not being dumped to the config
- Add tests!
- Add myself as maintainer
2021-06-15 23:39:56 +02:00
Naïm Favier
1e8d0beae4 xresources: load .Xresources in xsession.initExtra 2021-06-15 23:01:13 +02:00
Dmitry Kulikov
9b39fd7eb4 sxhkd: stop scope before creating (#2086) 2021-06-15 13:27:35 -04:00
Ivar
be0e73a308 qutebrowser: add quickmark support (#2059)
Closes: https://github.com/nix-community/home-manager/issues/1230
2021-06-15 12:22:21 -04:00
Josh Holland
e0f2949c98 direnv: add enableFlakes option for enableNixDirenvIntegration (#2089)
NixOS/nixpkgs@03310df843 disabled flake
support by default, so we now need to build a custom package and use it
if the user wants to `use flake` successfully.  This should fix #2087.
2021-06-15 12:11:26 -04:00
bb010g
1375fd4a03 systemd: add automounts option 2021-06-14 23:10:21 +02:00