Merge branch 'nix-community:master' into fish_source_vendor_completion

This commit is contained in:
Léana 江 2024-04-14 20:35:50 +02:00 committed by GitHub
commit 045b5adcb7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
38 changed files with 384 additions and 159 deletions

View File

@ -2,11 +2,11 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1710806803,
"narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=",
"lastModified": 1712791164,
"narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3",
"rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5",
"type": "github"
},
"original": {

View File

@ -78,8 +78,7 @@
in throwForRemovedArgs (import ./modules {
inherit pkgs lib check extraSpecialArgs;
configuration = { ... }: {
imports = modules
++ [{ programs.home-manager.path = toString ./.; }];
imports = modules ++ [{ programs.home-manager.path = "${./.}"; }];
nixpkgs = {
config = nixpkgs.lib.mkDefault pkgs.config;
inherit (pkgs) overlays;
@ -112,7 +111,7 @@
inherit pkgs;
inherit (releaseInfo) release isReleaseBranch;
};
hmPkg = pkgs.callPackage ./home-manager { path = toString ./.; };
hmPkg = pkgs.callPackage ./home-manager { path = "${./.}"; };
testPackages = let
tests = import ./tests { inherit pkgs; };

View File

@ -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: 2024-02-15 16:04+0100\n"
"PO-Revision-Date: 2024-02-16 22:01+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n"
"PO-Revision-Date: 2024-04-05 11:01+0000\n"
"Last-Translator: Leix b <abone9999@gmail.com>\n"
"Language-Team: Catalan <https://hosted.weblate.org/projects/home-manager/cli/"
"ca/>\n"
"Language: ca\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.4\n"
"X-Generator: Weblate 5.5-dev\n"
#: home-manager/home-manager:58
msgid "No configuration file found at %s"
@ -186,7 +186,7 @@ msgstr "Configuració \"news.display\" no reconeguda \"%s\"."
#: home-manager/home-manager:586
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
msgstr "Si us plau, defineix les variables de entorn $EDITOR o $VISUAL"
#: home-manager/home-manager:604
msgid "Cannot run build in read-only directory"

View File

@ -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: 2024-02-15 16:04+0100\n"
"PO-Revision-Date: 2024-02-16 22:01+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n"
"PO-Revision-Date: 2024-04-02 21:38+0000\n"
"Last-Translator: LilleAila <olai.solsvik@gmail.com>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
"home-manager/cli/nb_NO/>\n"
"Language: nb_NO\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.4\n"
"X-Generator: Weblate 5.5-dev\n"
#: home-manager/home-manager:58
msgid "No configuration file found at %s"
@ -27,10 +27,13 @@ msgstr "Fant ingen oppsettsfil i %s"
#. 'home.nix' or 'flake.nix'.
#: home-manager/home-manager:75 home-manager/home-manager:79
#: home-manager/home-manager:178
#, fuzzy
msgid ""
"Keeping your Home Manager %s in %s is deprecated,\n"
"please move it to %s"
msgstr ""
"Å holde Home Manager %s i %s er avviklet,\n"
"vennligst flytt det til %s"
#: home-manager/home-manager:86
msgid "No configuration file found. Please create one at %s"
@ -38,7 +41,7 @@ msgstr "Fant ikke noen oppsettsfil. Opprett en i %s"
#: home-manager/home-manager:101
msgid "Home Manager not found at %s."
msgstr ""
msgstr "Home Manager var ikke funnet på %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:109
@ -75,7 +78,7 @@ msgstr "Kontrollerer at Nix fungerer"
#: home-manager/home-manager:160
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
msgstr "Kunne ikke finne en passende profilmappe, prøvde %s og %s"
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:215
@ -92,12 +95,13 @@ msgid "Run '%s --help' for usage help"
msgstr "Kjør «%s --help» for brukshjelp"
#: home-manager/home-manager:319 home-manager/home-manager:423
#, fuzzy
msgid "The file %s already exists, leaving it unchanged..."
msgstr ""
msgstr "Filen %s eksisterer fra før, lar den være uendret..."
#: home-manager/home-manager:321 home-manager/home-manager:425
msgid "Creating %s..."
msgstr ""
msgstr "Lager %s..."
#: home-manager/home-manager:467
msgid "Creating initial Home Manager generation..."

View File

@ -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: 2024-02-15 16:04+0100\n"
"PO-Revision-Date: 2024-02-16 22:01+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n"
"PO-Revision-Date: 2024-03-31 22:01+0000\n"
"Last-Translator: SMFloris <floris.sm@gmail.com>\n"
"Language-Team: Romanian <https://hosted.weblate.org/projects/home-manager/"
"cli/ro/>\n"
"Language: ro\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 5.4\n"
"X-Generator: Weblate 5.5-dev\n"
#: home-manager/home-manager:58
msgid "No configuration file found at %s"
@ -191,7 +191,7 @@ msgstr "Opțiunea \"news.display\" este necunoscută \"%s\"."
#: home-manager/home-manager:586
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
msgstr "Rugăm să setați variabila $EDITOR sau $VISUAL în variabilele de mediu"
#: home-manager/home-manager:604
msgid "Cannot run build in read-only directory"

View File

@ -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: 2024-02-15 16:04+0100\n"
"PO-Revision-Date: 2024-02-16 22:01+0000\n"
"Last-Translator: Robert Helgesson <robert@rycee.net>\n"
"PO-Revision-Date: 2024-03-31 22:01+0000\n"
"Last-Translator: Petr Portnov | PROgrm_JARvis <mrJARVIScraft@gmail.com>\n"
"Language-Team: Russian <https://hosted.weblate.org/projects/home-manager/cli/"
"ru/>\n"
"Language: ru\n"
@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.4\n"
"X-Generator: Weblate 5.5-dev\n"
#: home-manager/home-manager:58
msgid "No configuration file found at %s"
@ -187,7 +187,7 @@ msgstr "Неизвестное значение \"news.display\": \"%s\"."
#: home-manager/home-manager:586
#, sh-format
msgid "Please set the $EDITOR or $VISUAL environment variable"
msgstr ""
msgstr "Пожалуйста, установите переменную среды $EDITOR или $VISUAL"
#: home-manager/home-manager:604
msgid "Cannot run build in read-only directory"

View File

@ -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: 2024-02-15 16:04+0100\n"
"PO-Revision-Date: 2024-03-14 09:01+0000\n"
"Last-Translator: RepentantKnight121 <repentantknight121@outlook.com>\n"
"PO-Revision-Date: 2024-03-27 15:05+0000\n"
"Last-Translator: Nguyen Khanh <nguynkhan479@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/home-manager/"
"cli/vi/>\n"
"Language: vi\n"
@ -34,11 +34,11 @@ msgstr ""
#: home-manager/home-manager:86
msgid "No configuration file found. Please create one at %s"
msgstr ""
msgstr "Không tìm thấy tệp cấu hình. Vui lòng tạo một cái tại %s"
#: home-manager/home-manager:101
msgid "Home Manager not found at %s."
msgstr "Home Manager not found at %s."
msgstr "Không tìm thấy Home Manager ở %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:109
@ -46,6 +46,8 @@ msgid ""
"The fallback Home Manager path %s has been deprecated and a file/directory "
"was found there."
msgstr ""
"Đường dẫn Home Manager dự phòng %s không được dùng nữa và một tệp/thư mục đã "
"đuợc tìm thấy ở đó."
#. 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:112
@ -68,6 +70,23 @@ msgid ""
"\n"
" $ rm -r \"%s\""
msgstr ""
"Để tắt cảnh báo này, hãy thực hiện một trong các thao tác sau.\n"
"\n"
"1. Chỉ định Home Manager sử dụng đường dẫn, ví dụ bằng cách thêm\n"
"\n"
"\n"
" { programs.home-manager.path = \"%s\"; }\n"
" vào cấu hình của bạn.\n"
"\n"
"Nếu bạn nhập trực tiếp Home Manager, bạn có thể sử dụng tham số `path`\n"
"\n"
" pkgs.callPackage /path/to/home-manager-package { path = \"%s\"; }\n"
"\n"
" khi gọi gói Home Manager.\n"
"\n"
"2. Xóa đường dẫn không được dùng nữa.\n"
"\n"
" $ rm -r \"%s\""
#: home-manager/home-manager:140
msgid "Sanity checking Nix"
@ -75,7 +94,7 @@ msgstr ""
#: home-manager/home-manager:160
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
msgstr "Không thể tìm thấy thư mục hồ sơ phù hợp, đã thử %s và %s"
#. translators: Here "flake" is a noun that refers to the Nix Flakes feature.
#: home-manager/home-manager:215
@ -85,23 +104,23 @@ msgstr ""
#: home-manager/home-manager:288 home-manager/home-manager:311
#: home-manager/home-manager:1030
msgid "%s: unknown option '%s'"
msgstr ""
msgstr "%s: tùy chọn không xác định '%s'"
#: home-manager/home-manager:293 home-manager/home-manager:1031
msgid "Run '%s --help' for usage help"
msgstr ""
msgstr "Chạy '%s --help' để được trợ giúp sử dụng"
#: home-manager/home-manager:319 home-manager/home-manager:423
msgid "The file %s already exists, leaving it unchanged..."
msgstr ""
msgstr "Tệp %s đã tồn tại, để nguyên nó không thay đổi..."
#: home-manager/home-manager:321 home-manager/home-manager:425
msgid "Creating %s..."
msgstr ""
msgstr "Đang tạo %s..."
#: home-manager/home-manager:467
msgid "Creating initial Home Manager generation..."
msgstr ""
msgstr "Khởi tạo thế hệ Home Manager ban đầu..."
#. translators: The "%s" specifier will be replaced by a file path.
#: home-manager/home-manager:472

View File

@ -79,59 +79,14 @@ in
(mapAttrsToList (n: v: v.target)
(filterAttrs (n: v: v.force) cfg));
check = pkgs.writeText "check" ''
${config.lib.bash.initHomeManagerLib}
storeDir = escapeShellArg builtins.storeDir;
# A symbolic link whose target path matches this pattern will be
# considered part of a Home Manager generation.
homeFilePattern="$(readlink -e ${escapeShellArg builtins.storeDir})/*-home-manager-files/*"
check = pkgs.substituteAll {
src = ./files/check-link-targets.sh;
forcedPaths=(${forcedPaths})
newGenFiles="$1"
shift
for sourcePath in "$@" ; do
relativePath="''${sourcePath#$newGenFiles/}"
targetPath="$HOME/$relativePath"
forced=""
for forcedPath in "''${forcedPaths[@]}"; do
if [[ $targetPath == $forcedPath* ]]; then
forced="yeah"
break
fi
done
if [[ -n $forced ]]; then
verboseEcho "Skipping collision check for $targetPath"
elif [[ -e "$targetPath" \
&& ! "$(readlink "$targetPath")" == $homeFilePattern ]] ; then
# The target file already exists and it isn't a symlink owned by Home Manager.
if cmp -s "$sourcePath" "$targetPath"; then
# First compare the files' content. If they're equal, we're fine.
warnEcho "Existing file '$targetPath' is in the way of '$sourcePath', will be skipped since they are the same"
elif [[ ! -L "$targetPath" && -n "$HOME_MANAGER_BACKUP_EXT" ]] ; then
# Next, try to move the file to a backup location if configured and possible
backup="$targetPath.$HOME_MANAGER_BACKUP_EXT"
if [[ -e "$backup" ]]; then
errorEcho "Existing file '$backup' would be clobbered by backing up '$targetPath'"
collision=1
else
warnEcho "Existing file '$targetPath' is in the way of '$sourcePath', will be moved to '$backup'"
fi
else
# Fail if nothing else works
errorEcho "Existing file '$targetPath' is in the way of '$sourcePath'"
collision=1
fi
fi
done
if [[ -v collision ]] ; then
errorEcho "Please move the above files and try again or use 'home-manager switch -b backup' to back up existing files automatically."
exit 1
fi
'';
inherit (config.lib.bash) initHomeManagerLib;
inherit forcedPaths storeDir;
};
in
''
function checkNewGenCollision() {

View File

@ -0,0 +1,53 @@
# -*- mode: sh; sh-shell: bash -*-
@initHomeManagerLib@
# A symbolic link whose target path matches this pattern will be
# considered part of a Home Manager generation.
homeFilePattern="$(readlink -e @storeDir@)/*-home-manager-files/*"
forcedPaths=(@forcedPaths@)
newGenFiles="$1"
shift
for sourcePath in "$@" ; do
relativePath="${sourcePath#$newGenFiles/}"
targetPath="$HOME/$relativePath"
forced=""
for forcedPath in "${forcedPaths[@]}"; do
if [[ $targetPath == $forcedPath* ]]; then
forced="yeah"
break
fi
done
if [[ -n $forced ]]; then
verboseEcho "Skipping collision check for $targetPath"
elif [[ -e "$targetPath" \
&& ! "$(readlink "$targetPath")" == $homeFilePattern ]] ; then
# The target file already exists and it isn't a symlink owned by Home Manager.
if cmp -s "$sourcePath" "$targetPath"; then
# First compare the files' content. If they're equal, we're fine.
warnEcho "Existing file '$targetPath' is in the way of '$sourcePath', will be skipped since they are the same"
elif [[ ! -L "$targetPath" && -n "$HOME_MANAGER_BACKUP_EXT" ]] ; then
# Next, try to move the file to a backup location if configured and possible
backup="$targetPath.$HOME_MANAGER_BACKUP_EXT"
if [[ -e "$backup" ]]; then
errorEcho "Existing file '$backup' would be clobbered by backing up '$targetPath'"
collision=1
else
warnEcho "Existing file '$targetPath' is in the way of '$sourcePath', will be moved to '$backup'"
fi
else
# Fail if nothing else works
errorEcho "Existing file '$targetPath' is in the way of '$sourcePath'"
collision=1
fi
fi
done
if [[ -v collision ]] ; then
errorEcho "Please move the above files and try again or use 'home-manager switch -b backup' to back up existing files automatically."
exit 1
fi

View File

@ -77,6 +77,12 @@
githubId = 32838899;
name = "Daniel Wagenknecht";
};
jack5079 = {
name = "Jack W.";
email = "nix@jack.cab";
github = "jack5079";
githubId = 29169102;
};
jkarlson = {
email = "jekarlson@gmail.com";
github = "jkarlson";

View File

@ -1469,6 +1469,13 @@ in {
A new module is available: 'services.activitywatch'.
'';
}
{
time = "2024-04-08T21:43:38+00:00";
message = ''
A new module is available: 'programs.bun'.
'';
}
];
};
}

View File

@ -72,6 +72,7 @@ let
./programs/broot.nix
./programs/browserpass.nix
./programs/btop.nix
./programs/bun.nix
./programs/carapace.nix
./programs/cava.nix
./programs/chromium.nix

View File

@ -8,16 +8,16 @@ msgstr ""
"Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-02-15 16:04+0100\n"
"PO-Revision-Date: 2023-03-08 07:22+0000\n"
"Last-Translator: \"Kim A. Ødegaard\" <kim@dyktig.no>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/home-"
"manager/modules/nb_NO/>\n"
"PO-Revision-Date: 2024-04-02 21:38+0000\n"
"Last-Translator: LilleAila <olai.solsvik@gmail.com>\n"
"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/"
"home-manager/modules/nb_NO/>\n"
"Language: nb_NO\n"
"MIME-Version: 1.0\n"
"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.16.2-dev\n"
"X-Generator: Weblate 5.5-dev\n"
#: modules/files.nix:236
msgid "Creating home file links in %s"
@ -73,7 +73,7 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:54
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
msgstr "Kunne ikke finne en passende profilmappe, prøvde %s og %s"
#: modules/lib-bash/activation-init.sh:83
msgid "Sanity checking oldGenNum and oldGenPath"
@ -109,11 +109,11 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:127
msgid "Error: USER is set to \"%s\" but we expect \"%s\""
msgstr ""
msgstr "Feil: USER er satt til \"%s\", men vi forventet \"%s\""
#: modules/lib-bash/activation-init.sh:136
msgid "Error: HOME is set to \"%s\" but we expect \"%s\""
msgstr ""
msgstr "Feil: HOME er satt til \"%s\", men vi forventet \"%s\""
#: modules/lib-bash/activation-init.sh:153
msgid "Starting Home Manager activation"

View File

@ -8,13 +8,16 @@ msgstr ""
"Project-Id-Version: Home Manager Modules\n"
"Report-Msgid-Bugs-To: https://github.com/nix-community/home-manager/issues\n"
"POT-Creation-Date: 2024-02-15 16:04+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"PO-Revision-Date: 2024-03-27 15:05+0000\n"
"Last-Translator: Nguyen Khanh <nguynkhan479@gmail.com>\n"
"Language-Team: Vietnamese <https://hosted.weblate.org/projects/home-manager/"
"modules/vi/>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.5-dev\n"
#: modules/files.nix:236
msgid "Creating home file links in %s"
@ -58,7 +61,7 @@ msgstr ""
#: modules/lib-bash/activation-init.sh:54
msgid "Could not find suitable profile directory, tried %s and %s"
msgstr ""
msgstr "Không thể tìm thấy thư mục hồ sơ phù hợp, đã thử %s và %s"
#: modules/lib-bash/activation-init.sh:83
msgid "Sanity checking oldGenNum and oldGenPath"

View File

@ -13,8 +13,11 @@ in {
options.programs.bacon = {
enable = mkEnableOption "bacon, a background rust code checker";
package = mkPackageOption pkgs "bacon" { };
settings = mkOption {
type = settingsFormat.type;
default = { };
example = {
jobs.default = {
command = [ "cargo" "build" "--all-features" "--color" "always" ];
@ -29,7 +32,7 @@ in {
};
config = mkIf cfg.enable {
home.packages = [ pkgs.bacon ];
home.packages = [ cfg.package ];
xdg.configFile."bacon/prefs.toml".source =
settingsFormat.generate "prefs.toml" cfg.settings;

59
modules/programs/bun.nix Normal file
View File

@ -0,0 +1,59 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.bun;
tomlFormat = pkgs.formats.toml { };
in {
meta.maintainers = [ lib.hm.maintainers.jack5079 ];
options.programs.bun = {
enable = lib.mkEnableOption "Bun JavaScript runtime";
package = lib.mkPackageOption pkgs "bun" { };
settings = lib.mkOption {
type = tomlFormat.type;
default = { };
example = lib.literalExpression ''
{
smol = true;
telemetry = false;
test = {
coverage = true;
coverageThreshold = 0.9;
};
install.lockfile = {
print = "yarn";
};
}
'';
description = ''
Configuration written to
{file}`$XDG_CONFIG_HOME/.bunfig.toml`.
See <https://bun.sh/docs/runtime/bunfig>
for the full list of options.
'';
};
enableGitIntegration = lib.mkEnableOption "Git integration" // {
default = true;
};
};
config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ];
xdg.configFile.".bunfig.toml" = lib.mkIf (cfg.settings != { }) {
source = tomlFormat.generate "bun-config" cfg.settings;
};
# https://bun.sh/docs/install/lockfile#how-do-i-git-diff-bun-s-lockfile
programs.git.attributes =
lib.mkIf cfg.enableGitIntegration [ "*.lockb binary diff=lockb" ];
programs.git.extraConfig.diff.lockb = lib.mkIf cfg.enableGitIntegration {
textconv = lib.getExe cfg.package;
binary = true;
};
};
}

View File

@ -573,6 +573,17 @@ in {
};
};
containersForce = mkOption {
type = types.bool;
default = false;
description = ''
Whether to force replace the existing containers
configuration. This is recommended since Firefox will
replace the symlink on every launch, but note that you'll
lose any existing configuration by enabling this.
'';
};
containers = mkOption {
type = types.attrsOf (types.submodule ({ name, ... }: {
options = {
@ -762,6 +773,7 @@ in {
"${profilesPath}/${profile.path}/containers.json" =
mkIf (profile.containers != { }) {
force = profile.containersForce;
text = mkContainersJson profile.containers;
};

View File

@ -460,14 +460,14 @@ in {
${cfg.shellInit}
status --is-login; and begin
status is-login; and begin
# Login shell initialisation
${cfg.loginShellInit}
end
status --is-interactive; and begin
status is-interactive; and begin
# Abbreviations
${abbrsStr}

View File

@ -68,6 +68,7 @@ in {
};
Service = {
Environment = "PATH=${makeBinPath [ cfg.package ]}";
ExecStart = "${cfg.package}/bin/foot --server";
Restart = "on-failure";
OOMPolicy = "continue";

View File

@ -10,6 +10,35 @@ let
concatStringsSep ","
(mapAttrsToList (name: value: "${name}:${value}") colors);
hasShellIntegrationEmbedded = lib.versionAtLeast cfg.package.version "0.48.0";
bashIntegration = if hasShellIntegrationEmbedded then ''
if [[ :$SHELLOPTS: =~ :(vi|emacs): ]]; then
eval "$(${getExe cfg.package} --bash)"
fi
'' else ''
if [[ :$SHELLOPTS: =~ :(vi|emacs): ]]; then
. ${cfg.package}/share/fzf/completion.bash
. ${cfg.package}/share/fzf/key-bindings.bash
fi
'';
zshIntegration = if hasShellIntegrationEmbedded then ''
if [[ $options[zle] = on ]]; then
eval "$(${getExe cfg.package} --zsh)"
fi
'' else ''
if [[ $options[zle] = on ]]; then
. ${cfg.package}/share/fzf/completion.zsh
. ${cfg.package}/share/fzf/key-bindings.zsh
fi
'';
fishIntegration = if hasShellIntegrationEmbedded then ''
${getExe cfg.package} --fish | source
'' else ''
source ${cfg.package}/share/fzf/key-bindings.fish && fzf_key_bindings
'';
in {
imports = [
(mkRemovedOptionModule [ "programs" "fzf" "historyWidgetCommand" ]
@ -173,26 +202,16 @@ in {
# Note, since fzf unconditionally binds C-r we use `mkOrder` to make the
# initialization show up a bit earlier. This is to make initialization of
# other history managers, like mcfly or atuin, take precedence.
programs.bash.initExtra = mkIf cfg.enableBashIntegration (mkOrder 200 ''
if [[ :$SHELLOPTS: =~ :(vi|emacs): ]]; then
. ${cfg.package}/share/fzf/completion.bash
. ${cfg.package}/share/fzf/key-bindings.bash
fi
'');
programs.bash.initExtra =
mkIf cfg.enableBashIntegration (mkOrder 200 bashIntegration);
# Note, since fzf unconditionally binds C-r we use `mkOrder` to make the
# initialization show up a bit earlier. This is to make initialization of
# other history managers, like mcfly or atuin, take precedence.
programs.zsh.initExtra = mkIf cfg.enableZshIntegration (mkOrder 200 ''
if [[ $options[zle] = on ]]; then
. ${cfg.package}/share/fzf/completion.zsh
. ${cfg.package}/share/fzf/key-bindings.zsh
fi
'');
programs.zsh.initExtra =
mkIf cfg.enableZshIntegration (mkOrder 200 zshIntegration);
programs.fish.interactiveShellInit = mkIf cfg.enableFishIntegration
(mkOrder 200 ''
source ${cfg.package}/share/fzf/key-bindings.fish && fzf_key_bindings
'');
programs.fish.interactiveShellInit =
mkIf cfg.enableFishIntegration (mkOrder 200 fishIntegration);
};
}

View File

@ -15,27 +15,11 @@ with lib;
};
color = mkOption {
type = types.nullOr (types.enum [
"black"
"white"
"brown"
"yellow"
"dark gray"
"dark green"
"dark blue"
"light gray"
"light green"
"light blue"
"dark magenta"
"dark cyan"
"dark red"
"light magenta"
"light cyan"
"light red"
]);
type = types.nullOr types.str;
default = null;
description = ''
Color in which events in this calendar are displayed.
For instance 'light green' or an RGB color '#ff0000'
'';
example = "light green";
};
@ -47,5 +31,14 @@ with lib;
Priority of a calendar used for coloring (calendar with highest priority is preferred).
'';
};
addresses = mkOption {
type = types.listOf types.str;
default = [ ];
description = ''
Email addresses to be associated with this account. Used to check the
participation status ("PARTSTAT"), refer to khal documentation.
'';
};
};
}

View File

@ -46,9 +46,12 @@ let
(value.khal.type == "birthdays" && value.khal ? thisCollection)
value.khal.thisCollection)
}"
] ++ optional (value.khal.readOnly) "readonly = True" ++ [
(toKeyValueIfDefined (getAttrs [ "type" "color" "priority" ] value.khal))
] ++ [ "\n" ]);
] ++ optional (value.khal.readOnly) "readonly = True"
++ optional (value.khal.addresses != [ ])
"addresses= ${lib.concatStringsSep ", " value.khal.addresses}"
++ optional (value.khal.color != null) "color = '${value.khal.color}'"
++ [ (toKeyValueIfDefined (getAttrs [ "type" "priority" ] value.khal)) ]
++ [ "\n" ]);
localeFormatOptions = let
T = lib.types;

View File

@ -198,6 +198,28 @@ in {
'';
};
extraWrapperArgs = mkOption {
type = with types; listOf str;
default = [ ];
example = literalExpression ''
[
"--suffix"
"LIBRARY_PATH"
":"
"''${lib.makeLibraryPath [ pkgs.stdenv.cc.cc pkgs.zlib ]}"
"--suffix"
"PKG_CONFIG_PATH"
":"
"''${lib.makeSearchPathOutput "dev" "lib/pkgconfig" [ pkgs.stdenv.cc.cc pkgs.zlib ]}"
]
'';
description = ''
Extra arguments to be passed to the neovim wrapper.
This option sets environment variables required for building and running binaries
with external package managers like mason.nvim.
'';
};
generatedConfigViml = mkOption {
type = types.lines;
visible = true;
@ -415,7 +437,8 @@ in {
programs.neovim.finalPackage = pkgs.wrapNeovimUnstable cfg.package
(neovimConfig // {
wrapperArgs = (lib.escapeShellArgs neovimConfig.wrapperArgs) + " "
wrapperArgs = (lib.escapeShellArgs
(neovimConfig.wrapperArgs ++ cfg.extraWrapperArgs)) + " "
+ extraMakeWrapperArgs + " " + extraMakeWrapperLuaCArgs + " "
+ extraMakeWrapperLuaArgs;
wrapRc = false;

View File

@ -6,7 +6,7 @@ let
cfg = config.programs.nushell;
configDir = if pkgs.stdenv.isDarwin then
configDir = if pkgs.stdenv.isDarwin && !config.xdg.enable then
"Library/Application Support/nushell"
else
"${config.xdg.configHome}/nushell";

View File

@ -6,7 +6,7 @@ let
in {
options.programs.rio = {
enable = lib.mkEnableOption null // {
description = lib.mdDoc ''
description = ''
Enable Rio, a terminal built to run everywhere, as a native desktop applications by
Rust/WebGPU or even in the browsers powered by WebAssembly/WebGPU.
'';

View File

@ -87,8 +87,6 @@ in {
mkdir $zoxide_cache
}
${cfg.package}/bin/zoxide init nushell ${cfgOptions} |
str replace "def-env" "def --env" --all | # https://github.com/ajeetdsouza/zoxide/pull/632
str replace --all "-- $rest" "-- ...$rest" |
save --force ${config.xdg.cacheHome}/zoxide/init.nu
'';
extraConfig = ''

View File

@ -5,7 +5,6 @@ with lib;
let
cfg = config.services.kdeconnect;
package = pkgs.plasma5Packages.kdeconnect-kde;
in {
meta.maintainers = [ maintainers.adisbladis ];
@ -13,6 +12,12 @@ in {
options = {
services.kdeconnect = {
enable = mkEnableOption "KDE connect";
package = mkOption {
type = types.package;
default = pkgs.plasma5Packages.kdeconnect-kde;
example = literalExpression "pkgs.kdePackages.kdeconnect-kde";
description = "The KDE connect package to use";
};
indicator = mkOption {
type = types.bool;
@ -25,7 +30,7 @@ in {
config = mkMerge [
(mkIf cfg.enable {
home.packages = [ package ];
home.packages = [ cfg.package ];
assertions = [
(hm.assertions.assertPlatform "services.kdeconnect" pkgs
@ -44,7 +49,7 @@ in {
Service = {
Environment = "PATH=${config.home.profileDirectory}/bin";
ExecStart = "${package}/libexec/kdeconnectd";
ExecStart = "${cfg.package}/libexec/kdeconnectd";
Restart = "on-abort";
};
};
@ -72,7 +77,7 @@ in {
Service = {
Environment = "PATH=${config.home.profileDirectory}/bin";
ExecStart = "${package}/bin/kdeconnect-indicator";
ExecStart = "${cfg.package}/bin/kdeconnect-indicator";
Restart = "on-abort";
};
};

View File

@ -88,7 +88,7 @@ in {
"WAYLAND_DISPLAY"
"XDG_CURRENT_DESKTOP"
];
example = [ "-all" ];
example = [ "--all" ];
description = ''
Environment variables to be imported in the systemd & D-Bus user
environment.

View File

@ -124,6 +124,7 @@ in {
cfg.libFiles)
})
for key in "''${!libFiles[@]}"; do
mkdir -p "xmonad-config/lib/$(dirname "$key")"
cp "''${libFiles[$key]}" "xmonad-config/lib/$key";
done

View File

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
programs = {
@ -7,7 +7,7 @@
};
nmt.script = let
configDir = if pkgs.stdenv.isDarwin then
configDir = if pkgs.stdenv.isDarwin && !config.xdg.enable then
"home-files/Library/Application Support/nushell"
else
"home-files/.config/nushell";

View File

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
programs.nushell.enable = true;
@ -7,7 +7,7 @@
test.stubs.nushell = { };
nmt.script = let
configFile = if pkgs.stdenv.isDarwin then
configFile = if pkgs.stdenv.isDarwin && !config.xdg.enable then
"home-files/Library/Application Support/nushell/config.nu"
else
"home-files/.config/nushell/config.nu";

View File

@ -2,6 +2,7 @@
WantedBy=graphical-session.target
[Service]
Environment=PATH=@foot@/bin
ExecStart=@foot@/bin/foot --server
OOMPolicy=continue
Restart=on-failure

View File

@ -19,6 +19,7 @@
khal = {
enable = true;
readOnly = true;
color = "#ff0000";
type = "calendar";
};
local.type = "filesystem";
@ -29,6 +30,34 @@
url = "https://example.com/events.ical";
};
};
testWithAddresss = {
khal = {
enable = true;
addresses = [ "john.doe@email.com" ];
};
local = {
type = "filesystem";
fileExt = ".ics";
};
remote = {
type = "http";
url = "https://example.com/events.ical";
};
};
testWithMultipleAddresss = {
khal = {
enable = true;
addresses = [ "john.doe@email.com" "another.brick@on.the.wall" ];
};
local = {
type = "filesystem";
fileExt = ".ics";
};
remote = {
type = "http";
url = "https://example.com/events.ical";
};
};
};
};

View File

@ -2,6 +2,23 @@
[[test]]
path = /home/hm-user/$XDG_CONFIG_HOME/cal/test/
readonly = True
color = '#ff0000'
priority=10
type=calendar
[[testWithAddresss]]
path = /home/hm-user/$XDG_CONFIG_HOME/cal/testWithAddresss/
addresses= john.doe@email.com
priority=10
type=calendar
[[testWithMultipleAddresss]]
path = /home/hm-user/$XDG_CONFIG_HOME/cal/testWithMultipleAddresss/
addresses= john.doe@email.com, another.brick@on.the.wall
priority=10
type=calendar

View File

@ -20,6 +20,17 @@ with lib;
};
}
];
extraWrapperArgs = let buildDeps = with pkgs; [ stdenv.cc.cc zlib ];
in [
"--suffix"
"LIBRARY_PATH"
":"
"${lib.makeLibraryPath buildDeps}"
"--suffix"
"PKG_CONFIG_PATH"
":"
"${lib.makeSearchPathOutput "dev" "lib/pkgconfig" buildDeps}"
];
}
{
extraPython3Packages = ps: with ps; [ jedi pynvim ];
@ -33,7 +44,10 @@ with lib;
nmt.script = ''
ftplugin="home-files/.config/nvim/after/ftplugin/c.vim"
nvimbin="home-path/bin/nvim"
assertFileExists "$ftplugin"
assertFileRegex "$nvimbin" 'LIBRARY_PATH'
assertFileRegex "$nvimbin" 'PKG_CONFIG_PATH'
'';
};
}

View File

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
programs.nushell = {
@ -34,7 +34,7 @@
test.stubs.nushell = { };
nmt.script = let
configDir = if pkgs.stdenv.isDarwin then
configDir = if pkgs.stdenv.isDarwin && !config.xdg.enable then
"home-files/Library/Application Support/nushell"
else
"home-files/.config/nushell";

View File

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
programs = {
@ -16,12 +16,12 @@
};
nmt.script = let
configFile = if pkgs.stdenv.isDarwin then
configFile = if pkgs.stdenv.isDarwin && !config.xdg.enable then
"home-files/Library/Application Support/nushell/config.nu"
else
"home-files/.config/nushell/config.nu";
envFile = if pkgs.stdenv.isDarwin then
envFile = if pkgs.stdenv.isDarwin && !config.xdg.enable then
"home-files/Library/Application Support/nushell/env.nu"
else
"home-files/.config/nushell/env.nu";

View File

@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
let
shellIntegration = ''
@ -23,7 +23,7 @@ in {
test.stubs.yazi = { };
nmt.script = let
configPath = if pkgs.stdenv.isDarwin then
configPath = if pkgs.stdenv.isDarwin && !config.xdg.enable then
"home-files/Library/Application Support/nushell/config.nu"
else
"home-files/.config/nushell/config.nu";