Commit graph

918 commits

Author SHA1 Message Date
Robert Helgesson 4aa9eb327d
WIP home-manager: avoid profile management during activation
This commit deprecates profile management from the activation script.
The profile management is instead the responsibility of the driving
software, for example, the `home-manager` tool in the case of
standalone installs.

The legacy behavior is still available for backwards compatibility but
may be removed in the future.

The new behavior resolves (or moves us closer to resolving) a number
of long standing open issues:

- `home-manager switch --rollback`, which performs a rollback to the
  previous Home Manager generation before activating. While it was
  previously possible to accomplish this by activating an old
  generation, it did always create a new profile generation.

  This option has been implemented as part of this commit.

- `home-manager switch --test`, which activates the configuration but
  does not create a new profile generation.

  This option has _not_ been implemented here since it relies on the
  current configuration being activated on login, which we do not
  currently do.

- When using the "Home Manager as a NixOS module" installation method
  we previously created an odd `home-manager` per-user "shadow
  profile" for the user. This is no longer necessary.

  This has been implemented as part of this commit.

Fixes #3450
2024-06-22 15:15:55 +02:00
daru cd88671199
blanket: add module 2024-06-22 08:19:17 +02:00
midchildan 8d5e27b480
nix: add a declarative alternative to Nix channels (#4031)
* nix: add options 'nixPath' and 'keepOldNixPath'

By default, the system value for $NIX_PATH is kept as a fallback.
To completely override the system value for $NIX_PATH:

    nix.keepOldNixPath = false;

* nix: add more tests

* nix: add a declarative alternative to Nix channels

This adds a new option, 'nix.channels'. It's the Nix channels equivalent
of the 'nix.registry' option, and compatible with pre-Flake Nix tooling
including nix-env and nix-shell. Like 'nix.registry', this option is
useful for pinning Nix channels.

Channels defined in the new option can coexist with channels introduced
through the nix-channel command. If the same channel exists in both, the
one from Home Manager will be prioritized.

* nix: add news entry

* nix: make channels respect use-xdg-base-directories

* nix: remove 'with lib;'

---------

Co-authored-by: Michael Hoang <enzime@users.noreply.github.com>
2024-06-13 01:47:38 +00:00
Matthieu Coudron 3d65009eff
waybar: remove modules-* from defaults
Some prefer to handle modules-* imperatively for more flexibility, e.g.,
via waybar "includes" (https://github.com/Alexays/Waybar/wiki/Configuration).
Current HM defaults modules-* to `[]` instead of null for most other
settings, so they get written to ~/.config/waybar/config even though
no explicit configuration has been made.

And they take precedence over the imperative ones because of how
waybar's includes work:

====
Paths to additional configuration files.
Each file can contain a single object with any of the bar configuration options. In case of duplicate options, the first defined value takes precedence, i.e. including file -> first included file -> etc. Nested includes are permitted, but make sure to avoid circular imports.
For a multi-bar config, the include directive affects only current bar configuration object.
====
2024-06-09 13:14:04 +02:00
Mario Rodas 8f1b183c91 fcitx5: fix tests
Since https://github.com/NixOS/nixpkgs/pull/308725, fcitx5-with-addons
expects share/dbus-1/services/ to be present.
This patch updates the fcitx5 stub to reflect that.
2024-06-07 04:20:00 +00:00
Dawid Dziurla 83bfe1bac8
nix-gc: add persistent option (#5490)
Mirrors the `nix.gc.persistent` option in nixpkgs:
https://search.nixos.org/options?channel=unstable&show=nix.gc.persistent&from=0&size=50&sort=relevance&type=packages&query=nix.gc.persistent
2024-06-03 22:20:47 -06:00
XYenon 04bc391a90 yazi: support plugins and flavors 2024-05-29 11:29:08 +08:00
midchildan 373ead2060
tests: fix broken overlay in mpv test 2024-05-28 17:02:06 +02:00
Phani Rithvij 90010df158
topgrade: update example config 2024-05-28 00:03:45 +02:00
Austin Horstman e8482a798f
yazi: use builtin cd
cd conflicts with aliases that dont support -- syntax
2024-05-27 23:50:57 +02:00
Robert Helgesson 548ba194d0
home-manager: prepare release 24.05 2024-05-25 22:13:25 +02:00
Nathan Henrie e3ad5108f5
espanso: remove background process type on Darwin
This leads to a considerably slower expansion time for snippets, which
severely degrades the user experience.

Also, the launchd plist from the source omits this key:

    8daadcc949/espanso/src/res/macos/com.federicoterzi.espanso.plist

PR #5411
2024-05-17 09:24:04 +02:00
Milo Moisson d768262018
jujutsu: switch to XDG config home 2024-05-11 00:34:09 +02:00
winston d939ce585c
mopidy: make scan service depend on mopidy-local 2024-05-11 00:26:54 +02:00
Akiyoshi Suda 5514ed3210
yambar: add module 2024-05-10 23:29:58 +02:00
Austin Horstman 223743313b
hyprpaper: add module 2024-05-10 15:35:59 +02:00
Austin Horstman c6ddd80fb1
hyprlock: add module 2024-05-10 14:08:21 +02:00
Vincent Gatine 4855bfb6ce
kanshi: update configuration to better match upstream 2024-05-10 12:46:37 +02:00
afresquet f61917cbaa
fastfetch: add module
PR #5363
2024-05-10 12:42:39 +02:00
Tad Fisher 6ebe7be2e6
gnome-shell: add module 2024-05-06 09:44:34 +02:00
Léo DUBOIN 2b87a11125
git: add realName inside From field
We currently have no way of specifying the sender's name inside the
From field, making a patch sent through `git send-email` appear as
coming from "xxx@domain.com".

In this commit we make this field follow the standard

    realName <email>

format.
2024-05-06 08:17:53 +02:00
Daru 3dfe05aa9b
wlsunset: update options 2024-05-05 19:59:14 +02:00
Austin Horstman fdaaf543ba
hypridle: add module 2024-05-05 11:13:18 +02:00
Ryan f69bf670d2
cliphist: add extraOptions option
Add an extraOptions option that would be appended to the cliphist
command.
2024-05-05 09:37:54 +02:00
Kaleo 6d3b6dc922
conky: add module 2024-05-01 00:11:15 +02:00
Vonixxx 3c0df2a7e4
freetube: add module 2024-04-30 23:34:12 +02:00
Yomi Ikuru 5632659886
swaync: add module
Co-authored-by: Ryan Horiguchi <rhoriguchi@users.noreply.github.com>
2024-04-30 00:16:28 +02:00
Austin Horstman 4fe1f064bd
hyprland: use lib.generators.toHyprconf 2024-04-30 00:07:06 +02:00
Gabriel Birke 1a91cb7cdb
neomutt: allow binds to override vimKeys
In the generated neomutt configuration, source the optional
`vim-keys.rc` before applying the `binds` configuration, to allow the
user to override keybindings from `vim-keys.rc`.

Adapt the test files to account for the empty space left by the unset
`vimKeys` option.
2024-04-29 23:54:54 +02:00
Lichthagel b8d81ef15e
mpv: add extraInput option 2024-04-29 19:55:57 +02:00
Alvaro Fresquet 2af7c78b7b
thefuck: add nushell integration 2024-04-29 09:53:42 +02:00
Joaquín Triñanes 9fe79591c1
direnv: add nix-direnv to lib instead of sourcing
Also removes use of `with lib`.
2024-04-29 00:30:45 +02:00
Sergio Ribera bfa7c06436
swayosd: add custom style option 2024-04-23 23:09:45 +02:00
dotconfig404 33a20182e3
home-manager: improve session variables comment 2024-04-23 19:49:42 +02:00
quasigod 1451d2866d
foot: unset PATH in server's systemd unit file
This reverts commit 40ab43ae98.
2024-04-22 18:04:34 +02:00
Mirko Lenz 670d9ecc3e
poetry: add module 2024-04-21 22:53:14 +02:00
Robert Helgesson a204082274
firefox: fix test 2024-04-20 00:02:59 +02:00
Andrew Marshall 3a435342e2
sway: check config file validity
Helps avoid successful build but Sway failing to start.

To meaningfully test this, I had to actually use `pkgs.sway` in the
test rather than the stub, but left all other tests using the stub and
changed them to skipping the test.

We need to pass `--unsupported-gpu` as Sway checks for `nvidia` in
`/proc/modules`, and the Nix sandbox has `/proc/modules` available.
2024-04-19 23:16:55 +02:00
Cynthia Fox 1f305c363e
remmina: add module
Adds a module to enable managing Remmina, an RDP client, with a Home
Manager module, providing a systemd service and mimetype integration
that can be disabled if so desired.
2024-04-19 17:16:42 +02:00
Ivan Leshchenko 31c77dcc2e
sway: systemd customization 2024-04-19 17:15:54 +02:00
Ramses 068dd4ae29
alacritty: cleanup after 0.13 merge in nixpkgs 2024-04-19 16:57:02 +02:00
Ramses 7ca7025cf2
alacritty: fix escape sequence in example and test
See https://github.com/nix-community/home-manager/pull/4817#discussion_r1441710049
2024-04-19 16:26:23 +02:00
diniamo b62cad68b7
spotify-player: add module 2024-04-19 12:39:30 +02:00
Danil Suetin b5b2b1ac63
helix: add ignores option 2024-04-19 12:05:08 +02:00
Henri Sota 8ff7bb3f4d
tofi: add module 2024-04-19 11:32:49 +02:00
tschai-yim 54e35e0e1c
qt: use warnings API 2024-04-18 23:29:12 +02:00
tschai-yim b31019d64f
qt: add adwaita platform theme
Fixes #4702 and https://github.com/NixOS/nixpkgs/issues/295345.
2024-04-18 23:25:50 +02:00
a-kenji f46814ec7c
treewide: prefer the official wiki 2024-04-17 23:58:16 +02:00
Nathan Henrie 59d50bc582
espanso: enable module on darwin 2024-04-15 09:40:27 +02:00
Jose Plana 9f32c66a51
k9s: configuration files in Darwin without XDG
Support alternate configuration files for k9s in darwin where XDG is
not mandated and k9s expects configuration files in
`~/Library/Application Support/k9s/`.
2024-04-14 23:48:01 +02:00