1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-25 04:29:45 +01:00
Commit graph

2954 commits

Author SHA1 Message Date
Gabriel Fontes
52e84a040e
xsettingsd: make configurable through module 2021-10-01 01:31:47 +02:00
Marin
959217e51d
astroid: fix maildir paths (#2350)
By maildir spec, emails should be under mailbox/folder/[cur,tmp,new]

This commit changes the default maildir path to more closely match the example config:
https://github.com/astroidmail/astroid/wiki/Configuration-Reference#accountsaccountnamesave_sent_to
2021-09-28 08:16:13 -06:00
Robert Helgesson
cb09a968e9
tests: add option test.stubs
This option provides a more convenient way to overlay dummy packages.
It also adds a function `config.lib.test.mkStubPackage` that can,
e.g., be used for `package` options.
2021-09-26 23:26:38 +02:00
Naïm Favier
b0651cc217
nixos: import existing environment during activation
If the user has a running systemd session, source their environment
from the systemd manager and export a few variables in order to allow
activation scripts to reload applications on the fly.

The list of variables to export is arbitrary and could be extended in
the future.

Fixes #1399, fixes #2112.
2021-09-23 23:09:00 +02:00
Robert Helgesson
eee807560b
dbus: improve recommended NixOS configuration
Specifically, instead of

    services.dbus.packages = with pkgs; [ gnome.dconf ];

we now recommend

    programs.dconf.enable = true;

which does the same and more.
2021-09-23 22:35:30 +02:00
Robert Helgesson
58aa667e28
starship: initialize using command in profile
Fixes #2316
2021-09-21 22:37:31 +02:00
Jakub Kozłowski
821299e90e
sbt: run passwordCommand without trailing newline 2021-09-21 22:16:34 +02:00
Samuel Gräfenstein
4320399a3e
flake: add docs to packages output 2021-09-21 22:12:55 +02:00
polykernel
7cb118c9d2
xdg: coerce XDG base directories settings to strings
Currently, when a custom path is set for any of the XDG base
directories (i.e XDG_DATA_HOME, XDG_CONFIG_HOME, ...), the path will
be coerced into a string when consumed by other options such as
xdg.configFile et al. This causes the the given path to be copied to
the nix store which in the case of xdg.configFile et al, translate to
the file being written there as it is a absolute path.

Interestingly, the default base directories all work as intended as
they are encoded as a string.

This commit converts the option to a string regardless of whether it
is a primitive path or a string encoded path. This allows downstream
consumers to use the base directories in arbitrary way without
accidentally copying the content of the directory to the store. It is
implemented in a similar manner as how home.homeDirectory undergoes
string conversion.

The existing file-attr-name test was modified to test also custom xdg
base directories, and the home.file generation test was removed as
there is a dedicated test for this case in the files module. The test
case was renamed to file-gen to better reflect the new scope.
2021-09-21 21:29:44 +02:00
Naïm Favier
371576cdc2
gpg-agent: remove unnecessary IFD
Make `gpgconf` only perform an import from derivation when the GPG
`homedir` is set to a non-default value, which probably isn't the case
for most users.
2021-09-15 23:09:02 +02:00
Samuel Ainsworth
562449b503
files: clarify "Please move the above files" message 2021-09-15 00:25:00 +02:00
Tad Fisher
514acaebb9
lieer: change settings to freeform type
Also add missing options.
2021-09-14 23:59:56 +02:00
polykernel
4b964d2f7b
bottom: add module
Bottom is a cross-platform graphical process/system monitor with a
customizable interface and a multitude of features.

Two unit tests were added validate the module behavior for an empty
configuration and the example configuration.
2021-09-14 23:40:21 +02:00
Robert Helgesson
2cfea84e6f
modules: fix list sorting 2021-09-14 23:14:41 +02:00
dependabot[bot]
5199bc841a
ci: bump cachix/install-nix-action from 13 to 14
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 13 to 14.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Commits](https://github.com/cachix/install-nix-action/compare/v13...v14)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-13 01:12:40 +00:00
Renee Margaret McConahy
208e310e94
bash: allow unsetting shell options 2021-09-13 00:19:17 +02:00
polykernel
039f786e60
fnott: refactor module
- Change generation behavior to always generate a configuration file
  and pass it explicitly to fnott, it enforces the module to be
  hermetic instead of offloading the configuration selection to
  heuristics.
- Various style changes.
- Fix issue where fnott would abort due to an invalid config file when
  both the configFile and settings options are unset.
- Remove the empty-settings test as a configuration file is now
  already generated.

Suggested-by: Robert Helgesson <robert@rycee.net>
2021-09-08 22:48:44 +02:00
Colin Summers
275f39611d
generic-linux: add system fpaths for zsh
PR #2013
2021-09-07 23:47:49 +02:00
Robert Helgesson
0dab813748
betterlockscreen: limit to platform linux 2021-09-07 07:55:17 +02:00
Basti
5e46262cb1
betterlockscreen: add module (#2292) 2021-09-05 19:00:28 -06:00
Romanos Skiadas
2952168ed5
docs: update session-vars info about fish shell
The docs implied that fish was not really supported, but if fish is
managed by Home Manager, the generated config does use fenv to source
the session-vars file. Update the installation instructions and FAQ to
mention that fish does work, and mention fenv in the README.
2021-09-04 23:12:17 +02:00
arcnmx
bd747c5a53
nixos: add timeout to hm-activate service
Oneshot services do not have a timeout by default, so a misbehaving
activation script can stall and prevent a system from ever booting.
2021-09-04 22:55:30 +02:00
Seth Etter
21a2ff4496
broot: expose modal option (#2300)
* broot: expose modal option

* broot: add basic test

* Use `mkEnableOption`
2021-08-31 10:52:20 -06:00
Mario Rodas
61ca2fc1c0
mcfly: switch to init command (#2301)
mcfly migrated its initialization method to a subcomand called `init`,
which available since mcfly 0.5.4 released on Feb 28, 2021.
2021-08-29 23:42:54 -04:00
Jason Felice
33db7cc6a6
kitty: add environment and darwinLaunchOptions options (#2280)
* kitty: add environment option

* kitty: add darwinLaunchOptions option

See https://sw.kovidgoyal.net/kitty/faq/#how-do-i-specify-command-line-options-for-kitty-on-macos

* kitty: only allow darwinLaunchOptions on darwin

* kitty: make expression shorter

* kitty: fix assertion message
2021-08-26 22:08:34 -04:00
Tanya Bouman
f637e145d7
docs/manual: describes -> describe 2021-08-26 09:04:20 +02:00
polykernel
521a03d8bf
fnott: add module
Fnott is a keyboard driven and lightweight Wayland notification daemon
for wlroots-based compositors.

There are four unit test to validate behavior for an empty
configuration, the default configuration, global properties and
systemd service file generation.
2021-08-26 08:43:39 +02:00
Nicolas Berbiche
84d54402a5
format: update nixpkgs revision in format script (#2283) 2021-08-24 21:49:46 +02:00
Michael Adler
2cf19d1d98
neomutt: configurable package (#2294)
This makes it possible to easily use a different (e.g. more recent or
patched) neomutt package.

Co-authored-by: Michael Adler <therisen06@gmail.com>
2021-08-24 13:34:52 -06:00
Sandro
9029fd2b9d
service/window-manager/awesome: replace not existing package (#2293)
See https://github.com/NixOS/nixpkgs/pull/135117
2021-08-23 08:39:42 -06:00
Connor Prussin
f6d1cad6ba
[nixos] Fix race condition with user units (#2286)
One of the things managed by the `home-manager-<username>` unit is the systemd
user directory `.config/systemd/user`.  However, this directory needs to be in
place completely before systemd user sessions start up or the user sessions will
come up with an incomplete listing of enabled units, etc.

There was a race condition where nothing prevented
`systemd-user-sessions.service` from starting ahead of the systemd user
directory's initialization completing.  This commit makes
`home-manager-<username>` finishes _before_ we start
`systemd-user-sessions.service` to avoid such race condition.

This issue was probably not all that noticeable in most cases, but when using a
non-persistent root config (i.e. tmp on / or
https://grahamc.com/blog/erase-your-darlings) the race condition triggering
causes all kinds of issues on each reboot.
2021-08-21 22:14:40 -04:00
Nicolas Berbiche
c5b3069145
i3/sway: allow empty criterias using a value of 'true' (#2277)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2021-08-21 20:41:06 -04:00
John Ericson
4367119ca3
local gpg-agent acting as ssh-agent should yield (#667) (#2253)
* gpg-agent: local agent acting as ssh-agent should yield

This happens commonly if someone using home manager with gpg-agent
acting as ssh-agent on both machines.

@rycee brought up how gpg-itself has some support for agents on both
ends, but in that case one is forwarding the gpg-agent socket rather
than forwardning the gpg-agent-as-ssh-agent socket. There is no need to
forward both.

So I think this is a good default:

 - Forward just gpg-agent socket and this doesn't matter.

 - Forward just the ssh-agent socket and this does the right thing.

 - Forward both sockets and now the ssh one takes priority instead, but
   forwarding both was always a silly thing to do.

Fix #667

* Update modules/services/gpg-agent.nix

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>

Co-authored-by: Nicolas Berbiche <nic.berbiche@gmail.com>
2021-08-21 01:43:41 -04:00
Jan van Brügge
bf6b85136b
neomutt: Allow named mailboxes (#2212)
At the moment, only the inbox of each mail account is added to neomutt.
This inbox is always called "Inbox", so if you configure multiple
accounts, it is hard to know which one is which.

This change allows the user to specify a display name per account that
uses `named-mailboxes` under the hood.

Additionally this change now allows to add other folders than the inbox,
for example the Trash, Spam or Drafts folders to be added on a per-account
basis. Using extraOptions is not possible here, as those are lazily
loaded on mailbox open and thus would appear at the bottom and not sorted
by account.

This commit also changes the default sidebar format string to use %D
instead of %B because %B will ignore named mailboxes and show the folder
name instead.
2021-08-19 00:33:53 -04:00
c4605
1a6df903e3
home-manager: add command line argument --impure 2021-08-19 00:07:49 +02:00
Kid
49a03303e1
fish: provide different examples 2021-08-18 23:51:33 +02:00
Ivan Kovnatsky
a5c609b4b1
sway: workspaceLayout: stacked -> stacking (#2272) 2021-08-17 22:58:03 -04:00
Vonfry
ec260995e2
xsession: set default value of windowManager.command to handle display manager parameter (#2123)
Co-authored-by: Nicolas Berbiche <nicolas@normie.dev>
2021-08-17 21:44:23 -04:00
Nicholas Coltharp
72394f6d6b
fluidsynth: add sound service option
Fluidsynth's systemd unit currently has a hard dependency on the
pulseaudio systemd service. Since fluidsynth can use other sound
services (e.g., pipewire-pulse), this should be configurable. This
commit adds the relevant option.

PR #2238
2021-08-18 00:38:29 +02:00
Timur Demin
d11afee973
home-manager: allow remote builders for nix-build (#2268)
This allows running home-manager with --builders option passed through
to nix-build, which will then pass build execution to remote builders on
other machines.

This may be useful with relatively complex home-manager configurations
where building on a local machine is not feasible.
2021-08-17 16:53:44 -04:00
Naïm Favier
5569770d1e
files: move dry run logic out of onChange hooks
Fixes #751
2021-08-17 22:14:32 +02:00
Luka T. Korošec
8d68dbd144
doc: Add an example for a git includes section (#2275)
This adds an example for the `programs.git.includes.*.contents` section
since it was a bit ambiguous as to what kind of format it expects.
2021-08-17 16:12:00 -04:00
Robert Helgesson
7ef3db3730
docs: rename "doc" directory to "docs"
Also remove `CONTRIBUTING.adoc` and `FAQ.adoc` from project root since
GitHub knows to pick them up from the docs directory.

Fixes #2273
2021-08-17 19:35:11 +02:00
Ivan Malison
ad0fc085c7
git-sync: add module 2021-08-17 00:00:38 +02:00
Robert Helgesson
763b1a1c55
Merge PR #2245 2021-08-16 23:40:17 +02:00
Robert Helgesson
5ed3a41afa
htop: use dummy package in tests 2021-08-16 23:31:59 +02:00
Bart Bakker
2c3a968f57
htop: make self code owner of tests too 2021-08-16 23:20:33 +02:00
Bart Bakker
e60dca7bb3
htop: fix htoprc when fields is not explicitly set
When the 'fields' setting is not set in htoprc, the htop program won't read any
of the settings. Provide a default value for fields in case it's not explicitly
set by the user.
2021-08-16 23:20:32 +02:00
Bart Bakker
447f80f676
htop: verify htoprc contents for example settings test
Fix ending the generated htoprc with a newline.
2021-08-16 23:20:31 +02:00
Bart Bakker
e4553546cc
htop: let htop program use its default settings
Don't generate the `htoprc` when using default settings to use the defaults of
the htop program.

Rename the test for this case to 'empty-settings'.
2021-08-16 23:20:31 +02:00