···1414 config = mkIf config.programs.partition-manager.enable {
1515 services.dbus.packages = [ pkgs.libsForQt5.kpmcore ];
1616 # `kpmcore` need to be installed to pull in polkit actions.
1717- environment.systemPackages = [ pkgs.libsForQt5.kpmcore pkgs.partition-manager ];
1717+ environment.systemPackages = [ pkgs.libsForQt5.kpmcore pkgs.libsForQt5.partitionmanager ];
1818 };
1919}
+2-2
nixos/modules/tasks/filesystems/bcachefs.nix
···123123 inherit assertions;
124124 # needed for systemd-remount-fs
125125 system.fsPackages = [ pkgs.bcachefs-tools ];
126126- # FIXME: Replace this with `linuxPackages_latest` when 6.7 is released, remove this line when the LTS version is at least 6.7
127127- boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_testing;
126126+ # FIXME: Remove this line when the default kernel has bcachefs
127127+ boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
128128 systemd.services = lib.mapAttrs' (mkUnits "") (lib.filterAttrs (n: fs: (fs.fsType == "bcachefs") && (!utils.fsNeededForBoot fs)) config.fileSystems);
129129 }
130130
···7171 description = "A graphical Git client designed to help you understand and manage your source code history";
7272 homepage = "https://murmele.github.io/Gittyup";
7373 license = with licenses; [ mit ];
7474- maintainers = with maintainers; [ thiagokokada ];
7474+ maintainers = with maintainers; [ ];
7575 platforms = platforms.unix;
7676 broken = stdenv.isDarwin;
7777 };
+227-202
pkgs/build-support/trivial-builders/default.nix
···991010rec {
11111212- /* Run the shell command `buildCommand' to produce a store path named
1313- `name'. The attributes in `env' are added to the environment
1414- prior to running the command. By default `runCommand` runs in a
1515- stdenv with no compiler environment. `runCommandCC` uses the default
1616- stdenv, `pkgs.stdenv`.
1212+ /*
1313+ Run the shell command `buildCommand' to produce a store path named `name'.
17141818- Example:
1515+ The attributes in `env' are added to the environment prior to running the command.
1616+ Environment variables set by `stdenv.mkDerivation` take precedence.
19171818+ By default `runCommand` runs in a stdenv with no compiler environment.
1919+ `runCommandCC` uses the default stdenv, `pkgs.stdenv`.
20202121- runCommand "name" {envVariable = true;} ''echo hello > $out''
2222- runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out'';
2121+ Example:
23222323+ ```nix
2424+ runCommand "name" {envVariable = true;} ''echo hello > $out'';
2525+ ```
24262525- The `*Local` variants force a derivation to be built locally,
2626- it is not substituted.
2727+ ```nix
2828+ runCommandCC "name" {} ''gcc -o myfile myfile.c; cp myfile $out'';
2929+ ```
27302828- This is intended for very cheap commands (<1s execution time).
2929- It saves on the network roundrip and can speed up a build.
3131+ The `*Local` variants force a derivation to be built locally,
3232+ it is not substituted.
30333131- It is the same as adding the special fields
3434+ This is intended for very cheap commands (<1s execution time).
3535+ It saves on the network roundrip and can speed up a build.
32363333- `preferLocalBuild = true;`
3434- `allowSubstitutes = false;`
3737+ It is the same as adding the special fields
35383636- to a derivation’s attributes.
3939+ ```nix
4040+ {
4141+ preferLocalBuild = true;
4242+ allowSubstitutes = false;
4343+ }
4444+ ```
4545+4646+ to a derivation’s attributes.
3747 */
3848 runCommand = name: env: runCommandWith {
3949 stdenv = stdenvNoCC;
···5767 # `runCommandCCLocal` left out on purpose.
5868 # We shouldn’t force the user to have a cc in scope.
59696060- /* Generalized version of the `runCommand`-variants
7070+ /*
7171+ Generalized version of the `runCommand`-variants
6172 which does customized behavior via a single
6273 attribute set passed as the first argument
6374 instead of having a lot of variants like
···7283 defaultStdenv = stdenv;
7384 in
7485 {
7575- # which stdenv to use, defaults to a stdenv with a C compiler, pkgs.stdenv
8686+ # which stdenv to use, defaults to a stdenv with a C compiler, pkgs.stdenv
7687 stdenv ? defaultStdenv
7777- # whether to build this derivation locally instead of substituting
8888+ # whether to build this derivation locally instead of substituting
7889 , runLocal ? false
7979- # extra arguments to pass to stdenv.mkDerivation
8080- , derivationArgs ? {}
8181- # name of the resulting derivation
9090+ # extra arguments to pass to stdenv.mkDerivation
9191+ , derivationArgs ? { }
9292+ # name of the resulting derivation
8293 , name
8383- # TODO(@Artturin): enable strictDeps always
9494+ # TODO(@Artturin): enable strictDeps always
8495 }: buildCommand:
8585- stdenv.mkDerivation ({
8686- enableParallelBuilding = true;
8787- inherit buildCommand name;
8888- passAsFile = [ "buildCommand" ]
8989- ++ (derivationArgs.passAsFile or []);
9090- }
9191- // lib.optionalAttrs (! derivationArgs?meta) {
9292- pos = let args = builtins.attrNames derivationArgs; in
9393- if builtins.length args > 0
9494- then builtins.unsafeGetAttrPos (builtins.head args) derivationArgs
9595- else null;
9696- }
9797- // (lib.optionalAttrs runLocal {
9898- preferLocalBuild = true;
9999- allowSubstitutes = false;
100100- })
101101- // builtins.removeAttrs derivationArgs [ "passAsFile" ]);
9696+ stdenv.mkDerivation ({
9797+ enableParallelBuilding = true;
9898+ inherit buildCommand name;
9999+ passAsFile = [ "buildCommand" ]
100100+ ++ (derivationArgs.passAsFile or [ ]);
101101+ }
102102+ // lib.optionalAttrs (! derivationArgs?meta) {
103103+ pos = let args = builtins.attrNames derivationArgs; in
104104+ if builtins.length args > 0
105105+ then builtins.unsafeGetAttrPos (builtins.head args) derivationArgs
106106+ else null;
107107+ }
108108+ // (lib.optionalAttrs runLocal {
109109+ preferLocalBuild = true;
110110+ allowSubstitutes = false;
111111+ })
112112+ // builtins.removeAttrs derivationArgs [ "passAsFile" ]);
102113103114104104- /* Writes a text file to the nix store.
115115+ /*
116116+ Writes a text file to the nix store.
105117 The contents of text is added to the file in the store.
106118107119 Example:
···145157 matches = builtins.match "/bin/([^/]+)" destination;
146158 in
147159 runCommand name
148148- { inherit text executable checkPhase allowSubstitutes preferLocalBuild;
160160+ {
161161+ inherit text executable checkPhase allowSubstitutes preferLocalBuild;
149162 passAsFile = [ "text" ];
150150- meta = lib.optionalAttrs (executable && matches != null) {
151151- mainProgram = lib.head matches;
152152- } // meta;
163163+ meta = lib.optionalAttrs (executable && matches != null)
164164+ {
165165+ mainProgram = lib.head matches;
166166+ } // meta;
153167 }
154168 ''
155169 target=$out${lib.escapeShellArg destination}
···169183 '';
170184171185 /*
172172- Writes a text file to nix store with no optional parameters available.
186186+ Writes a text file to nix store with no optional parameters available.
173187174174- Example:
188188+ Example:
175189176190177177- # Writes contents of file to /nix/store/<store path>
178178- writeText "my-file"
191191+ # Writes contents of file to /nix/store/<store path>
192192+ writeText "my-file"
179193 ''
180194 Contents of File
181195 '';
182196183197184198 */
185185- writeText = name: text: writeTextFile {inherit name text;};
199199+ writeText = name: text: writeTextFile { inherit name text; };
186200187201 /*
188202 Writes a text file to nix store in a specific directory with no
···224238225239226240 */
227227- writeScript = name: text: writeTextFile {inherit name text; executable = true;};
241241+ writeScript = name: text: writeTextFile { inherit name text; executable = true; };
228242229243 /*
230244 Writes a text file to /nix/store/<store path>/bin/<name> and
···270284 text = ''
271285 #!${runtimeShell}
272286 ${text}
273273- '';
287287+ '';
274288 checkPhase = ''
275289 ${stdenv.shellDryRun} "$target"
276290 '';
···292306293307294308 */
295295- writeShellScriptBin = name : text :
309309+ writeShellScriptBin = name: text:
296310 writeTextFile {
297311 inherit name;
298312 executable = true;
···300314 text = ''
301315 #!${runtimeShell}
302316 ${text}
303303- '';
317317+ '';
304318 checkPhase = ''
305319 ${stdenv.shellDryRun} "$target"
306320 '';
···340354 , runtimeInputs ? [ ]
341355 , meta ? { }
342356 , checkPhase ? null
343343- , excludeShellChecks ? [ ]
357357+ , excludeShellChecks ? [ ]
344358 }:
345359 writeTextFile {
346360 inherit name meta;
···366380 # but we still want to use writeShellApplication on those platforms
367381 let
368382 shellcheckSupported = lib.meta.availableOn stdenv.buildPlatform shellcheck-minimal.compiler;
369369- excludeOption = lib.optionalString (excludeShellChecks != [ ]) "--exclude '${lib.concatStringsSep "," excludeShellChecks}'";
383383+ excludeOption = lib.optionalString (excludeShellChecks != [ ]) "--exclude '${lib.concatStringsSep "," excludeShellChecks}'";
370384 shellcheckCommand = lib.optionalString shellcheckSupported ''
371385 # use shellcheck which does not include docs
372386 # pandoc takes long to build and documentation isn't needed for just running the cli
···385399 # Create a C binary
386400 writeCBin = pname: code:
387401 runCommandCC pname
388388- {
389389- inherit pname code;
390390- executable = true;
391391- passAsFile = ["code"];
392392- # Pointless to do this on a remote machine.
393393- preferLocalBuild = true;
394394- allowSubstitutes = false;
395395- meta = {
396396- mainProgram = pname;
397397- };
398398- }
399399- ''
400400- n=$out/bin/${pname}
401401- mkdir -p "$(dirname "$n")"
402402- mv "$codePath" code.c
403403- $CC -x c code.c -o "$n"
404404- '';
402402+ {
403403+ inherit pname code;
404404+ executable = true;
405405+ passAsFile = [ "code" ];
406406+ # Pointless to do this on a remote machine.
407407+ preferLocalBuild = true;
408408+ allowSubstitutes = false;
409409+ meta = {
410410+ mainProgram = pname;
411411+ };
412412+ }
413413+ ''
414414+ n=$out/bin/${pname}
415415+ mkdir -p "$(dirname "$n")"
416416+ mv "$codePath" code.c
417417+ $CC -x c code.c -o "$n"
418418+ '';
405419406420407421 /* concat a list of files to the nix store.
···532546 */
533547 symlinkJoin =
534548 args_@{ name
535535- , paths
536536- , preferLocalBuild ? true
537537- , allowSubstitutes ? false
538538- , postBuild ? ""
539539- , ...
540540- }:
549549+ , paths
550550+ , preferLocalBuild ? true
551551+ , allowSubstitutes ? false
552552+ , postBuild ? ""
553553+ , ...
554554+ }:
541555 let
542556 args = removeAttrs args_ [ "name" "postBuild" ]
543557 // {
544544- inherit preferLocalBuild allowSubstitutes;
545545- passAsFile = [ "paths" ];
546546- }; # pass the defaults
547547- in runCommand name args
558558+ inherit preferLocalBuild allowSubstitutes;
559559+ passAsFile = [ "paths" ];
560560+ }; # pass the defaults
561561+ in
562562+ runCommand name args
548563 ''
549564 mkdir -p $out
550565 for i in $(cat $pathsPath); do
···584599 See the note on symlinkJoin for the difference between linkFarm and symlinkJoin.
585600 */
586601 linkFarm = name: entries:
587587- let
588588- entries' =
589589- if (lib.isAttrs entries) then entries
590590- # We do this foldl to have last-wins semantics in case of repeated entries
591591- else if (lib.isList entries) then lib.foldl (a: b: a // { "${b.name}" = b.path; }) { } entries
592592- else throw "linkFarm entries must be either attrs or a list!";
602602+ let
603603+ entries' =
604604+ if (lib.isAttrs entries) then entries
605605+ # We do this foldl to have last-wins semantics in case of repeated entries
606606+ else if (lib.isList entries) then lib.foldl (a: b: a // { "${b.name}" = b.path; }) { } entries
607607+ else throw "linkFarm entries must be either attrs or a list!";
593608594594- linkCommands = lib.mapAttrsToList (name: path: ''
595595- mkdir -p "$(dirname ${lib.escapeShellArg "${name}"})"
596596- ln -s ${lib.escapeShellArg "${path}"} ${lib.escapeShellArg "${name}"}
597597- '') entries';
598598- in
599599- runCommand name {
600600- preferLocalBuild = true;
601601- allowSubstitutes = false;
602602- passthru.entries = entries';
603603- } ''
604604- mkdir -p $out
605605- cd $out
606606- ${lib.concatStrings linkCommands}
607607- '';
609609+ linkCommands = lib.mapAttrsToList
610610+ (name: path: ''
611611+ mkdir -p "$(dirname ${lib.escapeShellArg "${name}"})"
612612+ ln -s ${lib.escapeShellArg "${path}"} ${lib.escapeShellArg "${name}"}
613613+ '')
614614+ entries';
615615+ in
616616+ runCommand name
617617+ {
618618+ preferLocalBuild = true;
619619+ allowSubstitutes = false;
620620+ passthru.entries = entries';
621621+ } ''
622622+ mkdir -p $out
623623+ cd $out
624624+ ${lib.concatStrings linkCommands}
625625+ '';
608626609627 /*
610628 Easily create a linkFarm from a set of derivations.
···639657 bin output and other contents of the package's output (e.g. setup
640658 hooks) cause trouble when used in your environment.
641659 */
642642- onlyBin = drv: runCommand "${drv.name}-only-bin" {} ''
660660+ onlyBin = drv: runCommand "${drv.name}-only-bin" { } ''
643661 mkdir -p $out
644662 ln -s ${lib.getBin drv}/bin $out/bin
645663 '';
···675693 # TODO 2023-01, no backport: simplify to inherit passthru;
676694 passthru = passthru
677695 // optionalAttrs (substitutions?passthru)
678678- (warn "makeSetupHook (name = ${lib.strings.escapeNixString name}): `substitutions.passthru` is deprecated. Please set `passthru` directly."
679679- substitutions.passthru);
696696+ (warn "makeSetupHook (name = ${lib.strings.escapeNixString name}): `substitutions.passthru` is deprecated. Please set `passthru` directly."
697697+ substitutions.passthru);
680698 })
681699 (''
682700 mkdir -p $out/nix-support
683701 cp ${script} $out/nix-support/setup-hook
684702 recordPropagatedDependencies
685685- '' + lib.optionalString (substitutions != {}) ''
703703+ '' + lib.optionalString (substitutions != { }) ''
686704 substituteAll ${script} $out/nix-support/setup-hook
687705 '');
688706···691709692710 writeReferencesToFile = path: runCommand "runtime-deps"
693711 {
694694- exportReferencesGraph = ["graph" path];
712712+ exportReferencesGraph = [ "graph" path ];
695713 }
696714 ''
697715 touch $out
···710728 */
711729 writeDirectReferencesToFile = path: runCommand "runtime-references"
712730 {
713713- exportReferencesGraph = ["graph" path];
731731+ exportReferencesGraph = [ "graph" path ];
714732 inherit path;
715733 }
716734 ''
···744762 */
745763 writeStringReferencesToFile = string:
746764 /*
747747- The basic operation this performs is to copy the string context
748748- from `string' to a second string and wrap that string in a
749749- derivation. However, that alone is not enough, since nothing in the
750750- string refers to the output paths of the derivations/paths in its
751751- context, meaning they'll be considered build-time dependencies and
752752- removed from the wrapper derivation's closure. Putting the
753753- necessary output paths in the new string is however not very
754754- straightforward - the attrset returned by `getContext' contains
755755- only references to derivations' .drv-paths, not their output
756756- paths. In order to "convert" them, we try to extract the
757757- corresponding paths from the original string using regex.
765765+ The basic operation this performs is to copy the string context
766766+ from `string' to a second string and wrap that string in a
767767+ derivation. However, that alone is not enough, since nothing in the
768768+ string refers to the output paths of the derivations/paths in its
769769+ context, meaning they'll be considered build-time dependencies and
770770+ removed from the wrapper derivation's closure. Putting the
771771+ necessary output paths in the new string is however not very
772772+ straightforward - the attrset returned by `getContext' contains
773773+ only references to derivations' .drv-paths, not their output
774774+ paths. In order to "convert" them, we try to extract the
775775+ corresponding paths from the original string using regex.
758776 */
759777 let
760778 # Taken from https://github.com/NixOS/nix/blob/130284b8508dad3c70e8160b15f3d62042fc730a/src/libutil/hash.cc#L84
···798816 if lib.elem "out" value.outputs then
799817 lib.filter
800818 (x: lib.isList x &&
801801- # If the matched path is in `namedOutputPaths`,
802802- # it's a partial match of an output path where
803803- # the output name isn't `out`
804804- lib.all (o: !lib.hasPrefix (lib.head x) o) namedOutputPaths)
819819+ # If the matched path is in `namedOutputPaths`,
820820+ # it's a partial match of an output path where
821821+ # the output name isn't `out`
822822+ lib.all (o: !lib.hasPrefix (lib.head x) o) namedOutputPaths)
805823 (builtins.split "(${builtins.storeDir}/[${nixHashChars}]+-${name})" string)
806824 else
807807- [])
825825+ [ ])
808826 packages);
809827 allPaths = lib.concatStringsSep "\n" (lib.unique (sources ++ namedOutputPaths ++ outputPaths));
810828 allPathsWithContext = builtins.appendContext allPaths context;
811829 in
812812- if builtins ? getContext then
813813- writeText "string-references" allPathsWithContext
814814- else
815815- writeDirectReferencesToFile (writeText "string-file" string);
830830+ if builtins ? getContext then
831831+ writeText "string-references" allPathsWithContext
832832+ else
833833+ writeDirectReferencesToFile (writeText "string-file" string);
816834817835818836 /* Print an error message if the file with the specified name and
···830848 }
831849832850 */
833833- requireFile = { name ? null
834834- , sha256 ? null
835835- , sha1 ? null
836836- , hash ? null
837837- , url ? null
838838- , message ? null
839839- , hashMode ? "flat"
840840- } :
841841- assert (message != null) || (url != null);
842842- assert (sha256 != null) || (sha1 != null) || (hash != null);
843843- assert (name != null) || (url != null);
844844- let msg =
845845- if message != null then message
846846- else ''
847847- Unfortunately, we cannot download file ${name_} automatically.
848848- Please go to ${url} to download it yourself, and add it to the Nix store
849849- using either
850850- nix-store --add-fixed ${hashAlgo} ${name_}
851851- or
852852- nix-prefetch-url --type ${hashAlgo} file:///path/to/${name_}
853853- '';
854854- hashAlgo = if hash != null then (builtins.head (lib.strings.splitString "-" hash))
855855- else if sha256 != null then "sha256"
856856- else "sha1";
857857- hashAlgo_ = if hash != null then "" else hashAlgo;
858858- hash_ = if hash != null then hash
859859- else if sha256 != null then sha256
860860- else sha1;
861861- name_ = if name == null then baseNameOf (toString url) else name;
862862- in
863863- stdenvNoCC.mkDerivation {
864864- name = name_;
865865- outputHashMode = hashMode;
866866- outputHashAlgo = hashAlgo_;
867867- outputHash = hash_;
868868- preferLocalBuild = true;
869869- allowSubstitutes = false;
870870- builder = writeScript "restrict-message" ''
871871- source ${stdenvNoCC}/setup
872872- cat <<_EOF_
851851+ requireFile =
852852+ { name ? null
853853+ , sha256 ? null
854854+ , sha1 ? null
855855+ , hash ? null
856856+ , url ? null
857857+ , message ? null
858858+ , hashMode ? "flat"
859859+ }:
860860+ assert (message != null) || (url != null);
861861+ assert (sha256 != null) || (sha1 != null) || (hash != null);
862862+ assert (name != null) || (url != null);
863863+ let
864864+ msg =
865865+ if message != null then message
866866+ else ''
867867+ Unfortunately, we cannot download file ${name_} automatically.
868868+ Please go to ${url} to download it yourself, and add it to the Nix store
869869+ using either
870870+ nix-store --add-fixed ${hashAlgo} ${name_}
871871+ or
872872+ nix-prefetch-url --type ${hashAlgo} file:///path/to/${name_}
873873+ '';
874874+ hashAlgo =
875875+ if hash != null then (builtins.head (lib.strings.splitString "-" hash))
876876+ else if sha256 != null then "sha256"
877877+ else "sha1";
878878+ hashAlgo_ = if hash != null then "" else hashAlgo;
879879+ hash_ =
880880+ if hash != null then hash
881881+ else if sha256 != null then sha256
882882+ else sha1;
883883+ name_ = if name == null then baseNameOf (toString url) else name;
884884+ in
885885+ stdenvNoCC.mkDerivation {
886886+ name = name_;
887887+ outputHashMode = hashMode;
888888+ outputHashAlgo = hashAlgo_;
889889+ outputHash = hash_;
890890+ preferLocalBuild = true;
891891+ allowSubstitutes = false;
892892+ builder = writeScript "restrict-message" ''
893893+ source ${stdenvNoCC}/setup
894894+ cat <<_EOF_
873895874874- ***
875875- ${msg}
876876- ***
896896+ ***
897897+ ${msg}
898898+ ***
877899878878- _EOF_
879879- exit 1
880880- '';
881881- };
900900+ _EOF_
901901+ exit 1
902902+ '';
903903+ };
882904883905884906 /*
···915937 applyPatches =
916938 { src
917939 , name ? (if builtins.typeOf src == "path"
918918- then builtins.baseNameOf src
919919- else
920920- if builtins.isAttrs src && builtins.hasAttr "name" src
921921- then src.name
922922- else throw "applyPatches: please supply a `name` argument because a default name can only be computed when the `src` is a path or is an attribute set with a `name` attribute."
923923- ) + "-patched"
924924- , patches ? []
940940+ then builtins.baseNameOf src
941941+ else
942942+ if builtins.isAttrs src && builtins.hasAttr "name" src
943943+ then src.name
944944+ else throw "applyPatches: please supply a `name` argument because a default name can only be computed when the `src` is a path or is an attribute set with a `name` attribute."
945945+ ) + "-patched"
946946+ , patches ? [ ]
925947 , postPatch ? ""
926948 , ...
927927- }@args: stdenvNoCC.mkDerivation {
928928- inherit name src patches postPatch;
929929- preferLocalBuild = true;
930930- allowSubstitutes = false;
931931- phases = "unpackPhase patchPhase installPhase";
932932- installPhase = "cp -R ./ $out";
933933- }
949949+ }@args: stdenvNoCC.mkDerivation
950950+ {
951951+ inherit name src patches postPatch;
952952+ preferLocalBuild = true;
953953+ allowSubstitutes = false;
954954+ phases = "unpackPhase patchPhase installPhase";
955955+ installPhase = "cp -R ./ $out";
956956+ }
934957 # Carry `meta` information from the underlying `src` if present.
935958 // (optionalAttrs (src?meta) { inherit (src) meta; })
936959 // (removeAttrs args [ "src" "name" "patches" "postPatch" ]);
937960938961 /* An immutable file in the store with a length of 0 bytes. */
939939- emptyFile = runCommand "empty-file" {
940940- outputHashAlgo = "sha256";
941941- outputHashMode = "recursive";
942942- outputHash = "0ip26j2h11n1kgkz36rl4akv694yz65hr72q4kv4b3lxcbi65b3p";
943943- preferLocalBuild = true;
944944- } "touch $out";
962962+ emptyFile = runCommand "empty-file"
963963+ {
964964+ outputHashAlgo = "sha256";
965965+ outputHashMode = "recursive";
966966+ outputHash = "0ip26j2h11n1kgkz36rl4akv694yz65hr72q4kv4b3lxcbi65b3p";
967967+ preferLocalBuild = true;
968968+ } "touch $out";
945969946970 /* An immutable empty directory in the store. */
947947- emptyDirectory = runCommand "empty-directory" {
948948- outputHashAlgo = "sha256";
949949- outputHashMode = "recursive";
950950- outputHash = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
951951- preferLocalBuild = true;
952952- } "mkdir $out";
971971+ emptyDirectory = runCommand "empty-directory"
972972+ {
973973+ outputHashAlgo = "sha256";
974974+ outputHashMode = "recursive";
975975+ outputHash = "0sjjj9z1dhilhpc8pq4154czrb79z9cm044jvn75kxcjv6v5l2m5";
976976+ preferLocalBuild = true;
977977+ } "mkdir $out";
953978}
···344344 '';
345345 license = lib.licenses.psfl;
346346 platforms = lib.platforms.all;
347347- maintainers = with lib.maintainers; [ fridh thiagokokada ];
347347+ maintainers = with lib.maintainers; [ fridh ];
348348 knownVulnerabilities = [
349349 "Python 2.7 has reached its end of life after 2020-01-01. See https://www.python.org/doc/sunset-python-2/."
350350 # Quote: That means that we will not improve it anymore after that day,
···5566rustPlatform.buildRustPackage rec {
77 pname = "cargo-careful";
88- version = "0.4.0";
88+ version = "0.4.1";
991010 src = fetchFromGitHub {
1111 owner = "RalfJung";
1212 repo = "cargo-careful";
1313 rev = "v${version}";
1414- hash = "sha256-5FteKVlEx5NSj3lzRRj3qerkyK+UdJfTWtG6xEzI4t4=";
1414+ hash = "sha256-oiwR6NgHHu9B1L6dSK6KZfgcSdwBPEzUZONwPHr0a4k=";
1515 };
16161717- cargoHash = "sha256-gs8o+tWvC4cgIITpfvJqfTquyYaEbvNMeZEJKFzd83I=";
1717+ cargoHash = "sha256-sVIAY9eYlpyS/PU6kLInc4hMeD3qcewoMbTH+wTIBuI=";
18181919 meta = with lib; {
2020 description = "A tool to execute Rust code carefully, with extra checking along the way";
+4-4
pkgs/games/anki/bin.nix
···33let
44 pname = "anki-bin";
55 # Update hashes for both Linux and Darwin!
66- version = "23.10.1";
66+ version = "23.12.1";
7788 sources = {
99 linux = fetchurl {
1010 url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst";
1111- sha256 = "sha256-Kv0SH+bLnBSM/tYHe2kEJc4n7izZTBNWQs2nm/teLEU=";
1111+ sha256 = "sha256-bFtAUqSoFS8CWESiepWXywndkijATbWp6CJdqlQecuk=";
1212 };
13131414 # For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version
1515 darwin-x86_64 = fetchurl {
1616 url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg";
1717- sha256 = "sha256-MSlKsEv4N/H7G1bUOBlPBXerpHIW32P6Va02aRq1+54=";
1717+ sha256 = "sha256-z48REB14p7rb50ty9u/26wx0sY4QZb4pj6wOXsSBCdg=";
1818 };
1919 darwin-aarch64 = fetchurl {
2020 url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg";
2121- sha256 = "sha256-jEm9WJBXx77KpldzBuxK1Pu6VGiARZPnRmMhEjZdm1I=";
2121+ sha256 = "sha256-bdaCqSjje86wmVKIFZqzuFaEZ7SWQr7CAS/Hm1CpOMg=";
2222 };
2323 };
2424
+1-1
pkgs/os-specific/linux/amdctl/default.nix
···2626 description = "Set P-State voltages and clock speeds on recent AMD CPUs on Linux.";
2727 homepage = "https://github.com/kevinlekiller/amdctl";
2828 license = licenses.gpl3Plus;
2929- maintainers = with maintainers; [ thiagokokada ];
2929+ maintainers = with maintainers; [ ];
3030 platforms = [ "x86_64-linux" ];
3131 };
3232}
+25-11
pkgs/os-specific/linux/kernel/README.md
···44552. Add the new kernel to the `kernels` attribute set in [`linux-kernels.nix`](./linux-kernels.nix) (e.g., create an attribute `kernel_2_6_22`).
6677-3. Update the kernel configuration. First unpack the kernel. Then for each supported platform (`i686`, `x86_64`, `uml`) do the following:
77+3. Update the kernel configuration:
8899- 1. Make a copy from the old config (e.g., `config-2.6.21-i686-smp`) to the new one (e.g., `config-2.6.22-i686-smp`).
99+ 1. While in the Nixpkgs repository, enter the development shell for that kernel:
10101111- 2. Copy the config file for this platform (e.g., `config-2.6.22-i686-smp`) to `.config` in the kernel source tree.
1111+ ```console
1212+ $ nix-shell -A linuxKernel.kernels.linux_2_6_22
1313+ ```
12141313- 3. Run `make oldconfig ARCH={i386,x86_64,um}` and answer all questions. (For the uml configuration, also add `SHELL=bash`.) Make sure to keep the configuration consistent between platforms (i.e., don’t enable some feature on `i686` and disable it on `x86_64`).
1515+ 2. Unpack the kernel:
14161515- 4. If needed, you can also run `make menuconfig`:
1717+ ```console
1818+ [nix-shell]$ pushd $(mktemp -d)
1919+ [nix-shell]$ unpackPhase
2020+ ```
16211717- ```ShellSession
1818- $ nix-env -f "<nixpkgs>" -iA ncurses
1919- $ export NIX_CFLAGS_LINK=-lncurses
2020- $ make menuconfig ARCH=arch
2121- ```
2222+ 3. For each supported platform (`i686`, `x86_64`, `uml`) do the following:
2323+2424+ 1. Make a copy from the old config (e.g., `config-2.6.21-i686-smp`) to the new one (e.g., `config-2.6.22-i686-smp`).
2525+2626+ 2. Copy the config file for this platform (e.g., `config-2.6.22-i686-smp`) to `.config` in the unpacked kernel source tree.
22272323- 5. Copy `.config` over the new config file (e.g., `config-2.6.22-i686-smp`).
2828+ 3. Run `make oldconfig ARCH={i386,x86_64,um}` and answer all questions. (For the uml configuration, also add `SHELL=bash`.) Make sure to keep the configuration consistent between platforms (i.e., don’t enable some feature on `i686` and disable it on `x86_64`).
2929+3030+ 4. If needed, you can also run `make menuconfig`:
3131+3232+ ```ShellSession
3333+ $ nix-shell -p ncurses pkg-config
3434+ $ make menuconfig ARCH=arch
3535+ ```
3636+3737+ 5. Copy `.config` over the new config file (e.g., `config-2.6.22-i686-smp`).
243825394. Test building the kernel:
2640