Commit graph

3548 commits

Author SHA1 Message Date
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
Austin Horstman
bc13c13ed7 news: reorganize news into YYYY/MM directory structure
- Update news.nix to recursively search for news entries in
subdirectories
- Update create-news-entry.sh to place new entries in YYYY/MM/
directories
- Move existing 2025 news entries to the new structure

This makes the news directory more organized and easier to navigate.
2025-05-12 22:14:03 -05:00
jaredmontoya
f0a7db5ec1
direnv: update nushell env conversion logic (#7015) 2025-05-12 15:28:52 -05:00
awwpotato
0b24658ec0
halloy: add themes option (#7043) 2025-05-12 13:08:49 -05:00
pancho horrillo
5879531462
wayprompt: tweak example (#7040)
Show that the hex values can be entered without the '0x' prefix.
2025-05-12 12:14:27 -05:00
Austin Horstman
fb061f555f misc: add news entries for March modules
Add detailed news entries for the following modules:
- services.skhd (macOS hotkey daemon) - Darwin-only
- services.jankyborders (macOS window borders) - Darwin-only
- programs.distrobox (container manager) - Linux-only
2025-05-11 22:49:04 -05:00
Austin Horstman
0083d901a3 misc: add news entries for April modules
Add detailed news entries for the following modules:
- programs.onedrive (cloud sync) - Linux-only
- programs.rmpc (MPD client)
- programs.kickoff (Wayland launcher) - Linux-only
- programs.mpvpaper (video wallpaper) - Linux-only
2025-05-11 22:49:04 -05:00
Austin Horstman
4a7311c235 misc: add news entries for May modules
Add detailed news entries for the following modules:
- programs.halloy (IRC client)
- programs.waveterm (terminal)
- programs.lutris (gaming platform)
- programs.sway-easyfocus (window selector)
- programs.i3bar-river (status bar)
- programs.onagre (app launcher)
- programs.visidata (data tool)
- services.clipcat (clipboard manager)
2025-05-11 22:49:04 -05:00
awwpotato
c74665abd6
bacon: add prefs location to settings decription (#7030) 2025-05-11 19:29:02 -05:00
jaredmontoya
7a3f3e5507 misc: fix mozilla native messaging hosts 2025-05-11 18:53:40 -05:00
jaredmontoya
a48fecda09 files: add home.file.<name>.ignorelinks 2025-05-11 18:53:40 -05:00
Aguirre Matteo
910292fe34
halloy: add module (#7034) 2025-05-11 18:52:09 -05:00
Alex Hamilton
ecb2162422 numbat: add module
Numbat is a scientific calculator with full support for physical units.
2025-05-11 18:51:14 -05:00
Alex Hamilton
563e1b6cb0 maintainers: add Aehmlo 2025-05-11 18:51:14 -05:00
awwpotato
5daf23a38f
zellij: add themes option (#7031) 2025-05-11 18:47:55 -05:00
awwpotato
de496c9ccb
television: add support for channels (#7026) 2025-05-10 20:08:10 -05:00
Robert Helgesson
9ef92f1c6b
waveterm: fix markdown in description 2025-05-10 23:30:17 +02:00
Maya the bee
13289f0642 services.autorandr: improve systemd unit description 2025-05-10 16:16:08 -05:00
Maya the bee
1875b5a160 services.autorandr: improve configurability
Add `matchEdid` and `extraOptions` for configuration.
2025-05-10 16:16:08 -05:00
Maya the bee
555f88ad34 services.autorandr: add package option 2025-05-10 16:16:08 -05:00
Maya the bee
4f44221724 services.autorandr: add lowlevl to maintainers 2025-05-10 16:16:08 -05:00
Maya the bee
b96c332dce maintainers: add lowlevl 2025-05-10 16:16:08 -05:00
Austin Horstman
e95a7c5b6f
Revert "direnv: update nushell env conversion logic (#6999)" (#7014)
This reverts commit f2b5bf55aa.
2025-05-09 08:48:41 -05:00
Aguirre Matteo
b706037a60
distrobox: make systemd unit optional (#7007)
This PR adds an option enableSystemdUnit to the Distrobox module to make the Systemd Unit optional, and hard coded as is now.
2025-05-09 08:33:12 -05:00
Benjamin Tan
e9bd9568db
jujutsu: store configuration in $XDG_CONFIG_HOME for all platforms (#6994)
Following https://github.com/jj-vcs/jj/pull/6300, Jujutsu has deprecated
support for configuration files in `~/Library/Application Support` for
darwin. The XDG-standard configuration location can be used instead, for
all platforms.
2025-05-09 08:27:49 -05:00
Kira
f2b5bf55aa
direnv: update nushell env conversion logic (#6999)
Direnv exports PATH as a string, nu expects it to be a list and breaks
some functionality like external command completion. This requires
nushell 0.104.0, which is merged into nixpkgs-unstable.
2025-05-09 08:23:08 -05:00
pancho horrillo
3be7c80a11
wayprompt: add news entry for linux (#7009) 2025-05-09 08:22:25 -05:00
B1kku
8f723d6135
lutris: fix runners not working due to wrong config name (#7008) 2025-05-09 08:21:19 -05:00
Aguirre Matteo
9e10d73cea
onlyoffice: use pkgs.formats and use mkIf in config file generation (#7006) 2025-05-09 08:20:05 -05:00
Aguirre Matteo
ce1ba0e9f3
neovide: fix error when no settings are declared (#7005) 2025-05-09 08:19:03 -05:00
Aguirre Matteo
8d2ee39915
waveterm: add module (#7004) 2025-05-09 08:17:40 -05:00
B1kku
a51598236f
lutris: add module (#6964)
Add any number of wine packages
    Add any number of proton packages
    Link runners directly from nix instead of using lutris.
    Specify the steam package lutris should use.
    Extra packages passed to lutris (mainly since it's often missing essential things, such as umu-launcher)
2025-05-08 13:01:35 -05:00
pancho horrillo
3c59c5132b
wayprompt: init module (#7002)
A module for configuring Wayprompt¹, a password-prompter for
Wayland, that can be used as a pinentry program for GnuPG (and more).

Provides a 'programs.wayprompt.settings', following RFC 42².

¹: https://git.sr.ht/~leon_plickat/wayprompt
²: https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md
2025-05-08 10:45:24 -05:00
Austin Horstman
c84396bda0
rofi: modes optional (#7003)
Don't include the modes option if it hasn't been used.
2025-05-08 10:45:00 -05:00