1
0
Fork 0
mirror of https://github.com/nix-community/home-manager synced 2024-11-23 11:39:46 +01:00
Commit graph

641 commits

Author SHA1 Message Date
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
Jack W
b00d0e4fe9
bun: add module 2024-04-09 20:48:15 +02:00
Gabriel Fontes
1c2acec999
xdg-portal: align with NixOS module
Nixpkgs has recently made a few major changes to its
xdg-desktop-portal package, which silently breaks our module here:

- The NIXOS_XDG_DESKTOP_PORTAL_CONFIG_DIR variable patch has been
  removed (in favor of putting portal configurations in /etc or
  XDG_CONFIG_HOME).

- A new variable, NIX_XDG_DESKTOP_PORTAL_DIR, was introduced in a
  patch to avoid setting XDG_DESKTOP_PORTAL_DIR (which also affected
  portal configuration reading, not only portal definitions)

I updated our module to match the changes, but this breakage also made
me revisit this module and look into some improvements.

Long story short, I think it's worth it to make it more similar to the
NixOS one, as it will make behavior more predictable and consistent.
The main change is relying on the upstream linked systemd
unit (instead of using systemd.user.services), and setting the
environment variables globally instead of scoping it to the unit, as
it's a very global thing anyway.
2024-03-20 23:41:55 +01:00
Gabriel Arazas
029545350c
activitywatch: add module 2024-03-15 09:39:56 +01:00
Bruno BELANYI
1ab3cec3a1
rbw: simplify 'pinentry' type
Following some upstream changes [1], it's now possible to use a simplified
package type for the option.

[1]: https://github.com/NixOS/nixpkgs/pull/133542
2024-03-14 08:29:43 +01:00
Bruno BELANYI
01e4a5143e
gpg-agent: migrate to 'pinentryPackage'
This follows upstream's module change [1], which allows setting any
package as a pinentry program.

[1]: https://github.com/NixOS/nixpkgs/pull/133542
2024-03-14 08:22:26 +01:00
zorrobert
383296ffa4
joplin-desktop: add module
PR #5020
2024-03-13 14:28:30 +01:00
Filip Pobořil
bfc438e9b7
ranger: add module 2024-03-08 23:35:34 +01:00
Silmar
b550d074fb
zk: add module 2024-03-08 23:26:08 +01:00
novenary
1283bf6ebb xdg-user-dirs: check for existing symlink
When a non-directory, such as a file or a dead symlink, already exists,
mkdir -p fails with "cannot create directory ‘...’: File exists".

This is a problem when, for example, a symlink points to a directory on
a filesystem that isn't mounted yet.
2024-03-07 17:29:26 +02:00
Gaetan Lepage
3dda8e795f
river: add module 2024-02-22 00:10:51 +01:00
GenericNerdyUsername
f99eace7c1
jetbrains-remote: add module 2024-02-06 00:29:23 +01:00
NotAShelf
7b4ea8d82f
arrpc: add module 2024-02-05 23:36:51 +01:00
Ramses
880d9bc211
nix: fix generation of nix.conf for nix >= 2.20 2024-02-03 11:14:20 +01:00
Kylie McClain
4d53427bce
xfconf: fix config loading
The `run` function export was removed in #4965. This broke the
expectation in this module that `run` would be available outside of
main activation script, as `$DRY_RUN_CMD` once was.

Fixes #4980
2024-02-01 15:34:01 +01:00
Sefa Eyeoglu
ebba24a6fe
wob: add module
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2024-01-28 10:46:09 +01:00
Robert Helgesson
e84811035d
treewide: deprecate VERBOSE_ECHO
The shell function `verboseEcho` can be used in its stead.
2024-01-24 13:36:05 +01:00
Robert Helgesson
4256729006
treewide: deprecate DRY_RUN_CMD and DRY_RUN_NULL
As a replacement, this adds the `run` helper function.
2024-01-24 13:36:05 +01:00
Nikita Pedorich
928f2528f9
mise: add module
This adds the support for the mise program, the successor of rtx. This
commit therefore also removes the rtx module.
2024-01-21 08:51:14 +01:00
Robert Helgesson
f2942f3385
Remove some formatting exceptions
This formats a few more file using nixfmt.
2024-01-13 19:05:27 +01:00
Robert Helgesson
7403ed4980
home-manager: internalize uninstall
This adds a Boolean option `uninstall`. When enabled this option will
reset side-effecting configurations to their "empty" state. The intent
is that this will cause the activation script to remove all managed
files and packages.

Doing it this way should hopefully be more robust than the previous
solution. It also allows a somewhat more convenient uninstall process
when using Flakes; put `uninstall = true` in your existing
configuration and then do a switch.

Also add simple uninstall test in CI test job.
2024-01-13 00:32:31 +01:00
Gabriel Fontes
fcbc70a7ee
xdg-portal: add new module 2024-01-03 20:51:54 +01:00
~noodlez1232
6e91c5df19
i3blocks: added configuration module 2024-01-01 10:15:19 +01:00
Omer Naveed
2aff324cf6
bemenu: add module 2023-12-29 09:24:28 +01:00
Fugi
6e2afa5c3b
sftpman: add module 2023-12-28 14:03:49 +01:00
Tom Hall
0f11c14065
osmscout-server: add module
Osmscout-server includes a setting in its UI to create a systemd user
service and socket to run the server on demand. This does not function
correctly on NixOS, for two reasons:

1. It assumes that the binary path is stable (e.g.
   /usr/bin/osmscout-server), which is not the case on NixOS.

2. It auto-detects the unwrapped binary path, which doesn't work.

This module allows the user to access the same functionality on NixOS.
2023-12-28 09:28:48 +01:00
Benedikt Ritter
433120e47d
gradle: add module
Introduces a new program called gradle for managing files stored in
the home directory by the [Gradle Build Tool](https://gradle.org).
Gradle uses the $HOME/.gradle folder for all it's configuration.

Features of the new program module are:

- Automatically setting programs.java.enable = true to make a Java
  installation available for running Gradle.
- Specifying an alternate Gradle home directory
- Setting of abitrary values for gradle.properties stored inside the
  Gradle home directory.
- Defining init scripts that will be linked into the init.d inside
  the Gradle home directory.

Co-authored-by: Olli Helenius <liff@iki.fi>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-12-20 12:41:17 +01:00
Pierce Bartine
efc177c15f
sapling: add module
Adds a program module for [Sapling](https://sapling-scm.com/).

Since Sapling itself is very similar in nature to Mercurial,
`modules/programs/mercurial.nix` was copied to make this module with
the ignore pieces removed (Sapling respects gitignore).
2023-12-19 23:58:05 +01:00
ThinkChaos
e9b9ecef42
gtk: fix GTK 4 theme being ignored
Haven't dug into any code, but my best guess is GTK 4 ignores it on
purpose since devs campaigned against theming: https://stopthemingmy.app

According to the following link, it's fine for users to do it as long
as they don't expect support from app devs. And the campaign was
against distributions applying custom themes by default.

  https://github.com/GradienceTeam/Gradience/tree/0.4.1#%EF%B8%8F-gradience-stopthemingmyapp-and-adwaita-developers
2023-12-16 15:01:19 +01:00
Nara Díaz Viñolas
defbb9c585
hyprland: add option sourceFirst
Add the option sourceFirst to the hyprland module. When this option is
enabled source entries will be put near the top of the file, so that
the variables declared in other files can be used by the other
configuration entries.

Add "source" to the list of important prefixes when the former option
is enabled.

Resolves #4729
2023-12-10 11:12:06 +01:00
Robert Helgesson
db1878f013
home-manager: add 24.05 as valid state version 2023-11-27 08:46:43 +01:00
Damien Cassou
7c97c46dc4
signaturepdf: add service 2023-11-27 00:19:14 +01:00
Gaetan Lepage
1bd1e86464
ruff: add module
ruff is Python linter and code formatter, written in Rust.
See <https://docs.astral.sh/ruff/>.
2023-11-22 23:51:52 +01:00
Thiago Kenji Okada
3de857fa7d qt: fix qt.platformTheme = "gtk3" 2023-11-20 20:33:29 +00:00
Thiago Kenji Okada
fff5204e5d qt: fix basic usage when just qt.enable = true is set 2023-11-19 12:39:53 +00:00
Robert Helgesson
9a4725afa6
qt: multiple fixes
PR #4579
2023-11-19 10:40:09 +01:00
Nicola Squartini
ab1459a1fb
openstackclient: add module (#4530)
Co-authored-by: Sumner Evans <me@sumnerevans.com>
2023-11-15 15:25:44 -07:00
Willi Carlsen
48b0a30202
granted: add module
Signed-off-by: Willi Carlsen <carlsenwilli@gmail.com>
2023-11-01 22:20:17 +01:00
Luna Simons
6045b68ee7
cava: add module 2023-10-24 08:20:22 +02:00
Thiago Kenji Okada
1160454c79 qt: support gtk3 platform theme
This theme is part of qtbase and requires no extra packages.

Co-authored-by: novenary <novenary@kwak.zip>
2023-10-22 20:09:22 +01:00
Thiago Kenji Okada
1e80a0b3d8 qt: allow usage without setting platformTheme 2023-10-22 20:09:22 +01:00
Thiago Kenji Okada
55eee5bd67 qt: use sessionVariablesExtra to export QT_PLUGIN_PATH/QML2_IMPORT_PATH 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
eaee696b6e qt: simplify style.name mappings 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
bc53e4c240 qt: add qgnomeplatform-qt6 when platformTheme is set to gnome 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
541d32d8b8 qt: add support for platformTheme lxqt 2023-10-19 21:41:18 +01:00
Thiago Kenji Okada
4ba652d8a8 qt: add style mappings for Qt 6 2023-10-18 18:00:45 +01:00
Thiago Kenji Okada
3452e14ec7 qt: workaround issue when i18n.inputMethod.enabled = 'fcitx5' 2023-10-18 16:17:32 +01:00
Thiago Kenji Okada
4b2d3b03be qt: remove top-level with lib 2023-10-18 13:30:44 +01:00
Thiago Kenji Okada
5744ebf359 qt: export QT_PLUGIN_PATH/QML2_IMPORT_PATH
Those 2 variables are necessary to make e.g.: qt6ct work correctly.

See issue: https://github.com/NixOS/nixpkgs/issues/239909.
2023-10-18 13:15:56 +01:00
Thiago Kenji Okada
b4ea37c633 qt: remove remaining Qt 4 support
Qt 4 was removed from nixpkgs so it doesn't make sense to support it
anymore.
2023-10-18 11:58:05 +01:00
Xavier Lambein
b25161c6a2
darkman: add module
Co-authored-by: Naïm Favier <n@monade.li>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-10-17 09:07:47 +02:00
ilaumjd
2874c6fce6
thefuck: add module 2023-10-04 09:39:23 +02:00
ilaumjd
b0e0d82696
zsh-abbr: add module 2023-10-04 08:07:49 +02:00
Olmo Kramer
6f9b5b83ad
khard: add module 2023-10-01 09:29:05 +02:00
Avimitin
209a24dff2
wpaperd: add wpaperd configuration
Signed-off-by: Avimitin <dev@avimit.in>
2023-10-01 09:23:33 +02:00
Anthony Roussel
f1b7775d23
awscli: add module 2023-09-30 09:48:13 +02:00
Federico Rampazzo
1d813ff5a6
qt: remove qtstyleplugin-kvantum-qt4
The package qtstyleplugin-kvantum-qt4 has been removed, because it
depended on qt4.
2023-09-29 00:02:35 +02:00
shimun
a88df2fb10
bacon: add module
Bacon is a background rust code checker. See
<https://dystroy.org/bacon/>.
2023-09-24 12:07:57 +02:00
Otavio Salvador
f092a92202
programs.rio: add module (#4118)
Adds a programs.rio module to control Rio installation and configuration, a gpu accelerated terminal

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2023-09-18 22:42:22 +02:00
Christina Sørensen
91341cde41
eza: add module
This copies the exa configuration for eza, the official fork of the
program.

Signed-off-by: Christina Sørensen <christina@cafkafk.com>
2023-09-07 17:57:00 +02:00
Weathercold
3c0e381fef
carapace: add module 2023-09-05 08:39:59 +02:00
nicoo
7ac2cd01ae tmpfiles: use only xdg.configFile
This is a small refactor, and minimises the impact of home-manager#4398.
2023-08-31 14:18:55 +02:00
XYenon
90e62f96c7
programs.yazi: add module (#4373)
add module for yazi https://github.com/sxyazi/yazi a terminal rust file browser akin to ranger or joshuto
2023-08-27 20:47:47 +02:00
Anton Mosich
8eb8c212e5
qcal: add module 2023-08-22 18:09:05 +02:00
Kilian Mio
6a94c1a597
fix(qt): allow theming for apps started by systemd (#4349) 2023-08-17 10:27:17 +02:00
Donovan Glover
9db5b89f40
pqiv: add module 2023-08-16 17:44:54 +02:00
NotAShelf
b84767a145
xplr: add module 2023-08-15 20:26:58 +03:00
Christian Albrecht
7b8d43fbaf
modules: types.string throws error now (#4324)
Since the merge of https://github.com/NixOS/nixpkgs/pull/247848
2023-08-08 17:00:24 +02:00
Robert Helgesson
3db43afcb4
home-manager: rework news command
This new way of handling news should also work in Nix Flake setups.
2023-07-31 12:43:36 +02:00
Robert Helgesson
0306d5ed7e
git-sync: add news entry for darwin
PR #4259
2023-07-25 09:16:42 +02:00
Janik H
a30f5b5b35
gh-dash: add module 2023-07-24 12:38:44 +02:00
Mihai Fufezan
ee5673246d
hyprland: add module
Ported from

  https://github.com/hyprwm/Hyprland/blob/main/nix/hm-module.nix

which was adapted from the sway module.

Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-07-21 00:14:22 +02:00
Emily
9f9e277b60 treewide: remove now-redundant lib.mdDoc calls
These (and the `*MD` functions apart from `literalMD`) are now no-ops
in nixpkgs and serve no purpose other than to add additional noise and
potentially mislead people into thinking unmarked DocBook documentation
will still be accepted.

Note that if backporting changes including documentation to 23.05,
the `mdDoc` calls will need to be re-added.

To reproduce this commit, run:

    $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
      nix shell nixpkgs#coreutils \
      -c find . -name '*.nix' \
      -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
      --strip {} +
    $ ./format
2023-07-17 18:49:09 +01:00
Emily
36a53d9f26 treewide: convert all option docs to Markdown
This process was automated by [my fork of `nix-doc-munge`]. All
conversions were automatically checked to produce the same DocBook
result when converted back, modulo minor typographical/formatting
differences on the acceptable-to-desirable spectrum.

To reproduce this commit, run:

  $ NIX_PATH=nixpkgs=flake:nixpkgs/e7e69199f0372364a6106a1e735f68604f4c5a25 \
    nix shell nixpkgs#coreutils \
    -c find . -name '*.nix' \
    -exec nix run -- github:emilazy/nix-doc-munge/98dadf1f77351c2ba5dcb709a2a171d655f15099 \
    {} +
  $ ./format

[my fork of `nix-doc-munge`]: https://github.com/emilazy/nix-doc-munge/tree/home-manager
2023-07-17 18:40:56 +01:00
Emily
c1d8d2a3d1 treewide: adjust some DocBook for conversion
The NixOS variant of Markdown doesn't make a distinction between
`<code>` and `<literal>` or `<quote>` and... quotes, and doesn't
support `<parameter>` or `<replaceable>`. These are infrequently used
(apart from `<code>`) and don't add much, so just convert them to
simpler forms to allow the options containing them to be converted
to Markdown automatically.

A few minor syntactic adjustments were also made to make
`nix-doc-munge`'s job easier.
2023-07-17 16:49:35 +01:00
Emily
21c700d14b treewide: convert options with lists to Markdown
`nix-doc-munge` can't handle these, which is understandable as I can
barely handle them either. There are a few infelicities here: the
current processor can't handle multiple terms to one description in
a description list so they get comma-separated in one case, and one
case that should ideally render as a `<figure>` with a `<figcaption>`
in HTML is reduced to a paragraph with some `<strong>` text. (Which, in
fairness, is how it rendered in practice with the DocBook anyway.) The
docs generator has since been updated to handle figures, but we can't
use it until moving off DocBook output.
2023-07-17 16:49:35 +01:00
Emily
9e4a73c25e treewide: convert custom enable docs to Markdown
`nix-doc-munge` can't tell what's going on with this pattern, so I
just handled them all manually.
2023-07-17 16:49:35 +01:00
Emily
3222c99a91 treewide: convert parameterized docs to Markdown
Parameterized documentation generators like this can't be converted
automatically.
2023-07-17 16:49:35 +01:00
Emily
3228f92b90 treewide: manually convert some docs to Markdown
These files all have options that trip up the `nix-doc-munge`
conversion tool for one reason or another (syntax that clashes with
Markdown, options that were already using Markdown syntax despite not
being marked that way, output that differs slightly after conversion,
syntax too elaborate to convert with some cheap regular expressions,
...). Translate them manually and do a little copyediting to options
in the vicinity while we're at it.
2023-07-17 16:49:35 +01:00
Emily
23ad3d2b53 version: add isReleaseBranch 2023-07-17 16:49:32 +01:00
Sumner Evans
a6d1d954b8
ssh-agent: add assertion and fix news entry (#4210)
See https://github.com/nix-community/home-manager/pull/4178#discussion_r1249460142

Signed-off-by: Sumner Evans <me@sumnerevans.com>
2023-07-10 16:37:49 +02:00
Anton Plotnikov
98282a481d
swayosd: add module 2023-07-08 12:09:09 +02:00
Tobias Markus
069d450b6d
pyenv: add module
Adds a module for pyenv (https://github.com/pyenv/pyenv).
2023-07-08 11:26:21 +02:00
Chris Martin
050d01a62c
darcs: add module 2023-07-08 10:31:45 +02:00
Paul Stadig
c24deeca64
xfconf: remove properties with null values (#4192)
Co-authored-by: Paul Stadig <paul@thoughtfull.systems>
2023-07-03 20:34:42 +02:00
Linus Heckemann
89d10f8adc
news: fix typo in programs.zsh.antidote entry 2023-07-01 08:09:07 -06:00
Linus Heckemann
2d9210f25e
ssh-agent: init module (#4178) 2023-07-01 08:08:59 -06:00
hitsmaxft
70ac18872a
antidote: add module
Antidote is a Zsh plugin manager.
2023-06-23 00:35:00 +02:00
dariof4
1fefd7bb8d
gtk: Add gtk4.extraCss option (#4133) 2023-06-21 18:38:43 +02:00
Robert Helgesson
162c17b0c9
fontconfig: minor update of generated configuration 2023-06-17 22:25:06 +02:00
Naïm Favier
9ba7b3990e
qt: fix breeze-qt5 path (#4098)
Don't use aliases as those may be disabled.
2023-06-16 15:33:15 +02:00
Thiago Kenji Okada
4e09c83255
qt: bunch of fixes and updates (#4095)
* qt: always apply qt.style.package

Before this commit this was only being applied if `qt.platformName` was
set to "gnome". With this change we will always apply the package.

* qt: only set ~/config/Trolltech.conf in GTK or GNOME

* qt: add qtstyleplugin-kvantum-qt4 and qt6Packages.qtstyleplugin-kvantum

qt: add qtstyleplugin-kvantum-qt4

* news: add news entry about the qt module refactors

* qt: add thiagokokada as maintainer
2023-06-15 20:09:30 +02:00
Thiago Kenji Okada
d214b93ee3
Add missing qt modules (#4094)
* qt: add "qtct" to qt.platformTheme

This allows usage of qt5ct/qt6ct tool to configure Qt theme/icons/fonts
in non-KDE platforms.

* qt: add missing relatedPackages for qt.platformTheme = "kde"

* qt: add "kvantum" for qt.styles.name
2023-06-15 16:06:07 +02:00
Clément DOUIN
e0034971f9
comodoro: add module 2023-06-14 23:43:19 +02:00
Tomo
194086df82
git-credential-oauth: add module 2023-06-14 23:26:14 +02:00
Thiago Kenji Okada
32376992f7
qt: add "kde" to qt.platformTheme (#4085)
This allow you to configure Qt integration using KDE instead of
qgnomeplatform or qtstyleplugins. Useful if your theme supports both GTK
and KDE, for example Nordic.

To use this properly you will need to do some manual configuration for
now. You can set the theme settings using `~/.config/kdeglobals`.

Example:

```nix
{ ... }:
{
  qt = {
    enable = true;
    platformTheme = "kde";
  };

  xdg = {
    configFile.kdeglobals.text = lib.generators.toINI { } {
      General = {
        ColorScheme = "nordicbluish";
        Name = "nordic-bluish";
        shadeSortColumn = true;
      };
      Icons = {
        Theme = "Nordic-bluish";
      };
      KDE = {
        LookAndFeelPackage = "Nordic-bluish";
        contrast = 4;
      };
    };

    dataFile = {
      # For General.ColorScheme
      color-schemes = {
        source = "${pkgs.nordic}/share/color-schemes";
        recursive = true;
      };
      # For KDE.LookAndFeelPackage
      plasma = {
        source = "${pkgs.nordic}/share/plasma";
        recursive = true;
      };
    };
  };
}
```
2023-06-14 21:16:20 +02:00
Robert Helgesson
c8dafb187b
specialisation: renamed from specialization
Renamed to be consistent with NixOS.

Fixes #4074
2023-06-13 08:44:30 +02:00
Matthieu Coudron
b01eb1eb3b
Add infrastructure for contacts and calendars (#4078)
* Add infrastructure for contacts and calendars

This also adds the modules

  - programs.vdirsyncer,
  - programs.khal, and
  - services.vdirsyncer

that integrate with the new infrastructure.

Co-authored-by: Andrew Scott <3648487+ayyjayess@users.noreply.github.com>
Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>

wip

* vdirsyncer: allow option userName, disallow userNameCommand

1. account option `userName` is now allowed by `programs.vdirsyncer`

2. The commented out account option `userNameCommand` was required to be set
   by `programs.vdirsyncer` (e.g. as `null`).
   It is now disallowed (commented out) by vdirsyncer.

* khal: added options 'color' and 'priority'
* Apply nixfmt

---------

Co-authored-by: Sebastian Zivota <sebastian.zivota@mailbox.org>
Co-authored-by: Johannes Rosenberger <johannes.rosenberger@jorsn.eu>
Co-authored-by: Johannes Rosenberger <johannes@jorsn.eu>
Co-authored-by: Robert Helgesson <robert@rycee.net>
2023-06-12 23:21:24 +02:00
nikp123
0945875a2a
boxxy: add module (#4075)
* boxxy: add module

 * boxxy: added nikp123 to maintainers list

* boxxy: use mkPackageOption instead for the package

Co-authored-by: Naïm Favier <n@monade.li>

* boxxy: use yaml generator instead of json

Co-authored-by: Naïm Favier <n@monade.li>

* boxxy: various fixes

* boxxy: various fixes (part 2)

* boxxy: various fixes (part 3)

* boxxy: various fixes (part 4)

forgot to run ./format, whoops

* boxxy: use literalExpression for the rewrite example

Co-authored-by: Naïm Favier <n@monade.li>

* boxxy: add news entry

---------

Co-authored-by: Naïm Favier <n@monade.li>
2023-06-09 22:32:11 +02:00
Naïm Favier
2a69182c56
Revert "maintainers: add rasmus-kirk as a maintainer" (#4076)
* Revert "maintainers: add rasmus-kirk as a maintainer"

This reverts commit 301b364892.

* Revert "joshuto: add the joshuto file manager"

This reverts commit e7fdcb40b2.
2023-06-09 22:15:56 +02:00