···591592`stdenv.mkDerivation` sets the Nix [derivation](https://nixos.org/manual/nix/stable/expressions/derivations.html#derivations)'s builder to a script that loads the stdenv `setup.sh` bash library and calls `genericBuild`. Most packaging functions rely on this default builder.
593594-This generic command invokes a number of *phases*. Package builds are split into phases to make it easier to override specific parts of the build (e.g., unpacking the sources or installing the binaries).
595596Each phase can be overridden in its entirety either by setting the environment variable `namePhase` to a string containing some shell commands to be executed, or by redefining the shell function `namePhase`. The former is convenient to override a phase from the derivation, while the latter is convenient from a build script. However, typically one only wants to *add* some commands to a phase, e.g. by defining `postInstall` or `preFixup`, as skipping some of the default actions may have unexpected consequences. The default script for each phase is defined in the file `pkgs/stdenv/generic/setup.sh`.
597
···591592`stdenv.mkDerivation` sets the Nix [derivation](https://nixos.org/manual/nix/stable/expressions/derivations.html#derivations)'s builder to a script that loads the stdenv `setup.sh` bash library and calls `genericBuild`. Most packaging functions rely on this default builder.
593594+This generic command either invokes a script at *buildCommandPath*, or a *buildCommand*, or a number of *phases*. Package builds are split into phases to make it easier to override specific parts of the build (e.g., unpacking the sources or installing the binaries).
595596Each phase can be overridden in its entirety either by setting the environment variable `namePhase` to a string containing some shell commands to be executed, or by redefining the shell function `namePhase`. The former is convenient to override a phase from the derivation, while the latter is convenient from a build script. However, typically one only wants to *add* some commands to a phase, e.g. by defining `postInstall` or `preFixup`, as skipping some of the default actions may have unexpected consequences. The default script for each phase is defined in the file `pkgs/stdenv/generic/setup.sh`.
597
···1{ config, lib, pkgs, ... }:
23-with lib;
4-5let
67 cfg = config.programs.mosh;
···9in
10{
11 options.programs.mosh = {
12- enable = mkOption {
13- description = lib.mdDoc ''
14- Whether to enable mosh. Note, this will open ports in your firewall!
15- '';
16- default = false;
17- type = lib.types.bool;
18 };
19- withUtempter = mkOption {
20 description = lib.mdDoc ''
21 Whether to enable libutempter for mosh.
022 This is required so that mosh can write to /var/run/utmp (which can be queried with `who` to display currently connected user sessions).
23 Note, this will add a guid wrapper for the group utmp!
24 '';
25 default = true;
26- type = lib.types.bool;
27 };
28 };
2930- config = mkIf cfg.enable {
31- environment.systemPackages = with pkgs; [ mosh ];
32- networking.firewall.allowedUDPPortRanges = [ { from = 60000; to = 61000; } ];
33- security.wrappers = mkIf cfg.withUtempter {
34 utempter = {
35 source = "${pkgs.libutempter}/lib/utempter/utempter";
36 owner = "root";
···1{ config, lib, pkgs, ... }:
2003let
45 cfg = config.programs.mosh;
···7in
8{
9 options.programs.mosh = {
10+ enable = lib.mkEnableOption "mosh";
11+ openFirewall = lib.mkEnableOption "" // {
12+ description = "Whether to automatically open the necessary ports in the firewall.";
13+ default = true;
0014 };
15+ withUtempter = lib.mkEnableOption "" // {
16 description = lib.mdDoc ''
17 Whether to enable libutempter for mosh.
18+19 This is required so that mosh can write to /var/run/utmp (which can be queried with `who` to display currently connected user sessions).
20 Note, this will add a guid wrapper for the group utmp!
21 '';
22 default = true;
023 };
24 };
2526+ config = lib.mkIf cfg.enable {
27+ environment.systemPackages = [ pkgs.mosh ];
28+ networking.firewall.allowedUDPPortRanges = lib.optional cfg.openFirewall { from = 60000; to = 61000; };
29+ security.wrappers = lib.mkIf cfg.withUtempter {
30 utempter = {
31 source = "${pkgs.libutempter}/lib/utempter/utempter";
32 owner = "root";
+21-3
nixos/modules/programs/starship.nix
···44 config = mkIf cfg.enable {
45 programs.bash.${initOption} = ''
46 if [[ $TERM != "dumb" ]]; then
47- export STARSHIP_CONFIG=${settingsFile}
00000048 eval "$(${pkgs.starship}/bin/starship init bash)"
49 fi
50 '';
5152 programs.fish.${initOption} = ''
53 if test "$TERM" != "dumb"
54- set -x STARSHIP_CONFIG ${settingsFile}
00000055 eval (${pkgs.starship}/bin/starship init fish)
56 end
57 '';
5859 programs.zsh.${initOption} = ''
60 if [[ $TERM != "dumb" ]]; then
61- export STARSHIP_CONFIG=${settingsFile}
00000062 eval "$(${pkgs.starship}/bin/starship init zsh)"
63 fi
64 '';
···44 config = mkIf cfg.enable {
45 programs.bash.${initOption} = ''
46 if [[ $TERM != "dumb" ]]; then
47+ # don't set STARSHIP_CONFIG automatically if there's a user-specified
48+ # config file. starship appears to use a hardcoded config location
49+ # rather than one inside an XDG folder:
50+ # https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
51+ if [[ ! -f "$HOME/.config/starship.toml" ]]; then
52+ export STARSHIP_CONFIG=${settingsFile}
53+ fi
54 eval "$(${pkgs.starship}/bin/starship init bash)"
55 fi
56 '';
5758 programs.fish.${initOption} = ''
59 if test "$TERM" != "dumb"
60+ # don't set STARSHIP_CONFIG automatically if there's a user-specified
61+ # config file. starship appears to use a hardcoded config location
62+ # rather than one inside an XDG folder:
63+ # https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
64+ if not test -f "$HOME/.config/starship.toml";
65+ set -x STARSHIP_CONFIG ${settingsFile}
66+ end
67 eval (${pkgs.starship}/bin/starship init fish)
68 end
69 '';
7071 programs.zsh.${initOption} = ''
72 if [[ $TERM != "dumb" ]]; then
73+ # don't set STARSHIP_CONFIG automatically if there's a user-specified
74+ # config file. starship appears to use a hardcoded config location
75+ # rather than one inside an XDG folder:
76+ # https://github.com/starship/starship/blob/686bda1706e5b409129e6694639477a0f8a3f01b/src/configure.rs#L651
77+ if [[ ! -f "$HOME/.config/starship.toml" ]]; then
78+ export STARSHIP_CONFIG=${settingsFile}
79+ fi
80 eval "$(${pkgs.starship}/bin/starship init zsh)"
81 fi
82 '';
···37 license = licenses.asl20;
38 description = "A web based code review and repository management for the git version control system";
39 sourceProvenance = with sourceTypes; [ binaryBytecode ];
40- maintainers = with maintainers; [ flokli jammerful zimbatm ];
41 platforms = platforms.unix;
42 };
43}
···37 license = licenses.asl20;
38 description = "A web based code review and repository management for the git version control system";
39 sourceProvenance = with sourceTypes; [ binaryBytecode ];
40+ maintainers = with maintainers; [ flokli zimbatm ];
41 platforms = platforms.unix;
42 };
43}
···149 done
150 fi
1510000000152 for i in ${lib.escapeShellArgs etcBindEntries}; do
153 if [[ "''${etc_ignored[@]}" =~ "$i" ]]; then
154 continue
···193 ${lib.optionalString unshareCgroup "--unshare-cgroup"}
194 ${lib.optionalString dieWithParent "--die-with-parent"}
195 --ro-bind /nix /nix
196- --ro-bind /etc /.host-etc
197 ${lib.optionalString privateTmp "--tmpfs /tmp"}
198 # Our glibc will look for the cache in its own path in `/nix/store`.
199 # As such, we need a cache to exist there, because pressure-vessel
···149 done
150 fi
151152+ # propagate /etc from the actual host if nested
153+ if [[ -e /.host-etc ]]; then
154+ ro_mounts+=(--ro-bind /.host-etc /.host-etc)
155+ else
156+ ro_mounts+=(--ro-bind /etc /.host-etc)
157+ fi
158+159 for i in ${lib.escapeShellArgs etcBindEntries}; do
160 if [[ "''${etc_ignored[@]}" =~ "$i" ]]; then
161 continue
···200 ${lib.optionalString unshareCgroup "--unshare-cgroup"}
201 ${lib.optionalString dieWithParent "--die-with-parent"}
202 --ro-bind /nix /nix
0203 ${lib.optionalString privateTmp "--tmpfs /tmp"}
204 # Our glibc will look for the cache in its own path in `/nix/store`.
205 # As such, we need a cache to exist there, because pressure-vessel
···96 workspace_manifest, crate_manifest["target"][key]
97 )
98000000099 if not changed:
100 return
101
···96 workspace_manifest, crate_manifest["target"][key]
97 )
9899+ if (
100+ "lints" in crate_manifest
101+ and "workspace" in crate_manifest["lints"]
102+ and crate_manifest["lints"]["workspace"] is True
103+ ):
104+ crate_manifest["lints"] = workspace_manifest["lints"]
105+106 if not changed:
107 return
108
···1617 meta = with lib; {
18 description = "A forked version of log4cpp that has been created for the Shibboleth project";
19- maintainers = [ maintainers.jammerful ];
20 license = licenses.lgpl21;
21 homepage = "http://log4cpp.sf.net";
22 };
···1617 meta = with lib; {
18 description = "A forked version of log4cpp that has been created for the Shibboleth project";
19+ maintainers = [ ];
20 license = licenses.lgpl21;
21 homepage = "http://log4cpp.sf.net";
22 };
···28 description = "A low-level library written in C++ that provides support for producing and consuming SAML messages";
29 platforms = platforms.unix;
30 license = licenses.asl20;
31- maintainers = [ maintainers.jammerful ];
32 };
33}
···28 description = "A low-level library written in C++ that provides support for producing and consuming SAML messages";
29 platforms = platforms.unix;
30 license = licenses.asl20;
31+ maintainers = [ ];
32 };
33}
···29 description = "Enables SSO and Federation web applications written with any programming language or framework";
30 platforms = platforms.unix;
31 license = licenses.asl20;
32- maintainers = [ maintainers.jammerful ];
33 };
34}
···29 description = "Enables SSO and Federation web applications written with any programming language or framework";
30 platforms = platforms.unix;
31 license = licenses.asl20;
32+ maintainers = [ ];
33 };
34}
···23 description = "A low-level library that provides a high level interface to XML processing for OpenSAML 2";
24 platforms = platforms.unix;
25 license = licenses.asl20;
26- maintainers = [ maintainers.jammerful ];
27 };
28}
···23 description = "A low-level library that provides a high level interface to XML processing for OpenSAML 2";
24 platforms = platforms.unix;
25 license = licenses.asl20;
26+ maintainers = [ ];
27 };
28}
+1
pkgs/development/lua-modules/aliases.nix
···41mapAliases {
42 lpty = throw "lpy was removed because broken and unmaintained "; # added 2023-10-14
43 cyrussasl = throw "cyrussasl was removed because broken and unmaintained "; # added 2023-10-18
044}
···41mapAliases {
42 lpty = throw "lpy was removed because broken and unmaintained "; # added 2023-10-14
43 cyrussasl = throw "cyrussasl was removed because broken and unmaintained "; # added 2023-10-18
44+ nlua-nvim = throw "nlua-nvim was removed, use neodev-nvim instead"; # added 2023-12-16
45}
···1-{ fetchFromGitHub, lib, stdenv, cmake, pkg-config, python3, alsa-lib
2, libX11, libGLU, SDL2, lua5_3, zlib, freetype, wavpack, icoutils
3, nixosTests
4, Cocoa
···21 # Can't use fetchpatch or fetchpatch2 because of https://github.com/NixOS/nixpkgs/issues/32084
22 # Using fetchurl instead is also not a good idea, see https://github.com/NixOS/nixpkgs/issues/32084#issuecomment-727223713
23 ./rename-VERSION-to-VERSION.txt.patch
0000024 ];
2526 postPatch = ''
···1+{ fetchFromGitHub, fetchpatch, lib, stdenv, cmake, pkg-config, python3, alsa-lib
2, libX11, libGLU, SDL2, lua5_3, zlib, freetype, wavpack, icoutils
3, nixosTests
4, Cocoa
···21 # Can't use fetchpatch or fetchpatch2 because of https://github.com/NixOS/nixpkgs/issues/32084
22 # Using fetchurl instead is also not a good idea, see https://github.com/NixOS/nixpkgs/issues/32084#issuecomment-727223713
23 ./rename-VERSION-to-VERSION.txt.patch
24+ (fetchpatch {
25+ name = "CVE-2021-43518.patch";
26+ url = "https://salsa.debian.org/games-team/teeworlds/-/raw/a6c4b23c1ce73466e6d89bccbede70e61e8c9cba/debian/patches/CVE-2021-43518.patch";
27+ hash = "sha256-2MmsucaaYjqLgMww1492gNmHmvBJm/NED+VV5pZDnBY=";
28+ })
29 ];
3031 postPatch = ''
···30 # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
3132 (self: super: {
000000000033 # https://github.com/home-assistant/core/pull/101913
34 aiohttp = super.aiohttp.overridePythonAttrs (old: rec {
35 version = "3.9.1";
···30 # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
3132 (self: super: {
33+ aioesphomeapi = super.aioesphomeapi.overridePythonAttrs (oldAttrs: rec {
34+ version = "19.2.1";
35+ src = fetchFromGitHub {
36+ owner = "esphome";
37+ repo = "aioesphomeapi";
38+ rev = "refs/tags/v${version}";
39+ hash = "sha256-WSWGO0kI1m6oaImUYZ6m5WKJ+xPs/rtn5wVq1bDr+bE=";
40+ };
41+ });
42+43 # https://github.com/home-assistant/core/pull/101913
44 aiohttp = super.aiohttp.overridePythonAttrs (old: rec {
45 version = "3.9.1";