1
0
Fork 0
mirror of https://github.com/nix-community/home-manager.git synced 2025-11-21 17:59:39 +01:00
Commit graph

3581 commits

Author SHA1 Message Date
Austin Horstman
c1e6710362 sketchybar: add includeSystemPath
allow accessing binaries from the system that might not be installable
through nixpkgs

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Austin Horstman
c096c39afc sketchybar: config sourceFileOrLines
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Jacob Birkett
abe66194b9 lib/types: add sourceFileOrLines
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Austin Horstman
e4b0102f69 sketchybar: use finalpackage wrapper
Use finalPackage pattern with wrapper so that people who don't use the
service can benefit from the other options.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Austin Horstman
5dc3bc3368 sketchybar: add module
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-24 19:54:43 -05:00
Nikolaos Karaolidis
c3d48a17aa
obsidian: add module (#6487)
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
2025-05-24 18:55:23 -05:00
Sefa Eyeoglu
cf9ff6d993
wayvnc: init (#7123)
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2025-05-24 18:38:54 -05:00
Austin Horstman
7419250703
treewide: convert package options to use mkPackageOption (#7116)
This commit converts `package = mkOption` declarations throughout the
codebase to use the more modern and consistent `lib.mkPackageOption`
function.

Key changes:
- Simple package options: `mkOption { type = types.package; default = pkgs.foo; }`
  becomes `lib.mkPackageOption pkgs "foo" { }`
- Package set options: Uses correct package set as first argument with
  `pkgsText` parameter (e.g., `lib.mkPackageOption pkgs.vimPlugins "plugin" { pkgsText = "pkgs.vimPlugins"; }`)
- Removes redundant descriptions that just restate the package name
- Preserves examples and extra context where meaningful
- Handles submodule plugin options properly with `null` defaults

This modernizes the option declarations and makes them more consistent
with current nixpkgs patterns while maintaining full backward compatibility.

Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-23 00:42:38 -05:00
Paul Meyer
a868570581
news: fix timestamp (#7109)
Signed-off-by: Paul Meyer <katexochen0@gmail.com>
2025-05-22 18:09:45 -05:00
Rosario Pulella
f9186c64fc
Revert "fontconfig: Fix missing default fontconfig files (#7045)" (#7103)
This reverts commit 65d2282ff6.
2025-05-21 20:04:44 -05:00
Joaquín Triñanes
a69ebd9702
direnv: Fix default syntax for nushell integration (#7081)
After nushell/nushell#15654, the direnv integration fails due to default behaving differently when passing a closure.
2025-05-21 20:03:57 -05:00
Lin Xianyi
2468b2d355
files: show colliding files at bottom in checkLinkTargets (#5495)
Prevents the actual file collision errors from being
truncated in the systemd log
2025-05-20 21:11:16 -05:00
octvs
29dda415f5
qutebrowser: add support for per domain settings (#7078)
Add `programs.qutebrowser.perDomainSettings` which let's one to set
configuration options for specific URLs [1].

It option doesn't check if the options passed to it are valid, it
translates the config to python code to be written on the file as is.
Mimicking the behaviour of `programs.qutebrowser.settings`.

Added a new test case `test-qutebrowser-url-settings` for testing the
implementation.

[1]: bb7bbb6ead/doc/help/configuring.asciidoc (per-domain-settings)
2025-05-20 12:43:52 -05:00
awwpotato
3f591550a9
formatter: remove script, add treefmt.toml + keep-sorted (#7056)
currently ./format does a bunch of stuff with git that was only necessary for nixfmt but not nixfmt-tree, so I deleted it (just use treefmt command directly instead). I also added keep sorted to keep the really long module lists sorted (already used in nixpkgs).
2025-05-20 12:42:51 -05:00
Austin Horstman
559f6d36b3
news: add some more missing news items (#7097)
Signed-off-by: Austin Horstman <khaneliman12@gmail.com>
2025-05-20 10:05:34 -05:00
xezo360hye
d3f5d870e3
home-manager: add force option for gtk-2 config (#7073)
This adds gtk.gtk2.force enable option which maps directly onto home.files.${cfg2.configLocation}.force to allow overwrite of the gtkrc-2.0 file (workaround for bug #6188).
2025-05-20 10:04:16 -05:00
Rosario Pulella
65d2282ff6
fontconfig: Fix missing default fontconfig files (#7045)
This adds the fontconfig's default files to
`home-path/etc/fonts/fonts.conf` and `home-path/etc/fonts/conf.d/*`
2025-05-20 08:22:08 -05:00
Damien Cassou
2097441633 services.home-manager.autoExpire: add support for darwin 2025-05-20 08:10:57 -05:00
Damien Cassou
04ebd2c422 services.home-manager.autoExpire: extract cleanup script to new variable 2025-05-20 08:10:57 -05:00
Damien Cassou
382b34f656 services.home-manager.autoExpire: wrap systemd configuration within a isLinux condition 2025-05-20 08:10:57 -05:00
Robert Helgesson
9a4a9f1d6e
home-manager: prepare 25.11 2025-05-18 10:26:50 +02:00
Robert Helgesson
e08e6e2389
home-manager: set 25.05 as stable 2025-05-18 10:26:29 +02:00
Austin Horstman
5d13260881 treewide: lnl7 -> nix-darwin
Renamed recently.
2025-05-16 18:47:17 -05:00
awwpotato
74d31e1165
ptyxis: init module (#7075) 2025-05-16 15:29:26 -05:00
Nick DeGroot
a1a72d18ee
pgcli: init (#7072) 2025-05-15 22:50:09 -05:00
Damien Cassou
098e365dd8 borgmatic: add darwin-specific documentation to services.borgmatic.frequency 2025-05-15 15:16:49 -05:00
Damien Cassou
8ae36f8ea2 nix-gc: fix documentation 2025-05-15 15:16:49 -05:00
Jess
dbc90cc3ae
rclone: declarative mounts (#7060) 2025-05-15 13:33:51 -05:00
Jonathan Bouchard
b022c9e3b8
vscode: allow specifying paths for VSCode JSON settings (#7055)
Enables users to provide paths to JSON files for VS Code settings,
tasks, and keybindings. This allows for more flexible configuration
management and reuse of existing configuration files instead of using inline configurations.
2025-05-15 13:32:46 -05:00
Timon Schelling
a99bddfe53
lapce: fix no argument hash for pluginFromRegistry (#7062)
The `hash` argument was mistakenly removed during dead code cleanup in #6985.

This argument is required by `fetchPluginTarballFromRegistry`, so `pluginFromRegistry` must pass it through.

To avoid future removals by `deadnix`, `pluginFromRegistry` now explicitly takes and forwards the `hash` argument.
2025-05-15 13:32:14 -05:00
Rosario Pulella
ec8205c3d7 dconf: set env var 2025-05-15 13:30:08 -05:00
Rosario Pulella
ff73544e4a dconf: Provide dconf package and dbus service file
With the dconf package and its dbus service file provided by 
home-manager, there is no need for it to be provided by the system.
2025-05-15 13:30:08 -05:00
Rosario Pulella
c310818dca
mako: Fix missing dbus service file (#7065) 2025-05-15 13:28:43 -05:00
Damien Cassou
c09ccd7d39 services.borgmatic: add initial support for darwin 2025-05-15 13:07:13 -05:00
Damien Cassou
34d44d7f1b services.borgmatic: wrap systemd configuration within a isLinux condition 2025-05-15 13:07:13 -05:00
Damien Cassou
1c2fccef83 services.nix-gc: extract darwin agent interval code to new library file 2025-05-15 13:07:13 -05:00
Damien Cassou
3b930bb653 services.nix-gc: improve error message when nix.gc.frequency is invalid on darwin
Previously, if an invalid value was passed, the build would fail with:

       error: attribute '"00:02:03"' missing
       at /nix/store/sz92b5gqi0ma61d18fwbihi8p37mkvir-source/modules/services/nix-gc.nix:69:5:
           68|     in
           69|     freq.${frequency};
             |     ^
           70|

There was an assertion that should have prevented this from happening
but the crash would happen before the assertion gets a chance to stop
the build with a nice error message.

This commit both gives the assertion a chance to trigger and improves
the assertion's error message.
2025-05-15 13:07:13 -05:00
Rosario Pulella
ad1e8bb782
dbus: Create with pacakges options (#7064)
This adds a module for dbus with only one option, `packages`.
The `dbus.packages` options allows users to specify packages to have
their dbus service files (from `/share/dbus-1/services`) linked to the
users dbus services directory (`$XDG_DATA_HOME/dbus-1/services/`),
effectively enabling the services.
2025-05-15 12:59:12 -05:00
andre4ik3
02ea79853c
emacs: respect defaultEditor on Darwin (#7063)
Currently on Darwin, services.emacs.defaultEditor = true isn't respected, as the variable is only configured on Linux.

This PR simply moves the variable out to a common block, so it's applied on all platforms.
2025-05-14 22:27:36 -05:00
Thiago Kenji Okada
6bf057fc83
zsh: do not duplicate zsh.{profile,login,logout,env}Extra in prezto (#7061)
In #7057 changed the definition of how the prezto files where loaded
(from using `.source` to `.text`) and also manually add the text from
`zsh.{profile,login,logout,env}Extra` files to the prezto definitions,
but the last part was unnecessary and now we have duplicates inside the
file.

This commit fixes it.
2025-05-14 07:30:51 -05:00
Thiago Kenji Okada
7c1cefb983 zsh: avoid IFD while sourcing prezto 2025-05-13 19:59:12 -05:00
Thiago Kenji Okada
5f36563a5c zsh: consider zsh.{profile,login,logout,env}Extra in prezto
Right now the `zsh.prezto` module ignores the contents of the
`zsh.{profile,login,logout,env}Extra` options, so it means that if you
try to set, e.g., `zsh.profileExtra = "something";` this option will be
(silently) ignored.

This commit fixes another issue: since the main `zsh` module sets
`home.file."${relToDotDir".zshenv"}".text` while `zsh.prezto` set the
same file using `.source`, `zsh.prezto` would have priority so the
environment variables from Home-Manager would not be loaded in non-NixOS
systems. Now that we are using `.text` for both, the issue is fixed.
2025-05-13 19:59:12 -05:00
awwpotato
b44c39cf46
foliate: fix theme settings example (#7053) 2025-05-13 19:06:18 -05:00
awwpotato
8d832ddfda
foliate: init (#7049) 2025-05-13 12:05:32 -05:00
Austin Horstman
0be2c246e3 mako: deprecate criteria option
This commit adds proper deprecation warnings and documentation for the 'criteria' option, guiding users to use the more flexible 'settings' option with nested attributes instead.

- Added warning message when users use the deprecated option

- Updated documentation with examples showing the new approach
2025-05-13 09:41:11 -05:00
Austin Horstman
dc5899978f services/mako: refactor settings to support INI sections
This commit refactors the mako module to properly handle mako INI-style
configuration with sections:

1. Enhanced the `settings` option to support both global settings and
nested sections

2. Update custom INI generator that:
   - Properly formats global settings and sections
   - Adds appropriate newlines between sections

This change allows users to define both global settings and criteria
sections
in a single `settings` attribute, resulting in cleaner and more
intuitive configuration.
2025-05-13 09:41:11 -05:00
awwpotato
535a541b42
halloy: fix themes example (#7046) 2025-05-12 22:18:52 -05:00
awwpotato
012cc9e166
halloy: add note about server being required (#7047)
halloy isn't functional if there aren't any servers configured
2025-05-12 22:18:20 -05:00
awwpotato
665c49e0c2
gnome-terminal: add package option (#7048) 2025-05-12 22:17:49 -05:00
Austin Horstman
628d8cfa54 news: migrate news entries to YYYY/MM directory structure
Move all inlined news entries from news.nix into separate files
organized
by year and month. This makes the news system more maintainable and
easier to navigate.

- Extract 202 inlined entries to individual files in YYYY/MM directory
structure
- Update news.nix to only contain the module definition
- Use recursive directory traversal to find all news entries
2025-05-12 22:14:03 -05:00