Merge master into staging-next

authored by

github-actions[bot] and committed by
GitHub
9f3079a7 34f1f577

+595 -368
+163 -157
lib/path/default.nix
··· 121 121 122 122 in /* No rec! Add dependencies on this file at the top. */ { 123 123 124 - /* Append a subpath string to a path. 124 + /* 125 + Append a subpath string to a path. 125 126 126 127 Like `path + ("/" + string)` but safer, because it errors instead of returning potentially surprising results. 127 128 More specifically, it checks that the first argument is a [path value type](https://nixos.org/manual/nix/stable/language/values.html#type-path"), 128 - and that the second argument is a valid subpath string (see `lib.path.subpath.isValid`). 129 + and that the second argument is a [valid subpath string](#function-library-lib.path.subpath.isValid). 129 130 130 131 Laws: 131 132 132 - - Not influenced by subpath normalisation 133 + - Not influenced by subpath [normalisation](#function-library-lib.path.subpath.normalise): 133 134 134 - append p s == append p (subpath.normalise s) 135 + append p s == append p (subpath.normalise s) 135 136 136 137 Type: 137 138 append :: Path -> String -> Path ··· 175 176 path + ("/" + subpath); 176 177 177 178 /* 178 - Whether the first path is a component-wise prefix of the second path. 179 + Whether the first path is a component-wise prefix of the second path. 179 180 180 - Laws: 181 + Laws: 181 182 182 - - `hasPrefix p q` is only true if `q == append p s` for some subpath `s`. 183 + - `hasPrefix p q` is only true if [`q == append p s`](#function-library-lib.path.append) for some [subpath](#function-library-lib.path.subpath.isValid) `s`. 183 184 184 - - `hasPrefix` is a [non-strict partial order](https://en.wikipedia.org/wiki/Partially_ordered_set#Non-strict_partial_order) over the set of all path values 185 + - `hasPrefix` is a [non-strict partial order](https://en.wikipedia.org/wiki/Partially_ordered_set#Non-strict_partial_order) over the set of all path values. 185 186 186 - Type: 187 - hasPrefix :: Path -> Path -> Bool 187 + Type: 188 + hasPrefix :: Path -> Path -> Bool 188 189 189 - Example: 190 - hasPrefix /foo /foo/bar 191 - => true 192 - hasPrefix /foo /foo 193 - => true 194 - hasPrefix /foo/bar /foo 195 - => false 196 - hasPrefix /. /foo 197 - => true 190 + Example: 191 + hasPrefix /foo /foo/bar 192 + => true 193 + hasPrefix /foo /foo 194 + => true 195 + hasPrefix /foo/bar /foo 196 + => false 197 + hasPrefix /. /foo 198 + => true 198 199 */ 199 200 hasPrefix = 200 201 path1: ··· 219 220 take (length path1Deconstructed.components) path2Deconstructed.components == path1Deconstructed.components; 220 221 221 222 /* 222 - Remove the first path as a component-wise prefix from the second path. 223 - The result is a normalised subpath string, see `lib.path.subpath.normalise`. 223 + Remove the first path as a component-wise prefix from the second path. 224 + The result is a [normalised subpath string](#function-library-lib.path.subpath.normalise). 224 225 225 - Laws: 226 + Laws: 226 227 227 - - Inverts `append` for normalised subpaths: 228 + - Inverts [`append`](#function-library-lib.path.append) for [normalised subpath string](#function-library-lib.path.subpath.normalise): 228 229 229 - removePrefix p (append p s) == subpath.normalise s 230 + removePrefix p (append p s) == subpath.normalise s 230 231 231 - Type: 232 - removePrefix :: Path -> Path -> String 232 + Type: 233 + removePrefix :: Path -> Path -> String 233 234 234 - Example: 235 - removePrefix /foo /foo/bar/baz 236 - => "./bar/baz" 237 - removePrefix /foo /foo 238 - => "./." 239 - removePrefix /foo/bar /foo 240 - => <error> 241 - removePrefix /. /foo 242 - => "./foo" 235 + Example: 236 + removePrefix /foo /foo/bar/baz 237 + => "./bar/baz" 238 + removePrefix /foo /foo 239 + => "./." 240 + removePrefix /foo/bar /foo 241 + => <error> 242 + removePrefix /. /foo 243 + => "./foo" 243 244 */ 244 245 removePrefix = 245 246 path1: ··· 272 273 joinRelPath components; 273 274 274 275 /* 275 - Split the filesystem root from a [path](https://nixos.org/manual/nix/stable/language/values.html#type-path). 276 - The result is an attribute set with these attributes: 277 - - `root`: The filesystem root of the path, meaning that this directory has no parent directory. 278 - - `subpath`: The [normalised subpath string](#function-library-lib.path.subpath.normalise) that when [appended](#function-library-lib.path.append) to `root` returns the original path. 276 + Split the filesystem root from a [path](https://nixos.org/manual/nix/stable/language/values.html#type-path). 277 + The result is an attribute set with these attributes: 278 + - `root`: The filesystem root of the path, meaning that this directory has no parent directory. 279 + - `subpath`: The [normalised subpath string](#function-library-lib.path.subpath.normalise) that when [appended](#function-library-lib.path.append) to `root` returns the original path. 279 280 280 - Laws: 281 - - [Appending](#function-library-lib.path.append) the `root` and `subpath` gives the original path: 281 + Laws: 282 + - [Appending](#function-library-lib.path.append) the `root` and `subpath` gives the original path: 282 283 283 - p == 284 - append 285 - (splitRoot p).root 286 - (splitRoot p).subpath 284 + p == 285 + append 286 + (splitRoot p).root 287 + (splitRoot p).subpath 287 288 288 - - Trying to get the parent directory of `root` using [`readDir`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-readDir) returns `root` itself: 289 + - Trying to get the parent directory of `root` using [`readDir`](https://nixos.org/manual/nix/stable/language/builtins.html#builtins-readDir) returns `root` itself: 289 290 290 - dirOf (splitRoot p).root == (splitRoot p).root 291 + dirOf (splitRoot p).root == (splitRoot p).root 291 292 292 - Type: 293 - splitRoot :: Path -> { root :: Path, subpath :: String } 293 + Type: 294 + splitRoot :: Path -> { root :: Path, subpath :: String } 294 295 295 - Example: 296 - splitRoot /foo/bar 297 - => { root = /.; subpath = "./foo/bar"; } 296 + Example: 297 + splitRoot /foo/bar 298 + => { root = /.; subpath = "./foo/bar"; } 298 299 299 - splitRoot /. 300 - => { root = /.; subpath = "./."; } 300 + splitRoot /. 301 + => { root = /.; subpath = "./."; } 301 302 302 - # Nix neutralises `..` path components for all path values automatically 303 - splitRoot /foo/../bar 304 - => { root = /.; subpath = "./bar"; } 303 + # Nix neutralises `..` path components for all path values automatically 304 + splitRoot /foo/../bar 305 + => { root = /.; subpath = "./bar"; } 305 306 306 - splitRoot "/foo/bar" 307 - => <error> 307 + splitRoot "/foo/bar" 308 + => <error> 308 309 */ 309 - splitRoot = path: 310 + splitRoot = 311 + # The path to split the root off of 312 + path: 310 313 assert assertMsg 311 314 (isPath path) 312 315 "lib.path.splitRoot: Argument is of type ${typeOf path}, but a path was expected"; ··· 317 320 subpath = joinRelPath deconstructed.components; 318 321 }; 319 322 320 - /* Whether a value is a valid subpath string. 323 + /* 324 + Whether a value is a valid subpath string. 321 325 322 - A subpath string points to a specific file or directory within an absolute base directory. 323 - It is a stricter form of a relative path that excludes `..` components, since those could escape the base directory. 326 + A subpath string points to a specific file or directory within an absolute base directory. 327 + It is a stricter form of a relative path that excludes `..` components, since those could escape the base directory. 324 328 325 - - The value is a string 329 + - The value is a string. 326 330 327 - - The string is not empty 331 + - The string is not empty. 328 332 329 - - The string doesn't start with a `/` 333 + - The string doesn't start with a `/`. 330 334 331 - - The string doesn't contain any `..` path components 335 + - The string doesn't contain any `..` path components. 332 336 333 - Type: 334 - subpath.isValid :: String -> Bool 337 + Type: 338 + subpath.isValid :: String -> Bool 335 339 336 - Example: 337 - # Not a string 338 - subpath.isValid null 339 - => false 340 + Example: 341 + # Not a string 342 + subpath.isValid null 343 + => false 340 344 341 - # Empty string 342 - subpath.isValid "" 343 - => false 345 + # Empty string 346 + subpath.isValid "" 347 + => false 344 348 345 - # Absolute path 346 - subpath.isValid "/foo" 347 - => false 349 + # Absolute path 350 + subpath.isValid "/foo" 351 + => false 348 352 349 - # Contains a `..` path component 350 - subpath.isValid "../foo" 351 - => false 353 + # Contains a `..` path component 354 + subpath.isValid "../foo" 355 + => false 352 356 353 - # Valid subpath 354 - subpath.isValid "foo/bar" 355 - => true 357 + # Valid subpath 358 + subpath.isValid "foo/bar" 359 + => true 356 360 357 - # Doesn't need to be normalised 358 - subpath.isValid "./foo//bar/" 359 - => true 361 + # Doesn't need to be normalised 362 + subpath.isValid "./foo//bar/" 363 + => true 360 364 */ 361 365 subpath.isValid = 362 366 # The value to check ··· 364 368 subpathInvalidReason value == null; 365 369 366 370 367 - /* Join subpath strings together using `/`, returning a normalised subpath string. 371 + /* 372 + Join subpath strings together using `/`, returning a normalised subpath string. 368 373 369 374 Like `concatStringsSep "/"` but safer, specifically: 370 375 371 - - All elements must be valid subpath strings, see `lib.path.subpath.isValid` 376 + - All elements must be [valid subpath strings](#function-library-lib.path.subpath.isValid). 372 377 373 - - The result gets normalised, see `lib.path.subpath.normalise` 378 + - The result gets [normalised](#function-library-lib.path.subpath.normalise). 374 379 375 - - The edge case of an empty list gets properly handled by returning the neutral subpath `"./."` 380 + - The edge case of an empty list gets properly handled by returning the neutral subpath `"./."`. 376 381 377 382 Laws: 378 383 ··· 386 391 subpath.join [ (subpath.normalise p) "./." ] == subpath.normalise p 387 392 subpath.join [ "./." (subpath.normalise p) ] == subpath.normalise p 388 393 389 - - Normalisation - the result is normalised according to `lib.path.subpath.normalise`: 394 + - Normalisation - the result is [normalised](#function-library-lib.path.subpath.normalise): 390 395 391 396 subpath.join ps == subpath.normalise (subpath.join ps) 392 397 393 - - For non-empty lists, the implementation is equivalent to normalising the result of `concatStringsSep "/"`. 394 - Note that the above laws can be derived from this one. 398 + - For non-empty lists, the implementation is equivalent to [normalising](#function-library-lib.path.subpath.normalise) the result of `concatStringsSep "/"`. 399 + Note that the above laws can be derived from this one: 395 400 396 401 ps != [] -> subpath.join ps == subpath.normalise (concatStringsSep "/" ps) 397 402 ··· 439 444 ) 0 subpaths; 440 445 441 446 /* 442 - Split [a subpath](#function-library-lib.path.subpath.isValid) into its path component strings. 443 - Throw an error if the subpath isn't valid. 444 - Note that the returned path components are also valid subpath strings, though they are intentionally not [normalised](#function-library-lib.path.subpath.normalise). 447 + Split [a subpath](#function-library-lib.path.subpath.isValid) into its path component strings. 448 + Throw an error if the subpath isn't valid. 449 + Note that the returned path components are also [valid subpath strings](#function-library-lib.path.subpath.isValid), though they are intentionally not [normalised](#function-library-lib.path.subpath.normalise). 445 450 446 - Laws: 451 + Laws: 447 452 448 - - Splitting a subpath into components and [joining](#function-library-lib.path.subpath.join) the components gives the same subpath but [normalised](#function-library-lib.path.subpath.normalise): 453 + - Splitting a subpath into components and [joining](#function-library-lib.path.subpath.join) the components gives the same subpath but [normalised](#function-library-lib.path.subpath.normalise): 449 454 450 - subpath.join (subpath.components s) == subpath.normalise s 455 + subpath.join (subpath.components s) == subpath.normalise s 451 456 452 - Type: 453 - subpath.components :: String -> [ String ] 457 + Type: 458 + subpath.components :: String -> [ String ] 454 459 455 - Example: 456 - subpath.components "." 457 - => [ ] 460 + Example: 461 + subpath.components "." 462 + => [ ] 458 463 459 - subpath.components "./foo//bar/./baz/" 460 - => [ "foo" "bar" "baz" ] 464 + subpath.components "./foo//bar/./baz/" 465 + => [ "foo" "bar" "baz" ] 461 466 462 - subpath.components "/foo" 463 - => <error> 467 + subpath.components "/foo" 468 + => <error> 464 469 */ 465 470 subpath.components = 471 + # The subpath string to split into components 466 472 subpath: 467 473 assert assertMsg (isValid subpath) '' 468 474 lib.path.subpath.components: Argument is not a valid subpath string: 469 475 ${subpathInvalidReason subpath}''; 470 476 splitRelPath subpath; 471 477 472 - /* Normalise a subpath. Throw an error if the subpath isn't valid, see 473 - `lib.path.subpath.isValid` 478 + /* 479 + Normalise a subpath. Throw an error if the subpath isn't [valid](#function-library-lib.path.subpath.isValid). 474 480 475 - - Limit repeating `/` to a single one 481 + - Limit repeating `/` to a single one. 476 482 477 - - Remove redundant `.` components 483 + - Remove redundant `.` components. 478 484 479 - - Remove trailing `/` and `/.` 485 + - Remove trailing `/` and `/.`. 480 486 481 - - Add leading `./` 487 + - Add leading `./`. 482 488 483 - Laws: 489 + Laws: 484 490 485 - - Idempotency - normalising multiple times gives the same result: 491 + - Idempotency - normalising multiple times gives the same result: 486 492 487 - subpath.normalise (subpath.normalise p) == subpath.normalise p 493 + subpath.normalise (subpath.normalise p) == subpath.normalise p 488 494 489 - - Uniqueness - there's only a single normalisation for the paths that lead to the same file system node: 495 + - Uniqueness - there's only a single normalisation for the paths that lead to the same file system node: 490 496 491 - subpath.normalise p != subpath.normalise q -> $(realpath ${p}) != $(realpath ${q}) 497 + subpath.normalise p != subpath.normalise q -> $(realpath ${p}) != $(realpath ${q}) 492 498 493 - - Don't change the result when appended to a Nix path value: 499 + - Don't change the result when [appended](#function-library-lib.path.append) to a Nix path value: 494 500 495 - base + ("/" + p) == base + ("/" + subpath.normalise p) 501 + append base p == append base (subpath.normalise p) 496 502 497 - - Don't change the path according to `realpath`: 503 + - Don't change the path according to `realpath`: 498 504 499 - $(realpath ${p}) == $(realpath ${subpath.normalise p}) 505 + $(realpath ${p}) == $(realpath ${subpath.normalise p}) 500 506 501 - - Only error on invalid subpaths: 507 + - Only error on [invalid subpaths](#function-library-lib.path.subpath.isValid): 502 508 503 - builtins.tryEval (subpath.normalise p)).success == subpath.isValid p 509 + builtins.tryEval (subpath.normalise p)).success == subpath.isValid p 504 510 505 - Type: 506 - subpath.normalise :: String -> String 511 + Type: 512 + subpath.normalise :: String -> String 507 513 508 - Example: 509 - # limit repeating `/` to a single one 510 - subpath.normalise "foo//bar" 511 - => "./foo/bar" 514 + Example: 515 + # limit repeating `/` to a single one 516 + subpath.normalise "foo//bar" 517 + => "./foo/bar" 512 518 513 - # remove redundant `.` components 514 - subpath.normalise "foo/./bar" 515 - => "./foo/bar" 519 + # remove redundant `.` components 520 + subpath.normalise "foo/./bar" 521 + => "./foo/bar" 516 522 517 - # add leading `./` 518 - subpath.normalise "foo/bar" 519 - => "./foo/bar" 523 + # add leading `./` 524 + subpath.normalise "foo/bar" 525 + => "./foo/bar" 520 526 521 - # remove trailing `/` 522 - subpath.normalise "foo/bar/" 523 - => "./foo/bar" 527 + # remove trailing `/` 528 + subpath.normalise "foo/bar/" 529 + => "./foo/bar" 524 530 525 - # remove trailing `/.` 526 - subpath.normalise "foo/bar/." 527 - => "./foo/bar" 531 + # remove trailing `/.` 532 + subpath.normalise "foo/bar/." 533 + => "./foo/bar" 528 534 529 - # Return the current directory as `./.` 530 - subpath.normalise "." 531 - => "./." 535 + # Return the current directory as `./.` 536 + subpath.normalise "." 537 + => "./." 532 538 533 - # error on `..` path components 534 - subpath.normalise "foo/../bar" 535 - => <error> 539 + # error on `..` path components 540 + subpath.normalise "foo/../bar" 541 + => <error> 536 542 537 - # error on empty string 538 - subpath.normalise "" 539 - => <error> 543 + # error on empty string 544 + subpath.normalise "" 545 + => <error> 540 546 541 - # error on absolute path 542 - subpath.normalise "/foo" 543 - => <error> 547 + # error on absolute path 548 + subpath.normalise "/foo" 549 + => <error> 544 550 */ 545 551 subpath.normalise = 546 552 # The subpath string to normalise
+10
nixos/doc/manual/release-notes/rl-2311.section.md
··· 140 140 141 141 - The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration. 142 142 143 + - GNOME module no longer forces Qt applications to use Adwaita style since it was buggy and is no longer maintained upstream. If you still want it, you can add the following options to your configuration but it will probably be eventually removed: 144 + 145 + ```nix 146 + qt = { 147 + enable = true; 148 + platformTheme = "gnome"; 149 + style = "adwaita"; 150 + }; 151 + ``` 152 + 143 153 - `fontconfig` now defaults to using greyscale antialiasing instead of subpixel antialiasing because of a [recommendation from one of the downstreams](https://gitlab.freedesktop.org/fontconfig/fontconfig/-/issues/337). You can change this value by configuring [](#opt-fonts.fontconfig.subpixel.rgba) accordingly. 144 154 145 155 - The latest available version of Nextcloud is v27 (available as `pkgs.nextcloud27`). The installation logic is as follows:
+15 -13
nixos/modules/programs/hyprland.nix
··· 32 32 readOnly = true; 33 33 default = cfg.package.override { 34 34 enableXWayland = cfg.xwayland.enable; 35 - hidpiXWayland = cfg.xwayland.hidpi; 36 - nvidiaPatches = cfg.nvidiaPatches; 35 + enableNvidiaPatches = cfg.enableNvidiaPatches; 37 36 }; 38 37 defaultText = literalExpression 39 - "`wayland.windowManager.hyprland.package` with applied configuration"; 38 + "`programs.hyprland.package` with applied configuration"; 40 39 description = mdDoc '' 41 40 The Hyprland package after applying configuration. 42 41 ''; ··· 44 43 45 44 portalPackage = mkPackageOptionMD pkgs "xdg-desktop-portal-hyprland" { }; 46 45 47 - xwayland = { 48 - enable = mkEnableOption (mdDoc "XWayland") // { default = true; }; 49 - hidpi = mkEnableOption null // { 50 - description = mdDoc '' 51 - Enable HiDPI XWayland, based on [XWayland MR 733](https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/733). 52 - See <https://wiki.hyprland.org/Nix/Options-Overrides/#xwayland-hidpi> for more info. 53 - ''; 54 - }; 55 - }; 46 + xwayland.enable = mkEnableOption (mdDoc "XWayland") // { default = true; }; 56 47 57 - nvidiaPatches = mkEnableOption (mdDoc "patching wlroots for better Nvidia support"); 48 + enableNvidiaPatches = mkEnableOption (mdDoc "patching wlroots for better Nvidia support"); 58 49 }; 59 50 60 51 config = mkIf cfg.enable { ··· 77 68 extraPortals = [ finalPortalPackage ]; 78 69 }; 79 70 }; 71 + 72 + imports = with lib; [ 73 + (mkRemovedOptionModule 74 + [ "programs" "hyprland" "xwayland" "hidpi" ] 75 + "XWayland patches are deprecated. Refer to https://wiki.hyprland.org/Configuring/XWayland" 76 + ) 77 + (mkRenamedOptionModule 78 + [ "programs" "hyprland" "nvidiaPatches" ] 79 + [ "programs" "hyprland" "enableNvidiaPatches" ] 80 + ) 81 + ]; 80 82 }
+1
nixos/modules/services/audio/liquidsoap.nix
··· 18 18 ExecStart = "${pkgs.liquidsoap}/bin/liquidsoap ${stream}"; 19 19 User = "liquidsoap"; 20 20 LogsDirectory = "liquidsoap"; 21 + Restart = "always"; 21 22 }; 22 23 }; 23 24 };
+1 -1
nixos/modules/services/networking/hostapd.nix
··· 987 987 } // optionalAttrs (bssCfg.authentication.wpaPassword != null) { 988 988 wpa_passphrase = bssCfg.authentication.wpaPassword; 989 989 } // optionalAttrs (bssCfg.authentication.wpaPskFile != null) { 990 - wpa_psk_file = bssCfg.authentication.wpaPskFile; 990 + wpa_psk_file = toString bssCfg.authentication.wpaPskFile; 991 991 }; 992 992 993 993 dynamicConfigScripts = let
-7
nixos/modules/services/x11/desktop-managers/gnome.nix
··· 352 352 }) 353 353 ]; 354 354 355 - # Harmonize Qt application style and also make them use the portal for file chooser dialog. 356 - qt = { 357 - enable = mkDefault true; 358 - platformTheme = mkDefault "gnome"; 359 - style = mkDefault "adwaita"; 360 - }; 361 - 362 355 networking.networkmanager.enable = mkDefault true; 363 356 364 357 services.xserver.updateDbusEnvironment = true;
+8 -8
pkgs/applications/editors/vscode/vscode.nix
··· 30 30 archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; 31 31 32 32 sha256 = { 33 - x86_64-linux = "0hc1pfrhmdydwgyz3mjp45nmzs101iffam7ciximqmnhf1s1x4qf"; 34 - x86_64-darwin = "1snrr4lsa5qdpdl80wx8ymxp8h1bhd5ablhcgkhzvmj5dh7jrywk"; 35 - aarch64-linux = "0pm5znbjm79ziwdx37cc75qnbf0jv3yrm2xg7cykavn43gz97abw"; 36 - aarch64-darwin = "0bq5hvgv228x7vby4475cc65g24kpv9kvj06p6c0y6a2a79j45by"; 37 - armv7l-linux = "11gxpqflakp4cwzkpqrwsd6m5fls1vnaigppc4bq9flfknwkjfrx"; 33 + x86_64-linux = "0j3lmyj77qalhn8hrgfg3zgw6jqv8rscfy16vhkl0ir2xnmb19jf"; 34 + x86_64-darwin = "06dx8lhw1cqignv06pcjjv8v743kr8bck1iqgl1881jmqyhggi4f"; 35 + aarch64-linux = "0nyd452wcp5qw2cx1zj89v4fgk3jvbk3hhiix9a0gv150q48vyfa"; 36 + aarch64-darwin = "1yfbsfnkjbf99yl1dcflpyxppa9mhnxigyyplz0jaqgpwmhs2s0b"; 37 + armv7l-linux = "1miz95rz2fdw7xplflnydzq57hnz894xg29mhpywwiib8kypfrm7"; 38 38 }.${system} or throwSystem; 39 39 in 40 40 callPackage ./generic.nix rec { 41 41 # Please backport all compatible updates to the stable release. 42 42 # This is important for the extension ecosystem. 43 - version = "1.81.0"; 43 + version = "1.81.1"; 44 44 pname = "vscode" + lib.optionalString isInsiders "-insiders"; 45 45 46 46 # This is used for VS Code - Remote SSH test 47 - rev = "6445d93c81ebe42c4cbd7a60712e0b17d9463e97"; 47 + rev = "6c3e3dba23e8fadc360aed75ce363ba185c49794"; 48 48 49 49 executableName = "code" + lib.optionalString isInsiders "-insiders"; 50 50 longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders"; ··· 68 68 src = fetchurl { 69 69 name = "vscode-server-${rev}.tar.gz"; 70 70 url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable"; 71 - sha256 = "07x9lmkyhra4hplsgdhh97dixsx92i7lab5z5ihs2wqvvzl69ah2"; 71 + sha256 = "1xfyl81d5l2bl7k4vz4rnj84j1ijwv90sqgv9lnqzza2dfckfd6m"; 72 72 }; 73 73 }; 74 74
+1 -1
pkgs/applications/emulators/citra/default.nix
··· 10 10 compat-list = fetchurl { 11 11 name = "citra-compat-list"; 12 12 url = "https://web.archive.org/web/20230807103651/https://api.citra-emu.org/gamedb/"; 13 - hash = "sha256-Ma1SXgzhyMHa/MeoYuf8b+QYPjhoQEeKklLbGbkHwEk="; 13 + hash = "sha256-J+zqtWde5NgK2QROvGewtXGRAWUTNSKHNMG6iu9m1fU="; 14 14 }; 15 15 in { 16 16 nightly = qt6Packages.callPackage ./generic.nix rec {
+72
pkgs/applications/emulators/nuked-md/default.nix
··· 1 + { stdenv 2 + , lib 3 + , fetchFromGitHub 4 + , gitUpdater 5 + , cmake 6 + , SDL2 7 + }: 8 + 9 + stdenv.mkDerivation (finalAttrs: { 10 + pname = "nuked-md"; 11 + version = "1.2"; 12 + 13 + src = fetchFromGitHub { 14 + owner = "nukeykt"; 15 + repo = "Nuked-MD"; 16 + rev = "v${finalAttrs.version}"; 17 + hash = "sha256-Pe+TSu9FBUhxtACq+6jMbrUxiwKLOJgQbEcmUrcrjMs="; 18 + }; 19 + 20 + # Interesting detail about our SDL2 packaging: 21 + # Because we build it with the configure script instead of CMake, we ship sdl2-config.cmake instead of SDL2Config.cmake 22 + # The former doesn't set SDL2_FOUND while the latter does (like CMake config scripts should), which causes this issue: 23 + # 24 + # CMake Error at CMakeLists.txt:5 (find_package): 25 + # Found package configuration file: 26 + # 27 + # <SDL2.dev>/lib/cmake/SDL2/sdl2-config.cmake 28 + # 29 + # but it set SDL2_FOUND to FALSE so package "SDL2" is considered to be NOT 30 + # FOUND. 31 + postPatch = '' 32 + substituteInPlace CMakeLists.txt \ 33 + --replace 'SDL2 REQUIRED' 'SDL2' 34 + ''; 35 + 36 + strictDeps = true; 37 + 38 + nativeBuildInputs = [ 39 + cmake 40 + ]; 41 + 42 + buildInputs = [ 43 + SDL2 44 + ]; 45 + 46 + installPhase = '' 47 + runHook preInstall 48 + 49 + install -Dm755 Nuked-MD $out/bin/Nuked-MD 50 + 51 + runHook postInstall 52 + ''; 53 + 54 + passthru = { 55 + updateScript = gitUpdater { 56 + rev-prefix = "v"; 57 + }; 58 + }; 59 + 60 + meta = with lib; { 61 + description = "Cycle accurate Mega Drive emulator"; 62 + longDescription = '' 63 + Cycle accurate Mega Drive core. The goal of this project is to emulate Sega Mega Drive chipset as accurately as 64 + possible using decapped chips photos. 65 + ''; 66 + homepage = "https://github.com/nukeykt/Nuked-MD"; 67 + license = licenses.gpl2Plus; 68 + mainProgram = "Nuked-MD"; 69 + maintainers = with maintainers; [ OPNA2608 ]; 70 + platforms = platforms.all; 71 + }; 72 + })
+71
pkgs/applications/graphics/conjure/default.nix
··· 1 + { fetchFromGitHub 2 + , gobject-introspection 3 + , lib 4 + , libadwaita 5 + , python3Packages 6 + , wrapGAppsHook 7 + , meson 8 + , ninja 9 + , desktop-file-utils 10 + , pkg-config 11 + , appstream-glib 12 + , gtk4 13 + }: 14 + python3Packages.buildPythonApplication rec { 15 + pname = "conjure"; 16 + version = "0.1.2"; 17 + 18 + format = "other"; 19 + 20 + src = fetchFromGitHub { 21 + owner = "nate-xyz"; 22 + repo = "conjure"; 23 + rev = "v${version}"; 24 + hash = "sha256-qWeqUQxTTnmJt40Jm1qDTGGuSQikkurzOux8sZsmDQk="; 25 + }; 26 + 27 + nativeBuildInputs = [ 28 + gobject-introspection 29 + wrapGAppsHook 30 + desktop-file-utils 31 + appstream-glib 32 + meson 33 + ninja 34 + pkg-config 35 + gtk4 36 + ]; 37 + 38 + buildInputs = [ 39 + libadwaita 40 + ]; 41 + 42 + propagatedBuildInputs = with python3Packages; [ 43 + pygobject3 44 + loguru 45 + wand 46 + ]; 47 + 48 + nativeCheckInputs = with python3Packages; [ 49 + pytest 50 + ]; 51 + 52 + dontWrapGApps = true; 53 + 54 + preFixup = '' 55 + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") 56 + ''; 57 + 58 + meta = with lib; { 59 + description = "Magically transform your images"; 60 + longDescription = '' 61 + Resize, crop, rotate, flip images, apply various filters and effects, 62 + adjust levels and brightness, and much more. An intuitive tool for designers, 63 + artists, or just someone who wants to enhance their images. 64 + Built on top of the popular image processing library, ImageMagick with python 65 + bindings from Wand. 66 + ''; 67 + homepage = "https://github.com/nate-xyz/conjure"; 68 + license = licenses.gpl3Plus; 69 + maintainers = with maintainers; [ sund3RRR ]; 70 + }; 71 + }
+1
pkgs/applications/graphics/krop/default.nix
··· 19 19 ]; 20 20 buildInputs = [ 21 21 libsForQt5.poppler 22 + libsForQt5.qtwayland 22 23 ]; 23 24 24 25 nativeBuildInputs = [ qt5.wrapQtAppsHook ];
+2 -2
pkgs/applications/misc/base16-universal-manager/default.nix
··· 8 8 owner = "pinpox"; 9 9 repo = "base16-universal-manager"; 10 10 rev = "v${version}"; 11 - sha256 = "11kal7x0lajzydbc2cvbsix9ympinsiqzfib7dg4b3xprqkyb9zl"; 11 + hash = "sha256-9KflJ863j0VeOyu6j6O28VafetRrM8FW818qCvqhaoY="; 12 12 }; 13 13 14 - vendorSha256 = "19rba689319w3wf0b10yafydyz01kqg8b051vnijcyjyk0khwvsk"; 14 + vendorHash = "sha256-U28OJ5heeiaj3aGAhR6eAXzfvFMehAUcHzyFkZBRK6c="; 15 15 16 16 meta = with lib; { 17 17 description = "A universal manager to set base16 themes for any supported application";
+9 -3
pkgs/applications/misc/eaglemode/default.nix
··· 1 1 { lib, stdenv, fetchurl, perl, libX11, libXinerama, libjpeg, libpng, libtiff 2 2 , libwebp, pkg-config, librsvg, glib, gtk2, libXext, libXxf86vm, poppler, vlc 3 - , ghostscript, makeWrapper, tzdata, makeDesktopItem, copyDesktopItems }: 3 + , ghostscript, makeWrapper, tzdata, makeDesktopItem, copyDesktopItems 4 + , directoryListingUpdater }: 4 5 5 6 stdenv.mkDerivation rec { 6 7 pname = "eaglemode"; 7 - version = "0.96.0"; 8 + version = "0.96.1"; 8 9 9 10 src = fetchurl { 10 11 url = "mirror://sourceforge/eaglemode/${pname}-${version}.tar.bz2"; 11 - hash = "sha256-aMVXJpfws9rh2Eaa/EzSLwtwvn0pVJlEbhxzvXME1hs="; 12 + hash = "sha256-FIhCcMghzLg7Odcsou9hBw7kIaqLVUFEAKUk9uwRNNw="; 12 13 }; 13 14 14 15 # Fixes "Error: No time zones found." on the clock ··· 54 55 categories = [ "Game" "Graphics" "System" "Utility" ]; 55 56 }) 56 57 ]; 58 + 59 + passthru.updateScript = directoryListingUpdater { 60 + url = "https://eaglemode.sourceforge.net/download.html"; 61 + extraRegex = "(?!.*(x86_64|setup64|livecd)).*"; 62 + }; 57 63 58 64 meta = with lib; { 59 65 homepage = "https://eaglemode.sourceforge.net";
+3 -3
pkgs/applications/networking/cluster/tanka/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "tanka"; 5 - version = "0.25.0"; 5 + version = "0.26.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "grafana"; 9 9 repo = pname; 10 10 rev = "v${version}"; 11 - sha256 = "sha256-LAOcDgosSGE7sLiQYSimz//oZ3FHcx3PTjtG0WdDNmg="; 11 + sha256 = "sha256-xKB/SKiw3cKqdpl869Bs/NO1Jbrla8Un0hH4kIGqAPs="; 12 12 }; 13 13 14 - vendorHash = "sha256-//uxNK8u7zIVeIUN401DXtkJsX/1iVfDcoFwcs8Y3cg="; 14 + vendorHash = "sha256-+BCUQ+czqWkxbDoSvCaAxewTN0SuI+hCHEQpLOvNGj4="; 15 15 16 16 doCheck = false; 17 17
+2 -2
pkgs/applications/office/qownnotes/default.nix
··· 19 19 let 20 20 pname = "qownnotes"; 21 21 appname = "QOwnNotes"; 22 - version = "23.7.3"; 22 + version = "23.8.0"; 23 23 in 24 24 stdenv.mkDerivation { 25 25 inherit pname appname version; 26 26 27 27 src = fetchurl { 28 28 url = "https://github.com/pbek/QOwnNotes/releases/download/v${version}/qownnotes-${version}.tar.xz"; 29 - hash = "sha256-Jk0KPYYB+CW60ggVn58JKJ1UX5VXWbSUC+osHG4wjR0="; 29 + hash = "sha256-ZvZOUcKtY+V0zhqsOYNi3W8yxRPUdYsp2kSHETRCTLs="; 30 30 }; 31 31 32 32 nativeBuildInputs = [
+3 -3
pkgs/applications/office/treesheets/default.nix
··· 12 12 13 13 stdenv.mkDerivation rec { 14 14 pname = "treesheets"; 15 - version = "unstable-2023-08-08"; 15 + version = "unstable-2023-08-10"; 16 16 17 17 src = fetchFromGitHub { 18 18 owner = "aardappel"; 19 19 repo = "treesheets"; 20 - rev = "e7ebdbc21e69c0cda99ab1c8bdf873495b6ab9a0"; 21 - sha256 = "P/ln7JghEP8MdTzPMmPH+0k+aRuOL/m6VkjYrtynUPE="; 20 + rev = "18847fc16e05078ff5a8d0106a38ce2059ec497f"; 21 + sha256 = "bz2dX4CSPOFEg+6LnqcG46jOFCmjgnrhPyaljyVlDY4="; 22 22 }; 23 23 24 24 nativeBuildInputs = [
+10 -1
pkgs/applications/video/kodi/unwrapped.nix
··· 1 1 { stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper 2 + , fetchpatch 2 3 , pkg-config, cmake, yasm, python3Packages 3 4 , libxcrypt, libgcrypt, libgpg-error, libunistring 4 5 , boost, avahi, lame ··· 110 111 version = kodiVersion; 111 112 112 113 src = kodi_src; 113 - 114 + patches = [ 115 + # Fix compatiblity with fmt 10.0 (from spdlog). 116 + # Remove with the next release: https://github.com/xbmc/xbmc/pull/23453 117 + (fetchpatch { 118 + name = "Fix fmt10 compat"; 119 + url = "https://github.com/xbmc/xbmc/pull/23453.patch"; 120 + hash = "sha256-zMUparbQ8gfgeXj8W3MDmPi5OgLNz/zGCJINU7H6Rx0="; 121 + }) 122 + ]; 114 123 buildInputs = [ 115 124 gnutls libidn2 libtasn1 nasm p11-kit 116 125 libxml2 python3Packages.python
+26 -14
pkgs/applications/window-managers/hyprwm/hyprland/default.nix
··· 2 2 , stdenv 3 3 , fetchFromGitHub 4 4 , pkg-config 5 + , makeWrapper 5 6 , meson 6 7 , ninja 8 + , binutils 7 9 , cairo 8 10 , git 9 11 , hyprland-protocols ··· 24 26 , xcbutilwm 25 27 , xwayland 26 28 , debug ? false 29 + , enableNvidiaPatches ? false 27 30 , enableXWayland ? true 28 - , hidpiXWayland ? false 29 31 , legacyRenderer ? false 30 - , nvidiaPatches ? false 31 32 , withSystemd ? true 33 + , wrapRuntimeDeps ? true 34 + # deprecated flags 35 + , nvidiaPatches ? false 36 + , hidpiXWayland ? false 32 37 }: 33 - let 34 - assertXWayland = lib.assertMsg (hidpiXWayland -> enableXWayland) '' 35 - Hyprland: cannot have hidpiXWayland when enableXWayland is false. 36 - ''; 37 - in 38 - assert assertXWayland; 38 + assert lib.assertMsg (!nvidiaPatches) "The option `nvidiaPatches` has been renamed `enableNvidiaPatches`"; 39 + assert lib.assertMsg (!hidpiXWayland) "The option `hidpiXWayland` has been removed. Please refer https://wiki.hyprland.org/Configuring/XWayland"; 39 40 stdenv.mkDerivation (finalAttrs: { 40 41 pname = "hyprland" + lib.optionalString debug "-debug"; 41 - version = "0.27.0"; 42 + version = "unstable-2023-08-08"; 42 43 43 44 src = fetchFromGitHub { 44 45 owner = "hyprwm"; 45 46 repo = finalAttrs.pname; 46 - rev = "v${finalAttrs.version}"; 47 - hash = "sha256-mEKF6Wcx+wSF/eos/91A7LxhFLDYhSnQnLpwZF13ntg="; 47 + rev = "8e04a80e60983f5def26bdcaea701040fea9a7ae"; 48 + hash = "sha256-5/vEdU3SzAdeIyPykjks/Zxkvh9luPTIei6oa77OY2Q="; 48 49 }; 49 50 50 51 patches = [ 51 52 # make meson use the provided dependencies instead of the git submodules 52 - "${finalAttrs.src}/nix/meson-build.patch" 53 + "${finalAttrs.src}/nix/patches/meson-build.patch" 53 54 # look into $XDG_DESKTOP_PORTAL_DIR instead of /usr; runtime checks for conflicting portals 54 - "${finalAttrs.src}/nix/portals.patch" 55 + # NOTE: revert back to the patch inside SRC on the next version bump 56 + # "${finalAttrs.src}/nix/patches/portals.patch" 57 + ./portals.patch 55 58 ]; 56 59 57 60 postPatch = '' ··· 64 67 65 68 nativeBuildInputs = [ 66 69 jq 70 + makeWrapper 67 71 meson 68 72 ninja 69 73 pkg-config ··· 90 94 wayland-protocols 91 95 pango 92 96 pciutils 93 - (wlroots.override { inherit enableXWayland hidpiXWayland nvidiaPatches; }) 97 + (wlroots.override { inherit enableNvidiaPatches; }) 94 98 ] 95 99 ++ lib.optionals enableXWayland [ libxcb xcbutilwm xwayland ] 96 100 ++ lib.optionals withSystemd [ systemd ]; ··· 105 109 (lib.optional legacyRenderer "-DLEGACY_RENDERER:STRING=true") 106 110 (lib.optional withSystemd "-Dsystemd=enabled") 107 111 ]; 112 + 113 + postInstall = '' 114 + ln -s ${wlroots}/include/wlr $dev/include/hyprland/wlroots 115 + ${lib.optionalString wrapRuntimeDeps '' 116 + wrapProgram $out/bin/Hyprland \ 117 + --suffix PATH : ${lib.makeBinPath [binutils pciutils]} 118 + ''} 119 + ''; 108 120 109 121 passthru.providedSessions = [ "hyprland" ]; 110 122
+28
pkgs/applications/window-managers/hyprwm/hyprland/portals.patch
··· 1 + diff --git a/src/Compositor.cpp b/src/Compositor.cpp 2 + index 1d978aed..56665389 100644 3 + --- a/src/Compositor.cpp 4 + +++ b/src/Compositor.cpp 5 + @@ -2365,17 +2365,16 @@ void CCompositor::performUserChecks() { 6 + 7 + static auto* const PSUPPRESSPORTAL = &g_pConfigManager->getConfigValuePtr("misc:suppress_portal_warnings")->intValue; 8 + 9 + - if (!*PSUPPRESSPORTAL) { 10 + - if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/" + portal + ".portal"); })) { 11 + + static auto* const PORTALDIRENV = getenv("XDG_DESKTOP_PORTAL_DIR"); 12 + + 13 + + static auto const PORTALDIR = PORTALDIRENV != NULL ? std::string(PORTALDIRENV) : ""; 14 + + 15 + + if (!*PSUPPRESSPORTAL && PORTALDIR != "") { 16 + + if (std::ranges::any_of(BAD_PORTALS, [&](const std::string& portal) { return std::filesystem::exists(PORTALDIR + "/" + portal + ".portal"); })) { 17 + // bad portal detected 18 + g_pHyprNotificationOverlay->addNotification("You have one or more incompatible xdg-desktop-portal impls installed. Please remove incompatible ones to avoid issues.", 19 + CColor(0), 15000, ICON_ERROR); 20 + } 21 + - 22 + - if (std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/hyprland.portal") && std::filesystem::exists("/usr/share/xdg-desktop-portal/portals/wlr.portal")) { 23 + - g_pHyprNotificationOverlay->addNotification("You have xdg-desktop-portal-hyprland and -wlr installed simultaneously. Please uninstall one to avoid issues.", CColor(0), 24 + - 15000, ICON_ERROR); 25 + - } 26 + } 27 + } 28 +
+15 -56
pkgs/applications/window-managers/hyprwm/hyprland/wlroots.nix
··· 1 1 { fetchFromGitLab 2 2 , hyprland 3 3 , wlroots 4 - , xwayland 5 - , fetchpatch 6 4 , lib 7 5 , libdisplay-info 8 6 , libliftoff 9 7 , hwdata 10 - , hidpiXWayland ? true 11 - , enableXWayland ? true 12 - , nvidiaPatches ? false 8 + , enableNvidiaPatches ? false 13 9 }: 14 10 let 15 11 libdisplay-info-new = libdisplay-info.overrideAttrs (old: { ··· 38 34 ]; 39 35 }); 40 36 in 41 - assert (lib.assertMsg (hidpiXWayland -> enableXWayland) '' 42 - wlroots-hyprland: cannot have hidpiXWayland when enableXWayland is false. 43 - ''); 44 - (wlroots.overrideAttrs 37 + wlroots.overrideAttrs 45 38 (old: { 46 39 version = "0.17.0-dev"; 47 40 ··· 49 42 domain = "gitlab.freedesktop.org"; 50 43 owner = "wlroots"; 51 44 repo = "wlroots"; 52 - rev = "7e7633abf09b362d0bad9e3fc650fd692369291d"; 53 - hash = "sha256-KovjVFwcuoUO0eu/UiWrnD3+m/K+SHSAVIz4xF9K1XA="; 45 + rev = "e8d545a9770a2473db32e0a0bfa757b05d2af4f3"; 46 + hash = "sha256-gv5kjss6REeQG0BmvK2gTx7jHLRdCnP25po6It6I6N8="; 54 47 }; 55 48 56 49 pname = 57 50 old.pname 58 51 + "-hyprland" 59 - + ( 60 - if hidpiXWayland 61 - then "-hidpi" 62 - else "" 63 - ) 64 - + ( 65 - if nvidiaPatches 66 - then "-nvidia" 67 - else "" 68 - ); 52 + + lib.optionalString enableNvidiaPatches "-nvidia"; 69 53 70 54 patches = 71 55 (old.patches or [ ]) 72 - ++ (lib.optionals (enableXWayland && hidpiXWayland) [ 73 - "${hyprland.src}/nix/wlroots-hidpi.patch" 74 - (fetchpatch { 75 - url = "https://gitlab.freedesktop.org/wlroots/wlroots/-/commit/18595000f3a21502fd60bf213122859cc348f9af.diff"; 76 - sha256 = "sha256-jvfkAMh3gzkfuoRhB4E9T5X1Hu62wgUjj4tZkJm0mrI="; 77 - revert = true; 78 - }) 79 - ]) 80 - ++ (lib.optionals nvidiaPatches [ 81 - (fetchpatch { 82 - url = "https://aur.archlinux.org/cgit/aur.git/plain/0001-nvidia-format-workaround.patch?h=hyprland-nvidia-screenshare-git&id=2830d3017d7cdd240379b4cc7e5dd6a49cf3399a"; 83 - sha256 = "A9f1p5EW++mGCaNq8w7ZJfeWmvTfUm4iO+1KDcnqYX8="; 84 - }) 56 + ++ (lib.optionals enableNvidiaPatches [ 57 + "${hyprland.src}/nix/patches/nvidia.patch" 85 58 ]); 86 59 87 60 postPatch = 88 61 (old.postPatch or "") 89 62 + ( 90 - if nvidiaPatches 91 - then '' 92 - substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();" 93 - '' 94 - else "" 63 + lib.optionalString enableNvidiaPatches 64 + ''substituteInPlace render/gles2/renderer.c --replace "glFlush();" "glFinish();"'' 95 65 ); 96 66 97 - buildInputs = 98 - old.buildInputs 99 - ++ [ 100 - hwdata 101 - libdisplay-info-new 102 - libliftoff-new 103 - ]; 104 - })).override { 105 - xwayland = xwayland.overrideAttrs (old: { 106 - patches = 107 - (old.patches or [ ]) 108 - ++ (lib.optionals hidpiXWayland [ 109 - "${hyprland.src}/nix/xwayland-vsync.patch" 110 - "${hyprland.src}/nix/xwayland-hidpi.patch" 111 - ]); 112 - }); 113 - } 67 + buildInputs = old.buildInputs ++ [ 68 + hwdata 69 + libdisplay-info-new 70 + libliftoff-new 71 + ]; 72 + })
+4 -2
pkgs/applications/window-managers/hyprwm/hyprpaper/default.nix
··· 2 2 , stdenv 3 3 , fetchFromGitHub 4 4 , cmake 5 + , file 5 6 , libjpeg 6 7 , mesa 7 8 , pango ··· 13 14 14 15 stdenv.mkDerivation (finalAttrs: { 15 16 pname = "hyprpaper"; 16 - version = "0.3.0"; 17 + version = "0.4.0"; 17 18 18 19 src = fetchFromGitHub { 19 20 owner = "hyprwm"; 20 21 repo = finalAttrs.pname; 21 22 rev = "v${finalAttrs.version}"; 22 - hash = "sha256-/ehJbAtSJS86NlqHVOeR2ViBKlImKH4guFVPacTmCr8="; 23 + hash = "sha256-V5ulB9CkGh1ghiC4BKvRdoYKZzpaiOKzAOUmJIFkgM0="; 23 24 }; 24 25 25 26 nativeBuildInputs = [ ··· 29 30 ]; 30 31 31 32 buildInputs = [ 33 + file 32 34 libjpeg 33 35 mesa 34 36 pango
+2 -2
pkgs/applications/window-managers/hyprwm/xdg-desktop-portal-hyprland/source.nix
··· 3 3 , wayland 4 4 }: 5 5 let 6 - version = "0.4.0"; 6 + version = "0.5.0"; 7 7 in 8 8 { 9 9 inherit version; ··· 12 12 owner = "hyprwm"; 13 13 repo = "xdg-desktop-portal-hyprland"; 14 14 rev = "v${version}"; 15 - hash = "sha256-r+XMyOoRXq+hlfjayb+fyi9kq2JK48TrwuNIAXqlj7U="; 15 + hash = "sha256-C5AO0KnyAFJaCkOn+5nJfWm0kyiPn/Awh0lKTjhgr7Y="; 16 16 }; 17 17 18 18 meta = with lib; {
+2 -2
pkgs/applications/window-managers/icewm/default.nix
··· 41 41 42 42 stdenv.mkDerivation (finalAttrs: { 43 43 pname = "icewm"; 44 - version = "3.4.0"; 44 + version = "3.4.1"; 45 45 46 46 src = fetchFromGitHub { 47 47 owner = "ice-wm"; 48 48 repo = "icewm"; 49 49 rev = finalAttrs.version; 50 - hash = "sha256-5RIjvmoqxMLnSW2P122rEa8MghWfwLHFtYgXwcFPF38="; 50 + hash = "sha256-KgdCgKR3KqDf9GONCBRkLpNLoOycE0y4UXxHxBqNudk="; 51 51 }; 52 52 53 53 nativeBuildInputs = [
+1 -1
pkgs/data/themes/adwaita-qt/default.nix
··· 60 60 description = "A style to bend Qt applications to look like they belong into GNOME Shell"; 61 61 homepage = "https://github.com/FedoraQt/adwaita-qt"; 62 62 license = licenses.gpl2Plus; 63 - maintainers = teams.gnome.members ++ (with maintainers; [ ]); 63 + maintainers = with maintainers; [ ]; 64 64 platforms = platforms.all; 65 65 }; 66 66 }
+2 -2
pkgs/development/interpreters/luau/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "luau"; 5 - version = "0.589"; 5 + version = "0.590"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "Roblox"; 9 9 repo = "luau"; 10 10 rev = version; 11 - hash = "sha256-q36mWkZgzms+dYZ++S9MwnRYxUXBtRxiECOxX886eVw="; 11 + hash = "sha256-ZVe4SCx6/IC039CL+ngNIQShNi9V6XQh62gpbcoK/tM="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ cmake ];
+3 -2
pkgs/development/libraries/llhttp/default.nix
··· 2 2 3 3 stdenv.mkDerivation rec { 4 4 pname = "llhttp"; 5 - version = "8.1.1"; 5 + version = "9.0.0"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "nodejs"; 9 9 repo = "llhttp"; 10 10 rev = "release/v${version}"; 11 - hash = "sha256-srAHKyYvdEGtjV7BwcKQArwAChRoZqTCfa/RefI/8wQ="; 11 + hash = "sha256-mk9tNZJONh1xdZ8lqquMfFDEvEdYRucNlSrR64U8eaA="; 12 12 }; 13 13 14 14 nativeBuildInputs = [ ··· 22 22 meta = with lib; { 23 23 description = "Port of http_parser to llparse"; 24 24 homepage = "https://llhttp.org/"; 25 + changelog = "https://github.com/nodejs/llhttp/releases/tag/${src.rev}"; 25 26 license = licenses.mit; 26 27 maintainers = [ maintainers.marsam ]; 27 28 platforms = platforms.all;
+1 -1
pkgs/development/libraries/qgnomeplatform/default.nix
··· 73 73 description = "QPlatformTheme for a better Qt application inclusion in GNOME"; 74 74 homepage = "https://github.com/FedoraQt/QGnomePlatform"; 75 75 license = licenses.lgpl21Plus; 76 - maintainers = teams.gnome.members ++ (with maintainers; [ ]); 76 + maintainers = with maintainers; [ ]; 77 77 platforms = platforms.linux; 78 78 }; 79 79 }
+26 -8
pkgs/development/python-modules/diofant/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 + , cython 4 + , fetchpatch 3 5 , fetchPypi 4 6 , gmpy2 5 - , isort 6 7 , mpmath 7 8 , numpy 8 9 , pythonOlder 9 10 , scipy 10 11 , setuptools-scm 12 + , wheel 11 13 }: 12 14 13 15 buildPythonPackage rec { 14 16 pname = "diofant"; 15 - version = "0.13.0"; 16 - disabled = pythonOlder "3.9"; 17 + version = "0.14.0"; 17 18 format = "pyproject"; 19 + disabled = pythonOlder "3.10"; 18 20 19 21 src = fetchPypi { 20 22 inherit version; 21 23 pname = "Diofant"; 22 - sha256 = "bac9e086a7156b20f18e3291d6db34e305338039a3c782c585302d377b74dd3c"; 24 + hash = "sha256-c886y37xR+4TxZw9+3tb7nkTGxWcS+Ag/ruUUdpf7S4="; 23 25 }; 24 26 27 + patches = [ 28 + (fetchpatch { 29 + name = "remove-pip-from-build-dependencies.patch"; 30 + url = "https://github.com/diofant/diofant/commit/117e441808faa7c785ccb81bf211772d60ebdec3.patch"; 31 + hash = "sha256-MYk1Ku4F3hAv7+jJQLWhXd8qyKRX+QYuBzPfYWT0VbU="; 32 + }) 33 + ]; 34 + 25 35 nativeBuildInputs = [ 26 - isort 27 36 setuptools-scm 37 + wheel 28 38 ]; 29 39 30 40 propagatedBuildInputs = [ 31 - gmpy2 32 41 mpmath 33 - numpy 34 - scipy 35 42 ]; 43 + 44 + passthru.optional-dependencies = { 45 + exports = [ 46 + cython 47 + numpy 48 + scipy 49 + ]; 50 + gmpy = [ 51 + gmpy2 52 + ]; 53 + }; 36 54 37 55 # tests take ~1h 38 56 doCheck = false;
+2 -2
pkgs/development/python-modules/dvc-data/default.nix
··· 14 14 15 15 buildPythonPackage rec { 16 16 pname = "dvc-data"; 17 - version = "2.12.2"; 17 + version = "2.13.1"; 18 18 format = "pyproject"; 19 19 20 20 disabled = pythonOlder "3.8"; ··· 23 23 owner = "iterative"; 24 24 repo = pname; 25 25 rev = "refs/tags/${version}"; 26 - hash = "sha256-DNFnh+ajfKgsZEj5Vyfk+jqSs9nv/PHIIpkkarxugww="; 26 + hash = "sha256-RmUwo7NcbDjRf+sVgthno+ZvxXhMDwmoTfiN7cJM/5s="; 27 27 }; 28 28 29 29 SETUPTOOLS_SCM_PRETEND_VERSION = version;
+2 -2
pkgs/development/python-modules/govee-ble/default.nix
··· 12 12 13 13 buildPythonPackage rec { 14 14 pname = "govee-ble"; 15 - version = "0.23.0"; 15 + version = "0.24.0"; 16 16 format = "pyproject"; 17 17 18 18 disabled = pythonOlder "3.9"; ··· 21 21 owner = "Bluetooth-Devices"; 22 22 repo = pname; 23 23 rev = "refs/tags/v${version}"; 24 - hash = "sha256-/uv4P7wB/5QQW2IA+PT6VMPWd91Aoyxsez+8ptrIa5M="; 24 + hash = "sha256-uuC7CVf/KKr36mvd0TqNJd2OtK/xshCGYJXEtllE9is="; 25 25 }; 26 26 27 27 nativeBuildInputs = [
+9
pkgs/development/python-modules/jupyter-packaging/default.nix
··· 1 1 { lib 2 2 , buildPythonPackage 3 3 , fetchPypi 4 + , fetchpatch 4 5 , deprecation 5 6 , hatchling 6 7 , pythonOlder ··· 22 23 inherit version; 23 24 hash = "sha256-nZsrY7l//WeovFORwypCG8QVsmSjLJnk2NjdMdqunPQ="; 24 25 }; 26 + 27 + patches = [ 28 + (fetchpatch { 29 + name = "setuptools-68-test-compatibility.patch"; 30 + url = "https://github.com/jupyter/jupyter-packaging/commit/e963fb27aa3b58cd70c5ca61ebe68c222d803b7e.patch"; 31 + hash = "sha256-NlO07wBCutAJ1DgoT+rQFkuC9Y+DyF1YFlTwWpwsJzo="; 32 + }) 33 + ]; 25 34 26 35 nativeBuildInputs = [ 27 36 hatchling
+2 -2
pkgs/development/python-modules/pyrainbird/default.nix
··· 22 22 23 23 buildPythonPackage rec { 24 24 pname = "pyrainbird"; 25 - version = "3.0.1"; 25 + version = "4.0.0"; 26 26 format = "setuptools"; 27 27 28 28 disabled = pythonOlder "3.10"; ··· 31 31 owner = "allenporter"; 32 32 repo = pname; 33 33 rev = "refs/tags/${version}"; 34 - hash = "sha256-Qi0NfLayypi/wKJZB9IOzoeaZsb3oq2JahXWdkwSjeo="; 34 + hash = "sha256-VwcYyD9JtLDU2Bgp2hlptDz3vPoX4revTRKTA8OkWEw="; 35 35 }; 36 36 37 37 postPatch = ''
+2 -2
pkgs/development/tools/analysis/cppcheck/default.nix
··· 13 13 14 14 stdenv.mkDerivation rec { 15 15 pname = "cppcheck"; 16 - version = "2.11"; 16 + version = "2.11.1"; 17 17 18 18 src = fetchFromGitHub { 19 19 owner = "danmar"; 20 20 repo = "cppcheck"; 21 21 rev = version; 22 - hash = "sha256-Zu1Ly5KsgmjtsVQlBzgB/h+varfkyB73t8bxzqB3a3M="; 22 + hash = "sha256-ZQ1EgnC2JBc0AvSW8PtgMzJoWSPt04Xfh8dqOU+KMfw="; 23 23 }; 24 24 25 25 strictDeps = true;
+3 -3
pkgs/development/tools/datree/default.nix
··· 8 8 9 9 buildGoModule rec { 10 10 pname = "datree"; 11 - version = "1.9.17"; 11 + version = "1.9.19"; 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "datreeio"; 15 15 repo = "datree"; 16 16 rev = "refs/tags/${version}"; 17 - hash = "sha256-vGlvujN9/1e9X/c2WgVSuc+yuqECUF55NLPmBecwvT0="; 17 + hash = "sha256-W1eX7eUMdPGbHA/f08xkG2EUeZmaunEAQn7/LRBe2nk="; 18 18 }; 19 19 20 - vendorHash = "sha256-ECVKofvmLuFAFvncq63hYUaYW8/2+F4gZr8wIGQyrdU="; 20 + vendorHash = "sha256-+PQhuIO4KjXtW/ZcS0OamuOHzK7ZL+nwOBxeCRoXuKE="; 21 21 22 22 nativeBuildInputs = [ installShellFiles ]; 23 23
+4 -3
pkgs/development/tools/language-servers/nixd/default.nix
··· 18 18 19 19 stdenv.mkDerivation rec { 20 20 pname = "nixd"; 21 - version = "1.2.1"; 21 + version = "1.2.2"; 22 22 23 23 src = fetchFromGitHub { 24 24 owner = "nix-community"; 25 25 repo = "nixd"; 26 26 rev = version; 27 - hash = "sha256-NqRYFaxa6Y4j7IMAxxVKo7o15Xmx0CiyeG71Uf1SLCI="; 27 + hash = "sha256-W44orkPZQ9gDUTogb8YVIaw4WHzUA+ExOXhTnZlJ6yY="; 28 28 }; 29 29 30 30 mesonBuildType = "release"; ··· 81 81 meta = { 82 82 description = "Nix language server"; 83 83 homepage = "https://github.com/nix-community/nixd"; 84 + changelog = "https://github.com/nix-community/nixd/releases/tag/${version}"; 84 85 license = lib.licenses.lgpl3Plus; 85 - maintainers = with lib.maintainers; [ inclyc Ruixi-rebirth ]; 86 + maintainers = with lib.maintainers; [ inclyc Ruixi-rebirth marsam ]; 86 87 platforms = lib.platforms.unix; 87 88 }; 88 89 }
+3 -3
pkgs/development/tools/oh-my-posh/default.nix
··· 6 6 7 7 buildGoModule rec { 8 8 pname = "oh-my-posh"; 9 - version = "18.1.0"; 9 + version = "18.3.3"; 10 10 11 11 src = fetchFromGitHub { 12 12 owner = "jandedobbeleer"; 13 13 repo = pname; 14 14 rev = "refs/tags/v${version}"; 15 - hash = "sha256-qK9hjsWhVTzxFo4SSvKb5IgZteVabWlCtoetu9v9xIE="; 15 + hash = "sha256-AJw+NNTbksYSW2VqUzxLwxwd3OjM9uK/ou2CVS2zNvw="; 16 16 }; 17 17 18 - vendorHash = "sha256-cATGMi/nL8dvlsR+cuvKH6Y9eR3UqcVjvZAj35Ydn2c="; 18 + vendorHash = "sha256-xkguBWk2Nh8w7C7tKbvaP0tRgZO4z08AEsdjNlJYC6Q="; 19 19 20 20 sourceRoot = "${src.name}/src"; 21 21
+1 -1
pkgs/os-specific/linux/kernel/common-config.nix
··· 1038 1038 1039 1039 # > CONFIG_KUNIT should not be enabled in a production environment. Enabling KUnit disables Kernel Address-Space Layout Randomization (KASLR), and tests may affect the state of the kernel in ways not suitable for production. 1040 1040 # https://www.kernel.org/doc/html/latest/dev-tools/kunit/start.html 1041 - KUNIT = no; 1041 + KUNIT = whenAtLeast "5.5" no; 1042 1042 } // optionalAttrs (stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "aarch64-linux") { 1043 1043 # Enable CPU/memory hotplug support 1044 1044 # Allows you to dynamically add & remove CPUs/memory to a VM client running NixOS without requiring a reboot
+3 -3
pkgs/servers/monitoring/grafana-agent/default.nix
··· 10 10 11 11 buildGoModule rec { 12 12 pname = "grafana-agent"; 13 - version = "0.35.2"; 13 + version = "0.35.3"; 14 14 15 15 src = fetchFromGitHub { 16 16 owner = "grafana"; 17 17 repo = "agent"; 18 18 rev = "v${version}"; 19 - hash = "sha256-jotJe7DIPYNekAxiMdghdykEXVD7Pk/MPWSH2XjhkL8="; 19 + hash = "sha256-3JfJISoziIcB2Mx2gSYjegjQwqGipUtvT927QSezuq4="; 20 20 }; 21 21 22 - vendorHash = "sha256-MqUkGKOzx8Qo9xbD9GdUryVwKjpVUOXFo2x0/2uz8Uk="; 22 + vendorHash = "sha256-vzrp20Mg6AA0h3+5+qbKRa7nhx/hgiIHG6RNXLATpHE="; 23 23 proxyVendor = true; # darwin/linux hash mismatch 24 24 25 25 ldflags = let
+30 -43
pkgs/tools/X11/caffeine-ng/default.nix
··· 1 - { buildPythonApplication 2 - , fetchPypi 1 + { fetchFromGitea 2 + , meson 3 + , ninja 4 + , pkg-config 5 + , scdoc 3 6 , gobject-introspection 4 - , gtk3 5 7 , lib 6 - , libappindicator-gtk3 8 + , libayatana-appindicator 7 9 , libnotify 8 - , click 9 - , dbus-python 10 - , ewmh 11 - , pulsectl 12 - , pygobject3 13 - , pyxdg 14 - , setproctitle 15 - , python3 10 + , python3Packages 16 11 , procps 17 12 , xset 18 13 , xautolock 19 14 , xscreensaver 20 15 , xfce 21 - , glib 22 - , setuptools-scm 23 16 , wrapGAppsHook 24 17 }: 25 18 26 - let 27 - click_7 = click.overridePythonAttrs (old: rec { 28 - version = "7.1.2"; 29 - src = old.src.override { 30 - inherit version; 31 - hash = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo="; 32 - }; 33 - disabledTests = [ "test_bytes_args" ]; # https://github.com/pallets/click/commit/6e05e1fa1c2804 34 - }); 35 - in buildPythonApplication rec { 19 + python3Packages.buildPythonApplication rec { 36 20 pname = "caffeine-ng"; 37 - version = "4.0.2"; 38 - format = "setuptools"; 21 + version = "4.2.0"; 22 + format = "other"; 39 23 40 - src = fetchPypi { 41 - inherit pname version; 42 - hash = "sha256-umIjXJ0et6Pi5Ejj96Q+ZhiKS+yj7bsgb4uQW6Ym6rU="; 24 + src = fetchFromGitea { 25 + domain = "codeberg.org"; 26 + owner = "WhyNotHugo"; 27 + repo = pname; 28 + rev = "v${version}"; 29 + sha256 = "sha256-uYzLRZ+6ZgIwhSuJWRBpLYHgonX7sFXgUZid0V26V0Q="; 43 30 }; 44 31 45 - nativeBuildInputs = [ wrapGAppsHook glib gobject-introspection setuptools-scm ]; 32 + nativeBuildInputs = [ gobject-introspection meson ninja pkg-config wrapGAppsHook ]; 46 33 47 34 buildInputs = [ 48 - libappindicator-gtk3 35 + libayatana-appindicator 49 36 libnotify 50 - gtk3 51 37 ]; 52 38 53 - pythonPath = [ 54 - click_7 39 + pythonPath = with python3Packages; [ 40 + click 55 41 dbus-python 56 42 ewmh 57 43 pulsectl 58 44 pygobject3 59 - pyxdg 45 + scdoc 60 46 setproctitle 61 47 ]; 62 48 63 - doCheck = false; # There are no tests. 64 49 dontWrapGApps = true; 65 - strictDeps = false; 66 50 67 - postInstall = '' 68 - cp -r share $out/ 69 - cp -r caffeine/assets/icons $out/share/ 51 + patches = [ 52 + ./fix-build.patch 53 + ]; 70 54 71 - # autostart file 72 - ln -s $out/${python3.sitePackages}/etc $out/etc 55 + postPatch = '' 56 + echo "${version}" > version 57 + ''; 73 58 74 - glib-compile-schemas --strict $out/share/glib-2.0/schemas 59 + postInstall = '' 60 + glib-compile-schemas $out/share/glib-2.0/schemas 75 61 ''; 76 62 77 63 preFixup = '' ··· 86 72 maintainers = with maintainers; [ marzipankaiser ]; 87 73 description = "Status bar application to temporarily inhibit screensaver and sleep mode"; 88 74 homepage = "https://codeberg.org/WhyNotHugo/caffeine-ng"; 75 + changelog = "https://codeberg.org/WhyNotHugo/caffeine-ng/src/tag/v${version}/CHANGELOG.rst"; 89 76 license = licenses.gpl3; 90 77 platforms = platforms.linux; 91 78 };
+24
pkgs/tools/X11/caffeine-ng/fix-build.patch
··· 1 + diff --git a/meson.build b/meson.build 2 + index 3e4f9ea..5b82861 100644 3 + --- a/meson.build 4 + +++ b/meson.build 5 + @@ -2,10 +2,6 @@ project( 6 + 'caffeine-ng', 7 + version: run_command('./scripts/read_version.sh', check: true).stdout().strip(), 8 + meson_version: '>=0.63.0', 9 + - default_options: [ 10 + - # The default can yield broken results. 11 + - 'python.install_env=auto' 12 + - ] 13 + ) 14 + 15 + dependency('pygobject-3.0') 16 + @@ -82,7 +78,7 @@ configure_file( 17 + 18 + install_data( 19 + 'share/applications/caffeine.desktop', 20 + - install_dir: '/etc/xdg/autostart', 21 + + install_dir: join_paths(get_option('sysconfdir'), 'xdg/autostart'), 22 + ) 23 + 24 + install_data(
+2 -2
pkgs/tools/admin/credhub-cli/default.nix
··· 2 2 3 3 buildGoModule rec { 4 4 pname = "credhub-cli"; 5 - version = "2.9.18"; 5 + version = "2.9.19"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "cloudfoundry-incubator"; 9 9 repo = "credhub-cli"; 10 10 rev = version; 11 - sha256 = "sha256-Fr9hV8mPBIid/5jR5u6jiGjr7a9HbSVCaReXx9jGo/Q="; 11 + sha256 = "sha256-7Bmw3rJbb+Ae6gvVROz7hADDrGr8eiZX6g+ZpWSd99k="; 12 12 }; 13 13 14 14 # these tests require network access that we're not going to give them
+15 -4
pkgs/tools/misc/brotab/default.nix
··· 1 - { lib, fetchFromGitHub, python }: 1 + { lib, fetchFromGitHub, fetchpatch, python }: 2 2 3 3 python.pkgs.buildPythonApplication rec { 4 + pname = "brotab"; 4 5 version = "1.4.2"; 5 - pname = "brotab"; 6 + format = "setuptools"; 6 7 7 8 src = fetchFromGitHub { 8 9 owner = "balta2ar"; ··· 11 12 hash = "sha256-HKKjiW++FwjdorqquSCIdi1InE6KbMbFKZFYHBxzg8Q="; 12 13 }; 13 14 15 + patches = [ 16 + # https://github.com/balta2ar/brotab/pull/102 17 + (fetchpatch { 18 + name = "remove-unnecessary-pip-import.patch"; 19 + url = "https://github.com/balta2ar/brotab/commit/825cd48f255c911aabbfb495f6b8fc73f27d3fe5.patch"; 20 + hash = "sha256-IN28AOLPKPUc3KkxIGFMpZNNXA1+O12NxS+Hl4KMXbg="; 21 + }) 22 + ]; 23 + 14 24 propagatedBuildInputs = with python.pkgs; [ 15 - requests 16 25 flask 17 26 psutil 18 - setuptools 27 + requests 19 28 ]; 20 29 21 30 postPatch = '' ··· 24 33 --replace "psutil==5.8.0" "psutil>=5.8.0" \ 25 34 --replace "requests==2.24.0" "requests>=2.24.0" 26 35 ''; 36 + 37 + __darwinAllowLocalNetworking = true; 27 38 28 39 nativeCheckInputs = with python.pkgs; [ 29 40 pytestCheckHook
+3 -3
pkgs/tools/security/terrascan/default.nix
··· 5 5 6 6 buildGoModule rec { 7 7 pname = "terrascan"; 8 - version = "1.18.2"; 8 + version = "1.18.3"; 9 9 10 10 src = fetchFromGitHub { 11 11 owner = "accurics"; 12 12 repo = pname; 13 13 rev = "refs/tags/v${version}"; 14 - hash = "sha256-ZWkuzblPIvYcOllmIjk2RQZdkcPYZLGOuxwgX3NMydg="; 14 + hash = "sha256-2jIdKBNn3Ajvq+fQ1OuQ0VB8+S0QYwLZnJMlGqZ7WtE="; 15 15 }; 16 16 17 - vendorHash = "sha256-e09F4dA/uT50Cted3HqE08d04+l0V6U95AdKGKBFDpI="; 17 + vendorHash = "sha256-PH94le8IwVuinlRsk84HGSxhBSJTTJDrou7nfD1J1JM="; 18 18 19 19 # Tests want to download a vulnerable Terraform project 20 20 doCheck = false;
+3 -3
pkgs/tools/text/mdbook/default.nix
··· 2 2 3 3 rustPlatform.buildRustPackage rec { 4 4 pname = "mdbook"; 5 - version = "0.4.32"; 5 + version = "0.4.34"; 6 6 7 7 src = fetchFromGitHub { 8 8 owner = "rust-lang"; 9 9 repo = "mdBook"; 10 10 rev = "refs/tags/v${version}"; 11 - sha256 = "sha256-+Cb4ZFkJu6z2x/HqQkVqb2J0tFuj78TAmzhp2VPiai0="; 11 + sha256 = "sha256-QkgsFnX6J0ZgXCzGE/dTNLxdXLhCFwLsZCvmZ4SU4Zs="; 12 12 }; 13 13 14 - cargoHash = "sha256-Jj5AWapZUzd/ZZQvvlSWOv2dX4AhJyHKEncIPdLL7cA="; 14 + cargoHash = "sha256-Dhblzn7NytYeY76RmvI8cNjChnCSnTPadxPKyU5QT1Q="; 15 15 16 16 buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ]; 17 17
+5 -1
pkgs/top-level/all-packages.nix
··· 2613 2613 2614 2614 np2kai = callPackage ../applications/emulators/np2kai { }; 2615 2615 2616 + nuked-md = callPackage ../applications/emulators/nuked-md { }; 2617 + 2616 2618 oberon-risc-emu = callPackage ../applications/emulators/oberon-risc-emu { }; 2617 2619 2618 2620 openmsx = callPackage ../applications/emulators/openmsx { }; ··· 3547 3549 codespell = callPackage ../development/tools/codespell { }; 3548 3550 3549 3551 codux = callPackage ../applications/editors/codux { }; 3552 + 3553 + conjure = callPackage ../applications/graphics/conjure { }; 3550 3554 3551 3555 coolreader = libsForQt5.callPackage ../applications/misc/coolreader { }; 3552 3556 ··· 39560 39564 39561 39565 caffeWithCuda = caffe.override { cudaSupport = true; }; 39562 39566 39563 - caffeine-ng = python3Packages.callPackage ../tools/X11/caffeine-ng { }; 39567 + caffeine-ng = callPackage ../tools/X11/caffeine-ng { }; 39564 39568 39565 39569 cntk = callPackage ../applications/science/math/cntk { 39566 39570 stdenv = gcc7Stdenv;