Merge branch 'master' into fix/4221
This commit is contained in:
commit
9837165d5f
|
@ -15,3 +15,11 @@ updates:
|
|||
interval: "weekly"
|
||||
commit-message:
|
||||
prefix: "ci:"
|
||||
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
target-branch: "release-23.11"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
commit-message:
|
||||
prefix: "ci:"
|
||||
|
|
|
@ -28,7 +28,7 @@ Releases
|
|||
Home Manager is developed against `nixpkgs-unstable` branch, which often causes
|
||||
it to contain tweaks for changes/packages not yet released in stable [NixOS][].
|
||||
To avoid breaking users' configurations, Home Manager is released in branches
|
||||
corresponding to NixOS releases (e.g. `release-23.05`). These branches get
|
||||
corresponding to NixOS releases (e.g. `release-23.11`). These branches get
|
||||
fixes, but usually not new modules. If you need a module to be backported, then
|
||||
feel free to open an issue.
|
||||
|
||||
|
@ -49,7 +49,7 @@ dconf store and cannot tell whether a configuration that it is about to be
|
|||
overwritten was from a previous Home Manager generation or from manual
|
||||
configuration.
|
||||
|
||||
Home Manager targets [NixOS][] unstable and NixOS version 23.05 (the current
|
||||
Home Manager targets [NixOS][] unstable and NixOS version 23.11 (the current
|
||||
stable version), it may or may not work on other Linux distributions and NixOS
|
||||
versions.
|
||||
|
||||
|
|
|
@ -58,11 +58,11 @@ $ nix-channel --add https://github.com/nix-community/home-manager/archive/master
|
|||
$ nix-channel --update
|
||||
----
|
||||
+
|
||||
and if you follow a Nixpkgs version 23.05 channel you can run
|
||||
and if you follow a Nixpkgs version 23.11 channel you can run
|
||||
+
|
||||
[source,console]
|
||||
----
|
||||
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
|
||||
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
|
||||
$ nix-channel --update
|
||||
----
|
||||
|
||||
|
@ -130,11 +130,11 @@ $ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/m
|
|||
$ sudo nix-channel --update
|
||||
----
|
||||
|
||||
and if you follow a Nixpkgs version 23.05 channel, you can run
|
||||
and if you follow a Nixpkgs version 23.11 channel, you can run
|
||||
|
||||
[source,console]
|
||||
----
|
||||
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
|
||||
$ sudo nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
|
||||
$ sudo nix-channel --update
|
||||
----
|
||||
|
||||
|
@ -158,7 +158,7 @@ home-manager.users.eve = { pkgs, ... }: {
|
|||
|
||||
# The state version is required and should stay at the version you
|
||||
# originally installed.
|
||||
home.stateVersion = "23.05";
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
----
|
||||
|
||||
|
@ -254,11 +254,11 @@ $ nix-channel --add https://github.com/nix-community/home-manager/archive/master
|
|||
$ nix-channel --update
|
||||
----
|
||||
|
||||
and if you follow a Nixpkgs version 23.05 channel, you can run
|
||||
and if you follow a Nixpkgs version 23.11 channel, you can run
|
||||
|
||||
[source,console]
|
||||
----
|
||||
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz home-manager
|
||||
$ nix-channel --add https://github.com/nix-community/home-manager/archive/release-23.11.tar.gz home-manager
|
||||
$ nix-channel --update
|
||||
----
|
||||
|
||||
|
@ -285,7 +285,7 @@ home-manager.users.eve = { pkgs, ... }: {
|
|||
|
||||
# The state version is required and should stay at the version you
|
||||
# originally installed.
|
||||
home.stateVersion = "23.05";
|
||||
home.stateVersion = "23.11";
|
||||
};
|
||||
----
|
||||
|
||||
|
|
|
@ -79,10 +79,10 @@ then to generate and activate a basic configuration run the command
|
|||
[source,console]
|
||||
$ nix run home-manager/master -- init --switch
|
||||
|
||||
For Nixpkgs or NixOS version 23.05 run
|
||||
For Nixpkgs or NixOS version 23.11 run
|
||||
|
||||
[source,console]
|
||||
$ nix run home-manager/release-23.05 -- init --switch
|
||||
$ nix run home-manager/release-23.11 -- init --switch
|
||||
|
||||
This will generate a `flake.nix` and a `home.nix` file in
|
||||
`~/.config/home-manager`, creating the directory if it does not exist.
|
||||
|
@ -97,7 +97,7 @@ $ # Edit files in ~/.config/home-manager
|
|||
$ nix run home-manager/$branch -- init --switch
|
||||
----
|
||||
|
||||
Where `$branch` is one of `master` or `release-23.05`.
|
||||
Where `$branch` is one of `master` or `release-23.11`.
|
||||
|
||||
After the initial activation has completed successfully then building
|
||||
and activating your flake-based configuration is as simple as
|
||||
|
|
|
@ -6,6 +6,8 @@ This section lists the release notes for stable versions of Home Manager and the
|
|||
|
||||
:leveloffset: 1
|
||||
|
||||
include::rl-2405.adoc[]
|
||||
|
||||
include::rl-2311.adoc[]
|
||||
|
||||
include::rl-2305.adoc[]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
[[sec-release-23.11]]
|
||||
== Release 23.11
|
||||
|
||||
This is the current unstable branch and the information in this section is therefore not final.
|
||||
The 23.11 release branch became stable in November, 2023.
|
||||
|
||||
[[sec-release-23.11-highlights]]
|
||||
=== Highlights
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
[[sec-release-24.05]]
|
||||
== Release 24.05
|
||||
|
||||
This is the current unstable branch and the information in this section is therefore not final.
|
||||
|
||||
[[sec-release-24.05-highlights]]
|
||||
=== Highlights
|
||||
|
||||
This release has the following notable changes:
|
||||
|
||||
* The `.release` file in the Home Manager project root has been removed.
|
||||
Please use the `release.json` file instead.
|
||||
|
||||
[[sec-release-24.05-state-version-changes]]
|
||||
=== State Version Changes
|
||||
|
||||
The state version in this release includes the changes below.
|
||||
These changes are only active if the `home.stateVersion` option is set to "24.05" or later.
|
||||
|
||||
* Nothing, yet.
|
|
@ -59,7 +59,7 @@ A fresh install of Home Manager will generate a minimal `~/.config/home-manager/
|
|||
# You can update Home Manager without changing this value. See
|
||||
# the Home Manager release notes for a list of state version
|
||||
# changes in each release.
|
||||
home.stateVersion = "23.05";
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
@ -99,7 +99,7 @@ To satisfy the above setup we should elaborate the `home.nix` file as follows:
|
|||
# You can update Home Manager without changing this value. See
|
||||
# the Home Manager release notes for a list of state version
|
||||
# changes in each release.
|
||||
home.stateVersion = "23.05";
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1697456312,
|
||||
"narHash": "sha256-roiSnrqb5r+ehnKCauPLugoU8S36KgmWraHgRqVYndo=",
|
||||
"lastModified": 1700204040,
|
||||
"narHash": "sha256-xSVcS5HBYnD3LTer7Y2K8ZQCDCXMa3QUD1MzRjHzuhI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ca012a02bf8327be9e488546faecae5e05d7d749",
|
||||
"rev": "c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -359,7 +359,7 @@ $xdgVars
|
|||
# You should not change this value, even if you update Home Manager. If you do
|
||||
# want to update the value, then make sure to first check the Home Manager
|
||||
# release notes.
|
||||
home.stateVersion = "23.05"; # Please read the comment before changing.
|
||||
home.stateVersion = "23.11"; # Please read the comment before changing.
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
|
@ -397,8 +397,10 @@ $xdgVars
|
|||
# '';
|
||||
};
|
||||
|
||||
# You can also manage environment variables but you will have to manually
|
||||
# source
|
||||
# Home Manager can also manage your environment variables through
|
||||
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
||||
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
||||
# either
|
||||
#
|
||||
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
|
@ -406,7 +408,6 @@ $xdgVars
|
|||
#
|
||||
# /etc/profiles/per-user/$USER/etc/profile.d/hm-session-vars.sh
|
||||
#
|
||||
# if you don't want to manage your shell through Home Manager.
|
||||
home.sessionVariables = {
|
||||
# EDITOR = "emacs";
|
||||
};
|
||||
|
|
|
@ -8,8 +8,8 @@ msgstr ""
|
|||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-06-17 07:49+0000\n"
|
||||
"Last-Translator: Pink Pony <dreammc@protonmail.com>\n"
|
||||
"PO-Revision-Date: 2023-11-17 08:06+0000\n"
|
||||
"Last-Translator: \"Julien H. Gibson\" <julienhgibson@protonmail.com>\n"
|
||||
"Language-Team: French <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"fr/>\n"
|
||||
"Language: fr\n"
|
||||
|
@ -17,7 +17,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.18.1\n"
|
||||
"X-Generator: Weblate 5.2\n"
|
||||
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
|
@ -42,7 +42,7 @@ msgstr ""
|
|||
|
||||
#: home-manager/home-manager:124
|
||||
msgid "Home Manager not found at %s."
|
||||
msgstr ""
|
||||
msgstr "Home Manager n'a pas été trouvé à l'emplacement %s."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:132
|
||||
|
@ -50,6 +50,8 @@ msgid ""
|
|||
"The fallback Home Manager path %s has been deprecated and a file/directory "
|
||||
"was found there."
|
||||
msgstr ""
|
||||
"Le chemin d'accès de secours vers Home Manager %s est obsolète et un fichier/"
|
||||
"dossier y a été trouvé."
|
||||
|
||||
#. translators: This message will be seen by very few users that likely are familiar with English. So feel free to leave this untranslated.
|
||||
#: home-manager/home-manager:135
|
||||
|
@ -72,6 +74,25 @@ msgid ""
|
|||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
msgstr ""
|
||||
"Pour enlever cet avertissement, faites l'une des manipulations suivantes.\n"
|
||||
"\n"
|
||||
"1. Dire explicitement à Home Manager d'utiliser le path, par exemple en "
|
||||
"ajoutant\n"
|
||||
"\n"
|
||||
" { programs.home-manager.path = \"%s\"; }\n"
|
||||
"\n"
|
||||
" à votre configuration.\n"
|
||||
"\n"
|
||||
" Si vous importez directement Home Manager, vous pouvez utiliser le "
|
||||
"paramètre `path`\n"
|
||||
"\n"
|
||||
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
|
||||
"\n"
|
||||
" lorsque vous appelez le package Home Manager.\n"
|
||||
"\n"
|
||||
"2. Supprimer le path obsolète.\n"
|
||||
"\n"
|
||||
" $ rm -r \"%s\""
|
||||
|
||||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
|
@ -80,12 +101,12 @@ msgstr "Impossible de trouver le dossier de profil approprié, essayé %s et %s"
|
|||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:229
|
||||
msgid "Can't inspect options of a flake configuration"
|
||||
msgstr "Impossible d'inspecter les options d'une configuration en flocons"
|
||||
msgstr "Impossible d'inspecter les options de la configuration d'un flake"
|
||||
|
||||
#: home-manager/home-manager:291 home-manager/home-manager:314
|
||||
#: home-manager/home-manager:1034
|
||||
msgid "%s: unknown option '%s'"
|
||||
msgstr "%s : option inconnue « %s »"
|
||||
msgstr "%s : option inconnue '%s'"
|
||||
|
||||
#: home-manager/home-manager:296 home-manager/home-manager:1035
|
||||
msgid "Run '%s --help' for usage help"
|
||||
|
@ -158,7 +179,7 @@ msgstr[1] ""
|
|||
|
||||
#: home-manager/home-manager:576
|
||||
msgid "Unknown \"news.display\" setting \"%s\"."
|
||||
msgstr "Configuration \"news.display\" iconnue \"%s\"."
|
||||
msgstr "Configuration \"news.display\" inconnue \"%s\"."
|
||||
|
||||
#: home-manager/home-manager:583
|
||||
#, sh-format
|
||||
|
@ -171,7 +192,7 @@ msgstr "Impossible de lancer une compilation dans un dossier en écriture seule"
|
|||
|
||||
#: home-manager/home-manager:676
|
||||
msgid "No generation with ID %s"
|
||||
msgstr "Aucune génération avec l'identifiant %s"
|
||||
msgstr "Aucune génération avec l'ID %s"
|
||||
|
||||
#: home-manager/home-manager:678
|
||||
msgid "Cannot remove the current generation %s"
|
||||
|
@ -187,11 +208,11 @@ msgstr "Aucune génération expirée"
|
|||
|
||||
#: home-manager/home-manager:710
|
||||
msgid "No home-manager packages seem to be installed."
|
||||
msgstr "Aucun paquet home-manager ne semble être installé."
|
||||
msgstr "Aucun package home-manager ne semble être installé."
|
||||
|
||||
#: home-manager/home-manager:792
|
||||
msgid "Unknown argument %s"
|
||||
msgstr "Aucun argument %s"
|
||||
msgstr "Argument inconnu %s"
|
||||
|
||||
#: home-manager/home-manager:816
|
||||
msgid "This will remove Home Manager from your system."
|
||||
|
|
|
@ -8,8 +8,8 @@ msgstr ""
|
|||
"Project-Id-Version: Home Manager\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-04-11 20:41+0000\n"
|
||||
"Last-Translator: Robert Helgesson <robert@rycee.net>\n"
|
||||
"PO-Revision-Date: 2023-11-12 11:01+0000\n"
|
||||
"Last-Translator: Frankie McEyes <mceyes@protonmail.com>\n"
|
||||
"Language-Team: Italian <https://hosted.weblate.org/projects/home-manager/cli/"
|
||||
"it/>\n"
|
||||
"Language: it\n"
|
||||
|
@ -17,7 +17,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17-dev\n"
|
||||
"X-Generator: Weblate 5.2-dev\n"
|
||||
|
||||
#: home-manager/home-manager:81
|
||||
msgid "No configuration file found at %s"
|
||||
|
@ -72,6 +72,7 @@ msgstr ""
|
|||
#: home-manager/home-manager:174
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr ""
|
||||
"Impossibile trovare la directory del profilo adatta, si è provato con %s e %s"
|
||||
|
||||
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
|
||||
#: home-manager/home-manager:229
|
||||
|
|
|
@ -29,7 +29,7 @@ in {
|
|||
QT_IM_MODULE = "fcitx";
|
||||
XMODIFIERS = "@im=fcitx";
|
||||
QT_PLUGIN_PATH =
|
||||
"${fcitx5Package}/${pkgs.qt6.qtbase.qtPluginPrefix}:\${QT_PLUGIN_PATH}";
|
||||
"$QT_PLUGIN_PATH\${QT_PLUGIN_PATH:+:}${fcitx5Package}/${pkgs.qt6.qtbase.qtPluginPrefix}";
|
||||
};
|
||||
|
||||
systemd.user.services.fcitx5-daemon = {
|
||||
|
|
|
@ -414,6 +414,11 @@
|
|||
keys =
|
||||
[{ fingerprint = "75F0 AB7C FE01 D077 AEE6 CAFD 353E 4A18 EE0F AB72"; }];
|
||||
};
|
||||
tensor5 = {
|
||||
github = "tensor5";
|
||||
githubId = 1545895;
|
||||
name = "Nicola Squartini";
|
||||
};
|
||||
toastal = {
|
||||
email = "toastal+nix@posteo.net";
|
||||
matrix = "@toastal:matrix.org";
|
||||
|
|
|
@ -1116,7 +1116,7 @@ in
|
|||
can control it by using the `qt5ct` and `qt6ct` applications;
|
||||
- `qt.style.name = "kvantum"`: override the style by using themes
|
||||
written in SVG. Supports many popular themes.
|
||||
'';
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
|
@ -1274,6 +1274,13 @@ in
|
|||
'';
|
||||
}
|
||||
|
||||
{
|
||||
time = "2023-10-04T18:35:42+00:00";
|
||||
message = ''
|
||||
A new module is available: 'programs.openstackclient'.
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
time = "2023-10-17T06:33:24+00:00";
|
||||
condition = hostPlatform.isLinux;
|
||||
|
@ -1312,6 +1319,12 @@ in
|
|||
Please migrate to the new option to suppress the generated warning.
|
||||
'';
|
||||
}
|
||||
{
|
||||
time = "2023-11-22T22:42:16+00:00";
|
||||
message = ''
|
||||
A new module is available: 'programs.ruff'.
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,25 +1,37 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.qt;
|
||||
|
||||
# Map platform names to their packages.
|
||||
platformPackages = with pkgs; {
|
||||
gnome = [ qgnomeplatform qgnomeplatform-qt6 ];
|
||||
gtk = [ libsForQt5.qtstyleplugins qt6Packages.qt6gtk2 ];
|
||||
kde = [ libsForQt5.plasma-integration libsForQt5.systemsettings ];
|
||||
lxqt = [ lxqt.lxqt-qtplugin lxqt.lxqt-config ];
|
||||
qtct = [ libsForQt5.qt5ct qt6Packages.qt6ct ];
|
||||
};
|
||||
|
||||
# Maps style names to their QT_QPA_PLATFORMTHEME, if necessary.
|
||||
styleNames = {
|
||||
gtk = "gtk2";
|
||||
qtct = "qt5ct";
|
||||
};
|
||||
|
||||
# Maps known lowercase style names to style packages. Non-exhaustive.
|
||||
stylePackages = with pkgs; {
|
||||
bb10bright = libsForQt5.qtstyleplugins;
|
||||
bb10dark = libsForQt5.qtstyleplugins;
|
||||
cleanlooks = libsForQt5.qtstyleplugins;
|
||||
gtk2 = libsForQt5.qtstyleplugins;
|
||||
gtk2 = [ libsForQt5.qtstyleplugins qt6Packages.qt6gtk2 ];
|
||||
motif = libsForQt5.qtstyleplugins;
|
||||
cde = libsForQt5.qtstyleplugins;
|
||||
plastique = libsForQt5.qtstyleplugins;
|
||||
|
||||
adwaita = adwaita-qt;
|
||||
adwaita-dark = adwaita-qt;
|
||||
adwaita-highcontrast = adwaita-qt;
|
||||
adwaita-highcontrastinverse = adwaita-qt;
|
||||
adwaita = [ adwaita-qt adwaita-qt6 ];
|
||||
adwaita-dark = [ adwaita-qt adwaita-qt6 ];
|
||||
adwaita-highcontrast = [ adwaita-qt adwaita-qt6 ];
|
||||
adwaita-highcontrastinverse = [ adwaita-qt adwaita-qt6 ];
|
||||
|
||||
breeze = libsForQt5.breeze-qt5;
|
||||
|
||||
|
@ -28,29 +40,37 @@ let
|
|||
};
|
||||
|
||||
in {
|
||||
meta.maintainers = with maintainers; [ rycee thiagokokada ];
|
||||
meta.maintainers = with lib.maintainers; [ rycee thiagokokada ];
|
||||
|
||||
imports = [
|
||||
(mkChangedOptionModule [ "qt" "useGtkTheme" ] [ "qt" "platformTheme" ]
|
||||
(lib.mkChangedOptionModule [ "qt" "useGtkTheme" ] [ "qt" "platformTheme" ]
|
||||
(config:
|
||||
if getAttrFromPath [ "qt" "useGtkTheme" ] config then "gtk" else null))
|
||||
if lib.getAttrFromPath [ "qt" "useGtkTheme" ] config then
|
||||
"gtk"
|
||||
else
|
||||
null))
|
||||
];
|
||||
|
||||
options = {
|
||||
qt = {
|
||||
enable = mkEnableOption "Qt 4, 5 and 6 configuration";
|
||||
enable = lib.mkEnableOption "Qt 5 and 6 configuration";
|
||||
|
||||
platformTheme = mkOption {
|
||||
type = types.nullOr (types.enum [ "gtk" "gnome" "qtct" "kde" ]);
|
||||
platformTheme = lib.mkOption {
|
||||
type = with lib.types;
|
||||
nullOr (enum [ "gtk" "gtk3" "gnome" "lxqt" "qtct" "kde" ]);
|
||||
default = null;
|
||||
example = "gnome";
|
||||
relatedPackages = [
|
||||
"qgnomeplatform"
|
||||
[ "libsForQt5" "qtstyleplugins" ]
|
||||
[ "libsForQt5" "qt5ct" ]
|
||||
[ "qt6Packages" "qt6ct" ]
|
||||
"qgnomeplatform-qt6"
|
||||
[ "libsForQt5" "plasma-integration" ]
|
||||
[ "libsForQt5" "qt5ct" ]
|
||||
[ "libsForQt5" "qtstyleplugins" ]
|
||||
[ "libsForQt5" "systemsettings" ]
|
||||
[ "lxqt" "lxqt-config" ]
|
||||
[ "lxqt" "lxqt-qtplugin" ]
|
||||
[ "qt6Packages" "qt6ct" ]
|
||||
[ "qt6Packages" "qt6gtk2" ]
|
||||
];
|
||||
description = ''
|
||||
Platform theme to use for Qt applications.
|
||||
|
@ -61,10 +81,19 @@ in {
|
|||
: Use GTK theme with
|
||||
[`qtstyleplugins`](https://github.com/qt/qtstyleplugins)
|
||||
|
||||
`gtk3`
|
||||
: Use [GTK3 integration](https://github.com/qt/qtbase/tree/dev/src/plugins/platformthemes/gtk3)
|
||||
for file picker dialogs, font and theme configuration
|
||||
|
||||
`gnome`
|
||||
: Use GNOME theme with
|
||||
[`qgnomeplatform`](https://github.com/FedoraQt/QGnomePlatform)
|
||||
|
||||
`lxqt`
|
||||
: Use LXQt theme style set using the
|
||||
[`lxqt-config-appearance`](https://github.com/lxqt/lxqt-config)
|
||||
application
|
||||
|
||||
`qtct`
|
||||
: Use Qt style set using
|
||||
[`qt5ct`](https://github.com/desktop-app/qt5ct)
|
||||
|
@ -77,15 +106,17 @@ in {
|
|||
};
|
||||
|
||||
style = {
|
||||
name = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
name = lib.mkOption {
|
||||
type = with lib.types; nullOr str;
|
||||
default = null;
|
||||
example = "adwaita-dark";
|
||||
relatedPackages = [
|
||||
"adwaita-qt"
|
||||
"adwaita-qt6"
|
||||
[ "libsForQt5" "breeze-qt5" ]
|
||||
[ "libsForQt5" "qtstyleplugins" ]
|
||||
[ "libsForQt5" "qtstyleplugin-kvantum" ]
|
||||
[ "libsForQt5" "qtstyleplugins" ]
|
||||
[ "qt6Packages" "qt6gtk2" ]
|
||||
[ "qt6Packages" "qtstyleplugin-kvantum" ]
|
||||
];
|
||||
description = ''
|
||||
|
@ -111,10 +142,10 @@ in {
|
|||
'';
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = with types; nullOr (either package (listOf package));
|
||||
package = lib.mkOption {
|
||||
type = with lib.types; nullOr (either package (listOf package));
|
||||
default = null;
|
||||
example = literalExpression "pkgs.adwaita-qt";
|
||||
example = lib.literalExpression "pkgs.adwaita-qt";
|
||||
description = ''
|
||||
Theme package to be used in Qt5/Qt6 applications.
|
||||
Auto-detected from {option}`qt.style.name` if possible.
|
||||
|
@ -127,17 +158,28 @@ in {
|
|||
config = let
|
||||
|
||||
# Necessary because home.sessionVariables doesn't support mkIf
|
||||
envVars = filterAttrs (n: v: v != null) {
|
||||
QT_QPA_PLATFORMTHEME = if cfg.platformTheme == "gtk" then
|
||||
"gtk2"
|
||||
else if cfg.platformTheme == "qtct" then
|
||||
"qt5ct"
|
||||
envVars = lib.filterAttrs (n: v: v != null) {
|
||||
QT_QPA_PLATFORMTHEME = if (cfg.platformTheme != null) then
|
||||
styleNames.${cfg.platformTheme} or cfg.platformTheme
|
||||
else
|
||||
cfg.platformTheme;
|
||||
null;
|
||||
QT_STYLE_OVERRIDE = cfg.style.name;
|
||||
};
|
||||
|
||||
in mkIf (cfg.enable && cfg.platformTheme != null) {
|
||||
envVarsExtra = let
|
||||
inherit (config.home) profileDirectory;
|
||||
qtVersions = with pkgs; [ qt5 qt6 ];
|
||||
makeQtPath = prefix:
|
||||
lib.concatStringsSep ":"
|
||||
(map (qt: "${profileDirectory}/${qt.qtbase.${prefix}}") qtVersions);
|
||||
in {
|
||||
QT_PLUGIN_PATH = "$QT_PLUGIN_PATH\${QT_PLUGIN_PATH:+:}"
|
||||
+ (makeQtPath "qtPluginPrefix");
|
||||
QML2_IMPORT_PATH = "$QML2_IMPORT_PATH\${QML2_IMPORT_PATH:+:}"
|
||||
+ (makeQtPath "qtQmlPrefix");
|
||||
};
|
||||
|
||||
in lib.mkIf cfg.enable {
|
||||
assertions = [{
|
||||
assertion = cfg.platformTheme == "gnome" -> cfg.style.name != null
|
||||
&& cfg.style.package != null;
|
||||
|
@ -147,37 +189,32 @@ in {
|
|||
'';
|
||||
}];
|
||||
|
||||
qt.style.package = mkIf (cfg.style.name != null)
|
||||
(mkDefault (stylePackages.${toLower cfg.style.name} or null));
|
||||
qt.style.package = lib.mkIf (cfg.style.name != null)
|
||||
(lib.mkDefault (stylePackages.${lib.toLower cfg.style.name} or null));
|
||||
|
||||
home.sessionVariables = envVars;
|
||||
home = {
|
||||
sessionVariables = envVars;
|
||||
# home.sessionVariables does not support setting the same environment
|
||||
# variable to different values.
|
||||
# Since some other modules may set the QT_PLUGIN_PATH or QML2_IMPORT_PATH
|
||||
# to their own value, e.g.: fcitx5, we avoid conflicts by setting
|
||||
# the values in home.sessionVariablesExtra instead.
|
||||
sessionVariablesExtra = ''
|
||||
export QT_PLUGIN_PATH=${envVarsExtra.QT_PLUGIN_PATH}
|
||||
export QML2_IMPORT_PATH=${envVarsExtra.QML2_IMPORT_PATH}
|
||||
'';
|
||||
};
|
||||
|
||||
# Apply theming also to apps started by systemd.
|
||||
systemd.user.sessionVariables = envVars;
|
||||
systemd.user.sessionVariables = envVars // envVarsExtra;
|
||||
|
||||
home.packages = (if cfg.platformTheme == "gnome" then
|
||||
[ pkgs.qgnomeplatform ]
|
||||
else if cfg.platformTheme == "qtct" then [
|
||||
pkgs.libsForQt5.qt5ct
|
||||
pkgs.qt6Packages.qt6ct
|
||||
] else if cfg.platformTheme == "kde" then [
|
||||
pkgs.libsForQt5.plasma-integration
|
||||
pkgs.libsForQt5.systemsettings
|
||||
] else
|
||||
[ pkgs.libsForQt5.qtstyleplugins ])
|
||||
++ lib.optionals (cfg.style.package != null)
|
||||
(lib.toList cfg.style.package);
|
||||
home.packages = (lib.optionals (cfg.platformTheme != null)
|
||||
platformPackages.${cfg.platformTheme} or [ ])
|
||||
++ (lib.optionals (cfg.style.package != null)
|
||||
(lib.toList cfg.style.package));
|
||||
|
||||
xsession.importedVariables = [ "QT_QPA_PLATFORMTHEME" ]
|
||||
xsession.importedVariables = [ "QT_PLUGIN_PATH" "QML2_IMPORT_PATH" ]
|
||||
++ lib.optionals (cfg.platformTheme != null) [ "QT_QPA_PLATFORMTHEME" ]
|
||||
++ lib.optionals (cfg.style.name != null) [ "QT_STYLE_OVERRIDE" ];
|
||||
|
||||
# Enable GTK+ style for Qt4 in Gtk/GNOME.
|
||||
# It doesn’t support the platform theme packages.
|
||||
home.activation.useGtkThemeInQt4 =
|
||||
mkIf (cfg.platformTheme == "gtk" || cfg.platformTheme == "gnome")
|
||||
(hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||
$DRY_RUN_CMD ${pkgs.crudini}/bin/crudini $VERBOSE_ARG \
|
||||
--set "${config.xdg.configHome}/Trolltech.conf" Qt style GTK+
|
||||
'');
|
||||
};
|
||||
}
|
||||
|
|
|
@ -165,6 +165,7 @@ let
|
|||
./programs/offlineimap.nix
|
||||
./programs/oh-my-posh.nix
|
||||
./programs/opam.nix
|
||||
./programs/openstackclient.nix
|
||||
./programs/pandoc.nix
|
||||
./programs/papis.nix
|
||||
./programs/password-store.nix
|
||||
|
@ -189,6 +190,7 @@ let
|
|||
./programs/rofi.nix
|
||||
./programs/rtorrent.nix
|
||||
./programs/rtx.nix
|
||||
./programs/ruff.nix
|
||||
./programs/sagemath.nix
|
||||
./programs/sbt.nix
|
||||
./programs/scmpuff.nix
|
||||
|
|
|
@ -8,8 +8,8 @@ msgstr ""
|
|||
"Project-Id-Version: Home Manager Modules\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2022-12-15 08:50+0000\n"
|
||||
"Last-Translator: Walter Franzini <walter.franzini@gmail.com>\n"
|
||||
"PO-Revision-Date: 2023-11-12 11:01+0000\n"
|
||||
"Last-Translator: Frankie McEyes <mceyes@protonmail.com>\n"
|
||||
"Language-Team: Italian <https://hosted.weblate.org/projects/home-manager/"
|
||||
"modules/it/>\n"
|
||||
"Language: it\n"
|
||||
|
@ -17,7 +17,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.15-dev\n"
|
||||
"X-Generator: Weblate 5.2-dev\n"
|
||||
|
||||
#: modules/files.nix:234
|
||||
msgid "Creating home file links in %s"
|
||||
|
@ -51,6 +51,19 @@ msgid ""
|
|||
"\n"
|
||||
"Then try activating your Home Manager configuration again."
|
||||
msgstr ""
|
||||
"Ops, Nix non è riuscito a installare il nuovo profilo di Home Manager!\n"
|
||||
"\n"
|
||||
"Forse c'è un conflitto con un pacchetto che è stato installato utilizzando "
|
||||
"il file\n"
|
||||
"\"%s\"? Provate ad eseguire\n"
|
||||
"\n"
|
||||
" %s\n"
|
||||
"\n"
|
||||
"e se ci fosse un pacchetto in conflitto, potete rimuoverlo con\n"
|
||||
"\n"
|
||||
" %s\n"
|
||||
"\n"
|
||||
"Quindi provare ad attivare nuovamente la configurazione di Home Manager."
|
||||
|
||||
#: modules/home-environment.nix:673
|
||||
msgid "Activating %s"
|
||||
|
@ -58,11 +71,12 @@ msgstr "Attivando %s"
|
|||
|
||||
#: modules/lib-bash/activation-init.sh:22
|
||||
msgid "Migrating profile from %s to %s"
|
||||
msgstr ""
|
||||
msgstr "Migrazione del profilo da %s a %s"
|
||||
|
||||
#: modules/lib-bash/activation-init.sh:53
|
||||
msgid "Could not find suitable profile directory, tried %s and %s"
|
||||
msgstr ""
|
||||
"Impossibile trovare la directory del profilo adatta, si è provato con %s e %s"
|
||||
|
||||
#: modules/lib-bash/activation-init.sh:81
|
||||
msgid "Sanity checking oldGenNum and oldGenPath"
|
||||
|
@ -98,11 +112,11 @@ msgstr ""
|
|||
|
||||
#: modules/lib-bash/activation-init.sh:95
|
||||
msgid "Error: USER is set to \"%s\" but we expect \"%s\""
|
||||
msgstr ""
|
||||
msgstr "Errore: USER è impostato su \"%s\" ma era previsto \"%s\""
|
||||
|
||||
#: modules/lib-bash/activation-init.sh:104
|
||||
msgid "Error: HOME is set to \"%s\" but we expect \"%s\""
|
||||
msgstr ""
|
||||
msgstr "Errore: HOME è impostata su \"%s\" ma era previsto un valore di \"%s\""
|
||||
|
||||
#: modules/lib-bash/activation-init.sh:119
|
||||
msgid "Starting Home Manager activation"
|
||||
|
|
|
@ -8,8 +8,8 @@ msgstr ""
|
|||
"Project-Id-Version: Home Manager Modules\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
|
||||
"POT-Creation-Date: 2023-09-13 23:46+0200\n"
|
||||
"PO-Revision-Date: 2023-10-19 04:00+0000\n"
|
||||
"Last-Translator: Emre Çebi <emrecebi03@gmail.com>\n"
|
||||
"PO-Revision-Date: 2023-11-13 17:06+0000\n"
|
||||
"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
|
||||
"Language-Team: Turkish <https://hosted.weblate.org/projects/home-manager/"
|
||||
"modules/tr/>\n"
|
||||
"Language: tr\n"
|
||||
|
@ -17,7 +17,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.1\n"
|
||||
"X-Generator: Weblate 5.2-dev\n"
|
||||
|
||||
#: modules/files.nix:234
|
||||
msgid "Creating home file links in %s"
|
||||
|
@ -111,11 +111,11 @@ msgstr ""
|
|||
|
||||
#: modules/lib-bash/activation-init.sh:95
|
||||
msgid "Error: USER is set to \"%s\" but we expect \"%s\""
|
||||
msgstr ""
|
||||
msgstr "Hata: USER \"%s\" olarak ayarlandı ancak biz \"%s\" bekliyoruz"
|
||||
|
||||
#: modules/lib-bash/activation-init.sh:104
|
||||
msgid "Error: HOME is set to \"%s\" but we expect \"%s\""
|
||||
msgstr ""
|
||||
msgstr "Hata: HOME \"%s\" olarak ayarlandı ancak biz \"%s\" bekliyoruz"
|
||||
|
||||
#: modules/lib-bash/activation-init.sh:119
|
||||
msgid "Starting Home Manager activation"
|
||||
|
|
|
@ -8,10 +8,20 @@ let
|
|||
|
||||
package = pkgs.bat;
|
||||
|
||||
toConfigFile = generators.toKeyValue {
|
||||
mkKeyValue = k: v: "--${k}=${lib.escapeShellArg v}";
|
||||
listsAsDuplicateKeys = true;
|
||||
};
|
||||
toConfigFile = attrs:
|
||||
let
|
||||
inherit (builtins) isBool attrNames;
|
||||
nonBoolFlags = filterAttrs (_: v: !(isBool v)) attrs;
|
||||
enabledBoolFlags = filterAttrs (_: v: isBool v && v) attrs;
|
||||
|
||||
keyValuePairs = generators.toKeyValue {
|
||||
mkKeyValue = k: v: "--${k}=${lib.escapeShellArg v}";
|
||||
listsAsDuplicateKeys = true;
|
||||
} nonBoolFlags;
|
||||
switches = concatMapStrings (k: ''
|
||||
--${k}
|
||||
'') (attrNames enabledBoolFlags);
|
||||
in keyValuePairs + switches;
|
||||
|
||||
in {
|
||||
meta.maintainers = [ ];
|
||||
|
@ -20,7 +30,7 @@ in {
|
|||
enable = mkEnableOption "bat, a cat clone with wings";
|
||||
|
||||
config = mkOption {
|
||||
type = with types; attrsOf (either str (listOf str));
|
||||
type = with types; attrsOf (oneOf [ str (listOf str) bool ]);
|
||||
default = { };
|
||||
example = {
|
||||
theme = "TwoDark";
|
||||
|
|
|
@ -169,7 +169,10 @@ let
|
|||
else if isDarwin then
|
||||
package
|
||||
else if versionAtLeast config.home.stateVersion "19.09" then
|
||||
package.override (old: { cfg = old.cfg or { } // fcfg; })
|
||||
package.override (old: {
|
||||
cfg = old.cfg or { } // fcfg;
|
||||
extraPolicies = cfg.policies;
|
||||
})
|
||||
else
|
||||
(pkgs.wrapFirefox.override { config = bcfg; }) package { };
|
||||
|
||||
|
@ -230,6 +233,17 @@ in {
|
|||
description = "Resulting Firefox package.";
|
||||
};
|
||||
|
||||
policies = mkOption {
|
||||
type = types.attrsOf jsonFormat.type;
|
||||
default = { };
|
||||
description =
|
||||
"[See list of policies](https://mozilla.github.io/policy-templates/).";
|
||||
example = {
|
||||
DefaultDownloadDirectory = "\${home}/Downloads";
|
||||
BlockAboutConfig = true;
|
||||
};
|
||||
};
|
||||
|
||||
profiles = mkOption {
|
||||
type = types.attrsOf (types.submodule ({ config, name, ... }: {
|
||||
options = {
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.programs.openstackclient;
|
||||
yamlFormat = pkgs.formats.yaml { };
|
||||
in {
|
||||
meta.maintainers = [ lib.hm.maintainers.tensor5 ];
|
||||
|
||||
options.programs.openstackclient = {
|
||||
enable = lib.mkEnableOption "OpenStack command-line client";
|
||||
|
||||
package = lib.mkPackageOption pkgs "openstackclient" { };
|
||||
|
||||
clouds = lib.mkOption {
|
||||
type = lib.types.submodule { freeformType = yamlFormat.type; };
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
my-infra = {
|
||||
cloud = "example-cloud";
|
||||
auth = {
|
||||
project_id = "0123456789abcdef0123456789abcdef";
|
||||
username = "openstack";
|
||||
};
|
||||
region_name = "XXX";
|
||||
interface = "internal";
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Configuration needed to connect to one or more clouds.
|
||||
|
||||
Do not include passwords here as they will be publicly readable in the Nix store.
|
||||
Configuration written to {file}`$XDG_CONFIG_HOME/openstack/clouds.yaml`.
|
||||
See <https://docs.openstack.org/python-openstackclient/latest/configuration/index.html#clouds-yaml>.
|
||||
'';
|
||||
};
|
||||
|
||||
publicClouds = lib.mkOption {
|
||||
type = lib.types.submodule { freeformType = yamlFormat.type; };
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
example-cloud = {
|
||||
auth = {
|
||||
auth_url = "https://identity.cloud.example.com/v2.0";
|
||||
};
|
||||
};
|
||||
};
|
||||
'';
|
||||
description = ''
|
||||
Public information about clouds.
|
||||
|
||||
Configuration written to {file}`$XDG_CONFIG_HOME/openstack/clouds-public.yaml`.
|
||||
See <https://docs.openstack.org/python-openstackclient/latest/configuration/index.html#clouds-public-yaml>.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = [ cfg.package ];
|
||||
|
||||
xdg.configFile."openstack/clouds.yaml".source = yamlFormat.generate
|
||||
"openstackclient-clouds-yaml-${config.home.username}" {
|
||||
clouds = cfg.clouds;
|
||||
};
|
||||
|
||||
xdg.configFile."openstack/clouds-public.yaml".source = yamlFormat.generate
|
||||
"openstackclient-clouds-public-yaml-${config.home.username}" {
|
||||
public-clouds = cfg.publicClouds;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.programs.ruff;
|
||||
|
||||
settingsFormat = pkgs.formats.toml { };
|
||||
|
||||
in {
|
||||
meta.maintainers = [ hm.maintainers.GaetanLepage ];
|
||||
|
||||
options.programs.ruff = {
|
||||
enable = mkEnableOption
|
||||
"ruff, an extremely fast Python linter and code formatter, written in Rust";
|
||||
|
||||
package = mkPackageOption pkgs "ruff" { };
|
||||
|
||||
settings = mkOption {
|
||||
type = settingsFormat.type;
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
line-length = 100;
|
||||
per-file-ignores = { "__init__.py" = [ "F401" ]; };
|
||||
lint = {
|
||||
select = [ "E4" "E7" "E9" "F" ];
|
||||
ignore = [ ];
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Ruff configuration.
|
||||
For available settings see <https://docs.astral.sh/ruff/settings>.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [ cfg.package ];
|
||||
|
||||
xdg.configFile."ruff/ruff.toml".source =
|
||||
settingsFormat.generate "ruff.toml" cfg.settings;
|
||||
};
|
||||
}
|
|
@ -226,9 +226,20 @@ let
|
|||
|
||||
package = mkPackageOption pkgs "zsh-syntax-highlighting" { };
|
||||
|
||||
highlighters = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ ];
|
||||
example = [ "brackets" ];
|
||||
description = ''
|
||||
Highlighters to enable
|
||||
See the list of highlighters: <https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md>
|
||||
'';
|
||||
};
|
||||
|
||||
styles = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
default = {};
|
||||
example = { comment = "fg=black,bold"; };
|
||||
description = ''
|
||||
Custom styles for syntax highlighting.
|
||||
See each highlighter's options: <https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md>
|
||||
|
@ -624,6 +635,7 @@ in
|
|||
# https://github.com/zsh-users/zsh-syntax-highlighting#faq
|
||||
''
|
||||
source ${cfg.syntaxHighlighting.package}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
ZSH_HIGHLIGHT_HIGHLIGHTERS+=(${lib.concatStringsSep " " (map lib.escapeShellArg cfg.syntaxHighlighting.highlighters)})
|
||||
${lib.concatStringsSep "\n" (
|
||||
lib.mapAttrsToList
|
||||
(name: value: "ZSH_HIGHLIGHT_STYLES+=(${lib.escapeShellArg name} ${lib.escapeShellArg value})")
|
||||
|
|
|
@ -5,7 +5,7 @@ let
|
|||
inherit (lib)
|
||||
boolToString concatMapStringsSep concatStringsSep escape literalExpression
|
||||
mapAttrsToList mkEnableOption mkRenamedOptionModule mkRemovedOptionModule
|
||||
mkDefault mkIf mkOption optional types warn;
|
||||
mkDefault mkIf mkOption optional types warn getExe;
|
||||
|
||||
cfg = config.services.picom;
|
||||
opt = options.services.picom;
|
||||
|
@ -318,7 +318,7 @@ in {
|
|||
|
||||
Service = {
|
||||
ExecStart = concatStringsSep " " ([
|
||||
"${cfg.package}/bin/picom"
|
||||
"${getExe cfg.package}"
|
||||
"--config ${config.xdg.configFile."picom/picom.conf".source}"
|
||||
] ++ cfg.extraArgs);
|
||||
Restart = "always";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"release": "23.11",
|
||||
"release": "24.05",
|
||||
"isReleaseBranch": false
|
||||
}
|
||||
|
|
|
@ -118,6 +118,7 @@ import nmt {
|
|||
./modules/programs/nnn
|
||||
./modules/programs/nushell
|
||||
./modules/programs/oh-my-posh
|
||||
./modules/programs/openstackclient
|
||||
./modules/programs/pandoc
|
||||
./modules/programs/papis
|
||||
./modules/programs/pet
|
||||
|
@ -132,6 +133,7 @@ import nmt {
|
|||
./modules/programs/rio
|
||||
./modules/programs/ripgrep
|
||||
./modules/programs/rtx
|
||||
./modules/programs/ruff
|
||||
./modules/programs/sagemath
|
||||
./modules/programs/sbt
|
||||
./modules/programs/scmpuff
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
{
|
||||
qt-basic = ./qt-basic.nix;
|
||||
qt-platform-theme-gtk = ./qt-platform-theme-gtk.nix;
|
||||
qt-platform-theme-gtk3 = ./qt-platform-theme-gtk3.nix;
|
||||
qt-platform-theme-gnome = ./qt-platform-theme-gnome.nix;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config = {
|
||||
qt.enable = true;
|
||||
|
||||
nmt.script = ''
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QT_PLUGIN_PATH'
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QML2_IMPORT_PATH'
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -15,6 +15,10 @@
|
|||
'QT_QPA_PLATFORMTHEME="gnome"'
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QT_STYLE_OVERRIDE="adwaita"'
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QT_PLUGIN_PATH'
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QML2_IMPORT_PATH'
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -6,10 +6,15 @@
|
|||
enable = true;
|
||||
platformTheme = "gtk";
|
||||
};
|
||||
i18n.inputMethod.enabled = "fcitx5";
|
||||
|
||||
nmt.script = ''
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QT_QPA_PLATFORMTHEME="gtk2"'
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QT_PLUGIN_PATH'
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QML2_IMPORT_PATH'
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config = {
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk3";
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QT_QPA_PLATFORMTHEME="gtk3"'
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QT_PLUGIN_PATH'
|
||||
assertFileRegex home-path/etc/profile.d/hm-session-vars.sh \
|
||||
'QML2_IMPORT_PATH'
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -11,6 +11,10 @@ with lib;
|
|||
theme = "TwoDark";
|
||||
pager = "less -FR";
|
||||
map-syntax = [ "*.jenkinsfile:Groovy" "*.props:Java Properties" ];
|
||||
show-all = true;
|
||||
|
||||
# False boolean options should not appear in the config
|
||||
lessopen = false;
|
||||
};
|
||||
|
||||
themes.testtheme.src = pkgs.writeText "testtheme.tmTheme" ''
|
||||
|
@ -32,6 +36,7 @@ with lib;
|
|||
--map-syntax='*.props:Java Properties'
|
||||
--pager='less -FR'
|
||||
--theme='TwoDark'
|
||||
--show-all
|
||||
''
|
||||
}
|
||||
|
||||
|
|
|
@ -4,4 +4,5 @@
|
|||
firefox-deprecated-native-messenger = ./deprecated-native-messenger.nix;
|
||||
firefox-duplicate-profile-ids = ./duplicate-profile-ids.nix;
|
||||
firefox-duplicate-container-ids = ./duplicate-container-ids.nix;
|
||||
firefox-policies = ./policies.nix;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ./setup-firefox-mock-overlay.nix ];
|
||||
|
||||
config = lib.mkIf config.test.enableBig {
|
||||
home.stateVersion = "23.05";
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = { BlockAboutConfig = true; };
|
||||
};
|
||||
|
||||
nmt.script = ''
|
||||
jq=${lib.getExe pkgs.jq}
|
||||
config_file="${config.programs.firefox.finalPackage}/lib/firefox/distribution/policies.json"
|
||||
|
||||
assertFileExists "$config_file"
|
||||
blockAboutConfig_actual_value="$($jq ".policies.BlockAboutConfig" $config_file)"
|
||||
|
||||
if [[ $blockAboutConfig_actual_value != "true" ]]; then
|
||||
fail "Expected '$config_file' to set 'policies.BlockAboutConfig' to true"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
public-clouds:
|
||||
example-cloud:
|
||||
auth:
|
||||
auth_url: https://identity.cloud.example.com/v2.0
|
|
@ -0,0 +1,8 @@
|
|||
clouds:
|
||||
my-infra:
|
||||
auth:
|
||||
project_id: 0123456789abcdef0123456789abcdef
|
||||
username: openstack
|
||||
cloud: example-cloud
|
||||
interface: internal
|
||||
region_name: XXX
|
|
@ -0,0 +1 @@
|
|||
{ openstackclient = ./openstackclient.nix; }
|
|
@ -0,0 +1,35 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
programs.openstackclient = {
|
||||
enable = true;
|
||||
clouds = {
|
||||
my-infra = {
|
||||
cloud = "example-cloud";
|
||||
auth = {
|
||||
project_id = "0123456789abcdef0123456789abcdef";
|
||||
username = "openstack";
|
||||
};
|
||||
region_name = "XXX";
|
||||
interface = "internal";
|
||||
};
|
||||
};
|
||||
publicClouds = {
|
||||
example-cloud = {
|
||||
auth = { auth_url = "https://identity.cloud.example.com/v2.0"; };
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
test.stubs.openstackclient = { };
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/openstack/clouds.yaml
|
||||
assertFileContent home-files/.config/openstack/clouds.yaml \
|
||||
${./clouds.yaml}
|
||||
assertFileExists home-files/.config/openstack/clouds-public.yaml
|
||||
assertFileContent home-files/.config/openstack/clouds-public.yaml \
|
||||
${./clouds-public.yaml}
|
||||
'';
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
{ ruff-program = ./ruff.nix; }
|
|
@ -0,0 +1,8 @@
|
|||
line-length = 100
|
||||
|
||||
[lint]
|
||||
ignore = []
|
||||
select = ["E4", "E7", "E9", "F"]
|
||||
|
||||
[per-file-ignores]
|
||||
"__init__.py" = ["F401"]
|
|
@ -0,0 +1,23 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
programs.ruff = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
line-length = 100;
|
||||
per-file-ignores = { "__init__.py" = [ "F401" ]; };
|
||||
lint = {
|
||||
select = [ "E4" "E7" "E9" "F" ];
|
||||
ignore = [ ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
test.stubs.ruff = { };
|
||||
|
||||
nmt.script = ''
|
||||
assertFileExists home-files/.config/ruff/ruff.toml
|
||||
assertFileContent home-files/.config/ruff/ruff.toml ${./expected.toml}
|
||||
'';
|
||||
}
|
|
@ -9,6 +9,7 @@ with lib;
|
|||
syntaxHighlighting = {
|
||||
enable = true;
|
||||
package = pkgs.hello;
|
||||
highlighters = [ "brackets" "pattern" "cursor" ];
|
||||
styles.comment = "fg=#6c6c6c";
|
||||
};
|
||||
};
|
||||
|
@ -17,6 +18,7 @@ with lib;
|
|||
|
||||
nmt.script = ''
|
||||
assertFileContains home-files/.zshrc "source ${pkgs.hello}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
||||
assertFileContains home-files/.zshrc "ZSH_HIGHLIGHT_HIGHLIGHTERS+=('brackets' 'pattern' 'cursor')"
|
||||
assertFileContains home-files/.zshrc "ZSH_HIGHLIGHT_STYLES+=('comment' 'fg=#6c6c6c')"
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
WantedBy=graphical-session.target
|
||||
|
||||
[Service]
|
||||
ExecStart=@picom@/bin/picom --config /nix/store/00000000000000000000000000000000-hm_picompicom.conf --legacy-backends
|
||||
ExecStart=@picom@/bin/dummy --config /nix/store/00000000000000000000000000000000-hm_picompicom.conf --legacy-backends
|
||||
Restart=always
|
||||
RestartSec=3
|
||||
|
||||
|
|
Loading…
Reference in New Issue