Merge remote-tracking branch 'origin/master' into staging-next

Conflicts:
- pkgs/development/python-modules/podcastparser/default.nix

+1418 -772
+90 -1
.github/workflows/check-by-name.yml
··· 21 with: 22 # pull_request_target checks out the base branch by default 23 ref: refs/pull/${{ github.event.pull_request.number }}/merge 24 - uses: cachix/install-nix-action@v23 25 - name: Determining channel to use for dependencies 26 run: | ··· 51 # Passing --max-jobs 0 makes sure that we won't build anything 52 nix-build "$nixpkgs" -A tests.nixpkgs-check-by-name --max-jobs 0 53 - name: Running nixpkgs-check-by-name 54 - run: result/bin/nixpkgs-check-by-name .
··· 21 with: 22 # pull_request_target checks out the base branch by default 23 ref: refs/pull/${{ github.event.pull_request.number }}/merge 24 + # Fetches the merge commit and its parents 25 + fetch-depth: 2 26 + - name: Determining PR git hashes 27 + run: | 28 + echo "mergedSha=$(git rev-parse HEAD)" >> "$GITHUB_ENV" 29 + 30 + # For pull_request_target this is the same as $GITHUB_SHA 31 + echo "baseSha=$(git rev-parse HEAD^1)" >> "$GITHUB_ENV" 32 + 33 + echo "headSha=$(git rev-parse HEAD^2)" >> "$GITHUB_ENV" 34 - uses: cachix/install-nix-action@v23 35 - name: Determining channel to use for dependencies 36 run: | ··· 61 # Passing --max-jobs 0 makes sure that we won't build anything 62 nix-build "$nixpkgs" -A tests.nixpkgs-check-by-name --max-jobs 0 63 - name: Running nixpkgs-check-by-name 64 + run: | 65 + echo "Checking whether the check succeeds on the base branch $GITHUB_BASE_REF" 66 + git checkout -q "$baseSha" 67 + if baseOutput=$(result/bin/nixpkgs-check-by-name . 2>&1); then 68 + baseSuccess=1 69 + else 70 + baseSuccess= 71 + fi 72 + printf "%s\n" "$baseOutput" 73 + 74 + echo "Checking whether the check would succeed after merging this pull request" 75 + git checkout -q "$mergedSha" 76 + if mergedOutput=$(result/bin/nixpkgs-check-by-name . 2>&1); then 77 + mergedSuccess=1 78 + exitCode=0 79 + else 80 + mergedSuccess= 81 + exitCode=1 82 + fi 83 + printf "%s\n" "$mergedOutput" 84 + 85 + resultToEmoji() { 86 + if [[ -n "$1" ]]; then 87 + echo ":heavy_check_mark:" 88 + else 89 + echo ":x:" 90 + fi 91 + } 92 + 93 + # Print a markdown summary in GitHub actions 94 + { 95 + echo "| Nixpkgs version | Check result |" 96 + echo "| --- | --- |" 97 + echo "| Latest base commit | $(resultToEmoji "$baseSuccess") |" 98 + echo "| After merging this PR | $(resultToEmoji "$mergedSuccess") |" 99 + echo "" 100 + 101 + if [[ -n "$baseSuccess" ]]; then 102 + if [[ -n "$mergedSuccess" ]]; then 103 + echo "The check succeeds on both the base branch and after merging this PR" 104 + else 105 + echo "The check succeeds on the base branch, but would fail after merging this PR:" 106 + echo "\`\`\`" 107 + echo "$mergedOutput" 108 + echo "\`\`\`" 109 + echo "" 110 + fi 111 + else 112 + if [[ -n "$mergedSuccess" ]]; then 113 + echo "The check fails on the base branch, but this PR fixes it, nicely done!" 114 + else 115 + echo "The check fails on both the base branch and after merging this PR, unknown if only this PRs changes would satisfy the check, the base branch needs to be fixed first." 116 + echo "" 117 + echo "Failure on the base branch:" 118 + echo "\`\`\`" 119 + echo "$baseOutput" 120 + echo "\`\`\`" 121 + echo "" 122 + echo "Failure after merging this PR:" 123 + echo "\`\`\`" 124 + echo "$mergedOutput" 125 + echo "\`\`\`" 126 + echo "" 127 + fi 128 + fi 129 + 130 + echo "### Details" 131 + echo "- nixpkgs-check-by-name tool:" 132 + echo " - Channel: $channel" 133 + echo " - Nixpkgs commit: [$rev](https://github.com/${GITHUB_REPOSITORY}/commit/$rev)" 134 + echo " - Store path: \`$(realpath result)\`" 135 + echo "- Tested Nixpkgs:" 136 + echo " - Base branch $GITHUB_BASE_REF" 137 + echo " - Latest base branch commit: [$baseSha](https://github.com/${GITHUB_REPOSITORY}/commit/$baseSha)" 138 + echo " - Latest PR commit: [$headSha](https://github.com/${GITHUB_REPOSITORY}/commit/$headSha)" 139 + echo " - Merge commit: [$mergedSha](https://github.com/${GITHUB_REPOSITORY}/commit/$mergedSha)" 140 + } >> "$GITHUB_STEP_SUMMARY" 141 + 142 + exit "$exitCode" 143 +
+6 -5
doc/languages-frameworks/vim.section.md
··· 212 213 ## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs} 214 215 - Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`./update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names). 216 217 - After running `./update.py`, if nvim-treesitter received an update, also run [`nvim-treesitter/update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py) to update the tree sitter grammars for `nvim-treesitter`. 218 219 Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added: 220 ··· 241 Alternatively, set the number of processes to a lower count to avoid rate-limiting. 242 243 ```sh 244 - ./pkgs/applications/editors/vim/plugins/update.py --proc 1 245 ``` 246 247 ## How to maintain an out-of-tree overlay of vim plugins ? {#vim-out-of-tree-overlays} ··· 250 plugin list: 251 252 ``` 253 - pkgs/applications/editors/vim/plugins/update.py -i vim-plugin-names -o generated.nix --no-commit 254 ``` 255 256 with the contents of `vim-plugin-names` being for example: ··· 264 265 ```nix 266 myVimPlugins = pkgs.vimPlugins.extend ( 267 - (pkgs.callPackage generated.nix {}) 268 ); 269 ``` 270
··· 212 213 ## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs} 214 215 + Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`nix-shell -p vimPluginsUpdater --run vim-plugins-updater`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/updater.nix). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names). 216 217 + After running the updater, if nvim-treesitter received an update, also run [`nvim-treesitter/update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py) to update the tree sitter grammars for `nvim-treesitter`. 218 219 Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added: 220 ··· 241 Alternatively, set the number of processes to a lower count to avoid rate-limiting. 242 243 ```sh 244 + 245 + nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater --proc 1' 246 ``` 247 248 ## How to maintain an out-of-tree overlay of vim plugins ? {#vim-out-of-tree-overlays} ··· 251 plugin list: 252 253 ``` 254 + nix-shell -p vimPluginsUpdater --run vim-plugins-updater -i vim-plugin-names -o generated.nix --no-commit 255 ``` 256 257 with the contents of `vim-plugin-names` being for example: ··· 265 266 ```nix 267 myVimPlugins = pkgs.vimPlugins.extend ( 268 + (pkgs.callPackage ./generated.nix {}) 269 ); 270 ``` 271
+28 -1
lib/fileset/README.md
··· 41 - `_type` (constant string `"fileset"`): 42 Tag to indicate this value is a file set. 43 44 - - `_internalVersion` (constant `2`, the current version): 45 Version of the representation. 46 47 - `_internalBase` (path): 48 Any files outside of this path cannot influence the set of files. ··· 110 only removing files explicitly referenced by paths can break a file set expression. 111 - (+) This can be removed later, if we discover it's too restrictive 112 - (-) It leads to errors when a sensible result could sometimes be returned, such as in the above example. 113 114 ### Empty directories 115
··· 41 - `_type` (constant string `"fileset"`): 42 Tag to indicate this value is a file set. 43 44 + - `_internalVersion` (constant `3`, the current version): 45 Version of the representation. 46 + 47 + - `_internalIsEmptyWithoutBase` (bool): 48 + Whether this file set is the empty file set without a base path. 49 + If `true`, `_internalBase*` and `_internalTree` are not set. 50 + This is the only way to represent an empty file set without needing a base path. 51 + 52 + Such a value can be used as the identity element for `union` and the return value of `unions []` and co. 53 54 - `_internalBase` (path): 55 Any files outside of this path cannot influence the set of files. ··· 117 only removing files explicitly referenced by paths can break a file set expression. 118 - (+) This can be removed later, if we discover it's too restrictive 119 - (-) It leads to errors when a sensible result could sometimes be returned, such as in the above example. 120 + 121 + ### Empty file set without a base 122 + 123 + There is a special representation for an empty file set without a base path. 124 + This is used for return values that should be empty but when there's no base path that would makes sense. 125 + 126 + Arguments: 127 + - Alternative: This could also be represented using `_internalBase = /.` and `_internalTree = null`. 128 + - (+) Removes the need for a special representation. 129 + - (-) Due to [influence tracking](#influence-tracking), 130 + `union empty ./.` would have `/.` as the base path, 131 + which would then prevent `toSource { root = ./.; fileset = union empty ./.; }` from working, 132 + which is not as one would expect. 133 + - (-) With the assumption that there can be multiple filesystem roots (as established with the [path library](../path/README.md)), 134 + this would have to cause an error with `union empty pathWithAnotherFilesystemRoot`, 135 + which is not as one would expect. 136 + - Alternative: Do not have such a value and error when it would be needed as a return value 137 + - (+) Removes the need for a special representation. 138 + - (-) Leaves us with no identity element for `union` and no reasonable return value for `unions []`. 139 + From a set theory perspective, which has a well-known notion of empty sets, this is unintuitive. 140 141 ### Empty directories 142
+2 -5
lib/fileset/default.nix
··· 156 lib.fileset.toSource: `root` is of type ${typeOf root}, but it should be a path instead.'' 157 # Currently all Nix paths have the same filesystem root, but this could change in the future. 158 # See also ../path/README.md 159 - else if rootFilesystemRoot != filesetFilesystemRoot then 160 throw '' 161 lib.fileset.toSource: Filesystem roots are not the same for `fileset` and `root` ("${toString root}"): 162 `root`: root "${toString rootFilesystemRoot}" ··· 170 lib.fileset.toSource: `root` (${toString root}) is a file, but it should be a directory instead. Potential solutions: 171 - If you want to import the file into the store _without_ a containing directory, use string interpolation or `builtins.path` instead of this function. 172 - If you want to import the file into the store _with_ a containing directory, set `root` to the containing directory, such as ${toString (dirOf root)}, and set `fileset` to the file path.'' 173 - else if ! hasPrefix root fileset._internalBase then 174 throw '' 175 lib.fileset.toSource: `fileset` could contain files in ${toString fileset._internalBase}, which is not under the `root` (${toString root}). Potential solutions: 176 - Set `root` to ${toString fileset._internalBase} or any directory higher up. This changes the layout of the resulting store path. ··· 264 filesets: 265 if ! isList filesets then 266 throw "lib.fileset.unions: Expected argument to be a list, but got a ${typeOf filesets}." 267 - else if filesets == [ ] then 268 - # TODO: This could be supported, but requires an extra internal representation for the empty file set, which would be special for not having a base path. 269 - throw "lib.fileset.unions: Expected argument to be a list with at least one element, but it contains no elements." 270 else 271 pipe filesets [ 272 # Annotate the elements with context, used by _coerceMany for better errors
··· 156 lib.fileset.toSource: `root` is of type ${typeOf root}, but it should be a path instead.'' 157 # Currently all Nix paths have the same filesystem root, but this could change in the future. 158 # See also ../path/README.md 159 + else if ! fileset._internalIsEmptyWithoutBase && rootFilesystemRoot != filesetFilesystemRoot then 160 throw '' 161 lib.fileset.toSource: Filesystem roots are not the same for `fileset` and `root` ("${toString root}"): 162 `root`: root "${toString rootFilesystemRoot}" ··· 170 lib.fileset.toSource: `root` (${toString root}) is a file, but it should be a directory instead. Potential solutions: 171 - If you want to import the file into the store _without_ a containing directory, use string interpolation or `builtins.path` instead of this function. 172 - If you want to import the file into the store _with_ a containing directory, set `root` to the containing directory, such as ${toString (dirOf root)}, and set `fileset` to the file path.'' 173 + else if ! fileset._internalIsEmptyWithoutBase && ! hasPrefix root fileset._internalBase then 174 throw '' 175 lib.fileset.toSource: `fileset` could contain files in ${toString fileset._internalBase}, which is not under the `root` (${toString root}). Potential solutions: 176 - Set `root` to ${toString fileset._internalBase} or any directory higher up. This changes the layout of the resulting store path. ··· 264 filesets: 265 if ! isList filesets then 266 throw "lib.fileset.unions: Expected argument to be a list, but got a ${typeOf filesets}." 267 else 268 pipe filesets [ 269 # Annotate the elements with context, used by _coerceMany for better errors
+56 -13
lib/fileset/internal.nix
··· 28 drop 29 elemAt 30 filter 31 findFirstIndex 32 foldl' 33 head ··· 64 # - Increment this version 65 # - Add an additional migration function below 66 # - Update the description of the internal representation in ./README.md 67 - _currentVersion = 2; 68 69 # Migrations between versions. The 0th element converts from v0 to v1, and so on 70 migrations = [ ··· 89 _internalVersion = 2; 90 } 91 ) 92 ]; 93 94 # Create a fileset, see ./README.md#fileset 95 # Type: path -> filesetTree -> fileset 96 _create = base: tree: ··· 103 _type = "fileset"; 104 105 _internalVersion = _currentVersion; 106 _internalBase = base; 107 _internalBaseRoot = parts.root; 108 _internalBaseComponents = components parts.subpath; 109 _internalTree = tree; 110 111 # Double __ to make it be evaluated and ordered first 112 - __noEval = throw '' 113 - lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.''; 114 }; 115 116 # Coerce a value to a fileset, erroring when the value cannot be coerced. ··· 155 _coerce "${functionContext}: ${context}" value 156 ) list; 157 158 - firstBaseRoot = (head filesets)._internalBaseRoot; 159 160 # Finds the first element with a filesystem root different than the first element, if any 161 differentIndex = findFirstIndex (fileset: 162 - firstBaseRoot != fileset._internalBaseRoot 163 ) null filesets; 164 in 165 - if differentIndex != null then 166 throw '' 167 ${functionContext}: Filesystem roots are not the same: 168 ${(head list).context}: root "${toString firstBaseRoot}" ··· 311 # Special case because the code below assumes that the _internalBase is always included in the result 312 # which shouldn't be done when we have no files at all in the base 313 # This also forces the tree before returning the filter, leads to earlier error messages 314 - if tree == null then 315 empty 316 else 317 nonEmpty; ··· 321 # Type: [ Fileset ] -> Fileset 322 _unionMany = filesets: 323 let 324 - first = head filesets; 325 326 # To be able to union filesetTree's together, they need to have the same base path. 327 # Base paths can be unioned by taking their common prefix, ··· 332 # so this cannot cause a stack overflow due to a build-up of unevaluated thunks. 333 commonBaseComponents = foldl' 334 (components: el: commonPrefix components el._internalBaseComponents) 335 - first._internalBaseComponents 336 # We could also not do the `tail` here to avoid a list allocation, 337 # but then we'd have to pay for a potentially expensive 338 # but unnecessary `commonPrefix` call 339 - (tail filesets); 340 341 # The common base path assembled from a filesystem root and the common components 342 - commonBase = append first._internalBaseRoot (join commonBaseComponents); 343 344 # A list of filesetTree's that all have the same base path 345 # This is achieved by nesting the trees into the components they have over the common base path ··· 351 setAttrByPath 352 (drop (length commonBaseComponents) fileset._internalBaseComponents) 353 fileset._internalTree 354 - ) filesets; 355 356 # Folds all trees together into a single one using _unionTree 357 # We do not use a fold here because it would cause a thunk build-up 358 # which could cause a stack overflow for a large number of trees 359 resultTree = _unionTrees trees; 360 in 361 - _create commonBase resultTree; 362 363 # The union of multiple filesetTree's with the same base path. 364 # Later elements are only evaluated if necessary.
··· 28 drop 29 elemAt 30 filter 31 + findFirst 32 findFirstIndex 33 foldl' 34 head ··· 65 # - Increment this version 66 # - Add an additional migration function below 67 # - Update the description of the internal representation in ./README.md 68 + _currentVersion = 3; 69 70 # Migrations between versions. The 0th element converts from v0 to v1, and so on 71 migrations = [ ··· 90 _internalVersion = 2; 91 } 92 ) 93 + 94 + # Convert v2 into v3: filesetTree's now have a representation for an empty file set without a base path 95 + ( 96 + filesetV2: 97 + filesetV2 // { 98 + # All v1 file sets are not the new empty file set 99 + _internalIsEmptyWithoutBase = false; 100 + _internalVersion = 3; 101 + } 102 + ) 103 ]; 104 105 + _noEvalMessage = '' 106 + lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.''; 107 + 108 + # The empty file set without a base path 109 + _emptyWithoutBase = { 110 + _type = "fileset"; 111 + 112 + _internalVersion = _currentVersion; 113 + 114 + # The one and only! 115 + _internalIsEmptyWithoutBase = true; 116 + 117 + # Double __ to make it be evaluated and ordered first 118 + __noEval = throw _noEvalMessage; 119 + }; 120 + 121 # Create a fileset, see ./README.md#fileset 122 # Type: path -> filesetTree -> fileset 123 _create = base: tree: ··· 130 _type = "fileset"; 131 132 _internalVersion = _currentVersion; 133 + 134 + _internalIsEmptyWithoutBase = false; 135 _internalBase = base; 136 _internalBaseRoot = parts.root; 137 _internalBaseComponents = components parts.subpath; 138 _internalTree = tree; 139 140 # Double __ to make it be evaluated and ordered first 141 + __noEval = throw _noEvalMessage; 142 }; 143 144 # Coerce a value to a fileset, erroring when the value cannot be coerced. ··· 183 _coerce "${functionContext}: ${context}" value 184 ) list; 185 186 + # Find the first value with a base, there may be none! 187 + firstWithBase = findFirst (fileset: ! fileset._internalIsEmptyWithoutBase) null filesets; 188 + # This value is only accessed if first != null 189 + firstBaseRoot = firstWithBase._internalBaseRoot; 190 191 # Finds the first element with a filesystem root different than the first element, if any 192 differentIndex = findFirstIndex (fileset: 193 + # The empty value without a base doesn't have a base path 194 + ! fileset._internalIsEmptyWithoutBase 195 + && firstBaseRoot != fileset._internalBaseRoot 196 ) null filesets; 197 in 198 + # Only evaluates `differentIndex` if there are any elements with a base 199 + if firstWithBase != null && differentIndex != null then 200 throw '' 201 ${functionContext}: Filesystem roots are not the same: 202 ${(head list).context}: root "${toString firstBaseRoot}" ··· 345 # Special case because the code below assumes that the _internalBase is always included in the result 346 # which shouldn't be done when we have no files at all in the base 347 # This also forces the tree before returning the filter, leads to earlier error messages 348 + if fileset._internalIsEmptyWithoutBase || tree == null then 349 empty 350 else 351 nonEmpty; ··· 355 # Type: [ Fileset ] -> Fileset 356 _unionMany = filesets: 357 let 358 + # All filesets that have a base, aka not the ones that are the empty value without a base 359 + filesetsWithBase = filter (fileset: ! fileset._internalIsEmptyWithoutBase) filesets; 360 + 361 + # The first fileset that has a base. 362 + # This value is only accessed if there are at all. 363 + firstWithBase = head filesetsWithBase; 364 365 # To be able to union filesetTree's together, they need to have the same base path. 366 # Base paths can be unioned by taking their common prefix, ··· 371 # so this cannot cause a stack overflow due to a build-up of unevaluated thunks. 372 commonBaseComponents = foldl' 373 (components: el: commonPrefix components el._internalBaseComponents) 374 + firstWithBase._internalBaseComponents 375 # We could also not do the `tail` here to avoid a list allocation, 376 # but then we'd have to pay for a potentially expensive 377 # but unnecessary `commonPrefix` call 378 + (tail filesetsWithBase); 379 380 # The common base path assembled from a filesystem root and the common components 381 + commonBase = append firstWithBase._internalBaseRoot (join commonBaseComponents); 382 383 # A list of filesetTree's that all have the same base path 384 # This is achieved by nesting the trees into the components they have over the common base path ··· 390 setAttrByPath 391 (drop (length commonBaseComponents) fileset._internalBaseComponents) 392 fileset._internalTree 393 + ) filesetsWithBase; 394 395 # Folds all trees together into a single one using _unionTree 396 # We do not use a fold here because it would cause a thunk build-up 397 # which could cause a stack overflow for a large number of trees 398 resultTree = _unionTrees trees; 399 in 400 + # If there's no values with a base, we have no files 401 + if filesetsWithBase == [ ] then 402 + _emptyWithoutBase 403 + else 404 + _create commonBase resultTree; 405 406 # The union of multiple filesetTree's with the same base path. 407 # Later elements are only evaluated if necessary.
+40 -13
lib/fileset/tests.sh
··· 282 283 # File sets cannot be evaluated directly 284 expectFailure 'union ./. ./.' 'lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.' 285 286 # Past versions of the internal representation are supported 287 expectEqual '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 0; _internalBase = ./.; }' \ 288 - '{ _internalBase = ./.; _internalBaseComponents = path.subpath.components (path.splitRoot ./.).subpath; _internalBaseRoot = /.; _internalVersion = 2; _type = "fileset"; }' 289 expectEqual '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 1; }' \ 290 - '{ _type = "fileset"; _internalVersion = 2; }' 291 292 # Future versions of the internal representation are unsupported 293 - expectFailure '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 3; }' '<tests>: value is a file set created from a future version of the file set library with a different internal representation: 294 - \s*- Internal version of the file set: 3 295 - \s*- Internal version of the library: 2 296 \s*Make sure to update your Nixpkgs to have a newer version of `lib.fileset`.' 297 298 # _create followed by _coerce should give the inputs back without any validation 299 expectEqual '{ 300 inherit (_coerce "<test>" (_create ./. "directory")) 301 _internalVersion _internalBase _internalTree; 302 - }' '{ _internalBase = ./.; _internalTree = "directory"; _internalVersion = 2; }' 303 304 #### Resulting store path #### 305 ··· 310 tree=( 311 ) 312 checkFileset './.' 313 314 # Directories recursively containing no files are not included 315 tree=( ··· 408 409 # unions needs a list with at least 1 element 410 expectFailure 'toSource { root = ./.; fileset = unions null; }' 'lib.fileset.unions: Expected argument to be a list, but got a null.' 411 - expectFailure 'toSource { root = ./.; fileset = unions [ ]; }' 'lib.fileset.unions: Expected argument to be a list with at least one element, but it contains no elements.' 412 413 # The tree of later arguments should not be evaluated if a former argument already includes all files 414 tree=() 415 checkFileset 'union ./. (_create ./. (abort "This should not be used!"))' 416 checkFileset 'unions [ ./. (_create ./. (abort "This should not be used!")) ]' 417 418 # union doesn't include files that weren't specified 419 tree=( 420 [x]=1 ··· 467 tree[$i/a]=1 468 tree[$i/b]=0 469 done 470 - ( 471 - # Locally limit the maximum stack size to 100 * 1024 bytes 472 - # If unions was implemented recursively, this would stack overflow 473 - ulimit -s 100 474 - checkFileset 'unions (mapAttrsToList (name: _: ./. + "/${name}/a") (builtins.readDir ./.))' 475 - ) 476 477 # TODO: Once we have combinators and a property testing library, derive property tests from https://en.wikipedia.org/wiki/Algebra_of_sets 478
··· 282 283 # File sets cannot be evaluated directly 284 expectFailure 'union ./. ./.' 'lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.' 285 + expectFailure '_emptyWithoutBase' 'lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.' 286 287 # Past versions of the internal representation are supported 288 expectEqual '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 0; _internalBase = ./.; }' \ 289 + '{ _internalBase = ./.; _internalBaseComponents = path.subpath.components (path.splitRoot ./.).subpath; _internalBaseRoot = /.; _internalIsEmptyWithoutBase = false; _internalVersion = 3; _type = "fileset"; }' 290 expectEqual '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 1; }' \ 291 + '{ _type = "fileset"; _internalIsEmptyWithoutBase = false; _internalVersion = 3; }' 292 + expectEqual '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 2; }' \ 293 + '{ _type = "fileset"; _internalIsEmptyWithoutBase = false; _internalVersion = 3; }' 294 295 # Future versions of the internal representation are unsupported 296 + expectFailure '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 4; }' '<tests>: value is a file set created from a future version of the file set library with a different internal representation: 297 + \s*- Internal version of the file set: 4 298 + \s*- Internal version of the library: 3 299 \s*Make sure to update your Nixpkgs to have a newer version of `lib.fileset`.' 300 301 # _create followed by _coerce should give the inputs back without any validation 302 expectEqual '{ 303 inherit (_coerce "<test>" (_create ./. "directory")) 304 _internalVersion _internalBase _internalTree; 305 + }' '{ _internalBase = ./.; _internalTree = "directory"; _internalVersion = 3; }' 306 307 #### Resulting store path #### 308 ··· 313 tree=( 314 ) 315 checkFileset './.' 316 + 317 + # The empty value without a base should also result in an empty result 318 + tree=( 319 + [a]=0 320 + ) 321 + checkFileset '_emptyWithoutBase' 322 323 # Directories recursively containing no files are not included 324 tree=( ··· 417 418 # unions needs a list with at least 1 element 419 expectFailure 'toSource { root = ./.; fileset = unions null; }' 'lib.fileset.unions: Expected argument to be a list, but got a null.' 420 421 # The tree of later arguments should not be evaluated if a former argument already includes all files 422 tree=() 423 checkFileset 'union ./. (_create ./. (abort "This should not be used!"))' 424 checkFileset 'unions [ ./. (_create ./. (abort "This should not be used!")) ]' 425 426 + # unions doesn't include any files for an empty list or only empty values without a base 427 + tree=( 428 + [x]=0 429 + [y/z]=0 430 + ) 431 + checkFileset 'unions [ ]' 432 + checkFileset 'unions [ _emptyWithoutBase ]' 433 + checkFileset 'unions [ _emptyWithoutBase _emptyWithoutBase ]' 434 + checkFileset 'union _emptyWithoutBase _emptyWithoutBase' 435 + 436 + # The empty value without a base is the left and right identity of union 437 + tree=( 438 + [x]=1 439 + [y/z]=0 440 + ) 441 + checkFileset 'union ./x _emptyWithoutBase' 442 + checkFileset 'union _emptyWithoutBase ./x' 443 + 444 # union doesn't include files that weren't specified 445 tree=( 446 [x]=1 ··· 493 tree[$i/a]=1 494 tree[$i/b]=0 495 done 496 + # This is actually really hard to test: 497 + # A lot of files would be needed to cause a stack overflow. 498 + # And while we could limit the maximum stack size using `ulimit -s`, 499 + # that turns out to not be very deterministic: https://github.com/NixOS/nixpkgs/pull/256417#discussion_r1339396686. 500 + # Meanwhile, the test infra here is not the fastest, creating 10000 would be too slow. 501 + # So, just using 1000 files for now. 502 + checkFileset 'unions (mapAttrsToList (name: _: ./. + "/${name}/a") (builtins.readDir ./.))' 503 504 # TODO: Once we have combinators and a property testing library, derive property tests from https://en.wikipedia.org/wiki/Algebra_of_sets 505
+1
maintainers/scripts/luarocks-packages.csv
··· 89 magick,,,,,,donovanglover 90 markdown,,,,,, 91 mediator_lua,,,,,, 92 mpack,,,,,, 93 moonscript,https://github.com/leafo/moonscript.git,dev-1,,,,arobyn 94 nvim-client,https://github.com/neovim/lua-client.git,,,,,
··· 89 magick,,,,,,donovanglover 90 markdown,,,,,, 91 mediator_lua,,,,,, 92 + middleclass,,,,,, 93 mpack,,,,,, 94 moonscript,https://github.com/leafo/moonscript.git,dev-1,,,,arobyn 95 nvim-client,https://github.com/neovim/lua-client.git,,,,,
+29 -11
maintainers/scripts/pluginupdate.py
··· 321 return plugins 322 323 324 - def run_nix_expr(expr): 325 - with CleanEnvironment() as nix_path: 326 cmd = [ 327 "nix", 328 "eval", ··· 396 """CSV spec""" 397 print("the update member function should be overriden in subclasses") 398 399 - def get_current_plugins(self) -> List[Plugin]: 400 """To fill the cache""" 401 - data = run_nix_expr(self.get_plugins) 402 plugins = [] 403 for name, attr in data.items(): 404 p = Plugin(name, attr["rev"], attr["submodules"], attr["sha256"]) ··· 414 raise NotImplementedError() 415 416 def get_update(self, input_file: str, outfile: str, config: FetchConfig): 417 - cache: Cache = Cache(self.get_current_plugins(), self.cache_file) 418 _prefetch = functools.partial(prefetch, cache=cache) 419 420 def update() -> dict: ··· 454 ), 455 ) 456 common.add_argument( 457 "--input-names", 458 "-i", 459 dest="input_file", ··· 541 command = args.command or "update" 542 log.setLevel(LOG_LEVELS[args.debug]) 543 log.info("Chose to run command: %s", command) 544 545 - if not args.no_commit: 546 - self.nixpkgs_repo = git.Repo(self.root, search_parent_directories=True) 547 548 getattr(self, command)(args) 549 550 551 class CleanEnvironment(object): 552 def __enter__(self) -> str: 553 - self.old_environ = os.environ.copy() 554 local_pkgs = str(Path(__file__).parent.parent.parent) 555 self.empty_config = NamedTemporaryFile() 556 self.empty_config.write(b"{}") 557 self.empty_config.flush() 558 - os.environ["NIXPKGS_CONFIG"] = self.empty_config.name 559 - return f"localpkgs={local_pkgs}" 560 561 def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: 562 os.environ.update(self.old_environ) ··· 758 759 760 def update_plugins(editor: Editor, args): 761 - """The main entry function of this module. All input arguments are grouped in the `Editor`.""" 762 763 log.info("Start updating plugins") 764 fetch_config = FetchConfig(args.proc, args.github_token)
··· 321 return plugins 322 323 324 + 325 + def run_nix_expr(expr, nixpkgs: str): 326 + ''' 327 + :param expr nix expression to fetch current plugins 328 + :param nixpkgs Path towards a nixpkgs checkout 329 + ''' 330 + # local_pkgs = str(Path(__file__).parent.parent.parent) 331 + with CleanEnvironment(nixpkgs) as nix_path: 332 cmd = [ 333 "nix", 334 "eval", ··· 402 """CSV spec""" 403 print("the update member function should be overriden in subclasses") 404 405 + def get_current_plugins(self, nixpkgs) -> List[Plugin]: 406 """To fill the cache""" 407 + data = run_nix_expr(self.get_plugins, nixpkgs) 408 plugins = [] 409 for name, attr in data.items(): 410 p = Plugin(name, attr["rev"], attr["submodules"], attr["sha256"]) ··· 420 raise NotImplementedError() 421 422 def get_update(self, input_file: str, outfile: str, config: FetchConfig): 423 + cache: Cache = Cache(self.get_current_plugins(self.nixpkgs), self.cache_file) 424 _prefetch = functools.partial(prefetch, cache=cache) 425 426 def update() -> dict: ··· 460 ), 461 ) 462 common.add_argument( 463 + "--nixpkgs", 464 + type=str, 465 + default=os.getcwd(), 466 + help="Adjust log level", 467 + ) 468 + common.add_argument( 469 "--input-names", 470 "-i", 471 dest="input_file", ··· 553 command = args.command or "update" 554 log.setLevel(LOG_LEVELS[args.debug]) 555 log.info("Chose to run command: %s", command) 556 + self.nixpkgs = args.nixpkgs 557 558 + self.nixpkgs_repo = git.Repo(args.nixpkgs, search_parent_directories=True) 559 560 getattr(self, command)(args) 561 562 563 class CleanEnvironment(object): 564 + def __init__(self, nixpkgs): 565 + self.local_pkgs = nixpkgs 566 + 567 def __enter__(self) -> str: 568 + """ 569 local_pkgs = str(Path(__file__).parent.parent.parent) 570 + """ 571 + self.old_environ = os.environ.copy() 572 self.empty_config = NamedTemporaryFile() 573 self.empty_config.write(b"{}") 574 self.empty_config.flush() 575 + # os.environ["NIXPKGS_CONFIG"] = self.empty_config.name 576 + return f"localpkgs={self.local_pkgs}" 577 578 def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: 579 os.environ.update(self.old_environ) ··· 775 776 777 def update_plugins(editor: Editor, args): 778 + """The main entry function of this module. 779 + All input arguments are grouped in the `Editor`.""" 780 781 log.info("Start updating plugins") 782 fetch_config = FetchConfig(args.proc, args.github_token)
+53 -45
maintainers/scripts/update-luarocks-packages
··· 2 #!nix-shell update-luarocks-shell.nix -i python3 3 4 # format: 5 - # $ nix run nixpkgs.python3Packages.black -c black update.py 6 # type-check: 7 - # $ nix run nixpkgs.python3Packages.mypy -c mypy update.py 8 # linted: 9 - # $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265,E402 update.py 10 11 import inspect 12 import os ··· 25 log = logging.getLogger() 26 log.addHandler(logging.StreamHandler()) 27 28 - ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore 29 import pluginupdate 30 from pluginupdate import update_plugins, FetchConfig, CleanEnvironment 31 32 - PKG_LIST="maintainers/scripts/luarocks-packages.csv" 33 - TMP_FILE="$(mktemp)" 34 - GENERATED_NIXFILE="pkgs/development/lua-modules/generated-packages.nix" 35 - LUAROCKS_CONFIG="maintainers/scripts/luarocks-config.lua" 36 37 HEADER = """/* {GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT! 38 Regenerate it with: ··· 40 41 You can customize the generated packages in pkgs/development/lua-modules/overrides.nix 42 */ 43 - """.format(GENERATED_NIXFILE=GENERATED_NIXFILE) 44 45 - FOOTER=""" 46 } 47 /* GENERATED - do not edit this file */ 48 """ 49 50 @dataclass 51 class LuaPlugin: 52 name: str 53 - '''Name of the plugin, as seen on luarocks.org''' 54 src: str 55 - '''address to the git repository''' 56 ref: Optional[str] 57 - '''git reference (branch name/tag)''' 58 version: Optional[str] 59 - '''Set it to pin a package ''' 60 server: Optional[str] 61 - '''luarocks.org registers packages under different manifests. 62 Its value can be 'http://luarocks.org/dev' 63 - ''' 64 luaversion: Optional[str] 65 - '''Attribue of the lua interpreter if a package is available only for a specific lua version''' 66 maintainers: Optional[str] 67 - ''' Optional string listing maintainers separated by spaces''' 68 69 @property 70 def normalized_name(self) -> str: 71 return self.name.replace(".", "-") 72 73 # rename Editor to LangUpdate/ EcosystemUpdater 74 class LuaEditor(pluginupdate.Editor): ··· 77 78 def load_plugin_spec(self, input_file) -> List[LuaPlugin]: 79 luaPackages = [] 80 - csvfilename=input_file 81 log.info("Loading package descriptions from %s", csvfilename) 82 83 - with open(csvfilename, newline='') as csvfile: 84 - reader = csv.DictReader(csvfile,) 85 for row in reader: 86 # name,server,version,luaversion,maintainers 87 plugin = LuaPlugin(**row) ··· 91 def update(self, args): 92 update_plugins(self, args) 93 94 - def generate_nix( 95 - self, 96 - results: List[Tuple[LuaPlugin, str]], 97 - outfilename: str 98 - ): 99 - 100 with tempfile.NamedTemporaryFile("w+") as f: 101 f.write(HEADER) 102 header2 = textwrap.dedent( 103 - # header2 = inspect.cleandoc( 104 - """ 105 { self, stdenv, lib, fetchurl, fetchgit, callPackage, ... } @ args: 106 final: prev: 107 { 108 - """) 109 f.write(header2) 110 - for (plugin, nix_expr) in results: 111 f.write(f"{plugin.normalized_name} = {nix_expr}") 112 f.write(FOOTER) 113 f.flush() ··· 156 # luaPackages.append(plugin) 157 pass 158 159 def generate_pkg_nix(plug: LuaPlugin): 160 - ''' 161 Generate nix expression for a luarocks package 162 Our cache key associates "p.name-p.version" to its rockspec 163 - ''' 164 log.debug("Generating nix expression for %s", plug.name) 165 custom_env = os.environ.copy() 166 - custom_env['LUAROCKS_CONFIG'] = LUAROCKS_CONFIG 167 168 # we add --dev else luarocks wont find all the "scm" (=dev) versions of the 169 # packages 170 - # , "--dev" 171 - cmd = [ "luarocks", "nix" ] 172 173 if plug.maintainers: 174 cmd.append(f"--maintainers={plug.maintainers}") ··· 176 # if plug.server == "src": 177 if plug.src != "": 178 if plug.src is None: 179 - msg = "src must be set when 'version' is set to \"src\" for package %s" % plug.name 180 log.error(msg) 181 raise RuntimeError(msg) 182 log.debug("Updating from source %s", plug.src) ··· 185 else: 186 cmd.append(plug.name) 187 if plug.version and plug.version != "src": 188 - 189 cmd.append(plug.version) 190 191 if plug.server != "src" and plug.server: ··· 194 if plug.luaversion: 195 cmd.append(f"--lua-version={plug.luaversion}") 196 197 - log.debug("running %s", ' '.join(cmd)) 198 199 output = subprocess.check_output(cmd, env=custom_env, text=True) 200 output = "callPackage(" + output.strip() + ") {};\n\n" 201 return (plug, output) 202 203 - def main(): 204 205 - editor = LuaEditor("lua", ROOT, '', 206 - default_in = ROOT.joinpath(PKG_LIST), 207 - default_out = ROOT.joinpath(GENERATED_NIXFILE) 208 - ) 209 210 editor.run() 211 212 - if __name__ == "__main__": 213 214 main() 215 216 # vim: set ft=python noet fdm=manual fenc=utf-8 ff=unix sts=0 sw=4 ts=4 :
··· 2 #!nix-shell update-luarocks-shell.nix -i python3 3 4 # format: 5 + # $ nix run nixpkgs#python3Packages.black -- update.py 6 # type-check: 7 + # $ nix run nixpkgs#python3Packages.mypy -- update.py 8 # linted: 9 + # $ nix run nixpkgs#python3Packages.flake8 -- --ignore E501,E265,E402 update.py 10 11 import inspect 12 import os ··· 25 log = logging.getLogger() 26 log.addHandler(logging.StreamHandler()) 27 28 + ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore 29 import pluginupdate 30 from pluginupdate import update_plugins, FetchConfig, CleanEnvironment 31 32 + PKG_LIST = "maintainers/scripts/luarocks-packages.csv" 33 + TMP_FILE = "$(mktemp)" 34 + GENERATED_NIXFILE = "pkgs/development/lua-modules/generated-packages.nix" 35 + LUAROCKS_CONFIG = "maintainers/scripts/luarocks-config.lua" 36 37 HEADER = """/* {GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT! 38 Regenerate it with: ··· 40 41 You can customize the generated packages in pkgs/development/lua-modules/overrides.nix 42 */ 43 + """.format( 44 + GENERATED_NIXFILE=GENERATED_NIXFILE 45 + ) 46 47 + FOOTER = """ 48 } 49 /* GENERATED - do not edit this file */ 50 """ 51 52 + 53 @dataclass 54 class LuaPlugin: 55 name: str 56 + """Name of the plugin, as seen on luarocks.org""" 57 src: str 58 + """address to the git repository""" 59 ref: Optional[str] 60 + """git reference (branch name/tag)""" 61 version: Optional[str] 62 + """Set it to pin a package """ 63 server: Optional[str] 64 + """luarocks.org registers packages under different manifests. 65 Its value can be 'http://luarocks.org/dev' 66 + """ 67 luaversion: Optional[str] 68 + """Attribue of the lua interpreter if a package is available only for a specific lua version""" 69 maintainers: Optional[str] 70 + """ Optional string listing maintainers separated by spaces""" 71 72 @property 73 def normalized_name(self) -> str: 74 return self.name.replace(".", "-") 75 + 76 77 # rename Editor to LangUpdate/ EcosystemUpdater 78 class LuaEditor(pluginupdate.Editor): ··· 81 82 def load_plugin_spec(self, input_file) -> List[LuaPlugin]: 83 luaPackages = [] 84 + csvfilename = input_file 85 log.info("Loading package descriptions from %s", csvfilename) 86 87 + with open(csvfilename, newline="") as csvfile: 88 + reader = csv.DictReader( 89 + csvfile, 90 + ) 91 for row in reader: 92 # name,server,version,luaversion,maintainers 93 plugin = LuaPlugin(**row) ··· 97 def update(self, args): 98 update_plugins(self, args) 99 100 + def generate_nix(self, results: List[Tuple[LuaPlugin, str]], outfilename: str): 101 with tempfile.NamedTemporaryFile("w+") as f: 102 f.write(HEADER) 103 header2 = textwrap.dedent( 104 + # header2 = inspect.cleandoc( 105 + """ 106 { self, stdenv, lib, fetchurl, fetchgit, callPackage, ... } @ args: 107 final: prev: 108 { 109 + """ 110 + ) 111 f.write(header2) 112 + for plugin, nix_expr in results: 113 f.write(f"{plugin.normalized_name} = {nix_expr}") 114 f.write(FOOTER) 115 f.flush() ··· 158 # luaPackages.append(plugin) 159 pass 160 161 + 162 def generate_pkg_nix(plug: LuaPlugin): 163 + """ 164 Generate nix expression for a luarocks package 165 Our cache key associates "p.name-p.version" to its rockspec 166 + """ 167 log.debug("Generating nix expression for %s", plug.name) 168 custom_env = os.environ.copy() 169 + custom_env["LUAROCKS_CONFIG"] = LUAROCKS_CONFIG 170 171 # we add --dev else luarocks wont find all the "scm" (=dev) versions of the 172 # packages 173 + # , "--dev" 174 + cmd = ["luarocks", "nix"] 175 176 if plug.maintainers: 177 cmd.append(f"--maintainers={plug.maintainers}") ··· 179 # if plug.server == "src": 180 if plug.src != "": 181 if plug.src is None: 182 + msg = ( 183 + "src must be set when 'version' is set to \"src\" for package %s" 184 + % plug.name 185 + ) 186 log.error(msg) 187 raise RuntimeError(msg) 188 log.debug("Updating from source %s", plug.src) ··· 191 else: 192 cmd.append(plug.name) 193 if plug.version and plug.version != "src": 194 cmd.append(plug.version) 195 196 if plug.server != "src" and plug.server: ··· 199 if plug.luaversion: 200 cmd.append(f"--lua-version={plug.luaversion}") 201 202 + log.debug("running %s", " ".join(cmd)) 203 204 output = subprocess.check_output(cmd, env=custom_env, text=True) 205 output = "callPackage(" + output.strip() + ") {};\n\n" 206 return (plug, output) 207 208 209 + def main(): 210 + editor = LuaEditor( 211 + "lua", 212 + ROOT, 213 + "", 214 + default_in=ROOT.joinpath(PKG_LIST), 215 + default_out=ROOT.joinpath(GENERATED_NIXFILE), 216 + ) 217 218 editor.run() 219 220 221 + if __name__ == "__main__": 222 main() 223 224 # vim: set ft=python noet fdm=manual fenc=utf-8 ff=unix sts=0 sw=4 ts=4 :
+29
nixos/modules/services/x11/display-managers/sddm.nix
··· 33 34 # Implementation is done via pkgs/applications/display-managers/sddm/sddm-default-session.patch 35 DefaultSession = optionalString (dmcfg.defaultSession != null) "${dmcfg.defaultSession}.desktop"; 36 }; 37 38 Theme = { ··· 62 Wayland = { 63 EnableHiDPI = cfg.enableHidpi; 64 SessionDir = "${dmcfg.sessionData.desktops}/share/wayland-sessions"; 65 }; 66 } // lib.optionalAttrs dmcfg.autoLogin.enable { 67 Autologin = { ··· 182 description = lib.mdDoc '' 183 Minimum user ID for auto-login user. 184 ''; 185 }; 186 }; 187 };
··· 33 34 # Implementation is done via pkgs/applications/display-managers/sddm/sddm-default-session.patch 35 DefaultSession = optionalString (dmcfg.defaultSession != null) "${dmcfg.defaultSession}.desktop"; 36 + 37 + DisplayServer = if cfg.wayland.enable then "wayland" else "x11"; 38 }; 39 40 Theme = { ··· 64 Wayland = { 65 EnableHiDPI = cfg.enableHidpi; 66 SessionDir = "${dmcfg.sessionData.desktops}/share/wayland-sessions"; 67 + CompositorCommand = lib.optionalString cfg.wayland.enable cfg.wayland.compositorCommand; 68 }; 69 } // lib.optionalAttrs dmcfg.autoLogin.enable { 70 Autologin = { ··· 185 description = lib.mdDoc '' 186 Minimum user ID for auto-login user. 187 ''; 188 + }; 189 + }; 190 + 191 + # Experimental Wayland support 192 + wayland = { 193 + enable = mkEnableOption "experimental Wayland support"; 194 + 195 + compositorCommand = mkOption { 196 + type = types.str; 197 + internal = true; 198 + 199 + # This is basically the upstream default, but with Weston referenced by full path 200 + # and the configuration generated from NixOS options. 201 + default = let westonIni = (pkgs.formats.ini {}).generate "weston.ini" { 202 + libinput = { 203 + enable-tap = xcfg.libinput.mouse.tapping; 204 + left-handed = xcfg.libinput.mouse.leftHanded; 205 + }; 206 + keyboard = { 207 + keymap_model = xcfg.xkbModel; 208 + keymap_layout = xcfg.layout; 209 + keymap_variant = xcfg.xkbVariant; 210 + keymap_options = xcfg.xkbOptions; 211 + }; 212 + }; in "${pkgs.weston}/bin/weston --shell=fullscreen-shell.so -c ${westonIni}"; 213 + description = lib.mdDoc "Command used to start the selected compositor"; 214 }; 215 }; 216 };
+20 -1
pkgs/applications/display-managers/sddm/default.nix
··· 1 - { mkDerivation, lib, fetchFromGitHub 2 , cmake, extra-cmake-modules, pkg-config, qttools 3 , libxcb, libXau, pam, qtbase, qtdeclarative, qtquickcontrols2, systemd, xkeyboardconfig 4 }: ··· 16 patches = [ 17 ./sddm-ignore-config-mtime.patch 18 ./sddm-default-session.patch 19 ]; 20 21 postPatch = ''
··· 1 + { mkDerivation, lib, fetchFromGitHub, fetchpatch 2 , cmake, extra-cmake-modules, pkg-config, qttools 3 , libxcb, libXau, pam, qtbase, qtdeclarative, qtquickcontrols2, systemd, xkeyboardconfig 4 }: ··· 16 patches = [ 17 ./sddm-ignore-config-mtime.patch 18 ./sddm-default-session.patch 19 + 20 + # FIXME: all of the following are Wayland related backports, drop in next release 21 + # Don't use Qt virtual keyboard on Wayland 22 + (fetchpatch { 23 + url = "https://github.com/sddm/sddm/commit/07631f2ef00a52d883d0fd47ff7d1e1a6bc6358f.patch"; 24 + hash = "sha256-HTSw3YeT4z9ldr4sLmsnrPQ+LA8/a6XxrF+KUFqXUlM="; 25 + }) 26 + 27 + # Fix running sddm-greeter manually in Wayland sessions 28 + (fetchpatch { 29 + url = "https://github.com/sddm/sddm/commit/e27b70957505dc7b986ab2fa68219af546c63344.patch"; 30 + hash = "sha256-6hzrFeS2epL9vzLOA29ZA/dD3Jd4rPMBHhNp+FBq1bA="; 31 + }) 32 + 33 + # Prefer GreeterEnvironment over PAM environment 34 + (fetchpatch { 35 + url = "https://github.com/sddm/sddm/commit/9e7791d5fb375933d20f590daba9947195515b26.patch"; 36 + hash = "sha256-JNsVTJNZV6T+SPqPkaFf3wg8NDqXGx8NZ4qQfZWOli4="; 37 + }) 38 ]; 39 40 postPatch = ''
-96
pkgs/applications/editors/atom/default.nix
··· 1 - { lib, stdenv, pkgs, fetchurl, wrapGAppsHook, glib, gtk3, atomEnv }: 2 - 3 - let 4 - versions = { 5 - atom = { 6 - version = "1.60.0"; 7 - sha256 = "sha256-XHwCWQYrnUkR0lN7/Or/Uxb53hEWmIQKkNfNSX34kaY="; 8 - }; 9 - 10 - atom-beta = { 11 - version = "1.61.0"; 12 - beta = 0; 13 - sha256 = "sha256-viY/is7Nh3tlIkHhUBWtgMAjD6HDiC0pyJpUjsP5pRY="; 14 - broken = true; 15 - }; 16 - }; 17 - 18 - common = pname: {version, sha256, beta ? null, broken ? false}: 19 - let fullVersion = version + lib.optionalString (beta != null) "-beta${toString beta}"; 20 - name = "${pname}-${fullVersion}"; 21 - in stdenv.mkDerivation { 22 - inherit name; 23 - version = fullVersion; 24 - 25 - src = fetchurl { 26 - url = "https://github.com/atom/atom/releases/download/v${fullVersion}/atom-amd64.deb"; 27 - name = "${name}.deb"; 28 - inherit sha256; 29 - }; 30 - 31 - nativeBuildInputs = [ 32 - wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system 33 - ]; 34 - 35 - buildInputs = [ 36 - gtk3 # Fix error: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed 37 - ]; 38 - 39 - dontBuild = true; 40 - dontConfigure = true; 41 - 42 - unpackPhase = '' 43 - ar p $src data.tar.xz | tar xJ ./usr/ 44 - ''; 45 - 46 - installPhase = '' 47 - runHook preInstall 48 - 49 - mkdir -p $out 50 - mv usr/bin usr/share $out 51 - rm -rf $out/share/lintian 52 - 53 - runHook postInstall 54 - ''; 55 - 56 - preFixup = '' 57 - gappsWrapperArgs+=( 58 - # needed for gio executable to be able to delete files 59 - --prefix "PATH" : "${glib.bin}/bin" 60 - ) 61 - ''; 62 - 63 - postFixup = '' 64 - share=$out/share/${pname} 65 - 66 - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 67 - --set-rpath "${atomEnv.libPath}:$share" \ 68 - $share/atom 69 - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 70 - --set-rpath "${atomEnv.libPath}" \ 71 - $share/resources/app/apm/bin/node 72 - patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 73 - $share/resources/app.asar.unpacked/node_modules/symbols-view/vendor/ctags-linux 74 - 75 - dugite=$share/resources/app.asar.unpacked/node_modules/dugite 76 - rm -f $dugite/git/bin/git 77 - ln -s ${pkgs.git}/bin/git $dugite/git/bin/git 78 - rm -f $dugite/git/libexec/git-core/git 79 - ln -s ${pkgs.git}/bin/git $dugite/git/libexec/git-core/git 80 - 81 - find $share -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$share" {} \; 82 - 83 - sed -i -e "s|Exec=.*$|Exec=$out/bin/${pname}|" $out/share/applications/${pname}.desktop 84 - ''; 85 - 86 - meta = with lib; { 87 - description = "A hackable text editor for the 21st Century"; 88 - homepage = "https://atom.io/"; 89 - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; 90 - license = licenses.mit; 91 - maintainers = with maintainers; [ offline ysndr ]; 92 - platforms = platforms.x86_64; 93 - inherit broken; 94 - }; 95 - }; 96 - in lib.mapAttrs common versions
···
-23
pkgs/applications/editors/atom/env.nix
··· 1 - { stdenv, lib, zlib, glib, alsa-lib, dbus, gtk3, atk, pango, freetype, fontconfig 2 - , gdk-pixbuf, cairo, cups, expat, libgpg-error, nspr 3 - , nss, xorg, libcap, systemd, libnotify, libsecret, libuuid, at-spi2-atk 4 - , at-spi2-core, libdbusmenu, libdrm, mesa 5 - }: 6 - 7 - let 8 - packages = [ 9 - stdenv.cc.cc zlib glib dbus gtk3 atk pango freetype 10 - fontconfig gdk-pixbuf cairo cups expat libgpg-error alsa-lib nspr nss 11 - xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst 12 - xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr 13 - xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify 14 - xorg.libxcb libsecret libuuid at-spi2-atk at-spi2-core libdbusmenu 15 - libdrm 16 - mesa # required for libgbm 17 - ]; 18 - 19 - libPathNative = lib.makeLibraryPath packages; 20 - libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages; 21 - libPath = "${libPathNative}:${libPath64}"; 22 - 23 - in { inherit packages libPath; }
···
+25 -2
pkgs/applications/editors/neovim/default.nix
··· 7 , buildPackages 8 , treesitter-parsers ? import ./treesitter-parsers.nix { inherit fetchurl; } 9 , CoreServices 10 , glibcLocales ? null, procps ? null 11 12 # now defaults to false because some tests can be flaky (clipboard etc), see ··· 16 }: 17 18 let 19 requiredLuaPkgs = ps: (with ps; [ 20 - lpeg 21 luabitop 22 mpack 23 ] ++ lib.optionals doCheck [ ··· 40 deterministicStringIds = true; 41 self = deterministicLuajit; 42 }; 43 - in deterministicLuajit.withPackages(ps: [ ps.mpack ps.lpeg ]) 44 else lua.luaOnBuild; 45 46 pyEnv = python3.withPackages(ps: with ps; [ pynvim msgpack ]); 47 in 48 stdenv.mkDerivation rec { 49 pname = "neovim-unwrapped";
··· 7 , buildPackages 8 , treesitter-parsers ? import ./treesitter-parsers.nix { inherit fetchurl; } 9 , CoreServices 10 + , fixDarwinDylibNames 11 , glibcLocales ? null, procps ? null 12 13 # now defaults to false because some tests can be flaky (clipboard etc), see ··· 17 }: 18 19 let 20 + nvim-lpeg-dylib = luapkgs: if stdenv.isDarwin 21 + then (luapkgs.lpeg.overrideAttrs (oa: { 22 + preConfigure = '' 23 + # neovim wants clang .dylib 24 + sed -i makefile -e "s/CC = gcc/CC = clang/" 25 + sed -i makefile -e "s/-bundle/-dynamiclib/" 26 + ''; 27 + preBuild = '' 28 + # there seems to be implicit calls to Makefile from luarocks, we need to 29 + # add a stage to build our dylib 30 + make macosx 31 + mkdir -p $out/lib 32 + mv lpeg.so $out/lib/lpeg.dylib 33 + ''; 34 + nativeBuildInputs = 35 + oa.nativeBuildInputs 36 + ++ ( 37 + lib.optional stdenv.isDarwin fixDarwinDylibNames 38 + ); 39 + })) 40 + else luapkgs.lpeg; 41 requiredLuaPkgs = ps: (with ps; [ 42 + (nvim-lpeg-dylib ps) 43 luabitop 44 mpack 45 ] ++ lib.optionals doCheck [ ··· 62 deterministicStringIds = true; 63 self = deterministicLuajit; 64 }; 65 + in deterministicLuajit.withPackages(ps: [ ps.mpack (nvim-lpeg-dylib ps) ]) 66 else lua.luaOnBuild; 67 68 pyEnv = python3.withPackages(ps: with ps; [ pynvim msgpack ]); 69 + 70 in 71 stdenv.mkDerivation rec { 72 pname = "neovim-unwrapped";
+38 -6
pkgs/applications/editors/pulsar/default.nix
··· 1 { lib 2 , stdenv 3 , git 4 - , runtimeShell 5 , fetchurl 6 , wrapGAppsHook 7 , glib 8 , gtk3 9 - , atomEnv 10 , xorg 11 , libxkbcommon 12 - , hunspell 13 , hunspellDicts 14 , useHunspell ? true 15 , languages ? [ "en_US" ] 16 , withNemoAction ? true 17 , makeDesktopItem 18 , copyDesktopItems 19 - , makeWrapper 20 , asar 21 , python3 22 }: ··· 32 aarch64-linux.hash = "sha256-GdPnmhMZR3Y2WB2j98JEWomdKFZuTgxN8oga/tBwA4U="; 33 }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); 34 35 - additionalLibs = lib.makeLibraryPath [ 36 xorg.libxshmfence 37 libxkbcommon 38 xorg.libxkbfile 39 stdenv.cc.cc.lib 40 ]; 41 - newLibpath = "${atomEnv.libPath}:${additionalLibs}"; 42 43 # Hunspell 44 hunspellDirs = builtins.map (lang: "${hunspellDicts.${lang}}/share/hunspell") languages;
··· 1 { lib 2 , stdenv 3 , git 4 , fetchurl 5 , wrapGAppsHook 6 + , alsa-lib 7 + , at-spi2-atk 8 + , cairo 9 + , cups 10 + , dbus 11 + , expat 12 + , gdk-pixbuf 13 , glib 14 , gtk3 15 + , mesa 16 + , nss 17 + , nspr 18 , xorg 19 + , libdrm 20 + , libsecret 21 , libxkbcommon 22 + , pango 23 + , systemd 24 , hunspellDicts 25 , useHunspell ? true 26 , languages ? [ "en_US" ] 27 , withNemoAction ? true 28 , makeDesktopItem 29 , copyDesktopItems 30 , asar 31 , python3 32 }: ··· 42 aarch64-linux.hash = "sha256-GdPnmhMZR3Y2WB2j98JEWomdKFZuTgxN8oga/tBwA4U="; 43 }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); 44 45 + newLibpath = lib.makeLibraryPath [ 46 + alsa-lib 47 + at-spi2-atk 48 + cairo 49 + cups 50 + dbus 51 + expat 52 + gdk-pixbuf 53 + glib 54 + gtk3 55 + libsecret 56 + mesa 57 + nss 58 + nspr 59 + libdrm 60 + xorg.libX11 61 + xorg.libxcb 62 + xorg.libXcomposite 63 + xorg.libXdamage 64 + xorg.libXext 65 + xorg.libXfixes 66 + xorg.libXrandr 67 xorg.libxshmfence 68 libxkbcommon 69 xorg.libxkbfile 70 + pango 71 stdenv.cc.cc.lib 72 + systemd 73 ]; 74 75 # Hunspell 76 hunspellDirs = builtins.map (lang: "${hunspellDicts.${lang}}/share/hunspell") languages;
+135 -135
pkgs/applications/editors/vim/plugins/generated.nix
··· 173 174 LazyVim = buildVimPlugin { 175 pname = "LazyVim"; 176 - version = "2023-09-29"; 177 src = fetchFromGitHub { 178 owner = "LazyVim"; 179 repo = "LazyVim"; 180 - rev = "6f9adbd4fba4132bd4f12404bd2b90c4a28ff136"; 181 - sha256 = "0d7grxa6pvsi5az4p22dvb6sxjhwx78ivbf80zq0dzvv96dvlyzx"; 182 }; 183 meta.homepage = "https://github.com/LazyVim/LazyVim/"; 184 }; ··· 305 306 SchemaStore-nvim = buildVimPlugin { 307 pname = "SchemaStore.nvim"; 308 - version = "2023-09-29"; 309 src = fetchFromGitHub { 310 owner = "b0o"; 311 repo = "SchemaStore.nvim"; 312 - rev = "9a4e2f8da367ab671a6d7bf8b5b82e125c71a645"; 313 - sha256 = "1p3kpsjvn9snisak89h0yifkyxq07vqg2c0f7vm3hzc99bs0zrxz"; 314 }; 315 meta.homepage = "https://github.com/b0o/SchemaStore.nvim/"; 316 }; ··· 991 992 base46 = buildVimPlugin { 993 pname = "base46"; 994 - version = "2023-09-14"; 995 src = fetchFromGitHub { 996 owner = "nvchad"; 997 repo = "base46"; 998 - rev = "fc7aafe0d0348323d3fd41689cde95af86d4c7ba"; 999 - sha256 = "0b0r9hf7a7a4ipsqcc7q97ijk8p5a9lq9kqh93a92kq1x2qhlf2j"; 1000 }; 1001 meta.homepage = "https://github.com/nvchad/base46/"; 1002 }; ··· 2023 2024 coc-nvim = buildVimPlugin { 2025 pname = "coc.nvim"; 2026 - version = "2023-09-21"; 2027 src = fetchFromGitHub { 2028 owner = "neoclide"; 2029 repo = "coc.nvim"; 2030 - rev = "e4cee8e6c310663d2d81489dd9155889bbcd8d12"; 2031 - sha256 = "1a59l2lq1rhfhy5iwapv82mz6jzna0z9nl03xi0brfipknhlmsjh"; 2032 }; 2033 meta.homepage = "https://github.com/neoclide/coc.nvim/"; 2034 }; ··· 2551 2552 dashboard-nvim = buildVimPlugin { 2553 pname = "dashboard-nvim"; 2554 - version = "2023-09-27"; 2555 src = fetchFromGitHub { 2556 owner = "nvimdev"; 2557 repo = "dashboard-nvim"; 2558 - rev = "6b112d40ccf2a7aa6605ce325338c66612c4f7ec"; 2559 - sha256 = "01zlvxafp6vxng14zna9r33586d1pw8ihcl73r631x2jsmyi5zpp"; 2560 }; 2561 meta.homepage = "https://github.com/nvimdev/dashboard-nvim/"; 2562 }; ··· 3021 3022 dressing-nvim = buildVimPlugin { 3023 pname = "dressing.nvim"; 3024 - version = "2023-09-29"; 3025 src = fetchFromGitHub { 3026 owner = "stevearc"; 3027 repo = "dressing.nvim"; 3028 - rev = "73a7d54b5289000108c7f52402a36cf380fced67"; 3029 - sha256 = "1yafysdnl6irxcwwmir26iff6y2lv2axlss01n3jm6n6fknbvfjy"; 3030 }; 3031 meta.homepage = "https://github.com/stevearc/dressing.nvim/"; 3032 }; 3033 3034 dropbar-nvim = buildVimPlugin { 3035 pname = "dropbar.nvim"; 3036 - version = "2023-09-29"; 3037 src = fetchFromGitHub { 3038 owner = "Bekaboo"; 3039 repo = "dropbar.nvim"; 3040 - rev = "7a91b7ba15fcf78ba0d0081cbce7e31a73963b1c"; 3041 - sha256 = "0k2m566r86l8hhk9czpcv80bpgzsdk7fna6nna3gf2s8z1ymgbs4"; 3042 }; 3043 meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/"; 3044 }; ··· 3081 3082 edgy-nvim = buildVimPlugin { 3083 pname = "edgy.nvim"; 3084 - version = "2023-07-25"; 3085 src = fetchFromGitHub { 3086 owner = "folke"; 3087 repo = "edgy.nvim"; 3088 - rev = "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4"; 3089 - sha256 = "0s0h8s2wwg2niacp401j7l3c0knl44awf32clq15h1hcabqvvkn3"; 3090 }; 3091 meta.homepage = "https://github.com/folke/edgy.nvim/"; 3092 }; ··· 3287 3288 feline-nvim = buildVimPlugin { 3289 pname = "feline.nvim"; 3290 - version = "2023-06-19"; 3291 src = fetchFromGitHub { 3292 owner = "freddiehaddad"; 3293 repo = "feline.nvim"; 3294 - rev = "c32c2ffcee38f14e157582552fa9ee41c24452d2"; 3295 - sha256 = "1mlwjxyb0w3pdg9ny7q6wjdhq1l35a1g4ylp28vfpnrvhfbbxzvy"; 3296 }; 3297 meta.homepage = "https://github.com/freddiehaddad/feline.nvim/"; 3298 }; ··· 3384 3385 flash-nvim = buildVimPlugin { 3386 pname = "flash.nvim"; 3387 - version = "2023-09-28"; 3388 src = fetchFromGitHub { 3389 owner = "folke"; 3390 repo = "flash.nvim"; 3391 - rev = "0256d8ecab33a9aa69fdaaf885db22e1103e2a3a"; 3392 - sha256 = "10y0346rpxf8yc3f9wacmbsdvziwy7wv35l4i2a04vrwyqxgz2m4"; 3393 }; 3394 meta.homepage = "https://github.com/folke/flash.nvim/"; 3395 }; ··· 3468 3469 flutter-tools-nvim = buildVimPlugin { 3470 pname = "flutter-tools.nvim"; 3471 - version = "2023-09-20"; 3472 src = fetchFromGitHub { 3473 owner = "akinsho"; 3474 repo = "flutter-tools.nvim"; 3475 - rev = "0b01c71ecf05a2edd955b5b53d808bc64f143069"; 3476 - sha256 = "05lcwwq48ab661aw0mbs72vg0v10qlzjspcyhhvdmzajsgwcdqxs"; 3477 }; 3478 meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/"; 3479 }; ··· 3516 3517 friendly-snippets = buildVimPlugin { 3518 pname = "friendly-snippets"; 3519 - version = "2023-09-03"; 3520 src = fetchFromGitHub { 3521 owner = "rafamadriz"; 3522 repo = "friendly-snippets"; 3523 - rev = "ebf6d6e83494cdd88a54a429340256f4dbb6a052"; 3524 - sha256 = "01z4xqb46xlycbv0w7akrf7rajy9rnl0jml0vk9dngblgcf1x2sp"; 3525 }; 3526 meta.homepage = "https://github.com/rafamadriz/friendly-snippets/"; 3527 }; ··· 3792 3793 gitsigns-nvim = buildNeovimPlugin { 3794 pname = "gitsigns.nvim"; 3795 - version = "2023-09-24"; 3796 src = fetchFromGitHub { 3797 owner = "lewis6991"; 3798 repo = "gitsigns.nvim"; 3799 - rev = "bdeba1cec3faddd89146690c10b9a87949c0ee66"; 3800 - sha256 = "0amphagvmvdjrp13nxzl8jjs38dy1qicv71g91h998yjfc7av42l"; 3801 }; 3802 meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/"; 3803 }; ··· 3852 3853 go-nvim = buildVimPlugin { 3854 pname = "go.nvim"; 3855 - version = "2023-09-22"; 3856 src = fetchFromGitHub { 3857 owner = "ray-x"; 3858 repo = "go.nvim"; 3859 - rev = "019936780060efc64c0f22a47afd08fbbe82e026"; 3860 - sha256 = "05r63f4jgql9drvi4176czmqxcpqfkr0i05vm0mlvak6gfrzc6xk"; 3861 }; 3862 meta.homepage = "https://github.com/ray-x/go.nvim/"; 3863 }; ··· 3984 3985 gruvbox-nvim = buildVimPlugin { 3986 pname = "gruvbox.nvim"; 3987 - version = "2023-09-28"; 3988 src = fetchFromGitHub { 3989 owner = "ellisonleao"; 3990 repo = "gruvbox.nvim"; 3991 - rev = "e810b46367a89e8b733cd100d12a6c8b2fc022c3"; 3992 - sha256 = "1rnzyfwrbcq4i5s7p6w1ig85rjfy7yc0zv3gpwwngjrw2zpnldcs"; 3993 }; 3994 meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/"; 3995 }; ··· 4067 4068 haskell-tools-nvim = buildNeovimPlugin { 4069 pname = "haskell-tools.nvim"; 4070 - version = "2023-09-27"; 4071 src = fetchFromGitHub { 4072 owner = "MrcJkb"; 4073 repo = "haskell-tools.nvim"; 4074 - rev = "ba67f50e8632f1df02526255e2aaf0239cc44e6e"; 4075 - sha256 = "1i2m51q4ccarxqdvj91mf338kagmzk09yq1r8p85ihad5pmijp23"; 4076 }; 4077 meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/"; 4078 }; ··· 4414 4415 indent-blankline-nvim = buildVimPlugin { 4416 pname = "indent-blankline.nvim"; 4417 - version = "2023-09-29"; 4418 src = fetchFromGitHub { 4419 owner = "lukas-reineke"; 4420 repo = "indent-blankline.nvim"; 4421 - rev = "2ec42d26c933e7a129fe056dfc11a207afff252d"; 4422 - sha256 = "1l2iqv7vb1v93rb9hqchgqlkss7lg5kiwwgb7x5czlxq2xyw7n7x"; 4423 }; 4424 meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/"; 4425 }; ··· 4775 4776 lazy-nvim = buildVimPlugin { 4777 pname = "lazy.nvim"; 4778 - version = "2023-09-29"; 4779 src = fetchFromGitHub { 4780 owner = "folke"; 4781 repo = "lazy.nvim"; 4782 - rev = "6a2c47e6424a3f1e373bfeb714b716f6be13501c"; 4783 - sha256 = "1m3nswn0i4ai7r9p76nxra7kxsx4lp41pyq6bb832a3zn3q6qxlk"; 4784 }; 4785 meta.homepage = "https://github.com/folke/lazy.nvim/"; 4786 }; ··· 4799 4800 lean-nvim = buildVimPlugin { 4801 pname = "lean.nvim"; 4802 - version = "2023-09-24"; 4803 src = fetchFromGitHub { 4804 owner = "Julian"; 4805 repo = "lean.nvim"; 4806 - rev = "e639c7eb0f7f2a707b29f50b827e1a3a4b2ada9c"; 4807 - sha256 = "0rfwqip0747h4ppkxzzsqjvdkrr0rrhmpc3qbli18qwqx2vxc7hg"; 4808 }; 4809 meta.homepage = "https://github.com/Julian/lean.nvim/"; 4810 }; ··· 5254 5255 lspsaga-nvim = buildVimPlugin { 5256 pname = "lspsaga.nvim"; 5257 - version = "2023-09-26"; 5258 src = fetchFromGitHub { 5259 owner = "nvimdev"; 5260 repo = "lspsaga.nvim"; 5261 - rev = "b7873e556a5451c5febc0d46ba80767b2beea49e"; 5262 - sha256 = "1m1ryhg6cnbxs4xzwn6bj98g10qf14shwdwgplwbyl2yjr5r94hv"; 5263 }; 5264 meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/"; 5265 }; ··· 5411 5412 mason-lspconfig-nvim = buildVimPlugin { 5413 pname = "mason-lspconfig.nvim"; 5414 - version = "2023-09-29"; 5415 src = fetchFromGitHub { 5416 owner = "williamboman"; 5417 repo = "mason-lspconfig.nvim"; 5418 - rev = "81e30dd629de24cbb26d08073ee938ab40006695"; 5419 - sha256 = "145nyyi128h25gdlidpwhkha3xf9sr66pxz76z2ncl8hccjpim35"; 5420 }; 5421 meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/"; 5422 }; ··· 5915 5916 neo-tree-nvim = buildVimPlugin { 5917 pname = "neo-tree.nvim"; 5918 - version = "2023-09-25"; 5919 src = fetchFromGitHub { 5920 owner = "nvim-neo-tree"; 5921 repo = "neo-tree.nvim"; 5922 - rev = "a73b92c504ebfbbc3be522209ac60949942057c6"; 5923 - sha256 = "1amxljg4c1vhddmrxjw00dm685vd4zsj2r3gf0yk14nl8y7yj3b6"; 5924 }; 5925 meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/"; 5926 }; ··· 5939 5940 neoconf-nvim = buildVimPlugin { 5941 pname = "neoconf.nvim"; 5942 - version = "2023-09-29"; 5943 src = fetchFromGitHub { 5944 owner = "folke"; 5945 repo = "neoconf.nvim"; 5946 - rev = "86ed5b91927b65352e3d8f315f8256a180805377"; 5947 - sha256 = "1j84jblykjsc6rk530zsdfsjwfgfdnfn7m1knzwyxjh983g4879a"; 5948 }; 5949 meta.homepage = "https://github.com/folke/neoconf.nvim/"; 5950 }; ··· 5963 5964 neodev-nvim = buildVimPlugin { 5965 pname = "neodev.nvim"; 5966 - version = "2023-09-29"; 5967 src = fetchFromGitHub { 5968 owner = "folke"; 5969 repo = "neodev.nvim"; 5970 - rev = "58b1c0740e8ad79ce71e2649a449bb90536435cf"; 5971 - sha256 = "06vflyl0c2b789lm6hgmr0gdvzzmjai8lgllr9cxm73ggh1lgqkf"; 5972 }; 5973 meta.homepage = "https://github.com/folke/neodev.nvim/"; 5974 }; ··· 5999 6000 neogit = buildVimPlugin { 6001 pname = "neogit"; 6002 - version = "2023-09-28"; 6003 src = fetchFromGitHub { 6004 owner = "NeogitOrg"; 6005 repo = "neogit"; 6006 - rev = "e238f075a81806dc2dce803422beef42540a312e"; 6007 - sha256 = "16dl1jlzf9f49bv3ifsc27si07cqbd51wn7nj62pppqbbp0ayfz9"; 6008 }; 6009 meta.homepage = "https://github.com/NeogitOrg/neogit/"; 6010 }; ··· 6216 6217 neotest-haskell = buildVimPlugin { 6218 pname = "neotest-haskell"; 6219 - version = "2023-09-24"; 6220 src = fetchFromGitHub { 6221 owner = "MrcJkb"; 6222 repo = "neotest-haskell"; 6223 - rev = "e45d5af30e636daea47866b9a44a56ab382d9b64"; 6224 - sha256 = "1jirv3cahfm8sj43hs587x4w6wdzraafjp7zqn8l3il4yd36lj7g"; 6225 }; 6226 meta.homepage = "https://github.com/MrcJkb/neotest-haskell/"; 6227 }; ··· 6552 6553 no-neck-pain-nvim = buildVimPlugin { 6554 pname = "no-neck-pain.nvim"; 6555 - version = "2023-06-24"; 6556 src = fetchFromGitHub { 6557 owner = "shortcuts"; 6558 repo = "no-neck-pain.nvim"; 6559 - rev = "fb27d3bff0834d9178250b439d46bfa04b4e1ae2"; 6560 - sha256 = "0ri8qwhx4fsrs3im01nr0v05pg3c17k7zfgdmps61s6f1n0rpjf4"; 6561 }; 6562 meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/"; 6563 }; ··· 6720 6721 nvim-base16 = buildVimPlugin { 6722 pname = "nvim-base16"; 6723 - version = "2023-09-12"; 6724 src = fetchFromGitHub { 6725 owner = "RRethy"; 6726 repo = "nvim-base16"; 6727 - rev = "96e308958625a84940d5e443475465abf99c7bd9"; 6728 - sha256 = "1cz3nby9l2fg9ppl8pbgbcz70yzj87rci2lbzy9qm2mbj5y232sf"; 6729 }; 6730 meta.homepage = "https://github.com/RRethy/nvim-base16/"; 6731 }; ··· 7151 7152 nvim-lint = buildVimPlugin { 7153 pname = "nvim-lint"; 7154 - version = "2023-09-21"; 7155 src = fetchFromGitHub { 7156 owner = "mfussenegger"; 7157 repo = "nvim-lint"; 7158 - rev = "67f74e630a84ecfa73a82783c487bdedd8cecdc3"; 7159 - sha256 = "1rmpyjbv7a4ipy9nndarp5xv0azkqpw3c51fjw6fpx0yhlk72slc"; 7160 }; 7161 meta.homepage = "https://github.com/mfussenegger/nvim-lint/"; 7162 }; ··· 7187 7188 nvim-lspconfig = buildVimPlugin { 7189 pname = "nvim-lspconfig"; 7190 - version = "2023-09-29"; 7191 src = fetchFromGitHub { 7192 owner = "neovim"; 7193 repo = "nvim-lspconfig"; 7194 - rev = "61b40df9c17943e43e7e698873caab0e7dbcdadc"; 7195 - sha256 = "1dwrns9i46p3b53dkbhs76gic7i1s49mvdc2ka31qpx3yqks10g1"; 7196 }; 7197 meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; 7198 }; ··· 7535 7536 nvim-tree-lua = buildVimPlugin { 7537 pname = "nvim-tree.lua"; 7538 - version = "2023-09-26"; 7539 src = fetchFromGitHub { 7540 owner = "nvim-tree"; 7541 repo = "nvim-tree.lua"; 7542 - rev = "934469b9b6df369e198fb3016969e56393b0dc07"; 7543 - sha256 = "1z2bwxqyzvniyqg5003b4azaakdh6dcwfssiakk7681fnngj2iqn"; 7544 }; 7545 meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/"; 7546 }; 7547 7548 nvim-treesitter = buildVimPlugin { 7549 pname = "nvim-treesitter"; 7550 - version = "2023-09-29"; 7551 src = fetchFromGitHub { 7552 owner = "nvim-treesitter"; 7553 repo = "nvim-treesitter"; 7554 - rev = "16ea2969ea0a5ba902fceece9b2db10c7c9ba2d6"; 7555 - sha256 = "0m1v1wiizqp7wfndjba6l52n3z4hkzsvq2imvgy7myqg091hj4hk"; 7556 }; 7557 meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; 7558 }; 7559 7560 nvim-treesitter-context = buildVimPlugin { 7561 pname = "nvim-treesitter-context"; 7562 - version = "2023-09-27"; 7563 src = fetchFromGitHub { 7564 owner = "nvim-treesitter"; 7565 repo = "nvim-treesitter-context"; 7566 - rev = "44d270e9d1647088de596a2e04fdc806a50cd838"; 7567 - sha256 = "0zkjgqsgcv956jf63jhdipb2ra1j5mfxw08nlz8ni4vccd9yw5qa"; 7568 }; 7569 meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/"; 7570 }; ··· 7619 7620 nvim-treesitter-textsubjects = buildVimPlugin { 7621 pname = "nvim-treesitter-textsubjects"; 7622 - version = "2023-08-03"; 7623 src = fetchFromGitHub { 7624 owner = "RRethy"; 7625 repo = "nvim-treesitter-textsubjects"; 7626 - rev = "df75fcec548014f158cda6498ac38c4622c221e1"; 7627 - sha256 = "0fx8b9w03zn6v8db2w6h29y8hpbjckvm27nh49vvsis3icqyk7iv"; 7628 }; 7629 meta.homepage = "https://github.com/RRethy/nvim-treesitter-textsubjects/"; 7630 }; ··· 7643 7644 nvim-ts-context-commentstring = buildVimPlugin { 7645 pname = "nvim-ts-context-commentstring"; 7646 - version = "2023-09-14"; 7647 src = fetchFromGitHub { 7648 owner = "joosepalviste"; 7649 repo = "nvim-ts-context-commentstring"; 7650 - rev = "95e9ba9de4289d221666b66fd930d157c7ca08c6"; 7651 - sha256 = "0acr7d16h22xk5c2dfv2wmwa9p5g5k06pqghkzym8bv70ag4lr8g"; 7652 }; 7653 meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/"; 7654 }; ··· 7822 7823 oil-nvim = buildVimPlugin { 7824 pname = "oil.nvim"; 7825 - version = "2023-09-29"; 7826 src = fetchFromGitHub { 7827 owner = "stevearc"; 7828 repo = "oil.nvim"; 7829 - rev = "bfc5a4c48f4a53b95648e41d91e49b83fb03e919"; 7830 - sha256 = "0jgj24lrgr6jbvwln5lb3qx6b1kw8hxa0k09pqzrmpwzp6h6zmyc"; 7831 fetchSubmodules = true; 7832 }; 7833 meta.homepage = "https://github.com/stevearc/oil.nvim/"; ··· 8617 8618 rest-nvim = buildNeovimPlugin { 8619 pname = "rest.nvim"; 8620 - version = "2023-09-25"; 8621 src = fetchFromGitHub { 8622 owner = "rest-nvim"; 8623 repo = "rest.nvim"; 8624 - rev = "16c1c8d80a6a65c409be4342130a8a61a7497f98"; 8625 - sha256 = "13nrxchxca1xj5cdw7dy4r5xfgq251ym1aj3kdykn4gakqgs6mxz"; 8626 }; 8627 meta.homepage = "https://github.com/rest-nvim/rest.nvim/"; 8628 }; ··· 9678 9679 telescope-frecency-nvim = buildVimPlugin { 9680 pname = "telescope-frecency.nvim"; 9681 - version = "2023-09-17"; 9682 src = fetchFromGitHub { 9683 owner = "nvim-telescope"; 9684 repo = "telescope-frecency.nvim"; 9685 - rev = "eaaabc90ed082b84a2e9b0ce4ab8c6753b7c50f9"; 9686 - sha256 = "1hmm956km88zns0w0wpk1yphxh0bjhxzwln7f9igiz7wgq0b10nr"; 9687 }; 9688 meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/"; 9689 }; ··· 10365 10366 unison = buildVimPlugin { 10367 pname = "unison"; 10368 - version = "2023-09-27"; 10369 src = fetchFromGitHub { 10370 owner = "unisonweb"; 10371 repo = "unison"; 10372 - rev = "58bbcb098cc57fc876c33a7ded70df41a226a2c3"; 10373 - sha256 = "0nlggvc0nq6033jvb9p5kvczqdwbgdpk0dcf79072pih4mqxnfw2"; 10374 }; 10375 meta.homepage = "https://github.com/unisonweb/unison/"; 10376 }; ··· 10857 10858 vim-android = buildVimPlugin { 10859 pname = "vim-android"; 10860 - version = "2023-08-24"; 10861 src = fetchFromGitHub { 10862 owner = "hsanson"; 10863 repo = "vim-android"; 10864 - rev = "31c593b8025f62f184418dd658c3a358a8d0ef70"; 10865 - sha256 = "14l7v8jg4kq8qh9j64nxir4a7d9ls0zp6zk3rjzbzf9viqyw1bp5"; 10866 }; 10867 meta.homepage = "https://github.com/hsanson/vim-android/"; 10868 }; ··· 14761 14762 vim-test = buildVimPlugin { 14763 pname = "vim-test"; 14764 - version = "2023-09-15"; 14765 src = fetchFromGitHub { 14766 owner = "vim-test"; 14767 repo = "vim-test"; 14768 - rev = "a007258adc7b319943bf71dfead88d2ad721b923"; 14769 - sha256 = "0sk2bfk54ds22sri1a3jw4fmn2nw1cr06hlwmclxd8gpaxqv6rmh"; 14770 }; 14771 meta.homepage = "https://github.com/vim-test/vim-test/"; 14772 }; ··· 15578 15579 vista-vim = buildVimPlugin { 15580 pname = "vista.vim"; 15581 - version = "2023-09-14"; 15582 src = fetchFromGitHub { 15583 owner = "liuchengxu"; 15584 repo = "vista.vim"; 15585 - rev = "40daf5e97be70a90465182fbbdfba92442bfd8e1"; 15586 - sha256 = "17kgca407nzvaddp5416rri46sk6dry1kmxp8kishha3x6fx0iym"; 15587 }; 15588 meta.homepage = "https://github.com/liuchengxu/vista.vim/"; 15589 }; ··· 15927 15928 zk-nvim = buildVimPlugin { 15929 pname = "zk-nvim"; 15930 - version = "2023-07-09"; 15931 src = fetchFromGitHub { 15932 owner = "mickael-menu"; 15933 repo = "zk-nvim"; 15934 - rev = "797618aa07f58ceba6f79fb6e777e8e45c51e1ce"; 15935 - sha256 = "1hr1k3h3pwh7iga7zdd62hkwgnvivsr6z9nbs8ypks3r34rw60xx"; 15936 }; 15937 meta.homepage = "https://github.com/mickael-menu/zk-nvim/"; 15938 }; ··· 15963 15964 catppuccin-nvim = buildVimPlugin { 15965 pname = "catppuccin-nvim"; 15966 - version = "2023-09-29"; 15967 src = fetchFromGitHub { 15968 owner = "catppuccin"; 15969 repo = "nvim"; 15970 - rev = "18267654c665310c665d3b7c6bc43d5f5ea5e410"; 15971 - sha256 = "0gncnwp8h64z33g97ra9vaad5lfknfn3w87p7axhbjw6fdsy99ii"; 15972 }; 15973 meta.homepage = "https://github.com/catppuccin/nvim/"; 15974 }; ··· 16035 16036 nightfly = buildVimPlugin { 16037 pname = "nightfly"; 16038 - version = "2023-09-29"; 16039 src = fetchFromGitHub { 16040 owner = "bluz71"; 16041 repo = "vim-nightfly-colors"; 16042 - rev = "28108adbd8674fe2788aa918c4a520a355654be3"; 16043 - sha256 = "1r82v8pzih9bp5bkad58q3w8r302l26id3471470sab7808cv8a8"; 16044 }; 16045 meta.homepage = "https://github.com/bluz71/vim-nightfly-colors/"; 16046 };
··· 173 174 LazyVim = buildVimPlugin { 175 pname = "LazyVim"; 176 + version = "2023-10-01"; 177 src = fetchFromGitHub { 178 owner = "LazyVim"; 179 repo = "LazyVim"; 180 + rev = "dd95de5dbe31ecb106305920cbd0e24e26c17afe"; 181 + sha256 = "1vmh1b8mwpwvfyigxhc5pnda1ddyccqgjz3jmn2pm101bwgg6424"; 182 }; 183 meta.homepage = "https://github.com/LazyVim/LazyVim/"; 184 }; ··· 305 306 SchemaStore-nvim = buildVimPlugin { 307 pname = "SchemaStore.nvim"; 308 + version = "2023-09-30"; 309 src = fetchFromGitHub { 310 owner = "b0o"; 311 repo = "SchemaStore.nvim"; 312 + rev = "daf2f4397e97c0f12b89068eec35078c61069ceb"; 313 + sha256 = "1yzg8qld4w4xzdb0v3vls47kf753d8d8lfcsz6fl40sprwdfj8px"; 314 }; 315 meta.homepage = "https://github.com/b0o/SchemaStore.nvim/"; 316 }; ··· 991 992 base46 = buildVimPlugin { 993 pname = "base46"; 994 + version = "2023-10-01"; 995 src = fetchFromGitHub { 996 owner = "nvchad"; 997 repo = "base46"; 998 + rev = "104510cb339071f4350acdc30d1630ce15dca8b1"; 999 + sha256 = "0bwgdvfvwikvlbb97n0iddpk3bw6nwl02596nb567s4xkijx91nk"; 1000 }; 1001 meta.homepage = "https://github.com/nvchad/base46/"; 1002 }; ··· 2023 2024 coc-nvim = buildVimPlugin { 2025 pname = "coc.nvim"; 2026 + version = "2023-09-30"; 2027 src = fetchFromGitHub { 2028 owner = "neoclide"; 2029 repo = "coc.nvim"; 2030 + rev = "7b9e1ef0a1399907c51d23b6080b94a5aba4a654"; 2031 + sha256 = "10gdqqz71gbna9wy3awbncbn7m0g6wfn1256bx7ga8b3bsl3nmch"; 2032 }; 2033 meta.homepage = "https://github.com/neoclide/coc.nvim/"; 2034 }; ··· 2551 2552 dashboard-nvim = buildVimPlugin { 2553 pname = "dashboard-nvim"; 2554 + version = "2023-09-30"; 2555 src = fetchFromGitHub { 2556 owner = "nvimdev"; 2557 repo = "dashboard-nvim"; 2558 + rev = "b2637e92a294068d79cde7929094f050981c5969"; 2559 + sha256 = "0y7s03in2y68c7n81q9a8mfba6s6dz2j8hp7a3kqldy8mhz4mqad"; 2560 }; 2561 meta.homepage = "https://github.com/nvimdev/dashboard-nvim/"; 2562 }; ··· 3021 3022 dressing-nvim = buildVimPlugin { 3023 pname = "dressing.nvim"; 3024 + version = "2023-09-30"; 3025 src = fetchFromGitHub { 3026 owner = "stevearc"; 3027 repo = "dressing.nvim"; 3028 + rev = "8f4d62b7817455896a3c73cab642002072c114bc"; 3029 + sha256 = "0cjn0w4v1n31qgxvwnd7ix1lxjdqhrbllb543lhdc1p48a00sqx1"; 3030 }; 3031 meta.homepage = "https://github.com/stevearc/dressing.nvim/"; 3032 }; 3033 3034 dropbar-nvim = buildVimPlugin { 3035 pname = "dropbar.nvim"; 3036 + version = "2023-09-30"; 3037 src = fetchFromGitHub { 3038 owner = "Bekaboo"; 3039 repo = "dropbar.nvim"; 3040 + rev = "9c2bc34bf78bbbf1633b41358e9a203a58b7d19f"; 3041 + sha256 = "06l68i8zjgpmzq0yqxbmgl2ncswqpyxxfivjjsm1s1lx5jya97j1"; 3042 }; 3043 meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/"; 3044 }; ··· 3081 3082 edgy-nvim = buildVimPlugin { 3083 pname = "edgy.nvim"; 3084 + version = "2023-09-30"; 3085 src = fetchFromGitHub { 3086 owner = "folke"; 3087 repo = "edgy.nvim"; 3088 + rev = "70e334c9cd7915aedde3255ade01ceeebe735b53"; 3089 + sha256 = "0zcm2p3qwiz2vkj4h4jy30dvphb6j6j8kyl3pzaxkiwlqlslsfma"; 3090 }; 3091 meta.homepage = "https://github.com/folke/edgy.nvim/"; 3092 }; ··· 3287 3288 feline-nvim = buildVimPlugin { 3289 pname = "feline.nvim"; 3290 + version = "2023-09-29"; 3291 src = fetchFromGitHub { 3292 owner = "freddiehaddad"; 3293 repo = "feline.nvim"; 3294 + rev = "ee9f8afdbe8654001b200530903f1dcbcc3394e6"; 3295 + sha256 = "1x7c6shkx5gxqv7lcby40gkx5f7sr4rgv23pxbzk0l2xy6nsvvmd"; 3296 }; 3297 meta.homepage = "https://github.com/freddiehaddad/feline.nvim/"; 3298 }; ··· 3384 3385 flash-nvim = buildVimPlugin { 3386 pname = "flash.nvim"; 3387 + version = "2023-10-01"; 3388 src = fetchFromGitHub { 3389 owner = "folke"; 3390 repo = "flash.nvim"; 3391 + rev = "eccef9f34ac332e0f1652d7559fe5cbeab614201"; 3392 + sha256 = "1s3vjrz4lcz7lqdxxizj1fdrjax1p5farvi4fr0058k18s8hqqmz"; 3393 }; 3394 meta.homepage = "https://github.com/folke/flash.nvim/"; 3395 }; ··· 3468 3469 flutter-tools-nvim = buildVimPlugin { 3470 pname = "flutter-tools.nvim"; 3471 + version = "2023-10-01"; 3472 src = fetchFromGitHub { 3473 owner = "akinsho"; 3474 repo = "flutter-tools.nvim"; 3475 + rev = "1119125206075c4703f2147f964ed0a45f84c6ab"; 3476 + sha256 = "1nm24s024ahfgsgplj5gxan009kxdalwwzdvg1vbysavgxhfzwra"; 3477 }; 3478 meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/"; 3479 }; ··· 3516 3517 friendly-snippets = buildVimPlugin { 3518 pname = "friendly-snippets"; 3519 + version = "2023-10-01"; 3520 src = fetchFromGitHub { 3521 owner = "rafamadriz"; 3522 repo = "friendly-snippets"; 3523 + rev = "43727c2ff84240e55d4069ec3e6158d74cb534b6"; 3524 + sha256 = "1sjk17gn919aa84dkjfagwwjsas9zfkbrk840bjf580k8m83d9m8"; 3525 }; 3526 meta.homepage = "https://github.com/rafamadriz/friendly-snippets/"; 3527 }; ··· 3792 3793 gitsigns-nvim = buildNeovimPlugin { 3794 pname = "gitsigns.nvim"; 3795 + version = "2023-10-01"; 3796 src = fetchFromGitHub { 3797 owner = "lewis6991"; 3798 repo = "gitsigns.nvim"; 3799 + rev = "e2ca739be75447fb5ccc9bfeb64f7afbc2cee5e6"; 3800 + sha256 = "0x9mwarz61xggw4xdxllzgardi2qxp33bk24x59rqpkb8135bjrz"; 3801 }; 3802 meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/"; 3803 }; ··· 3852 3853 go-nvim = buildVimPlugin { 3854 pname = "go.nvim"; 3855 + version = "2023-09-30"; 3856 src = fetchFromGitHub { 3857 owner = "ray-x"; 3858 repo = "go.nvim"; 3859 + rev = "2f573a297bea3a483a3607ae7c607a8a08d27993"; 3860 + sha256 = "0knxirf1kimjck9f8mx26m8s9v2vbjmacnr29rm9la96fs5bg2n4"; 3861 }; 3862 meta.homepage = "https://github.com/ray-x/go.nvim/"; 3863 }; ··· 3984 3985 gruvbox-nvim = buildVimPlugin { 3986 pname = "gruvbox.nvim"; 3987 + version = "2023-09-30"; 3988 src = fetchFromGitHub { 3989 owner = "ellisonleao"; 3990 repo = "gruvbox.nvim"; 3991 + rev = "61b0b3be2f0cfd521667403a0367298144d6c165"; 3992 + sha256 = "1dphrf8bq088d47macxhx2ql9bq5s9axs9cqwqbp6vkmr4zcx072"; 3993 }; 3994 meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/"; 3995 }; ··· 4067 4068 haskell-tools-nvim = buildNeovimPlugin { 4069 pname = "haskell-tools.nvim"; 4070 + version = "2023-10-01"; 4071 src = fetchFromGitHub { 4072 owner = "MrcJkb"; 4073 repo = "haskell-tools.nvim"; 4074 + rev = "8b472cf9abf5c2996843894d1231aed5f6653bc2"; 4075 + sha256 = "1msyfigc97vxsbinm404vzd68biy5hgj61ppz2lc96xbyq7r66xd"; 4076 }; 4077 meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/"; 4078 }; ··· 4414 4415 indent-blankline-nvim = buildVimPlugin { 4416 pname = "indent-blankline.nvim"; 4417 + version = "2023-10-01"; 4418 src = fetchFromGitHub { 4419 owner = "lukas-reineke"; 4420 repo = "indent-blankline.nvim"; 4421 + rev = "3d26bc7ab0e8dfddc0f40c840a8f925dddc2fef6"; 4422 + sha256 = "1p3bxdrj2xibyqw37b1247sz5nqx460d3lr4py3fn0cdgrf3420s"; 4423 }; 4424 meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/"; 4425 }; ··· 4775 4776 lazy-nvim = buildVimPlugin { 4777 pname = "lazy.nvim"; 4778 + version = "2023-09-30"; 4779 src = fetchFromGitHub { 4780 owner = "folke"; 4781 repo = "lazy.nvim"; 4782 + rev = "59335c5b9d116f5d3948f833288a89e2a829a005"; 4783 + sha256 = "04x04mzs3cc736l4phsws981nsga8hws3ca46pniz5h3qhj8zfwa"; 4784 }; 4785 meta.homepage = "https://github.com/folke/lazy.nvim/"; 4786 }; ··· 4799 4800 lean-nvim = buildVimPlugin { 4801 pname = "lean.nvim"; 4802 + version = "2023-09-30"; 4803 src = fetchFromGitHub { 4804 owner = "Julian"; 4805 repo = "lean.nvim"; 4806 + rev = "cd33d84e954ac15b42020889d1d0d6a9cc0e9e9c"; 4807 + sha256 = "11gkkc32ha1n6b7x88mvnw1afkp45mx8abpa1c4hkc2x7666sxc5"; 4808 }; 4809 meta.homepage = "https://github.com/Julian/lean.nvim/"; 4810 }; ··· 5254 5255 lspsaga-nvim = buildVimPlugin { 5256 pname = "lspsaga.nvim"; 5257 + version = "2023-10-01"; 5258 src = fetchFromGitHub { 5259 owner = "nvimdev"; 5260 repo = "lspsaga.nvim"; 5261 + rev = "f8a6d7cfe185637616d7fdee676dd543ae5fde55"; 5262 + sha256 = "0vwk2nn8mm113lk6sywdgfp6k0887d14pys9w8b6k4hm8xw5zfzq"; 5263 }; 5264 meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/"; 5265 }; ··· 5411 5412 mason-lspconfig-nvim = buildVimPlugin { 5413 pname = "mason-lspconfig.nvim"; 5414 + version = "2023-10-01"; 5415 src = fetchFromGitHub { 5416 owner = "williamboman"; 5417 repo = "mason-lspconfig.nvim"; 5418 + rev = "48025d62f45af52ba47e4193b854864839392e4c"; 5419 + sha256 = "1n3xlfjjjwng0rhlgvl0dj25fhlfk35vscwmz1kpdad627lzg83b"; 5420 }; 5421 meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/"; 5422 }; ··· 5915 5916 neo-tree-nvim = buildVimPlugin { 5917 pname = "neo-tree.nvim"; 5918 + version = "2023-09-30"; 5919 src = fetchFromGitHub { 5920 owner = "nvim-neo-tree"; 5921 repo = "neo-tree.nvim"; 5922 + rev = "7e2a3caf999e2028abb643eb0472f351b2777591"; 5923 + sha256 = "0mqrvk1aqs72vpwsy9ys9c3v3xbi1f7k4n692nm1v58v6d70gffk"; 5924 }; 5925 meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/"; 5926 }; ··· 5939 5940 neoconf-nvim = buildVimPlugin { 5941 pname = "neoconf.nvim"; 5942 + version = "2023-09-30"; 5943 src = fetchFromGitHub { 5944 owner = "folke"; 5945 repo = "neoconf.nvim"; 5946 + rev = "466ba6f645f63f91ac84d3dd986acede5d107f39"; 5947 + sha256 = "0vqprdkbr8vgdfqhjwnqjfw76sfrr4akfn589kyzwpvncb6ygwv1"; 5948 }; 5949 meta.homepage = "https://github.com/folke/neoconf.nvim/"; 5950 }; ··· 5963 5964 neodev-nvim = buildVimPlugin { 5965 pname = "neodev.nvim"; 5966 + version = "2023-10-01"; 5967 src = fetchFromGitHub { 5968 owner = "folke"; 5969 repo = "neodev.nvim"; 5970 + rev = "41581561a0ffc6ea6a191ee90a23f8c1c7f470fb"; 5971 + sha256 = "1q0vfzbzdyc1cnfa2icgrs4zkjajxbqzqypa4q8sfh3cgq364l92"; 5972 }; 5973 meta.homepage = "https://github.com/folke/neodev.nvim/"; 5974 }; ··· 5999 6000 neogit = buildVimPlugin { 6001 pname = "neogit"; 6002 + version = "2023-09-29"; 6003 src = fetchFromGitHub { 6004 owner = "NeogitOrg"; 6005 repo = "neogit"; 6006 + rev = "8b06f91ae973fd68fde074f15a887f9a3a3411cb"; 6007 + sha256 = "120h0n3md78hzddyd77b47k7dicnij8zb1rw624b9956612slg07"; 6008 }; 6009 meta.homepage = "https://github.com/NeogitOrg/neogit/"; 6010 }; ··· 6216 6217 neotest-haskell = buildVimPlugin { 6218 pname = "neotest-haskell"; 6219 + version = "2023-10-01"; 6220 src = fetchFromGitHub { 6221 owner = "MrcJkb"; 6222 repo = "neotest-haskell"; 6223 + rev = "6f8f89cef7e5ed811e8e2f2031f8a214d5dd6c0a"; 6224 + sha256 = "0b27zr14y9cx9za3akzpmvgri8y0jw302i7xwkc89wbxxkyjszi2"; 6225 }; 6226 meta.homepage = "https://github.com/MrcJkb/neotest-haskell/"; 6227 }; ··· 6552 6553 no-neck-pain-nvim = buildVimPlugin { 6554 pname = "no-neck-pain.nvim"; 6555 + version = "2023-09-30"; 6556 src = fetchFromGitHub { 6557 owner = "shortcuts"; 6558 repo = "no-neck-pain.nvim"; 6559 + rev = "a3a76540533909aa42b4f9430c5b1976a6508f81"; 6560 + sha256 = "1yrni32ailamah5rbf6haypvik2wm4ywxrlrk3d12wl2hd9g7yxq"; 6561 }; 6562 meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/"; 6563 }; ··· 6720 6721 nvim-base16 = buildVimPlugin { 6722 pname = "nvim-base16"; 6723 + version = "2023-09-30"; 6724 src = fetchFromGitHub { 6725 owner = "RRethy"; 6726 repo = "nvim-base16"; 6727 + rev = "88f209605b7857ce5911e8aaa503a210876e935d"; 6728 + sha256 = "1767iwhbgi7lrfwn4wsk96h8x8dyfgbp11wffm8c42yhjwwmp0kl"; 6729 }; 6730 meta.homepage = "https://github.com/RRethy/nvim-base16/"; 6731 }; ··· 7151 7152 nvim-lint = buildVimPlugin { 7153 pname = "nvim-lint"; 7154 + version = "2023-09-30"; 7155 src = fetchFromGitHub { 7156 owner = "mfussenegger"; 7157 repo = "nvim-lint"; 7158 + rev = "1065763f115a7765ef237347ad676ba348d7193a"; 7159 + sha256 = "0wlfq7xpi60nrqxx2v0h2pjv9jhx5alir8z9q1h7vcnf2hykj45c"; 7160 }; 7161 meta.homepage = "https://github.com/mfussenegger/nvim-lint/"; 7162 }; ··· 7187 7188 nvim-lspconfig = buildVimPlugin { 7189 pname = "nvim-lspconfig"; 7190 + version = "2023-10-01"; 7191 src = fetchFromGitHub { 7192 owner = "neovim"; 7193 repo = "nvim-lspconfig"; 7194 + rev = "eb1b53162755888ff75e495797071644d983bff7"; 7195 + sha256 = "04kgsf3rhr0wk3vyx6lawlxj5icvaryx925flh72f234vkhigmq2"; 7196 }; 7197 meta.homepage = "https://github.com/neovim/nvim-lspconfig/"; 7198 }; ··· 7535 7536 nvim-tree-lua = buildVimPlugin { 7537 pname = "nvim-tree.lua"; 7538 + version = "2023-10-01"; 7539 src = fetchFromGitHub { 7540 owner = "nvim-tree"; 7541 repo = "nvim-tree.lua"; 7542 + rev = "113e0950c88b81b01d253d8f3da17bbd0e6716bb"; 7543 + sha256 = "1nmx68gjc59cn6lapvml12x4yj9iqaqdb8q3ad5w3gfnmva03sjd"; 7544 }; 7545 meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/"; 7546 }; 7547 7548 nvim-treesitter = buildVimPlugin { 7549 pname = "nvim-treesitter"; 7550 + version = "2023-10-01"; 7551 src = fetchFromGitHub { 7552 owner = "nvim-treesitter"; 7553 repo = "nvim-treesitter"; 7554 + rev = "776e4d341b5416c995e74c3abbf75f9cec26aa5e"; 7555 + sha256 = "02pk5di7lxvbwzi2ajq7kj6rfrxd46635jccw6xf5fbxcl84cqsb"; 7556 }; 7557 meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/"; 7558 }; 7559 7560 nvim-treesitter-context = buildVimPlugin { 7561 pname = "nvim-treesitter-context"; 7562 + version = "2023-10-01"; 7563 src = fetchFromGitHub { 7564 owner = "nvim-treesitter"; 7565 repo = "nvim-treesitter-context"; 7566 + rev = "bc19b78e9c705d67be98d56e9fab96470af45f33"; 7567 + sha256 = "1xfdiyz0a07zpmavyinq3mc3f81xw99n7847ijwb3rwpmiqs7hns"; 7568 }; 7569 meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/"; 7570 }; ··· 7619 7620 nvim-treesitter-textsubjects = buildVimPlugin { 7621 pname = "nvim-treesitter-textsubjects"; 7622 + version = "2023-09-30"; 7623 src = fetchFromGitHub { 7624 owner = "RRethy"; 7625 repo = "nvim-treesitter-textsubjects"; 7626 + rev = "48b3bf54e32f23e2299c59ff76fa3b0599565b39"; 7627 + sha256 = "11nmxnqr8dnn1l24gcrm4bpvpmy4ibsi6x46iz5y2vp7pzrj6cf9"; 7628 }; 7629 meta.homepage = "https://github.com/RRethy/nvim-treesitter-textsubjects/"; 7630 }; ··· 7643 7644 nvim-ts-context-commentstring = buildVimPlugin { 7645 pname = "nvim-ts-context-commentstring"; 7646 + version = "2023-09-30"; 7647 src = fetchFromGitHub { 7648 owner = "joosepalviste"; 7649 repo = "nvim-ts-context-commentstring"; 7650 + rev = "0c136439fb93fd94db9106250ff6f6858101422b"; 7651 + sha256 = "0cmszvwxbis2m36zwb7bcq0yfw19ska31j1r7k7pn55skr605527"; 7652 }; 7653 meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/"; 7654 }; ··· 7822 7823 oil-nvim = buildVimPlugin { 7824 pname = "oil.nvim"; 7825 + version = "2023-09-30"; 7826 src = fetchFromGitHub { 7827 owner = "stevearc"; 7828 repo = "oil.nvim"; 7829 + rev = "956d7fc89b0bd1f9ea6515ca10c1e2a293e4d8fd"; 7830 + sha256 = "0gbrnnji01pdz7x78cbdnvs6y4gpb298f239i5b41mr9vdc55ysl"; 7831 fetchSubmodules = true; 7832 }; 7833 meta.homepage = "https://github.com/stevearc/oil.nvim/"; ··· 8617 8618 rest-nvim = buildNeovimPlugin { 8619 pname = "rest.nvim"; 8620 + version = "2023-09-30"; 8621 src = fetchFromGitHub { 8622 owner = "rest-nvim"; 8623 repo = "rest.nvim"; 8624 + rev = "35d949df1928b44b6d941fd9015eb3f973845b1f"; 8625 + sha256 = "13lcd7wgdfd1hy1jkqbwvkcpyz9caxj9gdrn03ckba5lcbbnf08k"; 8626 }; 8627 meta.homepage = "https://github.com/rest-nvim/rest.nvim/"; 8628 }; ··· 9678 9679 telescope-frecency-nvim = buildVimPlugin { 9680 pname = "telescope-frecency.nvim"; 9681 + version = "2023-10-01"; 9682 src = fetchFromGitHub { 9683 owner = "nvim-telescope"; 9684 repo = "telescope-frecency.nvim"; 9685 + rev = "4bdd9bafc7ac2c6fed03e92efac1e6b4632eda28"; 9686 + sha256 = "01a4hdgjf3i0qywz45rvzga02hphb2zl5cnpafw0igzb3lrsxqqk"; 9687 }; 9688 meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/"; 9689 }; ··· 10365 10366 unison = buildVimPlugin { 10367 pname = "unison"; 10368 + version = "2023-09-29"; 10369 src = fetchFromGitHub { 10370 owner = "unisonweb"; 10371 repo = "unison"; 10372 + rev = "5fa80db737fa357d9f9f14a36cdc10cbb1cb7651"; 10373 + sha256 = "1001rbbwhfbb26ji36kpkc3ji1gsgf3xmlr990bxv8wh33qib2rf"; 10374 }; 10375 meta.homepage = "https://github.com/unisonweb/unison/"; 10376 }; ··· 10857 10858 vim-android = buildVimPlugin { 10859 pname = "vim-android"; 10860 + version = "2023-09-30"; 10861 src = fetchFromGitHub { 10862 owner = "hsanson"; 10863 repo = "vim-android"; 10864 + rev = "26990f9fa27b23ca5faf83e14d56711c0fec40ea"; 10865 + sha256 = "1iy9ap2i9lmqcjaqb38syb240m834ifacv79cjiwzxcpr23vq4r1"; 10866 }; 10867 meta.homepage = "https://github.com/hsanson/vim-android/"; 10868 }; ··· 14761 14762 vim-test = buildVimPlugin { 14763 pname = "vim-test"; 14764 + version = "2023-09-30"; 14765 src = fetchFromGitHub { 14766 owner = "vim-test"; 14767 repo = "vim-test"; 14768 + rev = "53c6c72f3a0c6a24a74e659eaa769d7057ef2ecd"; 14769 + sha256 = "0y36ckap8z07b3ayj53l9drz1m4wrg0fd12q8p0cyhhghf0g8s2i"; 14770 }; 14771 meta.homepage = "https://github.com/vim-test/vim-test/"; 14772 }; ··· 15578 15579 vista-vim = buildVimPlugin { 15580 pname = "vista.vim"; 15581 + version = "2023-10-01"; 15582 src = fetchFromGitHub { 15583 owner = "liuchengxu"; 15584 repo = "vista.vim"; 15585 + rev = "58dabc027909330970ac549e52bf799a723878c5"; 15586 + sha256 = "0xb385781kll7hrhgm7nw7frjx2fwd2gzriwn9gby2s7m6yx8xib"; 15587 }; 15588 meta.homepage = "https://github.com/liuchengxu/vista.vim/"; 15589 }; ··· 15927 15928 zk-nvim = buildVimPlugin { 15929 pname = "zk-nvim"; 15930 + version = "2023-09-30"; 15931 src = fetchFromGitHub { 15932 owner = "mickael-menu"; 15933 repo = "zk-nvim"; 15934 + rev = "e9e5e21dbeacd0e753728c7ea45b7a7582d9080a"; 15935 + sha256 = "0ycx8ad6a9xyc2i4gzjccbl5pzvg1y7rqhpxf4mys5vh5j7iisvv"; 15936 }; 15937 meta.homepage = "https://github.com/mickael-menu/zk-nvim/"; 15938 }; ··· 15963 15964 catppuccin-nvim = buildVimPlugin { 15965 pname = "catppuccin-nvim"; 15966 + version = "2023-09-30"; 15967 src = fetchFromGitHub { 15968 owner = "catppuccin"; 15969 repo = "nvim"; 15970 + rev = "7a4bcdadafc59a5bedbd866c643fa486d8cca4a1"; 15971 + sha256 = "0v8syhgyvl4zs484dycz65qrclds2cd6f9ja85xy4gzfhisnc6s3"; 15972 }; 15973 meta.homepage = "https://github.com/catppuccin/nvim/"; 15974 }; ··· 16035 16036 nightfly = buildVimPlugin { 16037 pname = "nightfly"; 16038 + version = "2023-10-01"; 16039 src = fetchFromGitHub { 16040 owner = "bluz71"; 16041 repo = "vim-nightfly-colors"; 16042 + rev = "60d7e7749c21dec4e77c70672c3882dc5653d02c"; 16043 + sha256 = "1z8d6i81n2j8ynfpa8gvlw27svjgv4rxs1ham4rl90vraryqgpl1"; 16044 }; 16045 meta.homepage = "https://github.com/bluz71/vim-nightfly-colors/"; 16046 };
+16 -12
pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
··· 7 from os import environ 8 from os.path import dirname, join 9 10 - lockfile = json.load(open(join(environ["NVIM_TREESITTER"], "lockfile.json"))) 11 - 12 configs = json.loads( 13 subprocess.check_output( 14 [ ··· 58 return generated 59 60 61 - generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py 62 63 - { buildGrammar, """ 64 65 - generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True) 66 67 - generated_file += """ }: 68 69 - { 70 - """ 71 72 - for generated in ThreadPoolExecutor().map(generate_grammar, lockfile.items()): 73 - generated_file += generated 74 75 - generated_file += "}\n" 76 77 - open(join(dirname(__file__), "generated.nix"), "w").write(generated_file)
··· 7 from os import environ 8 from os.path import dirname, join 9 10 configs = json.loads( 11 subprocess.check_output( 12 [ ··· 56 return generated 57 58 59 + def update_grammars(lockfile: str): 60 61 + generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py 62 63 + { buildGrammar, """ 64 65 + generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True) 66 67 + generated_file += """ }: 68 69 + { 70 + """ 71 + for generated in ThreadPoolExecutor().map(generate_grammar, lockfile.items()): 72 + generated_file += generated 73 + generated_file += "}\n" 74 + generated_file += "}\n" 75 76 + open(join(dirname(__file__), "generated.nix"), "w").write(generated_file) 77 + 78 79 + if __name__ == "__main__": 80 + # TODO add lockfile 81 + update_grammars()
-16
pkgs/applications/editors/vim/plugins/update-shell.nix
··· 1 - { pkgs ? import ../../../../.. { } }: 2 - 3 - # Ideally, pkgs points to default.nix file of Nixpkgs official tree 4 - with pkgs; 5 - let 6 - pyEnv = python3.withPackages (ps: [ ps.gitpython ]); 7 - in 8 - 9 - mkShell { 10 - packages = [ 11 - bash 12 - pyEnv 13 - nix 14 - nix-prefetch-scripts 15 - ]; 16 - }
···
+60 -43
pkgs/applications/editors/vim/plugins/update.py
··· 1 - #!/usr/bin/env nix-shell 2 - #!nix-shell update-shell.nix -i python3 3 4 - 5 # format: 6 - # $ nix run nixpkgs.python3Packages.black -c black update.py 7 # type-check: 8 - # $ nix run nixpkgs.python3Packages.mypy -c mypy update.py 9 # linted: 10 - # $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265,E402 update.py 11 12 - # If you see `HTTP Error 429: too many requests` errors while running this script, 13 - # refer to: 14 # 15 # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/vim.section.md#updating-plugins-in-nixpkgs-updating-plugins-in-nixpkgs 16 # 17 - # (or the equivalent file /doc/languages-frameworks/vim.section.md from Nixpkgs master tree). 18 # 19 20 import inspect 21 import os 22 - import sys 23 import logging 24 - import subprocess 25 import textwrap 26 from typing import List, Tuple 27 from pathlib import Path 28 29 - import git 30 31 log = logging.getLogger() 32 33 sh = logging.StreamHandler() 34 - formatter = logging.Formatter('%(name)s:%(levelname)s: %(message)s') 35 sh.setFormatter(formatter) 36 log.addHandler(sh) 37 38 # Import plugin update library from maintainers/scripts/pluginupdate.py 39 ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) 40 - # Ideally, ROOT.(parent^5) points to root of Nixpkgs official tree 41 - sys.path.insert(0, os.path.join(ROOT.parent.parent.parent.parent.parent, "maintainers", "scripts")) 42 import pluginupdate 43 from pluginupdate import run_nix_expr, PluginDesc 44 - 45 46 47 - GET_PLUGINS_LUA = """ 48 - with import <localpkgs> {}; 49 - lib.attrNames lua51Packages""" 50 - 51 HEADER = ( 52 "# GENERATED by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!" 53 ) 54 55 - def isNeovimPlugin(plug: pluginupdate.Plugin) -> bool: 56 - ''' 57 - Whether it's a neovim-only plugin 58 - We can check if it's available in lua packages 59 - ''' 60 - global luaPlugins 61 - if plug.normalized_name in luaPlugins: 62 - log.debug("%s is a neovim plugin", plug) 63 - return True 64 - return False 65 66 67 class VimEditor(pluginupdate.Editor): 68 nvim_treesitter_updated = False 69 70 - def generate_nix(self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str): 71 sorted_plugins = sorted(plugins, key=lambda v: v[0].name.lower()) 72 - nvim_treesitter_rev = pluginupdate.run_nix_expr("(import <localpkgs> { }).vimPlugins.nvim-treesitter.src.rev") 73 74 with open(outfile, "w+") as f: 75 f.write(HEADER) 76 - f.write(textwrap.dedent(""" 77 { lib, buildVimPlugin, buildNeovimPlugin, fetchFromGitHub, fetchgit }: 78 79 final: prev: 80 { 81 """ 82 - )) 83 for pdesc, plugin in sorted_plugins: 84 content = self.plugin2nix(pdesc, plugin) 85 f.write(content) 86 - if plugin.name == "nvim-treesitter" and plugin.commit != nvim_treesitter_rev: 87 self.nvim_treesitter_updated = True 88 f.write("\n}\n") 89 print(f"updated {outfile}") 90 91 def plugin2nix(self, pdesc: PluginDesc, plugin: pluginupdate.Plugin) -> str: 92 93 repo = pdesc.repo 94 - isNeovim = isNeovimPlugin(plugin) 95 96 content = f" {plugin.normalized_name} = " 97 src_nix = repo.as_nix(plugin) ··· 103 }}; 104 105 """.format( 106 - buildFn="buildNeovimPlugin" if isNeovim else "buildVimPlugin", plugin=plugin, src_nix=src_nix, repo=repo) 107 log.debug(content) 108 return content 109 - 110 111 def update(self, args): 112 pluginupdate.update_plugins(self, args) ··· 114 if self.nvim_treesitter_updated: 115 print("updating nvim-treesitter grammars") 116 nvim_treesitter_dir = ROOT.joinpath("nvim-treesitter") 117 - subprocess.check_call([nvim_treesitter_dir.joinpath("update.py")]) 118 119 if self.nixpkgs_repo: 120 index = self.nixpkgs_repo.index 121 for diff in index.diff(None): 122 - if diff.a_path == "pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix": 123 msg = "vimPlugins.nvim-treesitter: update grammars" 124 print(f"committing to nixpkgs: {msg}") 125 index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))]) ··· 131 def main(): 132 133 global luaPlugins 134 - luaPlugins = run_nix_expr(GET_PLUGINS_LUA) 135 136 - with open(f"{ROOT}/get-plugins.nix") as f: 137 GET_PLUGINS = f.read() 138 - editor = VimEditor("vim", ROOT, GET_PLUGINS) 139 editor.run() 140 141
··· 1 + #!/usr/bin/env python 2 3 + # run with: 4 + # $ nix run .\#vimPluginsUpdater 5 # format: 6 + # $ nix run nixpkgs#python3Packages.black -- update.py 7 # type-check: 8 + # $ nix run nixpkgs#python3Packages.mypy -- update.py 9 # linted: 10 + # $ nix run nixpkgs#python3Packages.flake8 -- --ignore E501,E265,E402 update.py 11 12 + # If you see `HTTP Error 429: too many requests` errors while running this 13 + # script, refer to: 14 # 15 # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/vim.section.md#updating-plugins-in-nixpkgs-updating-plugins-in-nixpkgs 16 # 17 + # (or the equivalent file /doc/languages-frameworks/vim.section.md 18 + # from Nixpkgs master tree). 19 # 20 21 import inspect 22 import os 23 import logging 24 import textwrap 25 + import json 26 from typing import List, Tuple 27 from pathlib import Path 28 29 30 log = logging.getLogger() 31 32 sh = logging.StreamHandler() 33 + formatter = logging.Formatter("%(name)s:%(levelname)s: %(message)s") 34 sh.setFormatter(formatter) 35 log.addHandler(sh) 36 37 # Import plugin update library from maintainers/scripts/pluginupdate.py 38 ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))) 39 import pluginupdate 40 + import importlib 41 from pluginupdate import run_nix_expr, PluginDesc 42 + from treesitter import update_grammars 43 44 45 HEADER = ( 46 "# GENERATED by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!" 47 ) 48 49 + NVIM_TREESITTER_GENERATED_NIX = \ 50 + "pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix" 51 52 53 class VimEditor(pluginupdate.Editor): 54 nvim_treesitter_updated = False 55 56 + def generate_nix( 57 + self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str 58 + ): 59 sorted_plugins = sorted(plugins, key=lambda v: v[0].name.lower()) 60 + nvim_treesitter_rev = pluginupdate.run_nix_expr( 61 + "(import <localpkgs> { }).vimPlugins.nvim-treesitter.src.rev", 62 + self.nixpkgs 63 + ) 64 65 with open(outfile, "w+") as f: 66 f.write(HEADER) 67 + f.write( 68 + textwrap.dedent( 69 + """ 70 { lib, buildVimPlugin, buildNeovimPlugin, fetchFromGitHub, fetchgit }: 71 72 final: prev: 73 { 74 """ 75 + ) 76 + ) 77 for pdesc, plugin in sorted_plugins: 78 content = self.plugin2nix(pdesc, plugin) 79 f.write(content) 80 + if ( 81 + plugin.name == "nvim-treesitter" and plugin.commit != nvim_treesitter_rev 82 + ): 83 self.nvim_treesitter_updated = True 84 f.write("\n}\n") 85 print(f"updated {outfile}") 86 87 def plugin2nix(self, pdesc: PluginDesc, plugin: pluginupdate.Plugin) -> str: 88 + GET_PLUGINS_LUA = """ 89 + with import <localpkgs> {}; 90 + lib.attrNames lua51Packages""" 91 + luaPlugins = run_nix_expr(GET_PLUGINS_LUA, self.nixpkgs) 92 93 repo = pdesc.repo 94 + 95 + def _isNeovimPlugin(plug: pluginupdate.Plugin) -> bool: 96 + """ 97 + Whether it's a neovim-only plugin 98 + We can check if it's available in lua packages 99 + """ 100 + # global luaPlugins 101 + if plug.normalized_name in luaPlugins: 102 + log.debug("%s is a neovim plugin", plug) 103 + return True 104 + return False 105 + 106 + isNeovim = _isNeovimPlugin(plugin) 107 108 content = f" {plugin.normalized_name} = " 109 src_nix = repo.as_nix(plugin) ··· 115 }}; 116 117 """.format( 118 + buildFn="buildNeovimPlugin" if isNeovim else "buildVimPlugin", 119 + plugin=plugin, 120 + src_nix=src_nix, 121 + repo=repo, 122 + ) 123 log.debug(content) 124 return content 125 126 def update(self, args): 127 pluginupdate.update_plugins(self, args) ··· 129 if self.nvim_treesitter_updated: 130 print("updating nvim-treesitter grammars") 131 nvim_treesitter_dir = ROOT.joinpath("nvim-treesitter") 132 + lockfile = json.load(open(args.nixpkgs.join(NVIM_TREESITTER_GENERATED_FILE, "lockfile.json"))) 133 + 134 + nvim_treesitter.update_grammars(lockfile) 135 136 if self.nixpkgs_repo: 137 index = self.nixpkgs_repo.index 138 for diff in index.diff(None): 139 + if diff.a_path == NVIM_TREESITTER_GENERATED_NIX: 140 msg = "vimPlugins.nvim-treesitter: update grammars" 141 print(f"committing to nixpkgs: {msg}") 142 index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))]) ··· 148 def main(): 149 150 global luaPlugins 151 152 + log.debug(f"Loading from {ROOT}/../get-plugins.nix") 153 + with open(f"{ROOT}/../get-plugins.nix") as f: 154 GET_PLUGINS = f.read() 155 + editor = VimEditor("vim", Path("pkgs/applications/editors/vim/plugins"), GET_PLUGINS) 156 editor.run() 157 158
+47
pkgs/applications/editors/vim/plugins/updater.nix
···
··· 1 + { buildPythonApplication 2 + , nix 3 + , makeWrapper 4 + , python3Packages 5 + , lib 6 + 7 + # optional 8 + , vimPlugins 9 + , neovim 10 + }: 11 + let 12 + my_neovim = neovim.override { 13 + configure.packages.all.start = [ vimPlugins.nvim-treesitter ]; 14 + }; 15 + 16 + in 17 + buildPythonApplication { 18 + format = "other"; 19 + pname = "vim-plugins-updater"; 20 + version = "0.1"; 21 + 22 + nativeBuildInputs = [ 23 + makeWrapper 24 + python3Packages.wrapPython 25 + ]; 26 + 27 + pythonPath = [ 28 + python3Packages.gitpython 29 + ]; 30 + 31 + dontUnpack = true; 32 + 33 + installPhase = '' 34 + mkdir -p $out/bin $out/lib 35 + cp ${./update.py} $out/bin/vim-plugins-updater 36 + cp ${./get-plugins.nix} $out/get-plugins.nix 37 + cp ${./nvim-treesitter/update.py} $out/lib/treesitter.py 38 + cp ${../../../../../maintainers/scripts/pluginupdate.py} $out/lib/pluginupdate.py 39 + 40 + # wrap python scripts 41 + makeWrapperArgs+=( --prefix PATH : "${lib.makeBinPath [ nix my_neovim ]}" --prefix PYTHONPATH : "$out/lib" ) 42 + wrapPythonPrograms 43 + ''; 44 + 45 + meta.mainProgram = "vim-plugins-updater"; 46 + } 47 +
+2 -2
pkgs/applications/editors/vscode/extensions/default.nix
··· 700 mktplcRef = { 701 name = "ruff"; 702 publisher = "charliermarsh"; 703 - version = "2023.38.0"; 704 - sha256 = "sha256-Gcw+X8e8MrTflotHUwkrdP/DD/6AX/kEgtRiqvqyqRM="; 705 }; 706 meta = { 707 license = lib.licenses.mit;
··· 700 mktplcRef = { 701 name = "ruff"; 702 publisher = "charliermarsh"; 703 + version = "2023.40.0"; 704 + sha256 = "sha256-Ym76WtKvz18NgxH9o8O/Ozn+/AtqLvjJs8ffLhPOWkQ="; 705 }; 706 meta = { 707 license = lib.licenses.mit;
+2 -2
pkgs/applications/editors/vscode/generic.nix
··· 1 { stdenv, lib, makeDesktopItem 2 , unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages 3 - , atomEnv, at-spi2-atk, autoPatchelfHook 4 , systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland 5 , libglvnd, libkrb5 6 ··· 67 }; 68 69 buildInputs = [ libsecret libXScrnSaver libxshmfence ] 70 - ++ lib.optionals (!stdenv.isDarwin) ([ at-spi2-atk libkrb5 ] ++ atomEnv.packages); 71 72 runtimeDependencies = lib.optionals stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu wayland libsecret ]; 73
··· 1 { stdenv, lib, makeDesktopItem 2 , unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages 3 + , at-spi2-atk, autoPatchelfHook, alsa-lib, mesa, nss, nspr, xorg 4 , systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland 5 , libglvnd, libkrb5 6 ··· 67 }; 68 69 buildInputs = [ libsecret libXScrnSaver libxshmfence ] 70 + ++ lib.optionals (!stdenv.isDarwin) [ alsa-lib at-spi2-atk libkrb5 mesa nss nspr systemd xorg.libxkbfile ]; 71 72 runtimeDependencies = lib.optionals stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu wayland libsecret ]; 73
+11
pkgs/applications/emulators/duckstation/001-fix-test-inclusion.diff
···
··· 1 + diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt 2 + index 879d46bc..95570f6b 100644 3 + --- a/src/CMakeLists.txt 4 + +++ b/src/CMakeLists.txt 5 + @@ -20,5 +20,5 @@ if(BUILD_REGTEST) 6 + endif() 7 + 8 + if(BUILD_TESTS) 9 + - add_subdirectory(common-tests EXCLUDE_FROM_ALL) 10 + + add_subdirectory(common-tests) 11 + endif()
+19
pkgs/applications/emulators/duckstation/002-hardcode-vars.diff
···
··· 1 + diff --git a/src/scmversion/gen_scmversion.sh b/src/scmversion/gen_scmversion.sh 2 + index 9c1dacab..d1f895ee 100755 3 + --- a/src/scmversion/gen_scmversion.sh 4 + +++ b/src/scmversion/gen_scmversion.sh 5 + @@ -10,10 +10,10 @@ else 6 + fi 7 + 8 + 9 + -HASH=$(git rev-parse HEAD) 10 + -BRANCH=$(git rev-parse --abbrev-ref HEAD | tr -d '\r\n') 11 + -TAG=$(git describe --tags --dirty --exclude latest --exclude preview --exclude legacy --exclude previous-latest | tr -d '\r\n') 12 + -DATE=$(git log -1 --date=iso8601-strict --format=%cd) 13 + +HASH="@gitHash@" 14 + +BRANCH="@gitBranch@" 15 + +TAG="@gitTag@" 16 + +DATE="@gitDate@" 17 + 18 + cd $CURDIR 19 +
+37 -21
pkgs/applications/emulators/duckstation/default.nix
··· 8 , curl 9 , extra-cmake-modules 10 , libXrandr 11 , makeDesktopItem 12 - , mesa # for libgbm 13 , ninja 14 , pkg-config 15 , qtbase 16 , qtsvg 17 , qttools 18 , qtwayland 19 , vulkan-loader 20 , wayland 21 , wrapQtAppsHook 22 , enableWayland ? true 23 }: 24 25 - stdenv.mkDerivation { 26 pname = "duckstation"; 27 - version = "unstable-2023-04-14"; 28 29 src = fetchFromGitHub { 30 owner = "stenzek"; 31 repo = "duckstation"; 32 - rev = "5fee6f5abee7f3aad65da5523e57896e10e2a53a"; 33 - sha256 = "sha256-sRs/b4GVXhF3zrOef8DSBKJJGYECUER/nNWZAqv7suA="; 34 }; 35 36 nativeBuildInputs = [ 37 cmake 38 copyDesktopItems ··· 49 SDL2 50 curl 51 libXrandr 52 - mesa 53 qtbase 54 qtsvg 55 vulkan-loader ··· 60 ] 61 ++ cubeb.passthru.backendLibs; 62 63 cmakeFlags = [ 64 - "-DUSE_DRMKMS=ON" 65 - ] 66 - ++ lib.optionals enableWayland [ "-DUSE_WAYLAND=ON" ]; 67 68 desktopItems = [ 69 (makeDesktopItem { ··· 79 }) 80 ]; 81 82 installPhase = '' 83 runHook preInstall 84 ··· 92 runHook postInstall 93 ''; 94 95 - doCheck = true; 96 - checkPhase = '' 97 - runHook preCheck 98 - bin/common-tests 99 - runHook postCheck 100 - ''; 101 - 102 qtWrapperArgs = [ 103 "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ vulkan-loader ] ++ cubeb.passthru.backendLibs)}" 104 ]; 105 106 - meta = with lib; { 107 homepage = "https://github.com/stenzek/duckstation"; 108 description = "Fast PlayStation 1 emulator for x86-64/AArch32/AArch64"; 109 - license = licenses.gpl3Only; 110 mainProgram = "duckstation-qt"; 111 - maintainers = with maintainers; [ guibou AndersonTorres ]; 112 - platforms = platforms.linux; 113 }; 114 - }
··· 8 , curl 9 , extra-cmake-modules 10 , libXrandr 11 + , libbacktrace 12 , makeDesktopItem 13 , ninja 14 , pkg-config 15 , qtbase 16 , qtsvg 17 , qttools 18 , qtwayland 19 + , substituteAll 20 , vulkan-loader 21 , wayland 22 , wrapQtAppsHook 23 , enableWayland ? true 24 }: 25 26 + stdenv.mkDerivation (finalAttrs: { 27 pname = "duckstation"; 28 + version = "unstable-2023-09-30"; 29 30 src = fetchFromGitHub { 31 owner = "stenzek"; 32 repo = "duckstation"; 33 + rev = "d5608bf12df7a7e03750cb94a08a3d7999034ae2"; 34 + hash = "sha256-ktfZgacjkN6GQb1vLmyTZMr8QmmH12qAvFSIBTjgRSs="; 35 }; 36 37 + patches = [ 38 + # Tests are not built by default 39 + ./001-fix-test-inclusion.diff 40 + # Patching yet another script that fills data based on git commands... 41 + (substituteAll { 42 + src = ./002-hardcode-vars.diff; 43 + gitHash = finalAttrs.src.rev; 44 + gitBranch = "master"; 45 + gitTag = "0.1-5889-gd5608bf1"; 46 + gitDate = "2023-09-30T23:20:09+10:00"; 47 + }) 48 + ]; 49 + 50 nativeBuildInputs = [ 51 cmake 52 copyDesktopItems ··· 63 SDL2 64 curl 65 libXrandr 66 + libbacktrace 67 qtbase 68 qtsvg 69 vulkan-loader ··· 74 ] 75 ++ cubeb.passthru.backendLibs; 76 77 + strictDeps = true; 78 + 79 cmakeFlags = [ 80 + (lib.cmakeBool "BUILD_TESTS" true) 81 + (lib.cmakeBool "ENABLE_WAYLAND" enableWayland) 82 + ]; 83 84 desktopItems = [ 85 (makeDesktopItem { ··· 95 }) 96 ]; 97 98 + doCheck = true; 99 + checkPhase = '' 100 + runHook preCheck 101 + bin/common-tests 102 + runHook postCheck 103 + ''; 104 + 105 installPhase = '' 106 runHook preInstall 107 ··· 115 runHook postInstall 116 ''; 117 118 qtWrapperArgs = [ 119 "--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ vulkan-loader ] ++ cubeb.passthru.backendLibs)}" 120 ]; 121 122 + meta = { 123 homepage = "https://github.com/stenzek/duckstation"; 124 description = "Fast PlayStation 1 emulator for x86-64/AArch32/AArch64"; 125 + license = lib.licenses.gpl3Only; 126 mainProgram = "duckstation-qt"; 127 + maintainers = with lib.maintainers; [ guibou AndersonTorres ]; 128 + platforms = lib.platforms.linux; 129 }; 130 + })
+2 -2
pkgs/applications/emulators/mame/default.nix
··· 38 in 39 stdenv.mkDerivation rec { 40 pname = "mame"; 41 - version = "0.258"; 42 srcVersion = builtins.replaceStrings [ "." ] [ "" ] version; 43 44 src = fetchFromGitHub { 45 owner = "mamedev"; 46 repo = "mame"; 47 rev = "mame${srcVersion}"; 48 - hash = "sha256-5wsPlI3xTCeadxvOjjNSGtaa8F7M6gZobsv2Ks8DSGE="; 49 }; 50 51 outputs = [ "out" "tools" ];
··· 38 in 39 stdenv.mkDerivation rec { 40 pname = "mame"; 41 + version = "0.259"; 42 srcVersion = builtins.replaceStrings [ "." ] [ "" ] version; 43 44 src = fetchFromGitHub { 45 owner = "mamedev"; 46 repo = "mame"; 47 rev = "mame${srcVersion}"; 48 + hash = "sha256-F8psPvwuaILXZF7dCStJApVTD9zzzBwjf1CKGelHlqE="; 49 }; 50 51 outputs = [ "out" "tools" ];
+13 -19
pkgs/applications/graphics/nomacs/default.nix
··· 1 - { stdenv 2 - , lib 3 - , mkDerivation 4 , fetchFromGitHub 5 - , fetchpatch 6 , cmake 7 , pkg-config 8 9 , qtbase 10 , qttools ··· 18 , quazip 19 }: 20 21 - mkDerivation rec { 22 pname = "nomacs"; 23 - version = "3.17.2206"; 24 25 src = fetchFromGitHub { 26 owner = "nomacs"; 27 repo = "nomacs"; 28 rev = version; 29 - sha256 = "1bq7bv4p7w67172y893lvpk90d6fgdpnylynbj2kn8m2hs6khya4"; 30 }; 31 32 - patches = [ 33 - # Add support for Quazip 1.x. 34 - (fetchpatch { 35 - url = "https://github.com/nomacs/nomacs/pull/576.patch"; 36 - sha256 = "11ryjvd9jbb0cqagai4a6980jfq8lrcbyw2d7z9yld1f42w9kbxm"; 37 - stripLen = 1; 38 - }) 39 - ]; 40 - 41 setSourceRoot = '' 42 sourceRoot=$(echo */ImageLounge) 43 ''; 44 45 nativeBuildInputs = [cmake 46 - pkg-config]; 47 48 buildInputs = [qtbase 49 qttools ··· 62 "-DENABLE_TRANSLATIONS=ON" 63 "-DUSE_SYSTEM_QUAZIP=ON"]; 64 65 meta = with lib; { 66 homepage = "https://nomacs.org"; 67 description = "Qt-based image viewer"; 68 maintainers = with lib.maintainers; [ mindavi ]; 69 license = licenses.gpl3Plus; 70 inherit (qtbase.meta) platforms; 71 - # Broken on hydra since 2020-08-15: https://hydra.nixos.org/build/125495291 (bump from 3.16 to 3.17 prerelease) 72 - broken = stdenv.isDarwin; 73 }; 74 }
··· 1 + { lib 2 + , stdenv 3 , fetchFromGitHub 4 , cmake 5 , pkg-config 6 + , wrapQtAppsHook 7 8 , qtbase 9 , qttools ··· 17 , quazip 18 }: 19 20 + stdenv.mkDerivation rec { 21 pname = "nomacs"; 22 + version = "3.17.2285"; 23 24 src = fetchFromGitHub { 25 owner = "nomacs"; 26 repo = "nomacs"; 27 rev = version; 28 + hash = "sha256-/K7LRPwNy2PG7tIGD0tiKnEOPZ491lxFRlgf4xWYtxs="; 29 }; 30 31 setSourceRoot = '' 32 sourceRoot=$(echo */ImageLounge) 33 ''; 34 35 nativeBuildInputs = [cmake 36 + pkg-config 37 + wrapQtAppsHook]; 38 39 buildInputs = [qtbase 40 qttools ··· 53 "-DENABLE_TRANSLATIONS=ON" 54 "-DUSE_SYSTEM_QUAZIP=ON"]; 55 56 + postInstall = lib.optionalString stdenv.isDarwin '' 57 + mkdir -p $out/lib 58 + mv $out/libnomacsCore.dylib $out/lib/libnomacsCore.dylib 59 + ''; 60 + 61 meta = with lib; { 62 homepage = "https://nomacs.org"; 63 description = "Qt-based image viewer"; 64 maintainers = with lib.maintainers; [ mindavi ]; 65 license = licenses.gpl3Plus; 66 inherit (qtbase.meta) platforms; 67 }; 68 }
+48 -24
pkgs/applications/misc/azuredatastudio/default.nix
··· 4 , copyDesktopItems 5 , makeDesktopItem 6 , makeWrapper 7 - , libuuid 8 - , libunwind 9 - , libxkbcommon 10 - , icu 11 - , openssl 12 - , zlib 13 , curl 14 - , at-spi2-core 15 - , at-spi2-atk 16 , gnutar 17 - , atomEnv 18 - , libkrb5 19 , libdrm 20 , mesa 21 , xorg 22 }: 23 24 # from justinwoo/azuredatastudio-nix ··· 115 sqltoolsservicePath = "${targetPath}/resources/app/extensions/mssql/sqltoolsservice/Linux/4.7.1.6"; 116 117 rpath = lib.concatStringsSep ":" [ 118 - atomEnv.libPath 119 - ( 120 - lib.makeLibraryPath [ 121 - libuuid 122 - at-spi2-core 123 - at-spi2-atk 124 - stdenv.cc.cc.lib 125 - libkrb5 126 - libdrm 127 - libxkbcommon 128 - mesa 129 - xorg.libxshmfence 130 - ] 131 - ) 132 targetPath 133 sqltoolsserviceRpath 134 ];
··· 4 , copyDesktopItems 5 , makeDesktopItem 6 , makeWrapper 7 + , alsa-lib 8 + , at-spi2-atk 9 + , at-spi2-core 10 + , cairo 11 + , cups 12 , curl 13 + , dbus 14 + , expat 15 + , gdk-pixbuf 16 + , glib 17 , gnutar 18 + , gtk3 19 + , icu 20 , libdrm 21 + , libunwind 22 + , libuuid 23 + , libxkbcommon 24 , mesa 25 + , nspr 26 + , nss 27 + , openssl 28 + , pango 29 + , systemd 30 , xorg 31 + , zlib 32 }: 33 34 # from justinwoo/azuredatastudio-nix ··· 125 sqltoolsservicePath = "${targetPath}/resources/app/extensions/mssql/sqltoolsservice/Linux/4.7.1.6"; 126 127 rpath = lib.concatStringsSep ":" [ 128 + (lib.makeLibraryPath [ 129 + alsa-lib 130 + at-spi2-atk 131 + cairo 132 + cups 133 + dbus 134 + expat 135 + gdk-pixbuf 136 + glib 137 + gtk3 138 + mesa 139 + nss 140 + nspr 141 + libdrm 142 + xorg.libX11 143 + xorg.libxcb 144 + xorg.libXcomposite 145 + xorg.libXdamage 146 + xorg.libXext 147 + xorg.libXfixes 148 + xorg.libXrandr 149 + xorg.libxshmfence 150 + libxkbcommon 151 + xorg.libxkbfile 152 + pango 153 + stdenv.cc.cc.lib 154 + systemd 155 + ]) 156 targetPath 157 sqltoolsserviceRpath 158 ];
+61 -8
pkgs/applications/misc/sidequest/default.nix
··· 1 - { stdenv, lib, fetchurl, buildFHSEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, libxkbcommon, libxshmfence, at-spi2-atk, icu, openssl, zlib }: 2 let 3 pname = "sidequest"; 4 version = "0.10.33"; ··· 21 22 nativeBuildInputs = [ makeWrapper ]; 23 24 - buildCommand = '' 25 mkdir -p "$out/lib/SideQuest" "$out/bin" 26 tar -xJf "$src" -C "$out/lib/SideQuest" --strip-components 1 27 28 ln -s "$out/lib/SideQuest/sidequest" "$out/bin" 29 30 - fixupPhase 31 - 32 - # mkdir -p "$out/share/applications" 33 - # ln -s "${desktopItem}/share/applications/*" "$out/share/applications" 34 - 35 patchelf \ 36 --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 37 - --set-rpath "${atomEnv.libPath}/lib:${lib.makeLibraryPath [libuuid at-spi2-atk]}:$out/lib/SideQuest" \ 38 "$out/lib/SideQuest/sidequest" 39 ''; 40 };
··· 1 + { stdenv 2 + , lib 3 + , fetchurl 4 + , buildFHSEnv 5 + , makeDesktopItem 6 + , makeWrapper 7 + , alsa-lib 8 + , at-spi2-atk 9 + , cairo 10 + , cups 11 + , dbus 12 + , expat 13 + , gdk-pixbuf 14 + , glib 15 + , gtk3 16 + , mesa 17 + , nss 18 + , nspr 19 + , libdrm 20 + , xorg 21 + , libxkbcommon 22 + , libxshmfence 23 + , pango 24 + , systemd 25 + , icu 26 + , openssl 27 + , zlib 28 + }: 29 let 30 pname = "sidequest"; 31 version = "0.10.33"; ··· 48 49 nativeBuildInputs = [ makeWrapper ]; 50 51 + installPhase = '' 52 mkdir -p "$out/lib/SideQuest" "$out/bin" 53 tar -xJf "$src" -C "$out/lib/SideQuest" --strip-components 1 54 55 ln -s "$out/lib/SideQuest/sidequest" "$out/bin" 56 + ''; 57 58 + postFixup = let 59 + libPath = lib.makeLibraryPath [ 60 + alsa-lib 61 + at-spi2-atk 62 + cairo 63 + cups 64 + dbus 65 + expat 66 + gdk-pixbuf 67 + glib 68 + gtk3 69 + mesa 70 + nss 71 + nspr 72 + libdrm 73 + xorg.libX11 74 + xorg.libxcb 75 + xorg.libXcomposite 76 + xorg.libXdamage 77 + xorg.libXext 78 + xorg.libXfixes 79 + xorg.libXrandr 80 + xorg.libxshmfence 81 + libxkbcommon 82 + xorg.libxkbfile 83 + pango 84 + stdenv.cc.cc.lib 85 + systemd 86 + ]; 87 + in '' 88 patchelf \ 89 --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 90 + --set-rpath "${libPath}:$out/lib/SideQuest" \ 91 "$out/lib/SideQuest/sidequest" 92 ''; 93 };
+19 -6
pkgs/applications/misc/simplenote/default.nix
··· 1 - { atomEnv 2 - , autoPatchelfHook 3 , dpkg 4 , fetchurl 5 , makeDesktopItem ··· 7 , lib 8 , stdenv 9 , udev 10 , wrapGAppsHook 11 }: 12 13 let ··· 40 inherit pname version meta; 41 42 src = fetchurl { 43 - url = 44 - "https://github.com/Automattic/simplenote-electron/releases/download/" 45 - + "v${version}/Simplenote-linux-${version}-amd64.deb"; 46 inherit sha256; 47 }; 48 ··· 61 dontPatchELF = true; 62 dontWrapGApps = true; 63 64 nativeBuildInputs = [ 65 autoPatchelfHook 66 dpkg ··· 68 wrapGAppsHook 69 ]; 70 71 - buildInputs = atomEnv.packages; 72 73 unpackPhase = "dpkg-deb -x $src ."; 74
··· 1 + { autoPatchelfHook 2 , dpkg 3 , fetchurl 4 , makeDesktopItem ··· 6 , lib 7 , stdenv 8 , udev 9 + , alsa-lib 10 + , mesa 11 + , nss 12 + , nspr 13 + , systemd 14 , wrapGAppsHook 15 + , xorg 16 }: 17 18 let ··· 45 inherit pname version meta; 46 47 src = fetchurl { 48 + url = "https://github.com/Automattic/simplenote-electron/releases/download/v${version}/Simplenote-linux-${version}-amd64.deb"; 49 inherit sha256; 50 }; 51 ··· 64 dontPatchELF = true; 65 dontWrapGApps = true; 66 67 + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron 68 nativeBuildInputs = [ 69 autoPatchelfHook 70 dpkg ··· 72 wrapGAppsHook 73 ]; 74 75 + buildInputs = [ 76 + alsa-lib 77 + mesa 78 + xorg.libXScrnSaver 79 + xorg.libXtst 80 + nss 81 + nspr 82 + stdenv.cc.cc 83 + systemd 84 + ]; 85 86 unpackPhase = "dpkg-deb -x $src ."; 87
+3 -3
pkgs/applications/misc/tui-journal/default.nix
··· 11 12 rustPlatform.buildRustPackage rec { 13 pname = "tui-journal"; 14 - version = "0.3.1"; 15 16 src = fetchFromGitHub { 17 owner = "AmmarAbouZor"; 18 repo = "tui-journal"; 19 rev = "v${version}"; 20 - hash = "sha256-DKactqPyZTDmD4F15wKHvwuzsZUj6y1MJuPyASnia/c="; 21 }; 22 23 - cargoHash = "sha256-dLyI2cmIz1ucKdhAEs3Nz1tamcJUDZtdv4Fk/Wo+Zxs="; 24 25 nativeBuildInputs = [ 26 pkg-config
··· 11 12 rustPlatform.buildRustPackage rec { 13 pname = "tui-journal"; 14 + version = "0.3.2"; 15 16 src = fetchFromGitHub { 17 owner = "AmmarAbouZor"; 18 repo = "tui-journal"; 19 rev = "v${version}"; 20 + hash = "sha256-ASozznbqtQc9bIzxbL94t2CHY2/PeXfR1DKfhTmsX74="; 21 }; 22 23 + cargoHash = "sha256-H+j/i0Gfk7O2TLdw5FYHOrLy/jfMSF4cpzMtQ2XJn2M="; 24 25 nativeBuildInputs = [ 26 pkg-config
+2 -2
pkgs/applications/networking/cluster/ocm/default.nix
··· 2 3 buildGoModule rec { 4 pname = "ocm"; 5 - version = "0.1.68"; 6 7 src = fetchFromGitHub { 8 owner = "openshift-online"; 9 repo = "ocm-cli"; 10 rev = "v${version}"; 11 - sha256 = "sha256-pJ/QWdKLVKFQuaGO9sNf6lhMMgqk9VZS9NLtUz+2+t8="; 12 }; 13 14 vendorHash = "sha256-3HLTuWf4mK3r92s2mPE2yl/rrPxgcsB9EmrxkiJsMaE=";
··· 2 3 buildGoModule rec { 4 pname = "ocm"; 5 + version = "0.1.69"; 6 7 src = fetchFromGitHub { 8 owner = "openshift-online"; 9 repo = "ocm-cli"; 10 rev = "v${version}"; 11 + sha256 = "sha256-JKR58is8SzNmEQ8x1om1anReLIbNCHJkkzZQ1SiQ5J4="; 12 }; 13 14 vendorHash = "sha256-3HLTuWf4mK3r92s2mPE2yl/rrPxgcsB9EmrxkiJsMaE=";
+1 -19
pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
··· 1 { lib 2 , stdenv 3 , fetchurl 4 - , atomEnv 5 , electron_26 6 - , systemd 7 - , pulseaudio 8 - , libxshmfence 9 - , libnotify 10 - , libappindicator-gtk3 11 , makeWrapper 12 - , autoPatchelfHook 13 }: 14 15 let ··· 38 39 src = fetchurl (srcs."${system}" or (throw "Unsupported system ${system}")); 40 41 - nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; 42 - 43 - buildInputs = atomEnv.packages ++ [ 44 - libxshmfence 45 - ]; 46 - 47 - runtimeDependencies = [ 48 - (lib.getLib systemd) 49 - pulseaudio 50 - libnotify 51 - libappindicator-gtk3 52 - ]; 53 54 installPhase = '' 55 runHook preInstall
··· 1 { lib 2 , stdenv 3 , fetchurl 4 , electron_26 5 , makeWrapper 6 }: 7 8 let ··· 31 32 src = fetchurl (srcs."${system}" or (throw "Unsupported system ${system}")); 33 34 + nativeBuildInputs = [ makeWrapper ]; 35 36 installPhase = '' 37 runHook preInstall
+2 -2
pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
··· 2 3 (if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec { 4 pname = "signalbackup-tools"; 5 - version = "20230929"; 6 7 src = fetchFromGitHub { 8 owner = "bepaald"; 9 repo = pname; 10 rev = version; 11 - hash = "sha256-5U8znPKCe4auQRfysVUzXawnvnSj86MD3J2vfAwxofE="; 12 }; 13 14 postPatch = ''
··· 2 3 (if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec { 4 pname = "signalbackup-tools"; 5 + version = "20231002-1"; 6 7 src = fetchFromGitHub { 8 owner = "bepaald"; 9 repo = pname; 10 rev = version; 11 + hash = "sha256-aZ3KuUjBsgww7CFdSuYMurLc5sDruEX4xuQWDBaCfPk="; 12 }; 13 14 postPatch = ''
-15
pkgs/applications/networking/instant-messengers/teams/default.nix
··· 1 { lib 2 , stdenv 3 - , runtimeShell 4 , fetchurl 5 - , autoPatchelfHook 6 - , wrapGAppsHook 7 - , dpkg 8 - , atomEnv 9 - , libuuid 10 - , libappindicator-gtk3 11 - , pulseaudio 12 - , at-spi2-atk 13 - , coreutils 14 - , gawk 15 - , xdg-utils 16 - , systemd 17 - , asar 18 , xar 19 , cpio 20 , makeWrapper 21 - , enableRectOverlay ? false 22 }: 23 24 let
··· 1 { lib 2 , stdenv 3 , fetchurl 4 , xar 5 , cpio 6 , makeWrapper 7 }: 8 9 let
+16 -8
pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
··· 1 - { atomEnv 2 - , autoPatchelfHook 3 , dpkg 4 , fetchurl 5 , makeDesktopItem ··· 11 , cpio 12 , xar 13 , libdbusmenu 14 - , libxshmfence 15 }: 16 17 let ··· 64 inherit pname version meta; 65 66 src = fetchurl { 67 - url = "https://wire-app.wire.com/linux/debian/pool/main/" 68 - + "Wire-${version}_amd64.deb"; 69 inherit hash; 70 }; 71 ··· 85 dontPatchELF = true; 86 dontWrapGApps = true; 87 88 nativeBuildInputs = [ 89 autoPatchelfHook 90 dpkg ··· 92 wrapGAppsHook 93 ]; 94 95 - buildInputs = [ libxshmfence ] ++ atomEnv.packages; 96 97 unpackPhase = '' 98 runHook preUnpack ··· 132 inherit pname version meta; 133 134 src = fetchurl { 135 - url = "https://github.com/wireapp/wire-desktop/releases/download/" 136 - + "macos%2F${version}/Wire.pkg"; 137 inherit hash; 138 }; 139
··· 1 + { autoPatchelfHook 2 , dpkg 3 , fetchurl 4 , makeDesktopItem ··· 10 , cpio 11 , xar 12 , libdbusmenu 13 + , alsa-lib 14 + , mesa 15 + , nss 16 + , nspr 17 + , systemd 18 }: 19 20 let ··· 67 inherit pname version meta; 68 69 src = fetchurl { 70 + url = "https://wire-app.wire.com/linux/debian/pool/main/Wire-${version}_amd64.deb"; 71 inherit hash; 72 }; 73 ··· 87 dontPatchELF = true; 88 dontWrapGApps = true; 89 90 + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron 91 nativeBuildInputs = [ 92 autoPatchelfHook 93 dpkg ··· 95 wrapGAppsHook 96 ]; 97 98 + buildInputs = [ 99 + alsa-lib 100 + mesa 101 + nss 102 + nspr 103 + systemd 104 + ]; 105 106 unpackPhase = '' 107 runHook preUnpack ··· 141 inherit pname version meta; 142 143 src = fetchurl { 144 + url = "https://github.com/wireapp/wire-desktop/releases/download/macos%2F${version}/Wire.pkg"; 145 inherit hash; 146 }; 147
+3 -3
pkgs/applications/networking/syncthing/default.nix
··· 13 common = { stname, target, postInstall ? "" }: 14 buildGoModule rec { 15 pname = stname; 16 - version = "1.24.0"; 17 18 src = fetchFromGitHub { 19 owner = "syncthing"; 20 repo = "syncthing"; 21 rev = "v${version}"; 22 - hash = "sha256-5vr9qWMHBYpu8wHpV1JZcX1kEPi+mYeZ7ZQBqXASp9I="; 23 }; 24 25 - vendorHash = "sha256-BZwZ6npmWFU0lvynjRZOBOhtxqic0djoSUdCOLbUwjE="; 26 27 nativeBuildInputs = lib.optionals stdenv.isDarwin [ 28 # Recent versions of macOS seem to require binaries to be signed when
··· 13 common = { stname, target, postInstall ? "" }: 14 buildGoModule rec { 15 pname = stname; 16 + version = "1.25.0"; 17 18 src = fetchFromGitHub { 19 owner = "syncthing"; 20 repo = "syncthing"; 21 rev = "v${version}"; 22 + hash = "sha256-HDzAqnWRfBlRHVf3V7+Y1IPH4QmZiRpxpEzOUgOYgUk="; 23 }; 24 25 + vendorHash = "sha256-I/ul8ocHPlvtgbTR+/1FyqF0IbHZZSoAFe/0RFJtOYk="; 26 27 nativeBuildInputs = lib.optionals stdenv.isDarwin [ 28 # Recent versions of macOS seem to require binaries to be signed when
+10 -4
pkgs/applications/networking/termius/default.nix
··· 1 - { atomEnv 2 - , autoPatchelfHook 3 , squashfsTools 4 , fetchurl 5 , makeDesktopItem 6 , makeWrapper 7 , stdenv 8 , lib 9 , udev 10 , wrapGAppsHook 11 - , libxshmfence 12 }: 13 14 stdenv.mkDerivation rec { ··· 41 dontPatchELF = true; 42 dontWrapGApps = true; 43 44 nativeBuildInputs = [ autoPatchelfHook squashfsTools makeWrapper wrapGAppsHook ]; 45 46 - buildInputs = atomEnv.packages ++ [ libxshmfence ]; 47 48 unpackPhase = '' 49 runHook preUnpack
··· 1 + { autoPatchelfHook 2 , squashfsTools 3 + , alsa-lib 4 , fetchurl 5 , makeDesktopItem 6 , makeWrapper 7 , stdenv 8 , lib 9 + , libsecret 10 + , mesa 11 , udev 12 , wrapGAppsHook 13 }: 14 15 stdenv.mkDerivation rec { ··· 42 dontPatchELF = true; 43 dontWrapGApps = true; 44 45 + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron 46 nativeBuildInputs = [ autoPatchelfHook squashfsTools makeWrapper wrapGAppsHook ]; 47 48 + buildInputs = [ 49 + alsa-lib 50 + libsecret 51 + mesa 52 + ]; 53 54 unpackPhase = '' 55 runHook preUnpack
+14 -4
pkgs/applications/office/trilium/desktop.nix
··· 1 { stdenv, lib, unzip, autoPatchelfHook 2 - , fetchurl, atomEnv, makeWrapper 3 - , makeDesktopItem, copyDesktopItems, wrapGAppsHook, libxshmfence 4 , metaCommon 5 }: 6 ··· 24 25 src = fetchurl linuxSource; 26 27 nativeBuildInputs = [ 28 autoPatchelfHook 29 makeWrapper ··· 31 copyDesktopItems 32 ]; 33 34 - buildInputs = atomEnv.packages ++ [ libxshmfence ]; 35 36 desktopItems = [ 37 (makeDesktopItem { ··· 64 ''; 65 66 # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :) 67 preFixup = '' 68 - gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath}) 69 ''; 70 71 dontStrip = true;
··· 1 { stdenv, lib, unzip, autoPatchelfHook 2 + , fetchurl, makeWrapper 3 + , alsa-lib, mesa, nss, nspr, systemd 4 + , makeDesktopItem, copyDesktopItems, wrapGAppsHook 5 , metaCommon 6 }: 7 ··· 25 26 src = fetchurl linuxSource; 27 28 + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron 29 nativeBuildInputs = [ 30 autoPatchelfHook 31 makeWrapper ··· 33 copyDesktopItems 34 ]; 35 36 + buildInputs = [ 37 + alsa-lib 38 + mesa 39 + nss 40 + nspr 41 + stdenv.cc.cc 42 + systemd 43 + ]; 44 45 desktopItems = [ 46 (makeDesktopItem { ··· 73 ''; 74 75 # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :) 76 + # Error: libstdc++.so.6: cannot open shared object file: No such file or directory 77 preFixup = '' 78 + gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs}) 79 ''; 80 81 dontStrip = true;
+1 -1
pkgs/applications/science/chemistry/openmolcas/default.nix
··· 104 "-DTOOLS=ON" 105 "-DHDF5=ON" 106 "-DFDE=ON" 107 - "-DEXTERNAL_LIBXC=${libxc}" 108 "-DDMRG=ON" 109 "-DNEVPT2=ON" 110 "-DCMAKE_SKIP_BUILD_RPATH=ON"
··· 104 "-DTOOLS=ON" 105 "-DHDF5=ON" 106 "-DFDE=ON" 107 + "-DEXTERNAL_LIBXC=${lib.getDev libxc}" 108 "-DDMRG=ON" 109 "-DNEVPT2=ON" 110 "-DCMAKE_SKIP_BUILD_RPATH=ON"
+4 -3
pkgs/applications/science/molecular-dynamics/lammps/default.nix
··· 44 }: 45 46 stdenv.mkDerivation (finalAttrs: { 47 - # LAMMPS has weird versioning converted to ISO 8601 format 48 - version = "2Aug2023"; 49 pname = "lammps"; 50 51 src = fetchFromGitHub { 52 owner = "lammps"; 53 repo = "lammps"; 54 rev = "stable_${finalAttrs.version}"; 55 - hash = "sha256-6T4YAa4iN3pJpODGPW+faR16xxyYYdkHLavtiPUbZ4o="; 56 }; 57 preConfigure = '' 58 cd cmake
··· 44 }: 45 46 stdenv.mkDerivation (finalAttrs: { 47 + # LAMMPS has weird versioning convention. Updates should go smoothly with: 48 + # nix-update --commit lammps --version-regex 'stable_(.*)' 49 + version = "2Aug2023_update1"; 50 pname = "lammps"; 51 52 src = fetchFromGitHub { 53 owner = "lammps"; 54 repo = "lammps"; 55 rev = "stable_${finalAttrs.version}"; 56 + hash = "sha256-Zmn87a726qdidBfyvJlYleYv9jqyFAakxjGrg3lipc0="; 57 }; 58 preConfigure = '' 59 cd cmake
+2 -2
pkgs/applications/version-management/gitea/default.nix
··· 20 21 buildGoModule rec { 22 pname = "gitea"; 23 - version = "1.20.4"; 24 25 # not fetching directly from the git repo, because that lacks several vendor files for the web UI 26 src = fetchurl { 27 url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz"; 28 - hash = "sha256-96LI7/4FZy17KED2xc4UFyW4e47DZMuSnMw7loYYB8c="; 29 }; 30 31 vendorHash = null;
··· 20 21 buildGoModule rec { 22 pname = "gitea"; 23 + version = "1.20.5"; 24 25 # not fetching directly from the git repo, because that lacks several vendor files for the web UI 26 src = fetchurl { 27 url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz"; 28 + hash = "sha256-cH/AHsFXOdvfSfj9AZUd3l/RlYE06o1ByZu0vvGQuXw="; 29 }; 30 31 vendorHash = null;
+2 -2
pkgs/applications/video/obs-studio/plugins/obs-move-transition.nix
··· 7 8 stdenv.mkDerivation rec { 9 pname = "obs-move-transition"; 10 - version = "2.9.1"; 11 12 src = fetchFromGitHub { 13 owner = "exeldro"; 14 repo = "obs-move-transition"; 15 rev = version; 16 - sha256 = "sha256-8c+ifFESdNgND+93pOCwkNSvvPtzvNPtvQIp8oW6CQE="; 17 }; 18 19 nativeBuildInputs = [ cmake ];
··· 7 8 stdenv.mkDerivation rec { 9 pname = "obs-move-transition"; 10 + version = "2.9.4"; 11 12 src = fetchFromGitHub { 13 owner = "exeldro"; 14 repo = "obs-move-transition"; 15 rev = version; 16 + sha256 = "sha256-TY+sR7IaOlbFeeh7GL5dgM779pcpiCqzBo7VTK8Uz0E="; 17 }; 18 19 nativeBuildInputs = [ cmake ];
+2 -2
pkgs/applications/video/obs-studio/plugins/obs-shaderfilter.nix
··· 8 9 stdenv.mkDerivation rec { 10 pname = "obs-shaderfilter"; 11 - version = "v1.22"; 12 13 src = fetchFromGitHub { 14 owner = "exeldro"; 15 repo = "obs-shaderfilter"; 16 rev = version; 17 - sha256 = "sha256-CqqYzGRhlHO8Zva+so8uo9+EIlzTfoFVl3NzZMsE7Xc="; 18 }; 19 20 nativeBuildInputs = [ cmake ];
··· 8 9 stdenv.mkDerivation rec { 10 pname = "obs-shaderfilter"; 11 + version = "2.0.0"; 12 13 src = fetchFromGitHub { 14 owner = "exeldro"; 15 repo = "obs-shaderfilter"; 16 rev = version; 17 + sha256 = "sha256-CEe/NUIYhVdvs7/ZvrvuwKPRNofWE+WZxN6yN8RACs8="; 18 }; 19 20 nativeBuildInputs = [ cmake ];
+47
pkgs/by-name/as/ast-grep/package.nix
···
··· 1 + { lib 2 + , rustPlatform 3 + , fetchFromGitHub 4 + , stdenv 5 + }: 6 + 7 + rustPlatform.buildRustPackage rec { 8 + pname = "ast-grep"; 9 + version = "0.12.2"; 10 + 11 + src = fetchFromGitHub { 12 + owner = "ast-grep"; 13 + repo = "ast-grep"; 14 + rev = version; 15 + hash = "sha256-N9hfHgzqwV/G3/xNY2Vx1i2dW6BcABJ/4lkhnLuvIns="; 16 + }; 17 + 18 + cargoHash = "sha256-3ntsPC6OWtSN3MH+3wN2BgOqH69jiW93/xfLY+niARI="; 19 + 20 + # error: linker `aarch64-linux-gnu-gcc` not found 21 + postPatch = '' 22 + rm .cargo/config.toml 23 + ''; 24 + 25 + checkFlags = [ 26 + # disable flaky test 27 + "--skip=test::test_load_parser_mac" 28 + 29 + # BUG: Broke by 0.12.1 update (https://github.com/NixOS/nixpkgs/pull/257385) 30 + # Please check if this is fixed in future updates of the package 31 + "--skip=verify::test_case::tests::test_unmatching_id" 32 + ] ++ lib.optionals (with stdenv.hostPlatform; (isDarwin && isx86_64) || (isLinux && isAarch64)) [ 33 + # x86_64-darwin: source/benches/fixtures/json-mac.so\' (no such file), \'/private/tmp/nix-build-.../source/benches/fixtures/json-mac.so\' (mach-o file, but is an incompatible architecture (have \'arm64\', need \'x86_64h\' or \'x86_64\'))" }) 34 + # aarch64-linux: /build/source/benches/fixtures/json-linux.so: cannot open shared object file: No such file or directory" 35 + "--skip=test::test_load_parser" 36 + "--skip=test::test_register_lang" 37 + ]; 38 + 39 + meta = with lib; { 40 + mainProgram = "sg"; 41 + description = "A fast and polyglot tool for code searching, linting, rewriting at large scale"; 42 + homepage = "https://ast-grep.github.io/"; 43 + changelog = "https://github.com/ast-grep/ast-grep/blob/${src.rev}/CHANGELOG.md"; 44 + license = licenses.mit; 45 + maintainers = with maintainers; [ montchr lord-valen cafkafk ]; 46 + }; 47 + }
+1 -1
pkgs/by-name/gi/girouette/package.nix
··· 37 homepage = "https://github.com/gourlaysama/girouette"; 38 changelog = "https://github.com/gourlaysama/girouette/blob/${src.rev}/CHANGELOG.md"; 39 license = with licenses; [ asl20 mit ]; 40 - maintainers = with maintainers; [ linuxissuper ]; 41 mainProgram = "girouette"; 42 }; 43 }
··· 37 homepage = "https://github.com/gourlaysama/girouette"; 38 changelog = "https://github.com/gourlaysama/girouette/blob/${src.rev}/CHANGELOG.md"; 39 license = with licenses; [ asl20 mit ]; 40 + maintainers = with maintainers; [ linuxissuper cafkafk ]; 41 mainProgram = "girouette"; 42 }; 43 }
+29
pkgs/by-name/ku/kubectl-neat/package.nix
···
··· 1 + { lib, buildGoModule, fetchFromGitHub, bash }: 2 + 3 + buildGoModule rec { 4 + pname = "kubectl-neat"; 5 + version = "2.0.3"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "itaysk"; 9 + repo = "kubectl-neat"; 10 + rev = "v${version}"; 11 + hash = "sha256-j8v0zJDBqHzmLamIZPW9UvMe9bv/m3JUQKY+wsgMTFk="; 12 + }; 13 + 14 + vendorHash = "sha256-vGXoYR0DT9V1BD/FN/4szOal0clsLlqReTFkAd2beMw="; 15 + 16 + postBuild = '' 17 + # Replace path to bash in a script 18 + # Without this change, there's a problem when running tests 19 + sed 's,#!/bin/bash,#!${bash}/bin/bash,' -i test/kubectl-stub 20 + ''; 21 + 22 + meta = with lib; { 23 + description = "Clean up Kubernetes yaml and json output to make it readable"; 24 + homepage = "https://github.com/itaysk/kubectl-neat"; 25 + changelog = "https://github.com/itaysk/kubectl-neat/releases/tag/v${version}"; 26 + license = licenses.asl20; 27 + maintainers = [ maintainers.koralowiec ]; 28 + }; 29 + }
+50
pkgs/by-name/nu/nuget/package.nix
···
··· 1 + { stdenv, fetchFromGitHub, makeWrapper, mono, lib }: 2 + 3 + stdenv.mkDerivation (attrs: { 4 + pname = "Nuget"; 5 + version = "6.6.1.2"; 6 + 7 + src = fetchFromGitHub { 8 + owner = "mono"; 9 + repo = "linux-packaging-nuget"; 10 + rev = "upstream/${attrs.version}.bin"; 11 + sha256 = "sha256-9/dSeVshHbpYIgGE/8OzrB4towrWVB3UxDi8Esmbu7Y="; 12 + }; 13 + 14 + nativeBuildInputs = [ 15 + makeWrapper 16 + ]; 17 + 18 + installPhase = '' 19 + runHook preInstall 20 + 21 + mkdir -p $out/lib/${attrs.pname} 22 + cp -r . $out/lib/${attrs.pname}/ 23 + 24 + mkdir -p $out/bin 25 + makeWrapper \ 26 + "${mono}/bin/mono" \ 27 + "$out/bin/nuget" \ 28 + --add-flags "$out/lib/${attrs.pname}/nuget.exe" 29 + 30 + runHook postInstall 31 + ''; 32 + 33 + meta = with lib; { 34 + description = "A package manager for the .NET platform"; 35 + homepage = "https://www.mono-project.com/"; 36 + longDescription = '' 37 + NuGet is the package manager for the .NET platform. 38 + This derivation bundles the Mono NuGet CLI, which is mostly used by 39 + older projects based on .NET Framework. 40 + 41 + Newer .NET projects can use the dotnet CLI, which has most of this 42 + packages functionality built-in. 43 + ''; 44 + # https://learn.microsoft.com/en-us/nuget/resources/nuget-faq#what-is-the-license-for-nuget-exe- 45 + license = licenses.mit; 46 + sourceProvenance = [ sourceTypes.binaryBytecode ]; 47 + maintainers = [ maintainers.mdarocha ]; 48 + platforms = [ "x86_64-linux" ]; 49 + }; 50 + })
+2 -2
pkgs/by-name/or/orchard/package.nix
··· 2 3 buildGoModule rec { 4 pname = "orchard"; 5 - version = "0.12.0"; 6 7 src = fetchFromGitHub { 8 owner = "cirruslabs"; 9 repo = pname; 10 rev = version; 11 - hash = "sha256-+QNYlZ3/GiDtCySZPOlrDy03lkdGGvbFCWidQhbZJYQ="; 12 # populate values that require us to use git. By doing this in postFetch we 13 # can delete .git afterwards and maintain better reproducibility of the src. 14 leaveDotGit = true;
··· 2 3 buildGoModule rec { 4 pname = "orchard"; 5 + version = "0.13.1"; 6 7 src = fetchFromGitHub { 8 owner = "cirruslabs"; 9 repo = pname; 10 rev = version; 11 + hash = "sha256-b9AHsyMiR3gTXGRbmIUX9uSd7u3dFoUZ/CtKrYpuzno="; 12 # populate values that require us to use git. By doing this in postFetch we 13 # can delete .git afterwards and maintain better reproducibility of the src. 14 leaveDotGit = true;
+2 -2
pkgs/data/themes/where-is-my-sddm-theme/default.nix
··· 23 24 stdenvNoCC.mkDerivation rec { 25 pname = "where-is-my-sddm-theme"; 26 - version = "1.5.0"; 27 28 src = fetchFromGitHub { 29 owner = "stepanzubkov"; 30 repo = pname; 31 rev = "v${version}"; 32 - hash = "sha256-kW6W8DELi9Xqn9xWLlcKmxk4tO5FKdApaYTZimQ+7B0="; 33 }; 34 35 propagatedUserEnvPkgs = [ qtgraphicaleffects ];
··· 23 24 stdenvNoCC.mkDerivation rec { 25 pname = "where-is-my-sddm-theme"; 26 + version = "1.5.1"; 27 28 src = fetchFromGitHub { 29 owner = "stepanzubkov"; 30 repo = pname; 31 rev = "v${version}"; 32 + hash = "sha256-T6b+rxjlxZCQ/KDaxBM8ZryA3n6a+3jo+J2nETBYslM="; 33 }; 34 35 propagatedUserEnvPkgs = [ qtgraphicaleffects ];
+4
pkgs/development/beam-modules/elixir-ls/default.nix
··· 49 substitute release/language_server.sh $out/bin/elixir-ls \ 50 --replace 'exec "''${dir}/launch.sh"' "exec $out/lib/launch.sh" 51 chmod +x $out/bin/elixir-ls 52 # prepare the launcher 53 substituteInPlace $out/lib/launch.sh \ 54 --replace "ERL_LIBS=\"\$SCRIPTPATH:\$ERL_LIBS\"" \
··· 49 substitute release/language_server.sh $out/bin/elixir-ls \ 50 --replace 'exec "''${dir}/launch.sh"' "exec $out/lib/launch.sh" 51 chmod +x $out/bin/elixir-ls 52 + 53 + substitute release/debugger.sh $out/bin/elixir-debugger \ 54 + --replace 'exec "''${dir}/launch.sh"' "exec $out/lib/launch.sh" 55 + chmod +x $out/bin/elixir-debugger 56 # prepare the launcher 57 substituteInPlace $out/lib/launch.sh \ 58 --replace "ERL_LIBS=\"\$SCRIPTPATH:\$ERL_LIBS\"" \
+2 -2
pkgs/development/libraries/faudio/default.nix
··· 4 5 stdenv.mkDerivation rec { 6 pname = "faudio"; 7 - version = "23.09"; 8 9 src = fetchFromGitHub { 10 owner = "FNA-XNA"; 11 repo = "FAudio"; 12 rev = version; 13 - sha256 = "sha256-Sl+dOM1YMDwCN07ThR/JFwhNS10P7+uQJNUQAvFdYa8="; 14 }; 15 16 nativeBuildInputs = [cmake];
··· 4 5 stdenv.mkDerivation rec { 6 pname = "faudio"; 7 + version = "23.10"; 8 9 src = fetchFromGitHub { 10 owner = "FNA-XNA"; 11 repo = "FAudio"; 12 rev = version; 13 + sha256 = "sha256-h4wPUUYG8IZr2jHUlKFO2K3QKGiX9AzyLc2Ma5hR8Tk="; 14 }; 15 16 nativeBuildInputs = [cmake];
+6
pkgs/development/libraries/kde-frameworks/kio/default.nix
··· 28 outputs = [ "out" "dev" ]; 29 patches = [ 30 ./0001-Remove-impure-smbd-search-path.patch 31 ]; 32 }
··· 28 outputs = [ "out" "dev" ]; 29 patches = [ 30 ./0001-Remove-impure-smbd-search-path.patch 31 + 32 + # Fix a crash when saving files. 33 + (fetchpatch { 34 + url = "https://invent.kde.org/frameworks/kio/-/commit/48322f44323a1fc09305d66d9093fe6c3780709e.patch"; 35 + hash = "sha256-4NxI2mD/TdthvrzgatCAlM6VN3N38i3IJUHh0Bs8Fjk="; 36 + }) 37 ]; 38 }
+23
pkgs/development/lua-modules/generated-packages.nix
··· 2501 }; 2502 }) {}; 2503 2504 moonscript = callPackage({ lpeg, luaOlder, fetchgit, lua, buildLuarocksPackage, argparse, luafilesystem }: 2505 buildLuarocksPackage { 2506 pname = "moonscript";
··· 2501 }; 2502 }) {}; 2503 2504 + middleclass = callPackage({ luaOlder, buildLuarocksPackage, fetchurl, lua }: 2505 + buildLuarocksPackage { 2506 + pname = "middleclass"; 2507 + version = "4.1.1-0"; 2508 + knownRockspec = (fetchurl { 2509 + url = "mirror://luarocks/middleclass-4.1.1-0.rockspec"; 2510 + sha256 = "10xzs48lr1dy7cx99581r956gl16px0a9gbdlfar41n19r96mhb1"; 2511 + }).outPath; 2512 + src = fetchurl { 2513 + url = "https://github.com/kikito/middleclass/archive/v4.1.1.tar.gz"; 2514 + sha256 = "11ahv0b9wgqfnabv57rb7ilsvn2vcvxb1czq6faqrsqylvr5l7nh"; 2515 + }; 2516 + 2517 + disabled = (luaOlder "5.1"); 2518 + propagatedBuildInputs = [ lua ]; 2519 + 2520 + meta = { 2521 + homepage = "https://github.com/kikito/middleclass"; 2522 + description = "A simple OOP library for Lua"; 2523 + license.fullName = "MIT"; 2524 + }; 2525 + }) {}; 2526 + 2527 moonscript = callPackage({ lpeg, luaOlder, fetchgit, lua, buildLuarocksPackage, argparse, luafilesystem }: 2528 buildLuarocksPackage { 2529 pname = "moonscript";
+2 -2
pkgs/development/mobile/maestro/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "maestro"; 5 - version = "1.33.0"; 6 7 src = fetchurl { 8 url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip"; 9 - sha256 = "0xv7kbnr3q7w3lvlhwqwbpxz18wsb22k51xrq2dp73wdqk3jd36v"; 10 }; 11 12 dontUnpack = true;
··· 2 3 stdenv.mkDerivation rec { 4 pname = "maestro"; 5 + version = "1.33.1"; 6 7 src = fetchurl { 8 url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip"; 9 + sha256 = "142h53qwmibi9bpdwla9ard771vcri8yibnynvgj5nvfgapj2p4z"; 10 }; 11 12 dontUnpack = true;
+20
pkgs/development/ocaml-modules/lun/default.nix
···
··· 1 + { lib, buildDunePackage, fetchurl }: 2 + 3 + buildDunePackage rec { 4 + pname = "lun"; 5 + version = "0.0.1"; 6 + 7 + minimalOCamlVersion = "4.12.0"; 8 + 9 + src = fetchurl { 10 + url = "https://github.com/robur-coop/lun/releases/download/v${version}/lun-${version}.tbz"; 11 + hash = "sha256-zKi63/g7Rw/c+xhAEW+Oim8suGzeL0TtKM8my/aSp5M="; 12 + }; 13 + 14 + meta = { 15 + description = "Optics in OCaml"; 16 + homepage = "https://git.robur.coop/robur/lun"; 17 + license = lib.licenses.isc; 18 + maintainers = with lib.maintainers; [ marsam ]; 19 + }; 20 + }
+17
pkgs/development/ocaml-modules/lun/ppx.nix
···
··· 1 + { lib, buildDunePackage, fetchurl, fmt, lun, ppxlib }: 2 + 3 + buildDunePackage { 4 + pname = "ppx_lun"; 5 + inherit (lun) version src; 6 + 7 + propagatedBuildInputs = [ lun ppxlib ]; 8 + 9 + checkInputs = [ fmt ]; 10 + 11 + doCheck = true; 12 + 13 + meta = lun.meta // { 14 + description = "Optics with lun package and PPX"; 15 + license = lib.licenses.mit; 16 + }; 17 + }
+73
pkgs/development/python-modules/aioboto3/default.nix
···
··· 1 + { lib 2 + , buildPythonPackage 3 + , fetchFromGitHub 4 + , poetry-core 5 + , poetry-dynamic-versioning 6 + , aiobotocore 7 + , chalice 8 + , cryptography 9 + , boto3 10 + , pytestCheckHook 11 + , pytest-asyncio 12 + , requests 13 + , aiofiles 14 + , moto 15 + , dill 16 + }: 17 + 18 + buildPythonPackage rec { 19 + pname = "aioboto3"; 20 + version = "11.3.0"; 21 + pyproject = true; 22 + 23 + src = fetchFromGitHub { 24 + owner = "terrycain"; 25 + repo = "aioboto3"; 26 + rev = "v${version}"; 27 + hash = "sha256-jU9sKhbUdVeOvOXQnXR/S/4sBwTNcQCc9ZduO+HDXho="; 28 + }; 29 + 30 + postPatch = '' 31 + substituteInPlace pyproject.toml \ 32 + --replace poetry.masonry.api poetry.core.masonry.api \ 33 + --replace "poetry>=0.12" "poetry-core>=0.12" 34 + ''; 35 + 36 + nativeBuildInputs = [ 37 + poetry-core 38 + poetry-dynamic-versioning 39 + ]; 40 + 41 + propagatedBuildInputs = [ 42 + aiobotocore 43 + boto3 44 + ]; 45 + 46 + passthru.optional-dependencies = { 47 + chalice = [ 48 + chalice 49 + ]; 50 + s3cse = [ 51 + cryptography 52 + ]; 53 + }; 54 + 55 + nativeCheckInputs = [ 56 + pytestCheckHook 57 + pytest-asyncio 58 + requests 59 + aiofiles 60 + moto 61 + dill 62 + ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); 63 + 64 + pythonImportsCheck = [ "aioboto3" ]; 65 + 66 + meta = with lib; { 67 + description = "Wrapper to use boto3 resources with the aiobotocore async backend"; 68 + homepage = "https://github.com/terrycain/aioboto3"; 69 + changelog = "https://github.com/terrycain/aioboto3/blob/${src.rev}/CHANGELOG.rst"; 70 + license = licenses.asl20; 71 + maintainers = with maintainers; [ mbalatsko ]; 72 + }; 73 + }
+2 -2
pkgs/development/python-modules/clevercsv/default.nix
··· 20 21 buildPythonPackage rec { 22 pname = "clevercsv"; 23 - version = "0.8.1"; 24 format = "setuptools"; 25 26 src = fetchFromGitHub { 27 owner = "alan-turing-institute"; 28 repo = "CleverCSV"; 29 rev = "refs/tags/v${version}"; 30 - hash = "sha256-kCkMZnHbFUuBBvlQ5rn0tNeL7uTAq0aodpj2JvPo968="; 31 }; 32 33 propagatedBuildInputs = [
··· 20 21 buildPythonPackage rec { 22 pname = "clevercsv"; 23 + version = "0.8.2"; 24 format = "setuptools"; 25 26 src = fetchFromGitHub { 27 owner = "alan-turing-institute"; 28 repo = "CleverCSV"; 29 rev = "refs/tags/v${version}"; 30 + hash = "sha256-yyPUNFDq9W5OW1muHtQ10QgAHhXI8w7CY77fsWhIy0k="; 31 }; 32 33 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/gitignore-parser/default.nix
··· 7 8 buildPythonPackage rec { 9 pname = "gitignore-parser"; 10 - version = "0.1.6"; 11 format = "setuptools"; 12 13 disabled = pythonOlder "3.7"; ··· 16 owner = "mherrmann"; 17 repo = "gitignore_parser"; 18 rev = "refs/tags/v${version}"; 19 - hash = "sha256-RAtXh57WU67fKQhhItdOm25BYfh3ucc0eyWUHGksnLg="; 20 }; 21 22 nativeCheckInputs = [
··· 7 8 buildPythonPackage rec { 9 pname = "gitignore-parser"; 10 + version = "0.1.7"; 11 format = "setuptools"; 12 13 disabled = pythonOlder "3.7"; ··· 16 owner = "mherrmann"; 17 repo = "gitignore_parser"; 18 rev = "refs/tags/v${version}"; 19 + hash = "sha256-Zw7BuhdUzd0pjlRHf3KbkOUhLuBVvlKhWIzZocKOU30="; 20 }; 21 22 nativeCheckInputs = [
+7 -2
pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
··· 14 15 buildPythonPackage rec { 16 pname = "google-cloud-bigquery-datatransfer"; 17 - version = "3.12.0"; 18 format = "setuptools"; 19 20 disabled = pythonOlder "3.7"; 21 22 src = fetchPypi { 23 inherit pname version; 24 - hash = "sha256-5jxcN69FPuAZ7xiBcBu5+aE+q4OU9OlM+i9bd6vMnJI="; 25 }; 26 27 propagatedBuildInputs = [ ··· 41 pythonImportsCheck = [ 42 "google.cloud.bigquery_datatransfer" 43 "google.cloud.bigquery_datatransfer_v1" 44 ]; 45 46 meta = with lib; {
··· 14 15 buildPythonPackage rec { 16 pname = "google-cloud-bigquery-datatransfer"; 17 + version = "3.12.1"; 18 format = "setuptools"; 19 20 disabled = pythonOlder "3.7"; 21 22 src = fetchPypi { 23 inherit pname version; 24 + hash = "sha256-uEWnQIGs4yybuukzgrAqaduFYKNW9h/WouX2MzSVgUg="; 25 }; 26 27 propagatedBuildInputs = [ ··· 41 pythonImportsCheck = [ 42 "google.cloud.bigquery_datatransfer" 43 "google.cloud.bigquery_datatransfer_v1" 44 + ]; 45 + 46 + disabledTests = [ 47 + # Tests require project ID 48 + "test_list_data_sources" 49 ]; 50 51 meta = with lib; {
+4 -2
pkgs/development/python-modules/google-cloud-os-config/default.nix
··· 11 12 buildPythonPackage rec { 13 pname = "google-cloud-os-config"; 14 - version = "1.15.2"; 15 format = "setuptools"; 16 17 disabled = pythonOlder "3.7"; 18 19 src = fetchPypi { 20 inherit pname version; 21 - hash = "sha256-WgrqxnVsbA0ppvfcqxW+kA8vjn71bMU9qAyZraqYt8g="; 22 }; 23 24 propagatedBuildInputs = [ ··· 37 ]; 38 39 disabledTests = [ 40 "test_patch_deployment" 41 "test_patch_job" 42 ]; 43 44 meta = with lib; {
··· 11 12 buildPythonPackage rec { 13 pname = "google-cloud-os-config"; 14 + version = "1.15.3"; 15 format = "setuptools"; 16 17 disabled = pythonOlder "3.7"; 18 19 src = fetchPypi { 20 inherit pname version; 21 + hash = "sha256-KNM4wASyfgoBqhXa5k+8tf+AN9VljHDDK0U849N5qHI="; 22 }; 23 24 propagatedBuildInputs = [ ··· 37 ]; 38 39 disabledTests = [ 40 + # Test requires a project ID 41 "test_patch_deployment" 42 "test_patch_job" 43 + "test_list_patch_jobs" 44 ]; 45 46 meta = with lib; {
+2 -2
pkgs/development/python-modules/google-cloud-texttospeech/default.nix
··· 12 13 buildPythonPackage rec { 14 pname = "google-cloud-texttospeech"; 15 - version = "2.14.1"; 16 format = "setuptools"; 17 18 disabled = pythonOlder "3.8"; 19 20 src = fetchPypi { 21 inherit pname version; 22 - hash = "sha256-3XFvKnaK1nUCz9mbmSXFH/1uFr6TtBCr7v/arBkL/oE="; 23 }; 24 25 propagatedBuildInputs = [
··· 12 13 buildPythonPackage rec { 14 pname = "google-cloud-texttospeech"; 15 + version = "2.14.2"; 16 format = "setuptools"; 17 18 disabled = pythonOlder "3.8"; 19 20 src = fetchPypi { 21 inherit pname version; 22 + hash = "sha256-ojc4NmmI+vTSZSAPV8XeQxLvo9FLtDS5Km5UFxP12QY="; 23 }; 24 25 propagatedBuildInputs = [
+2 -2
pkgs/development/python-modules/gspread/default.nix
··· 12 13 buildPythonPackage rec { 14 pname = "gspread"; 15 - version = "5.11.2"; 16 format = "pyproject"; 17 18 disabled = pythonOlder "3.7"; ··· 21 owner = "burnash"; 22 repo = "gspread"; 23 rev = "refs/tags/v${version}"; 24 - hash = "sha256-geP01U34HzBSmA8FTTaTMlv508hzGBXFiASjGw3uUmQ="; 25 }; 26 27 nativeBuildInputs = [
··· 12 13 buildPythonPackage rec { 14 pname = "gspread"; 15 + version = "5.11.3"; 16 format = "pyproject"; 17 18 disabled = pythonOlder "3.7"; ··· 21 owner = "burnash"; 22 repo = "gspread"; 23 rev = "refs/tags/v${version}"; 24 + hash = "sha256-O6uhT8zfCGiGr0v8pEMZ4uLuDAdFpiTie7EC3rphZQI="; 25 }; 26 27 nativeBuildInputs = [
+2 -2
pkgs/development/python-modules/pex/default.nix
··· 7 8 buildPythonPackage rec { 9 pname = "pex"; 10 - version = "2.1.147"; 11 format = "pyproject"; 12 13 disabled = pythonOlder "3.7"; 14 15 src = fetchPypi { 16 inherit pname version; 17 - hash = "sha256-oTzMMTbq+prKNE8hhBWsRvhxBD+Ca/M1pVuppSByjp4="; 18 }; 19 20 nativeBuildInputs = [
··· 7 8 buildPythonPackage rec { 9 pname = "pex"; 10 + version = "2.1.148"; 11 format = "pyproject"; 12 13 disabled = pythonOlder "3.7"; 14 15 src = fetchPypi { 16 inherit pname version; 17 + hash = "sha256-XRER28ObI9TsZ5h5LkAXhExGq+c4hpoEun2hagkpUXk="; 18 }; 19 20 nativeBuildInputs = [
+14 -5
pkgs/development/python-modules/podcastparser/default.nix
··· 2 , buildPythonPackage 3 , fetchFromGitHub 4 , pytestCheckHook 5 }: 6 7 buildPythonPackage rec { 8 pname = "podcastparser"; 9 version = "0.6.10"; 10 11 src = fetchFromGitHub { 12 owner = "gpodder"; ··· 16 }; 17 18 postPatch = '' 19 - rm pytest.ini 20 ''; 21 22 nativeCheckInputs = [ 23 pytestCheckHook 24 ]; 25 26 - meta = { 27 - description = "podcastparser is a simple, fast and efficient podcast parser written in Python."; 28 homepage = "http://gpodder.org/podcastparser/"; 29 - license = lib.licenses.bsd2; 30 - maintainers = with lib.maintainers; [ mic92 ]; 31 }; 32 }
··· 2 , buildPythonPackage 3 , fetchFromGitHub 4 , pytestCheckHook 5 + , pythonOlder 6 }: 7 8 buildPythonPackage rec { 9 pname = "podcastparser"; 10 version = "0.6.10"; 11 + format = "setuptools"; 12 + 13 + disabled = pythonOlder "3.7"; 14 15 src = fetchFromGitHub { 16 owner = "gpodder"; ··· 20 }; 21 22 postPatch = '' 23 + substituteInPlace pytest.ini \ 24 + --replace "--cov=podcastparser --cov-report html --doctest-modules" "" 25 ''; 26 27 nativeCheckInputs = [ 28 pytestCheckHook 29 ]; 30 31 + pythonImportsCheck = [ 32 + "podcastparser" 33 + ]; 34 + 35 + meta = with lib; { 36 + description = "Module to parse podcasts"; 37 homepage = "http://gpodder.org/podcastparser/"; 38 + license = licenses.bsd2; 39 + maintainers = with maintainers; [ mic92 ]; 40 }; 41 }
+2 -2
pkgs/development/python-modules/schedule/default.nix
··· 7 8 buildPythonPackage rec { 9 pname = "schedule"; 10 - version = "1.2.0"; 11 format = "setuptools"; 12 13 disabled = pythonOlder "3.7"; 14 15 src = fetchPypi { 16 inherit pname version; 17 - hash = "sha256-tK1peq+6cYTJ62oeLrxB94FUckKs3ozq6aCiWwTAki0="; 18 }; 19 20 buildInputs = [
··· 7 8 buildPythonPackage rec { 9 pname = "schedule"; 10 + version = "1.2.1"; 11 format = "setuptools"; 12 13 disabled = pythonOlder "3.7"; 14 15 src = fetchPypi { 16 inherit pname version; 17 + hash = "sha256-hDvAU4uZyT8CuLUOPjmIbAby0AOyT0jhqkyt+j80Enk="; 18 }; 19 20 buildInputs = [
+2 -2
pkgs/development/tools/build-managers/msbuild/default.nix
··· 1 - { lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, dotnetPackages, unzip, dotnetCorePackages, writeText, roslyn }: 2 3 let 4 ··· 42 ]; 43 44 buildInputs = [ 45 - dotnetPackages.Nuget 46 glibcLocales 47 ]; 48
··· 1 + { lib, stdenv, fetchurl, fetchpatch, makeWrapper, glibcLocales, mono, nuget, unzip, dotnetCorePackages, writeText, roslyn }: 2 3 let 4 ··· 42 ]; 43 44 buildInputs = [ 45 + nuget 46 glibcLocales 47 ]; 48
+2 -2
pkgs/development/tools/changie/default.nix
··· 6 7 buildGoModule rec { 8 pname = "changie"; 9 - version = "1.13.1"; 10 11 src = fetchFromGitHub { 12 owner = "miniscruff"; 13 repo = "changie"; 14 rev = "v${version}"; 15 - hash = "sha256-euwOATFDY+5kwNLhdNbpIv5p3zoJtuoh5JzzIRj2MyM="; 16 }; 17 18 vendorHash = "sha256-giOL4/ZofaylhX+s7y75RR7d3WDxNCmr25JHBZZkH9s=";
··· 6 7 buildGoModule rec { 8 pname = "changie"; 9 + version = "1.14.0"; 10 11 src = fetchFromGitHub { 12 owner = "miniscruff"; 13 repo = "changie"; 14 rev = "v${version}"; 15 + hash = "sha256-ulbpitTCIuRg50GAin54RNVMUl8ZuwYW1SnenvemckA="; 16 }; 17 18 vendorHash = "sha256-giOL4/ZofaylhX+s7y75RR7d3WDxNCmr25JHBZZkH9s=";
+2 -22
pkgs/development/tools/electron/binary/default.nix
··· 1 - { lib, stdenv 2 - , libXScrnSaver 3 - , makeWrapper 4 - , fetchurl 5 - , wrapGAppsHook 6 - , glib 7 - , gtk3 8 - , unzip 9 - , atomEnv 10 - , libuuid 11 - , at-spi2-atk 12 - , at-spi2-core 13 - , libdrm 14 - , mesa 15 - , libxkbcommon 16 - , libappindicator-gtk3 17 - , libxshmfence 18 - , libglvnd 19 - , wayland 20 - }@args: 21 22 let 23 - mkElectron = import ./generic.nix args; 24 in 25 rec { 26 - 27 electron-bin = electron_26-bin; 28 29 electron_10-bin = mkElectron "10.4.7" {
··· 1 + { callPackage }: 2 3 let 4 + mkElectron = callPackage ./generic.nix { }; 5 in 6 rec { 7 electron-bin = electron_26-bin; 8 9 electron_10-bin = mkElectron "10.4.7" {
+43 -14
pkgs/development/tools/electron/binary/generic.nix
··· 1 - { lib, stdenv 2 , libXScrnSaver 3 , makeWrapper 4 , fetchurl ··· 6 , glib 7 , gtk3 8 , unzip 9 - , atomEnv 10 - , libuuid 11 , at-spi2-atk 12 - , at-spi2-core 13 , libdrm 14 , mesa 15 , libxkbcommon 16 - , libappindicator-gtk3 17 , libxshmfence 18 , libglvnd 19 - , wayland 20 }: 21 22 version: hashes: ··· 64 passthru.headers = headersFetcher version hashes.headers; 65 }; 66 67 - electronLibPath = with lib; makeLibraryPath ( 68 - [ libuuid at-spi2-atk at-spi2-core libappindicator-gtk3 wayland ] 69 - ++ optionals (versionAtLeast version "9.0.0") [ libdrm mesa ] 70 - ++ optionals (versionOlder version "10.0.0") [ libXScrnSaver ] 71 - ++ optionals (versionAtLeast version "11.0.0") [ libxkbcommon ] 72 - ++ optionals (versionAtLeast version "12.0.0") [ libxshmfence ] 73 - ++ optionals (versionAtLeast version "17.0.0") [ libglvnd ] 74 ); 75 76 linux = { ··· 95 postFixup = '' 96 patchelf \ 97 --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 98 - --set-rpath "${atomEnv.libPath}:${electronLibPath}:$out/libexec/electron" \ 99 $out/libexec/electron/.electron-wrapped \ 100 ${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/libexec/electron/.chrome_crashpad_handler-wrapped" } 101 '';
··· 1 + { lib 2 + , stdenv 3 , libXScrnSaver 4 , makeWrapper 5 , fetchurl ··· 7 , glib 8 , gtk3 9 , unzip 10 , at-spi2-atk 11 , libdrm 12 , mesa 13 , libxkbcommon 14 , libxshmfence 15 , libglvnd 16 + , alsa-lib 17 + , cairo 18 + , cups 19 + , dbus 20 + , expat 21 + , gdk-pixbuf 22 + , nss 23 + , nspr 24 + , xorg 25 + , pango 26 + , systemd 27 }: 28 29 version: hashes: ··· 71 passthru.headers = headersFetcher version hashes.headers; 72 }; 73 74 + electronLibPath = lib.makeLibraryPath ([ 75 + alsa-lib 76 + at-spi2-atk 77 + cairo 78 + cups 79 + dbus 80 + expat 81 + gdk-pixbuf 82 + glib 83 + gtk3 84 + nss 85 + nspr 86 + xorg.libX11 87 + xorg.libxcb 88 + xorg.libXcomposite 89 + xorg.libXdamage 90 + xorg.libXext 91 + xorg.libXfixes 92 + xorg.libXrandr 93 + xorg.libxkbfile 94 + pango 95 + stdenv.cc.cc.lib 96 + systemd 97 + ] 98 + ++ lib.optionals (lib.versionAtLeast version "9.0.0") [ libdrm mesa ] 99 + ++ lib.optionals (lib.versionOlder version "10.0.0") [ libXScrnSaver ] 100 + ++ lib.optionals (lib.versionAtLeast version "11.0.0") [ libxkbcommon ] 101 + ++ lib.optionals (lib.versionAtLeast version "12.0.0") [ libxshmfence ] 102 + ++ lib.optionals (lib.versionAtLeast version "17.0.0") [ libglvnd ] 103 ); 104 105 linux = { ··· 124 postFixup = '' 125 patchelf \ 126 --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ 127 + --set-rpath "${electronLibPath}:$out/libexec/electron" \ 128 $out/libexec/electron/.electron-wrapped \ 129 ${lib.optionalString (lib.versionAtLeast version "15.0.0") "$out/libexec/electron/.chrome_crashpad_handler-wrapped" } 130 '';
-38
pkgs/development/tools/misc/ast-grep/default.nix
··· 1 - { lib 2 - , rustPlatform 3 - , fetchFromGitHub 4 - , stdenv 5 - }: 6 - 7 - rustPlatform.buildRustPackage rec { 8 - pname = "ast-grep"; 9 - version = "0.11.1"; 10 - 11 - src = fetchFromGitHub { 12 - owner = "ast-grep"; 13 - repo = "ast-grep"; 14 - rev = version; 15 - hash = "sha256-1ThEJ8VEcXNScY4zmmXz7BVYs6irE1h9HDxkVvmVq1k="; 16 - }; 17 - 18 - cargoHash = "sha256-3myUFgKktvD9S0Bp7ixsZb59p3iDwmiEKUFD7wB+7IM="; 19 - 20 - # error: linker `aarch64-linux-gnu-gcc` not found 21 - postPatch = '' 22 - rm .cargo/config.toml 23 - ''; 24 - 25 - checkFlags = [ 26 - # disable flaky test 27 - "--skip=test::test_load_parser_mac" 28 - ]; 29 - 30 - meta = with lib; { 31 - mainProgram = "sg"; 32 - description = "A fast and polyglot tool for code searching, linting, rewriting at large scale"; 33 - homepage = "https://ast-grep.github.io/"; 34 - changelog = "https://github.com/ast-grep/ast-grep/blob/${src.rev}/CHANGELOG.md"; 35 - license = licenses.mit; 36 - maintainers = with maintainers; [ montchr lord-valen cafkafk ]; 37 - }; 38 - }
···
+3 -3
pkgs/development/tools/misc/orogene/default.nix
··· 9 10 rustPlatform.buildRustPackage rec { 11 pname = "orogene"; 12 - version = "0.3.32"; 13 14 src = fetchFromGitHub { 15 owner = "orogene"; 16 repo = "orogene"; 17 rev = "v${version}"; 18 - hash = "sha256-UB/FI5LUyksKzAgzsza5NTDtYWou69hqj0M2GWV/FcA="; 19 fetchSubmodules = true; 20 }; 21 22 - cargoHash = "sha256-/Yb1QTsye60qL6B3TM6Wd1W8n4XMxMhu42CLvJcqIYw="; 23 24 nativeBuildInputs = [ 25 pkg-config
··· 9 10 rustPlatform.buildRustPackage rec { 11 pname = "orogene"; 12 + version = "0.3.33"; 13 14 src = fetchFromGitHub { 15 owner = "orogene"; 16 repo = "orogene"; 17 rev = "v${version}"; 18 + hash = "sha256-HG+/m/ZomlGu/ATHqZjhjo/pjncVBZLOP6UlcCOyLKc="; 19 fetchSubmodules = true; 20 }; 21 22 + cargoHash = "sha256-iygP+x1uEHUpUGaxQjt50sFd5ZWpFxOqPvnkGqIvh6A="; 23 24 nativeBuildInputs = [ 25 pkg-config
+3 -3
pkgs/development/tools/misc/src-cli/default.nix
··· 10 11 buildGoModule rec { 12 pname = "src-cli"; 13 - version = "5.1.2"; 14 15 src = fetchFromGitHub { 16 owner = "sourcegraph"; 17 repo = "src-cli"; 18 rev = version; 19 - hash = "sha256-byfmZQDYn76/0K/ByKePXF+eWVZNCnAqu5k6UN7Iijg="; 20 }; 21 22 - vendorHash = "sha256-DASjCyOY9+USRYrnIS+Li4zhBnZNoyxUgN9LqhIAMh8="; 23 24 subPackages = [ 25 "cmd/src"
··· 10 11 buildGoModule rec { 12 pname = "src-cli"; 13 + version = "5.2.0"; 14 15 src = fetchFromGitHub { 16 owner = "sourcegraph"; 17 repo = "src-cli"; 18 rev = version; 19 + hash = "sha256-QUcN71Zvg9BSQHXu8ANye9BOX5cDgMgl2jfhUgz/GVE="; 20 }; 21 22 + vendorHash = "sha256-YhaxgEGYKrRZagnpoMi/mGWXVkbp5fUjQ73xDFdTElw="; 23 24 subPackages = [ 25 "cmd/src"
+2 -2
pkgs/development/tools/pyenv/default.nix
··· 6 7 stdenv.mkDerivation rec { 8 pname = "pyenv"; 9 - version = "2.3.26"; 10 11 src = fetchFromGitHub { 12 owner = "pyenv"; 13 repo = "pyenv"; 14 rev = "refs/tags/v${version}"; 15 - hash = "sha256-3pLH8/k+9T8lDBw/qd9WcYE4o3SwG/WXGWR0sLGUWLE="; 16 }; 17 18 postPatch = ''
··· 6 7 stdenv.mkDerivation rec { 8 pname = "pyenv"; 9 + version = "2.3.28"; 10 11 src = fetchFromGitHub { 12 owner = "pyenv"; 13 repo = "pyenv"; 14 rev = "refs/tags/v${version}"; 15 + hash = "sha256-KxYxHNoXk4RVA5+mpE3hjrl1c+7Ei/km/zrMIvvV+1M="; 16 }; 17 18 postPatch = ''
+1 -1
pkgs/development/tools/rye/Cargo.lock
··· 1772 1773 [[package]] 1774 name = "rye" 1775 - version = "0.14.0" 1776 dependencies = [ 1777 "age", 1778 "anyhow",
··· 1772 1773 [[package]] 1774 name = "rye" 1775 + version = "0.15.0" 1776 dependencies = [ 1777 "age", 1778 "anyhow",
+2 -2
pkgs/development/tools/rye/default.nix
··· 10 11 rustPlatform.buildRustPackage rec { 12 pname = "rye"; 13 - version = "0.14.0"; 14 15 src = fetchFromGitHub { 16 owner = "mitsuhiko"; 17 repo = "rye"; 18 rev = "refs/tags/${version}"; 19 - hash = "sha256-4BLseGLNWZN5AE+Ol6f3DOLtWJ3VdUsba1ONLsNEDXU="; 20 }; 21 22 cargoLock = {
··· 10 11 rustPlatform.buildRustPackage rec { 12 pname = "rye"; 13 + version = "0.15.0"; 14 15 src = fetchFromGitHub { 16 owner = "mitsuhiko"; 17 repo = "rye"; 18 rev = "refs/tags/${version}"; 19 + hash = "sha256-+19xDXMTJ0C7JsFrbykn9/2zaa71yJJAQpWdBNvgYbQ="; 20 }; 21 22 cargoLock = {
+2 -2
pkgs/development/tools/symfony-cli/default.nix
··· 2 3 buildGoModule rec { 4 pname = "symfony-cli"; 5 - version = "5.5.9"; 6 vendorHash = "sha256-eeVi/O4p7bF4CPqJBCpLfx1Yc5vZZ3b8RV5ERcIL8H4="; 7 8 src = fetchFromGitHub { 9 owner = "symfony-cli"; 10 repo = "symfony-cli"; 11 rev = "v${version}"; 12 - hash = "sha256-dQ7ImNSnWD2u9cY9VEBlum45YqlhHgczAkD70QJFr68="; 13 }; 14 15 ldflags = [
··· 2 3 buildGoModule rec { 4 pname = "symfony-cli"; 5 + version = "5.5.10"; 6 vendorHash = "sha256-eeVi/O4p7bF4CPqJBCpLfx1Yc5vZZ3b8RV5ERcIL8H4="; 7 8 src = fetchFromGitHub { 9 owner = "symfony-cli"; 10 repo = "symfony-cli"; 11 rev = "v${version}"; 12 + hash = "sha256-n0R+J41lJYxswMnknYAAEKwwIqOremZF73cRBYfD3CE="; 13 }; 14 15 ldflags = [
+2 -2
pkgs/development/tools/vendir/default.nix
··· 2 3 buildGoModule rec { 4 pname = "vendir"; 5 - version = "0.34.4"; 6 7 src = fetchFromGitHub { 8 owner = "vmware-tanzu"; 9 repo = "carvel-vendir"; 10 rev = "v${version}"; 11 - sha256 = "sha256-HdKMPXZIz1n8+170E3Aj7BYquVGgnPwRKJ5CZcqN35M="; 12 }; 13 14 vendorHash = null;
··· 2 3 buildGoModule rec { 4 pname = "vendir"; 5 + version = "0.35.0"; 6 7 src = fetchFromGitHub { 8 owner = "vmware-tanzu"; 9 repo = "carvel-vendir"; 10 rev = "v${version}"; 11 + sha256 = "sha256-aN8O+5zzGGLWAPk/oNFOnBBv2rsljWaxTKlC19XTt58="; 12 }; 13 14 vendorHash = null;
+2 -2
pkgs/servers/dns/coredns/default.nix
··· 33 modBuildPhase = '' 34 for plugin in ${builtins.toString (attrsToPlugins externalPlugins)}; do echo $plugin >> plugin.cfg; done 35 for src in ${builtins.toString (attrsToSources externalPlugins)}; do go get $src; done 36 - go generate 37 go mod vendor 38 ''; 39 ··· 46 chmod -R u+w vendor 47 mv -t . vendor/go.{mod,sum} vendor/plugin.cfg 48 49 - go generate 50 ''; 51 52 postPatch = ''
··· 33 modBuildPhase = '' 34 for plugin in ${builtins.toString (attrsToPlugins externalPlugins)}; do echo $plugin >> plugin.cfg; done 35 for src in ${builtins.toString (attrsToSources externalPlugins)}; do go get $src; done 36 + GOOS= GOARCH= go generate 37 go mod vendor 38 ''; 39 ··· 46 chmod -R u+w vendor 47 mv -t . vendor/go.{mod,sum} vendor/plugin.cfg 48 49 + GOOS= GOARCH= go generate 50 ''; 51 52 postPatch = ''
+1 -1
pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
··· 37 38 postInstall = '' 39 wrapProgram $out/bin/check_ssl_cert \ 40 - --prefix PATH : "${lib.makeBinPath [ openssl file which curl bc coreutils bind nmap iproute2 netcat-gnu python3 ]}" 41 ''; 42 43 meta = with lib; {
··· 37 38 postInstall = '' 39 wrapProgram $out/bin/check_ssl_cert \ 40 + --prefix PATH : "${lib.makeBinPath ([ openssl file which curl bc coreutils bind nmap netcat-gnu python3 ] ++ lib.optional stdenv.isLinux iproute2) }" 41 ''; 42 43 meta = with lib; {
+3 -3
pkgs/servers/monitoring/prometheus/pushgateway.nix
··· 2 3 buildGoModule rec { 4 pname = "pushgateway"; 5 - version = "1.6.0"; 6 7 src = fetchFromGitHub { 8 owner = "prometheus"; 9 repo = "pushgateway"; 10 rev = "v${version}"; 11 - sha256 = "sha256-sJ4TTyo+A3CEUcTJv3LlUU60pc/a/PgB0Mk6R5wpTgM="; 12 }; 13 14 - vendorHash = "sha256-oDvFp7FYam/hsiEesfTuNgXciH4JAUKkMiECn4FPqmE="; 15 16 ldflags = [ 17 "-s"
··· 2 3 buildGoModule rec { 4 pname = "pushgateway"; 5 + version = "1.6.2"; 6 7 src = fetchFromGitHub { 8 owner = "prometheus"; 9 repo = "pushgateway"; 10 rev = "v${version}"; 11 + sha256 = "sha256-IwSzxpIBXIsOllAd0faP+uzpYZ8HcWJQBOgYZj9SZHM="; 12 }; 13 14 + vendorHash = "sha256-xpbGavt0gzOVZMHVdPtZ+rRVbovJ4xaqaAmYVipLzSs="; 15 16 ldflags = [ 17 "-s"
+16 -7
pkgs/servers/sql/postgresql/ext/age.nix
··· 1 - { lib, stdenv, fetchFromGitHub, bison, flex, postgresql }: 2 3 stdenv.mkDerivation rec { 4 pname = "age"; 5 - version = "1.1.0-rc0"; 6 7 src = fetchFromGitHub { 8 owner = "apache"; 9 repo = "age"; 10 - rev = "v${version}"; 11 - sha256 = "sha256-7qQGiiFkGbS/j7ouP2Joj5EGT+ferIgYYMoTe9jmTqQ="; 12 }; 13 14 buildInputs = [ postgresql ]; ··· 16 makeFlags = [ 17 "BISON=${bison}/bin/bison" 18 "FLEX=${flex}/bin/flex" 19 ]; 20 21 installPhase = '' ··· 54 }; 55 56 meta = with lib; { 57 - # Only supports PostgreSQL 11 https://github.com/apache/age/issues/225 58 - broken = versions.major postgresql.version != "11"; 59 description = "A graph database extension for PostgreSQL"; 60 homepage = "https://age.apache.org/"; 61 - changelog = "https://github.com/apache/age/raw/v${version}/RELEASE"; 62 maintainers = with maintainers; [ ]; 63 platforms = postgresql.meta.platforms; 64 license = licenses.asl20;
··· 1 + { lib, stdenv, bison, fetchFromGitHub, flex, perl, postgresql }: 2 3 + let 4 + hashes = { 5 + "15" = "sha256-1vmwoflbU3++PFDcsLt9gyLkuzMRGNCD7vWl7/6Q+SE="; 6 + "14" = "sha256-w93Q499sZRk4q85A9yqKQjGUd9Pl8UL8K1D3W7mHRTU="; 7 + "13" = "sha256-Sot7FR0oW7kWA680pNCMCmlflu4RfJTSWZn9mrXrpzw="; 8 + "12" = "sha256-XezcXoHHLCD1/2OHmKhxome2pdjOsYAfZlpvOoU3aS4="; 9 + "11" = "sha256-ZkNAIMO69BxF3knQ+jcUBVuDgcoZXZccF5O+acpZ81M="; 10 + }; 11 + in 12 stdenv.mkDerivation rec { 13 pname = "age"; 14 + version = "1.4.0-rc0"; 15 16 src = fetchFromGitHub { 17 owner = "apache"; 18 repo = "age"; 19 + rev = "PG${lib.versions.major postgresql.version}/v${builtins.replaceStrings ["."] ["_"] version}"; 20 + hash = hashes.${lib.versions.major postgresql.version} or (throw "Source for Age is not available for ${postgresql.version}"); 21 }; 22 23 buildInputs = [ postgresql ]; ··· 25 makeFlags = [ 26 "BISON=${bison}/bin/bison" 27 "FLEX=${flex}/bin/flex" 28 + "PERL=${perl}/bin/perl" 29 ]; 30 31 installPhase = '' ··· 64 }; 65 66 meta = with lib; { 67 + broken = !builtins.elem (versions.major postgresql.version) (builtins.attrNames hashes); 68 description = "A graph database extension for PostgreSQL"; 69 homepage = "https://age.apache.org/"; 70 + changelog = "https://github.com/apache/age/raw/v${src.rev}/RELEASE"; 71 maintainers = with maintainers; [ ]; 72 platforms = postgresql.meta.platforms; 73 license = licenses.asl20;
+9 -1
pkgs/servers/x11/xorg/overrides.nix
··· 134 }; 135 }); 136 137 - libxcvt = addMainProgram super.libxcvt { mainProgram = "cvt"; }; 138 139 libX11 = super.libX11.overrideAttrs (attrs: { 140 outputs = [ "out" "dev" "man" ];
··· 134 }; 135 }); 136 137 + libxcvt = super.libxcvt.overrideAttrs ({ meta ? {}, ... }: { 138 + meta = meta // { 139 + homepage = "https://gitlab.freedesktop.org/xorg/lib/libxcvt"; 140 + mainProgram = "cvt"; 141 + badPlatforms = meta.badPlatforms or [] ++ [ 142 + lib.systems.inspect.platformPatterns.isStatic 143 + ]; 144 + }; 145 + }); 146 147 libX11 = super.libX11.overrideAttrs (attrs: { 148 outputs = [ "out" "dev" "man" ];
+2 -2
pkgs/tools/filesystems/littlefs-fuse/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "littlefs-fuse"; 5 - version = "2.4.1"; 6 src = fetchFromGitHub { 7 owner = "littlefs-project"; 8 repo = pname; 9 rev = "v${version}"; 10 - hash = "sha256-+EUZluBtgZiziTEIfXIhkRIBu/Pe78qmL18TQHkfHO4="; 11 }; 12 buildInputs = [ fuse ]; 13 installPhase = ''
··· 2 3 stdenv.mkDerivation rec { 4 pname = "littlefs-fuse"; 5 + version = "2.7.2"; 6 src = fetchFromGitHub { 7 owner = "littlefs-project"; 8 repo = pname; 9 rev = "v${version}"; 10 + hash = "sha256-ybaZbAomrIaEdYfQtbZirkozRarEUxjsf6hgTMu5uIY="; 11 }; 12 buildInputs = [ fuse ]; 13 installPhase = ''
+2 -2
pkgs/tools/misc/esphome/default.nix
··· 16 in 17 python.pkgs.buildPythonApplication rec { 18 pname = "esphome"; 19 - version = "2023.9.2"; 20 format = "setuptools"; 21 22 src = fetchFromGitHub { 23 owner = pname; 24 repo = pname; 25 rev = "refs/tags/${version}"; 26 - hash = "sha256-DWzeK5NIkf8zsK4auD2A5pU5F0pBtkTe2B1UdXwyfOI="; 27 }; 28 29 postPatch = ''
··· 16 in 17 python.pkgs.buildPythonApplication rec { 18 pname = "esphome"; 19 + version = "2023.9.3"; 20 format = "setuptools"; 21 22 src = fetchFromGitHub { 23 owner = pname; 24 repo = pname; 25 rev = "refs/tags/${version}"; 26 + hash = "sha256-SyXEiGh1/s9EJ0UPYC8R04JUYkCPhCtNUcGvVCycKGM="; 27 }; 28 29 postPatch = ''
+15 -3
pkgs/tools/misc/hakuneko/default.nix
··· 1 - { atomEnv 2 - , autoPatchelfHook 3 , dpkg 4 , fetchurl 5 , makeDesktopItem ··· 8 , stdenv 9 , lib 10 , wrapGAppsHook 11 }: 12 let 13 desktopItem = makeDesktopItem { ··· 39 dontPatchELF = true; 40 dontWrapGApps = true; 41 42 nativeBuildInputs = [ 43 autoPatchelfHook 44 dpkg ··· 46 wrapGAppsHook 47 ]; 48 49 - buildInputs = atomEnv.packages; 50 51 unpackPhase = '' 52 # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
··· 1 + { autoPatchelfHook 2 , dpkg 3 , fetchurl 4 , makeDesktopItem ··· 7 , stdenv 8 , lib 9 , wrapGAppsHook 10 + , alsa-lib 11 + , nss 12 + , nspr 13 + , systemd 14 + , xorg 15 }: 16 let 17 desktopItem = makeDesktopItem { ··· 43 dontPatchELF = true; 44 dontWrapGApps = true; 45 46 + # TODO: migrate off autoPatchelfHook and use nixpkgs' electron 47 nativeBuildInputs = [ 48 autoPatchelfHook 49 dpkg ··· 51 wrapGAppsHook 52 ]; 53 54 + buildInputs = [ 55 + alsa-lib 56 + nss 57 + nspr 58 + xorg.libXScrnSaver 59 + xorg.libXtst 60 + systemd 61 + ]; 62 63 unpackPhase = '' 64 # The deb file contains a setuid binary, so 'dpkg -x' doesn't work here
+3 -3
pkgs/tools/misc/mapcidr/default.nix
··· 5 6 buildGoModule rec { 7 pname = "mapcidr"; 8 - version = "1.1.9"; 9 10 src = fetchFromGitHub { 11 owner = "projectdiscovery"; 12 repo = pname; 13 rev = "refs/tags/v${version}"; 14 - hash = "sha256-/DKUB7ylOUh1kj1l5C6TbhfgmagJcTBFCoqjQIsbWg4="; 15 }; 16 17 - vendorHash = "sha256-YQEXOxu2IPvXNvqw0bzHnx0ALC/W4x9sU4m1GgvVH+g="; 18 19 modRoot = "."; 20 subPackages = [
··· 5 6 buildGoModule rec { 7 pname = "mapcidr"; 8 + version = "1.1.10"; 9 10 src = fetchFromGitHub { 11 owner = "projectdiscovery"; 12 repo = pname; 13 rev = "refs/tags/v${version}"; 14 + hash = "sha256-4VBIcdlK3tHUNQT8FRJuzlUcgM17SSFWYi4zys7zgZU="; 15 }; 16 17 + vendorHash = "sha256-HBX8Npd4jy5YXx70GV8h3woM6ArcgMWqu8dybj/wdRU="; 18 19 modRoot = "."; 20 subPackages = [
+2 -2
pkgs/tools/networking/grpc_cli/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "grpc_cli"; 5 - version = "1.58.1"; 6 src = fetchFromGitHub { 7 owner = "grpc"; 8 repo = "grpc"; 9 rev = "v${version}"; 10 - hash = "sha256-h1Zg5f+3NyyvrStEPXqTNSly7TSEPbE1/SqrZfS37Bk="; 11 fetchSubmodules = true; 12 }; 13 nativeBuildInputs = [ automake cmake autoconf ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "grpc_cli"; 5 + version = "1.59.0"; 6 src = fetchFromGitHub { 7 owner = "grpc"; 8 repo = "grpc"; 9 rev = "v${version}"; 10 + hash = "sha256-++8QWJJuwGUcm6pKxik6+jqzvXbMx8LHSV5CSgJ8IVo="; 11 fetchSubmodules = true; 12 }; 13 nativeBuildInputs = [ automake cmake autoconf ];
+3 -3
pkgs/tools/networking/sing-box/default.nix
··· 11 12 buildGoModule rec { 13 pname = "sing-box"; 14 - version = "1.5.0"; 15 16 src = fetchFromGitHub { 17 owner = "SagerNet"; 18 repo = pname; 19 rev = "v${version}"; 20 - hash = "sha256-Q5WSIh5k8cQPUlV0DHbg/g3aHVtsEb/lCWODg9SLTyM="; 21 }; 22 23 - vendorHash = "sha256-YGnrZbc9oK//EVUtfBkQnuTfdn7kcTuOZM0+67BiWrA="; 24 25 tags = [ 26 "with_quic"
··· 11 12 buildGoModule rec { 13 pname = "sing-box"; 14 + version = "1.5.1"; 15 16 src = fetchFromGitHub { 17 owner = "SagerNet"; 18 repo = pname; 19 rev = "v${version}"; 20 + hash = "sha256-Vc7TLkADOlMs4nMRCI2DAd4h40eYhcOP/EzM7uWqZ+A="; 21 }; 22 23 + vendorHash = "sha256-bcjhBAW4/NLQ/l7gmD9169DCYJwDH1j0vtEShJqKRiw="; 24 25 tags = [ 26 "with_quic"
+5 -4
pkgs/tools/security/cloudlist/default.nix
··· 5 6 buildGoModule rec { 7 pname = "cloudlist"; 8 - version = "1.0.3"; 9 10 src = fetchFromGitHub { 11 owner = "projectdiscovery"; 12 repo = pname; 13 - rev = "v${version}"; 14 - sha256 = "sha256-PWOC+Y+tCr5LqWJpSVoIeOquO2vMb06KW25pBEER3Ys="; 15 }; 16 17 - vendorHash = "sha256-FesvXH29thy6B9VXZnuvllJ+9VQR4i6q1JzrULaU82s="; 18 19 meta = with lib; { 20 description = "Tool for listing assets from multiple cloud providers"; 21 homepage = "https://github.com/projectdiscovery/cloudlist"; 22 license = licenses.mit; 23 maintainers = with maintainers; [ fab ]; 24 };
··· 5 6 buildGoModule rec { 7 pname = "cloudlist"; 8 + version = "1.0.4"; 9 10 src = fetchFromGitHub { 11 owner = "projectdiscovery"; 12 repo = pname; 13 + rev = "refs/tags/v${version}"; 14 + sha256 = "sha256-m0b7gtbI9i1tD8HduEAF+Mo2UpI4gqldEO8q4u+Wo3E="; 15 }; 16 17 + vendorHash = "sha256-GHQnI4T6y/p+BlQyrNJmIaSek0sC1J3UwcuvDQH5gCI="; 18 19 meta = with lib; { 20 description = "Tool for listing assets from multiple cloud providers"; 21 homepage = "https://github.com/projectdiscovery/cloudlist"; 22 + changelog = "https://github.com/projectdiscovery/cloudlist/releases/tag/v${version}"; 23 license = licenses.mit; 24 maintainers = with maintainers; [ fab ]; 25 };
+2 -2
pkgs/tools/security/jwx/default.nix
··· 5 6 buildGoModule rec { 7 pname = "jwx"; 8 - version = "2.0.12"; 9 10 src = fetchFromGitHub { 11 owner = "lestrrat-go"; 12 repo = pname; 13 rev = "v${version}"; 14 - hash = "sha256-2Lx9pu5KQut9eXIQYDjFW/pMDzR0eSKMFtSGOPQAkN4="; 15 }; 16 17 vendorHash = "sha256-o3EHPIXGLz/io0d8jhl9cxzctP3CeOjEDMQl1SY9lXg=";
··· 5 6 buildGoModule rec { 7 pname = "jwx"; 8 + version = "2.0.13"; 9 10 src = fetchFromGitHub { 11 owner = "lestrrat-go"; 12 repo = pname; 13 rev = "v${version}"; 14 + hash = "sha256-jtNG/d70Q67IKKEfRBewl40cxH6wYj3CPfx+S/vuQnQ="; 15 }; 16 17 vendorHash = "sha256-o3EHPIXGLz/io0d8jhl9cxzctP3CeOjEDMQl1SY9lXg=";
+2 -2
pkgs/tools/text/papeer/default.nix
··· 2 3 buildGoModule rec { 4 pname = "papeer"; 5 - version = "0.7.2"; 6 7 src = fetchFromGitHub { 8 owner = "lapwat"; 9 repo = pname; 10 rev = "v${version}"; 11 - hash = "sha256-Kdy660FuPjXYF/uqndljmIvA6r+lo3D86W9pK6KqXl0="; 12 }; 13 14 vendorHash = "sha256-3QRSdkx9p0H+zPB//bpWCBKKjKjrx0lHMk5lFm+U7pA=";
··· 2 3 buildGoModule rec { 4 pname = "papeer"; 5 + version = "0.8.1"; 6 7 src = fetchFromGitHub { 8 owner = "lapwat"; 9 repo = pname; 10 rev = "v${version}"; 11 + hash = "sha256-nEt2rxI9slrEkbpMpXQM6+jO0QWQsuLdOswXPCSozJs="; 12 }; 13 14 vendorHash = "sha256-3QRSdkx9p0H+zPB//bpWCBKKjKjrx0lHMk5lFm+U7pA=";
+4
pkgs/top-level/aliases.nix
··· 109 asterisk_19 = throw "asterisk_19: Asterisk 19 is end of life and has been removed"; # Added 2023-04-19 110 at_spi2_atk = throw "'at_spi2_atk' has been renamed to/replaced by 'at-spi2-atk'"; # Converted to throw 2022-02-22 111 at_spi2_core = throw "'at_spi2_core' has been renamed to/replaced by 'at-spi2-core'"; # Converted to throw 2022-02-22 112 aucdtect = throw "aucdtect: Upstream no longer provides download urls"; # Added 2020-12-26 113 audacity-gtk2 = throw "'audacity-gtk2' has been removed to/replaced by 'audacity'"; # Added 2022-10-09 114 audacity-gtk3 = throw "'audacity-gtk3' has been removed to/replaced by 'audacity'"; # Added 2022-10-09
··· 109 asterisk_19 = throw "asterisk_19: Asterisk 19 is end of life and has been removed"; # Added 2023-04-19 110 at_spi2_atk = throw "'at_spi2_atk' has been renamed to/replaced by 'at-spi2-atk'"; # Converted to throw 2022-02-22 111 at_spi2_core = throw "'at_spi2_core' has been renamed to/replaced by 'at-spi2-core'"; # Converted to throw 2022-02-22 112 + atom = throw "'atom' has been removed because discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01 113 + atom-beta = throw "'atom-beta' has been removed because discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01 114 + atomEnv = throw "'atomEnv' has been removed because 'atom' is discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01 115 + atomPackages = throw "'atomPackages' has been removed because 'atom' is discontinued and deprecated. Consider using 'pulsar', a maintained fork"; # Added 2023-10-01 116 aucdtect = throw "aucdtect: Upstream no longer provides download urls"; # Added 2020-12-26 117 audacity-gtk2 = throw "'audacity-gtk2' has been removed to/replaced by 'audacity'"; # Added 2022-10-09 118 audacity-gtk3 = throw "'audacity-gtk3' has been removed to/replaced by 'audacity'"; # Added 2022-10-09
+7 -8
pkgs/top-level/all-packages.nix
··· 126 127 common-updater-scripts = callPackage ../common-updater/scripts.nix { }; 128 129 genericUpdater = callPackage ../common-updater/generic-updater.nix { }; 130 131 _experimental-update-script-combinators = callPackage ../common-updater/combinators.nix { }; ··· 273 asn = callPackage ../applications/networking/asn { }; 274 275 asnmap = callPackage ../tools/security/asnmap { }; 276 - 277 - ast-grep = callPackage ../development/tools/misc/ast-grep { }; 278 279 astrolog = callPackage ../applications/science/astronomy/astrolog { }; 280 ··· 30628 artha = callPackage ../applications/misc/artha { }; 30629 30630 atlassian-cli = callPackage ../applications/office/atlassian-cli { }; 30631 - 30632 - atomEnv = callPackage ../applications/editors/atom/env.nix { }; 30633 - 30634 - atomPackages = dontRecurseIntoAttrs (callPackage ../applications/editors/atom { }); 30635 - 30636 - inherit (atomPackages) atom atom-beta; 30637 30638 pulsar = callPackage ../applications/editors/pulsar { }; 30639
··· 126 127 common-updater-scripts = callPackage ../common-updater/scripts.nix { }; 128 129 + # vimPluginsUpdater = callPackage ../applications/editors/vim/plugins/updater.nix { 130 + # inherit (writers) writePython3Bin; 131 + # }; 132 + vimPluginsUpdater = callPackage ../applications/editors/vim/plugins/updater.nix { 133 + inherit (python3Packages) buildPythonApplication ; 134 + }; 135 + 136 genericUpdater = callPackage ../common-updater/generic-updater.nix { }; 137 138 _experimental-update-script-combinators = callPackage ../common-updater/combinators.nix { }; ··· 280 asn = callPackage ../applications/networking/asn { }; 281 282 asnmap = callPackage ../tools/security/asnmap { }; 283 284 astrolog = callPackage ../applications/science/astronomy/astrolog { }; 285 ··· 30633 artha = callPackage ../applications/misc/artha { }; 30634 30635 atlassian-cli = callPackage ../applications/office/atlassian-cli { }; 30636 30637 pulsar = callPackage ../applications/editors/pulsar { }; 30638
+2 -21
pkgs/top-level/dotnet-packages.nix
··· 10 , mono 11 , overrides ? {} 12 , boogie 13 }: 14 15 let self = dotnetPackages // overrides; dotnetPackages = with self; { 16 # ALIASES FOR MOVED PACKAGES 17 18 Boogie = boogie; 19 20 # BINARY PACKAGES 21 ··· 166 version = "11.0.2"; 167 sha256 = "07na27n4mlw77f3hg5jpayzxll7f4gyna6x7k9cybmxpbs6l77k7"; 168 outputFiles = [ "*" ]; 169 - }; 170 - 171 - Nuget = buildDotnetPackage rec { 172 - pname = "Nuget"; 173 - version = "6.3.1.1"; 174 - 175 - src = fetchFromGitHub { 176 - owner = "mono"; 177 - repo = "linux-packaging-nuget"; 178 - rev = "upstream/${version}.bin"; 179 - sha256 = "sha256-D7F4B23HK5ElY68PYKVDsyi8OF0DLqqUqQzj5CpMfkc="; 180 - }; 181 - 182 - # configurePhase breaks the binary and results in 183 - # `File does not contain a valid CIL image.` 184 - dontConfigure = true; 185 - dontBuild = true; 186 - dontPlacateNuget = true; 187 - 188 - outputFiles = [ "*" ]; 189 - exeFiles = [ "nuget.exe" ]; 190 }; 191 192 Paket = fetchNuGet {
··· 10 , mono 11 , overrides ? {} 12 , boogie 13 + , nuget 14 }: 15 16 let self = dotnetPackages // overrides; dotnetPackages = with self; { 17 # ALIASES FOR MOVED PACKAGES 18 19 Boogie = boogie; 20 + Nuget = nuget; 21 22 # BINARY PACKAGES 23 ··· 168 version = "11.0.2"; 169 sha256 = "07na27n4mlw77f3hg5jpayzxll7f4gyna6x7k9cybmxpbs6l77k7"; 170 outputFiles = [ "*" ]; 171 }; 172 173 Paket = fetchNuGet {
+4
pkgs/top-level/ocaml-packages.nix
··· 964 965 lua-ml = callPackage ../development/ocaml-modules/lua-ml { }; 966 967 lustre-v6 = callPackage ../development/ocaml-modules/lustre-v6 { }; 968 969 lutils = callPackage ../development/ocaml-modules/lutils { }; ··· 1485 ppx_import = callPackage ../development/ocaml-modules/ppx_import {}; 1486 1487 ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix { }; 1488 1489 ppx_monad = callPackage ../development/ocaml-modules/ppx_monad { }; 1490
··· 964 965 lua-ml = callPackage ../development/ocaml-modules/lua-ml { }; 966 967 + lun = callPackage ../development/ocaml-modules/lun { }; 968 + 969 lustre-v6 = callPackage ../development/ocaml-modules/lustre-v6 { }; 970 971 lutils = callPackage ../development/ocaml-modules/lutils { }; ··· 1487 ppx_import = callPackage ../development/ocaml-modules/ppx_import {}; 1488 1489 ppx_irmin = callPackage ../development/ocaml-modules/irmin/ppx.nix { }; 1490 + 1491 + ppx_lun = callPackage ../development/ocaml-modules/lun/ppx.nix { }; 1492 1493 ppx_monad = callPackage ../development/ocaml-modules/ppx_monad { }; 1494
-1
pkgs/top-level/packages-config.nix
··· 9 packageOverrides = super: with super; lib.mapAttrs (_: set: recurseIntoAttrs set) { 10 inherit (super) 11 apacheHttpdPackages 12 - atomPackages 13 fdbPackages 14 fusePackages 15 gns3Packages
··· 9 packageOverrides = super: with super; lib.mapAttrs (_: set: recurseIntoAttrs set) { 10 inherit (super) 11 apacheHttpdPackages 12 fdbPackages 13 fusePackages 14 gns3Packages
+2
pkgs/top-level/python-packages.nix
··· 168 169 aiobafi6 = callPackage ../development/python-modules/aiobafi6 { }; 170 171 aioblescan = callPackage ../development/python-modules/aioblescan { }; 172 173 aiocache = callPackage ../development/python-modules/aiocache { };
··· 168 169 aiobafi6 = callPackage ../development/python-modules/aiobafi6 { }; 170 171 + aioboto3 = callPackage ../development/python-modules/aioboto3 { }; 172 + 173 aioblescan = callPackage ../development/python-modules/aioblescan { }; 174 175 aiocache = callPackage ../development/python-modules/aiocache { };
+2
pkgs/top-level/release.nix
··· 77 jobs.stdenv.x86_64-darwin 78 jobs.vim.x86_64-darwin 79 jobs.cachix.x86_64-darwin 80 81 # UI apps 82 # jobs.firefox-unwrapped.x86_64-darwin ··· 157 jobs.vim.x86_64-darwin 158 jobs.inkscape.x86_64-darwin 159 jobs.qt5.qtmultimedia.x86_64-darwin 160 /* 161 jobs.tests.cc-wrapper.default.x86_64-darwin 162 jobs.tests.cc-wrapper.gcc7Stdenv.x86_64-darwin
··· 77 jobs.stdenv.x86_64-darwin 78 jobs.vim.x86_64-darwin 79 jobs.cachix.x86_64-darwin 80 + jobs.darwin.linux-builder.x86_64-darwin 81 82 # UI apps 83 # jobs.firefox-unwrapped.x86_64-darwin ··· 158 jobs.vim.x86_64-darwin 159 jobs.inkscape.x86_64-darwin 160 jobs.qt5.qtmultimedia.x86_64-darwin 161 + jobs.darwin.linux-builder.x86_64-darwin 162 /* 163 jobs.tests.cc-wrapper.default.x86_64-darwin 164 jobs.tests.cc-wrapper.gcc7Stdenv.x86_64-darwin