Merge master into haskell-updates
This commit is contained in:
commit
2d9bfd243a
197 changed files with 8508 additions and 4680 deletions
91
.github/workflows/check-by-name.yml
vendored
91
.github/workflows/check-by-name.yml
vendored
|
@ -21,6 +21,16 @@ jobs:
|
|||
with:
|
||||
# pull_request_target checks out the base branch by default
|
||||
ref: refs/pull/${{ github.event.pull_request.number }}/merge
|
||||
# Fetches the merge commit and its parents
|
||||
fetch-depth: 2
|
||||
- name: Determining PR git hashes
|
||||
run: |
|
||||
echo "mergedSha=$(git rev-parse HEAD)" >> "$GITHUB_ENV"
|
||||
|
||||
# For pull_request_target this is the same as $GITHUB_SHA
|
||||
echo "baseSha=$(git rev-parse HEAD^1)" >> "$GITHUB_ENV"
|
||||
|
||||
echo "headSha=$(git rev-parse HEAD^2)" >> "$GITHUB_ENV"
|
||||
- uses: cachix/install-nix-action@v23
|
||||
- name: Determining channel to use for dependencies
|
||||
run: |
|
||||
|
@ -51,4 +61,83 @@ jobs:
|
|||
# Passing --max-jobs 0 makes sure that we won't build anything
|
||||
nix-build "$nixpkgs" -A tests.nixpkgs-check-by-name --max-jobs 0
|
||||
- name: Running nixpkgs-check-by-name
|
||||
run: result/bin/nixpkgs-check-by-name .
|
||||
run: |
|
||||
echo "Checking whether the check succeeds on the base branch $GITHUB_BASE_REF"
|
||||
git checkout -q "$baseSha"
|
||||
if baseOutput=$(result/bin/nixpkgs-check-by-name . 2>&1); then
|
||||
baseSuccess=1
|
||||
else
|
||||
baseSuccess=
|
||||
fi
|
||||
printf "%s\n" "$baseOutput"
|
||||
|
||||
echo "Checking whether the check would succeed after merging this pull request"
|
||||
git checkout -q "$mergedSha"
|
||||
if mergedOutput=$(result/bin/nixpkgs-check-by-name . 2>&1); then
|
||||
mergedSuccess=1
|
||||
exitCode=0
|
||||
else
|
||||
mergedSuccess=
|
||||
exitCode=1
|
||||
fi
|
||||
printf "%s\n" "$mergedOutput"
|
||||
|
||||
resultToEmoji() {
|
||||
if [[ -n "$1" ]]; then
|
||||
echo ":heavy_check_mark:"
|
||||
else
|
||||
echo ":x:"
|
||||
fi
|
||||
}
|
||||
|
||||
# Print a markdown summary in GitHub actions
|
||||
{
|
||||
echo "| Nixpkgs version | Check result |"
|
||||
echo "| --- | --- |"
|
||||
echo "| Latest base commit | $(resultToEmoji "$baseSuccess") |"
|
||||
echo "| After merging this PR | $(resultToEmoji "$mergedSuccess") |"
|
||||
echo ""
|
||||
|
||||
if [[ -n "$baseSuccess" ]]; then
|
||||
if [[ -n "$mergedSuccess" ]]; then
|
||||
echo "The check succeeds on both the base branch and after merging this PR"
|
||||
else
|
||||
echo "The check succeeds on the base branch, but would fail after merging this PR:"
|
||||
echo "\`\`\`"
|
||||
echo "$mergedOutput"
|
||||
echo "\`\`\`"
|
||||
echo ""
|
||||
fi
|
||||
else
|
||||
if [[ -n "$mergedSuccess" ]]; then
|
||||
echo "The check fails on the base branch, but this PR fixes it, nicely done!"
|
||||
else
|
||||
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."
|
||||
echo ""
|
||||
echo "Failure on the base branch:"
|
||||
echo "\`\`\`"
|
||||
echo "$baseOutput"
|
||||
echo "\`\`\`"
|
||||
echo ""
|
||||
echo "Failure after merging this PR:"
|
||||
echo "\`\`\`"
|
||||
echo "$mergedOutput"
|
||||
echo "\`\`\`"
|
||||
echo ""
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "### Details"
|
||||
echo "- nixpkgs-check-by-name tool:"
|
||||
echo " - Channel: $channel"
|
||||
echo " - Nixpkgs commit: [$rev](https://github.com/${GITHUB_REPOSITORY}/commit/$rev)"
|
||||
echo " - Store path: \`$(realpath result)\`"
|
||||
echo "- Tested Nixpkgs:"
|
||||
echo " - Base branch $GITHUB_BASE_REF"
|
||||
echo " - Latest base branch commit: [$baseSha](https://github.com/${GITHUB_REPOSITORY}/commit/$baseSha)"
|
||||
echo " - Latest PR commit: [$headSha](https://github.com/${GITHUB_REPOSITORY}/commit/$headSha)"
|
||||
echo " - Merge commit: [$mergedSha](https://github.com/${GITHUB_REPOSITORY}/commit/$mergedSha)"
|
||||
} >> "$GITHUB_STEP_SUMMARY"
|
||||
|
||||
exit "$exitCode"
|
||||
|
||||
|
|
|
@ -212,9 +212,9 @@ Note: this is not possible anymore for Neovim.
|
|||
|
||||
## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs}
|
||||
|
||||
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).
|
||||
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).
|
||||
|
||||
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`.
|
||||
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`.
|
||||
|
||||
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:
|
||||
|
||||
|
@ -241,7 +241,8 @@ GITHUB_API_TOKEN=my_token ./pkgs/applications/editors/vim/plugins/update.py
|
|||
Alternatively, set the number of processes to a lower count to avoid rate-limiting.
|
||||
|
||||
```sh
|
||||
./pkgs/applications/editors/vim/plugins/update.py --proc 1
|
||||
|
||||
nix-shell -p vimPluginsUpdater --run 'vim-plugins-updater --proc 1'
|
||||
```
|
||||
|
||||
## How to maintain an out-of-tree overlay of vim plugins ? {#vim-out-of-tree-overlays}
|
||||
|
@ -250,7 +251,7 @@ You can use the updater script to generate basic packages out of a custom vim
|
|||
plugin list:
|
||||
|
||||
```
|
||||
pkgs/applications/editors/vim/plugins/update.py -i vim-plugin-names -o generated.nix --no-commit
|
||||
nix-shell -p vimPluginsUpdater --run vim-plugins-updater -i vim-plugin-names -o generated.nix --no-commit
|
||||
```
|
||||
|
||||
with the contents of `vim-plugin-names` being for example:
|
||||
|
@ -264,7 +265,7 @@ You can then reference the generated vim plugins via:
|
|||
|
||||
```nix
|
||||
myVimPlugins = pkgs.vimPlugins.extend (
|
||||
(pkgs.callPackage generated.nix {})
|
||||
(pkgs.callPackage ./generated.nix {})
|
||||
);
|
||||
```
|
||||
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
# File set library
|
||||
|
||||
This is the internal contributor documentation.
|
||||
The user documentation is [in the Nixpkgs manual](https://nixos.org/manual/nixpkgs/unstable/#sec-fileset).
|
||||
|
||||
## Goals
|
||||
|
||||
The main goal of the file set library is to be able to select local files that should be added to the Nix store.
|
||||
It should have the following properties:
|
||||
- Easy:
|
||||
|
@ -41,9 +46,16 @@ An attribute set with these values:
|
|||
- `_type` (constant string `"fileset"`):
|
||||
Tag to indicate this value is a file set.
|
||||
|
||||
- `_internalVersion` (constant `2`, the current version):
|
||||
- `_internalVersion` (constant `3`, the current version):
|
||||
Version of the representation.
|
||||
|
||||
- `_internalIsEmptyWithoutBase` (bool):
|
||||
Whether this file set is the empty file set without a base path.
|
||||
If `true`, `_internalBase*` and `_internalTree` are not set.
|
||||
This is the only way to represent an empty file set without needing a base path.
|
||||
|
||||
Such a value can be used as the identity element for `union` and the return value of `unions []` and co.
|
||||
|
||||
- `_internalBase` (path):
|
||||
Any files outside of this path cannot influence the set of files.
|
||||
This is always a directory.
|
||||
|
@ -111,6 +123,26 @@ Arguments:
|
|||
- (+) This can be removed later, if we discover it's too restrictive
|
||||
- (-) It leads to errors when a sensible result could sometimes be returned, such as in the above example.
|
||||
|
||||
### Empty file set without a base
|
||||
|
||||
There is a special representation for an empty file set without a base path.
|
||||
This is used for return values that should be empty but when there's no base path that would makes sense.
|
||||
|
||||
Arguments:
|
||||
- Alternative: This could also be represented using `_internalBase = /.` and `_internalTree = null`.
|
||||
- (+) Removes the need for a special representation.
|
||||
- (-) Due to [influence tracking](#influence-tracking),
|
||||
`union empty ./.` would have `/.` as the base path,
|
||||
which would then prevent `toSource { root = ./.; fileset = union empty ./.; }` from working,
|
||||
which is not as one would expect.
|
||||
- (-) With the assumption that there can be multiple filesystem roots (as established with the [path library](../path/README.md)),
|
||||
this would have to cause an error with `union empty pathWithAnotherFilesystemRoot`,
|
||||
which is not as one would expect.
|
||||
- Alternative: Do not have such a value and error when it would be needed as a return value
|
||||
- (+) Removes the need for a special representation.
|
||||
- (-) Leaves us with no identity element for `union` and no reasonable return value for `unions []`.
|
||||
From a set theory perspective, which has a well-known notion of empty sets, this is unintuitive.
|
||||
|
||||
### Empty directories
|
||||
|
||||
File sets can only represent a _set_ of local files, directories on their own are not representable.
|
||||
|
|
|
@ -156,7 +156,7 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
|||
lib.fileset.toSource: `root` is of type ${typeOf root}, but it should be a path instead.''
|
||||
# Currently all Nix paths have the same filesystem root, but this could change in the future.
|
||||
# See also ../path/README.md
|
||||
else if rootFilesystemRoot != filesetFilesystemRoot then
|
||||
else if ! fileset._internalIsEmptyWithoutBase && rootFilesystemRoot != filesetFilesystemRoot then
|
||||
throw ''
|
||||
lib.fileset.toSource: Filesystem roots are not the same for `fileset` and `root` ("${toString root}"):
|
||||
`root`: root "${toString rootFilesystemRoot}"
|
||||
|
@ -170,7 +170,7 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
|||
lib.fileset.toSource: `root` (${toString root}) is a file, but it should be a directory instead. Potential solutions:
|
||||
- If you want to import the file into the store _without_ a containing directory, use string interpolation or `builtins.path` instead of this function.
|
||||
- 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.''
|
||||
else if ! hasPrefix root fileset._internalBase then
|
||||
else if ! fileset._internalIsEmptyWithoutBase && ! hasPrefix root fileset._internalBase then
|
||||
throw ''
|
||||
lib.fileset.toSource: `fileset` could contain files in ${toString fileset._internalBase}, which is not under the `root` (${toString root}). Potential solutions:
|
||||
- Set `root` to ${toString fileset._internalBase} or any directory higher up. This changes the layout of the resulting store path.
|
||||
|
@ -258,15 +258,11 @@ If a directory does not recursively contain any file, it is omitted from the sto
|
|||
*/
|
||||
unions =
|
||||
# A list of file sets.
|
||||
# Must contain at least 1 element.
|
||||
# The elements can also be paths,
|
||||
# which get [implicitly coerced to file sets](#sec-fileset-path-coercion).
|
||||
filesets:
|
||||
if ! isList filesets then
|
||||
throw "lib.fileset.unions: Expected argument to be a list, but got a ${typeOf filesets}."
|
||||
else if filesets == [ ] then
|
||||
# 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.
|
||||
throw "lib.fileset.unions: Expected argument to be a list with at least one element, but it contains no elements."
|
||||
else
|
||||
pipe filesets [
|
||||
# Annotate the elements with context, used by _coerceMany for better errors
|
||||
|
|
|
@ -28,6 +28,7 @@ let
|
|||
drop
|
||||
elemAt
|
||||
filter
|
||||
findFirst
|
||||
findFirstIndex
|
||||
foldl'
|
||||
head
|
||||
|
@ -64,7 +65,7 @@ rec {
|
|||
# - Increment this version
|
||||
# - Add an additional migration function below
|
||||
# - Update the description of the internal representation in ./README.md
|
||||
_currentVersion = 2;
|
||||
_currentVersion = 3;
|
||||
|
||||
# Migrations between versions. The 0th element converts from v0 to v1, and so on
|
||||
migrations = [
|
||||
|
@ -89,8 +90,34 @@ rec {
|
|||
_internalVersion = 2;
|
||||
}
|
||||
)
|
||||
|
||||
# Convert v2 into v3: filesetTree's now have a representation for an empty file set without a base path
|
||||
(
|
||||
filesetV2:
|
||||
filesetV2 // {
|
||||
# All v1 file sets are not the new empty file set
|
||||
_internalIsEmptyWithoutBase = false;
|
||||
_internalVersion = 3;
|
||||
}
|
||||
)
|
||||
];
|
||||
|
||||
_noEvalMessage = ''
|
||||
lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.'';
|
||||
|
||||
# The empty file set without a base path
|
||||
_emptyWithoutBase = {
|
||||
_type = "fileset";
|
||||
|
||||
_internalVersion = _currentVersion;
|
||||
|
||||
# The one and only!
|
||||
_internalIsEmptyWithoutBase = true;
|
||||
|
||||
# Double __ to make it be evaluated and ordered first
|
||||
__noEval = throw _noEvalMessage;
|
||||
};
|
||||
|
||||
# Create a fileset, see ./README.md#fileset
|
||||
# Type: path -> filesetTree -> fileset
|
||||
_create = base: tree:
|
||||
|
@ -103,14 +130,15 @@ rec {
|
|||
_type = "fileset";
|
||||
|
||||
_internalVersion = _currentVersion;
|
||||
|
||||
_internalIsEmptyWithoutBase = false;
|
||||
_internalBase = base;
|
||||
_internalBaseRoot = parts.root;
|
||||
_internalBaseComponents = components parts.subpath;
|
||||
_internalTree = tree;
|
||||
|
||||
# Double __ to make it be evaluated and ordered first
|
||||
__noEval = throw ''
|
||||
lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.'';
|
||||
__noEval = throw _noEvalMessage;
|
||||
};
|
||||
|
||||
# Coerce a value to a fileset, erroring when the value cannot be coerced.
|
||||
|
@ -155,14 +183,20 @@ rec {
|
|||
_coerce "${functionContext}: ${context}" value
|
||||
) list;
|
||||
|
||||
firstBaseRoot = (head filesets)._internalBaseRoot;
|
||||
# Find the first value with a base, there may be none!
|
||||
firstWithBase = findFirst (fileset: ! fileset._internalIsEmptyWithoutBase) null filesets;
|
||||
# This value is only accessed if first != null
|
||||
firstBaseRoot = firstWithBase._internalBaseRoot;
|
||||
|
||||
# Finds the first element with a filesystem root different than the first element, if any
|
||||
differentIndex = findFirstIndex (fileset:
|
||||
firstBaseRoot != fileset._internalBaseRoot
|
||||
# The empty value without a base doesn't have a base path
|
||||
! fileset._internalIsEmptyWithoutBase
|
||||
&& firstBaseRoot != fileset._internalBaseRoot
|
||||
) null filesets;
|
||||
in
|
||||
if differentIndex != null then
|
||||
# Only evaluates `differentIndex` if there are any elements with a base
|
||||
if firstWithBase != null && differentIndex != null then
|
||||
throw ''
|
||||
${functionContext}: Filesystem roots are not the same:
|
||||
${(head list).context}: root "${toString firstBaseRoot}"
|
||||
|
@ -311,7 +345,7 @@ rec {
|
|||
# Special case because the code below assumes that the _internalBase is always included in the result
|
||||
# which shouldn't be done when we have no files at all in the base
|
||||
# This also forces the tree before returning the filter, leads to earlier error messages
|
||||
if tree == null then
|
||||
if fileset._internalIsEmptyWithoutBase || tree == null then
|
||||
empty
|
||||
else
|
||||
nonEmpty;
|
||||
|
@ -321,7 +355,12 @@ rec {
|
|||
# Type: [ Fileset ] -> Fileset
|
||||
_unionMany = filesets:
|
||||
let
|
||||
first = head filesets;
|
||||
# All filesets that have a base, aka not the ones that are the empty value without a base
|
||||
filesetsWithBase = filter (fileset: ! fileset._internalIsEmptyWithoutBase) filesets;
|
||||
|
||||
# The first fileset that has a base.
|
||||
# This value is only accessed if there are at all.
|
||||
firstWithBase = head filesetsWithBase;
|
||||
|
||||
# To be able to union filesetTree's together, they need to have the same base path.
|
||||
# Base paths can be unioned by taking their common prefix,
|
||||
|
@ -332,14 +371,14 @@ rec {
|
|||
# so this cannot cause a stack overflow due to a build-up of unevaluated thunks.
|
||||
commonBaseComponents = foldl'
|
||||
(components: el: commonPrefix components el._internalBaseComponents)
|
||||
first._internalBaseComponents
|
||||
firstWithBase._internalBaseComponents
|
||||
# We could also not do the `tail` here to avoid a list allocation,
|
||||
# but then we'd have to pay for a potentially expensive
|
||||
# but unnecessary `commonPrefix` call
|
||||
(tail filesets);
|
||||
(tail filesetsWithBase);
|
||||
|
||||
# The common base path assembled from a filesystem root and the common components
|
||||
commonBase = append first._internalBaseRoot (join commonBaseComponents);
|
||||
commonBase = append firstWithBase._internalBaseRoot (join commonBaseComponents);
|
||||
|
||||
# A list of filesetTree's that all have the same base path
|
||||
# This is achieved by nesting the trees into the components they have over the common base path
|
||||
|
@ -351,14 +390,18 @@ rec {
|
|||
setAttrByPath
|
||||
(drop (length commonBaseComponents) fileset._internalBaseComponents)
|
||||
fileset._internalTree
|
||||
) filesets;
|
||||
) filesetsWithBase;
|
||||
|
||||
# Folds all trees together into a single one using _unionTree
|
||||
# We do not use a fold here because it would cause a thunk build-up
|
||||
# which could cause a stack overflow for a large number of trees
|
||||
resultTree = _unionTrees trees;
|
||||
in
|
||||
_create commonBase resultTree;
|
||||
# If there's no values with a base, we have no files
|
||||
if filesetsWithBase == [ ] then
|
||||
_emptyWithoutBase
|
||||
else
|
||||
_create commonBase resultTree;
|
||||
|
||||
# The union of multiple filesetTree's with the same base path.
|
||||
# Later elements are only evaluated if necessary.
|
||||
|
|
|
@ -282,24 +282,27 @@ expectFailure 'toSource { root = ./.; fileset = ./a; }' 'lib.fileset.toSource: `
|
|||
|
||||
# File sets cannot be evaluated directly
|
||||
expectFailure 'union ./. ./.' 'lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.'
|
||||
expectFailure '_emptyWithoutBase' 'lib.fileset: Directly evaluating a file set is not supported. Use `lib.fileset.toSource` to turn it into a usable source instead.'
|
||||
|
||||
# Past versions of the internal representation are supported
|
||||
expectEqual '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 0; _internalBase = ./.; }' \
|
||||
'{ _internalBase = ./.; _internalBaseComponents = path.subpath.components (path.splitRoot ./.).subpath; _internalBaseRoot = /.; _internalVersion = 2; _type = "fileset"; }'
|
||||
'{ _internalBase = ./.; _internalBaseComponents = path.subpath.components (path.splitRoot ./.).subpath; _internalBaseRoot = /.; _internalIsEmptyWithoutBase = false; _internalVersion = 3; _type = "fileset"; }'
|
||||
expectEqual '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 1; }' \
|
||||
'{ _type = "fileset"; _internalVersion = 2; }'
|
||||
'{ _type = "fileset"; _internalIsEmptyWithoutBase = false; _internalVersion = 3; }'
|
||||
expectEqual '_coerce "<tests>: value" { _type = "fileset"; _internalVersion = 2; }' \
|
||||
'{ _type = "fileset"; _internalIsEmptyWithoutBase = false; _internalVersion = 3; }'
|
||||
|
||||
# Future versions of the internal representation are unsupported
|
||||
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:
|
||||
\s*- Internal version of the file set: 3
|
||||
\s*- Internal version of the library: 2
|
||||
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:
|
||||
\s*- Internal version of the file set: 4
|
||||
\s*- Internal version of the library: 3
|
||||
\s*Make sure to update your Nixpkgs to have a newer version of `lib.fileset`.'
|
||||
|
||||
# _create followed by _coerce should give the inputs back without any validation
|
||||
expectEqual '{
|
||||
inherit (_coerce "<test>" (_create ./. "directory"))
|
||||
_internalVersion _internalBase _internalTree;
|
||||
}' '{ _internalBase = ./.; _internalTree = "directory"; _internalVersion = 2; }'
|
||||
}' '{ _internalBase = ./.; _internalTree = "directory"; _internalVersion = 3; }'
|
||||
|
||||
#### Resulting store path ####
|
||||
|
||||
|
@ -311,6 +314,12 @@ tree=(
|
|||
)
|
||||
checkFileset './.'
|
||||
|
||||
# The empty value without a base should also result in an empty result
|
||||
tree=(
|
||||
[a]=0
|
||||
)
|
||||
checkFileset '_emptyWithoutBase'
|
||||
|
||||
# Directories recursively containing no files are not included
|
||||
tree=(
|
||||
[e/]=0
|
||||
|
@ -406,15 +415,32 @@ expectFailure 'toSource { root = ./.; fileset = union ./. ./b; }' 'lib.fileset.u
|
|||
expectFailure 'toSource { root = ./.; fileset = unions [ ./a ./. ]; }' 'lib.fileset.unions: element 0 \('"$work"'/a\) does not exist.'
|
||||
expectFailure 'toSource { root = ./.; fileset = unions [ ./. ./b ]; }' 'lib.fileset.unions: element 1 \('"$work"'/b\) does not exist.'
|
||||
|
||||
# unions needs a list with at least 1 element
|
||||
# unions needs a list
|
||||
expectFailure 'toSource { root = ./.; fileset = unions null; }' 'lib.fileset.unions: Expected argument to be a list, but got a null.'
|
||||
expectFailure 'toSource { root = ./.; fileset = unions [ ]; }' 'lib.fileset.unions: Expected argument to be a list with at least one element, but it contains no elements.'
|
||||
|
||||
# The tree of later arguments should not be evaluated if a former argument already includes all files
|
||||
tree=()
|
||||
checkFileset 'union ./. (_create ./. (abort "This should not be used!"))'
|
||||
checkFileset 'unions [ ./. (_create ./. (abort "This should not be used!")) ]'
|
||||
|
||||
# unions doesn't include any files for an empty list or only empty values without a base
|
||||
tree=(
|
||||
[x]=0
|
||||
[y/z]=0
|
||||
)
|
||||
checkFileset 'unions [ ]'
|
||||
checkFileset 'unions [ _emptyWithoutBase ]'
|
||||
checkFileset 'unions [ _emptyWithoutBase _emptyWithoutBase ]'
|
||||
checkFileset 'union _emptyWithoutBase _emptyWithoutBase'
|
||||
|
||||
# The empty value without a base is the left and right identity of union
|
||||
tree=(
|
||||
[x]=1
|
||||
[y/z]=0
|
||||
)
|
||||
checkFileset 'union ./x _emptyWithoutBase'
|
||||
checkFileset 'union _emptyWithoutBase ./x'
|
||||
|
||||
# union doesn't include files that weren't specified
|
||||
tree=(
|
||||
[x]=1
|
||||
|
@ -467,12 +493,13 @@ for i in $(seq 1000); do
|
|||
tree[$i/a]=1
|
||||
tree[$i/b]=0
|
||||
done
|
||||
(
|
||||
# Locally limit the maximum stack size to 100 * 1024 bytes
|
||||
# If unions was implemented recursively, this would stack overflow
|
||||
ulimit -s 100
|
||||
checkFileset 'unions (mapAttrsToList (name: _: ./. + "/${name}/a") (builtins.readDir ./.))'
|
||||
)
|
||||
# This is actually really hard to test:
|
||||
# A lot of files would be needed to cause a stack overflow.
|
||||
# And while we could limit the maximum stack size using `ulimit -s`,
|
||||
# that turns out to not be very deterministic: https://github.com/NixOS/nixpkgs/pull/256417#discussion_r1339396686.
|
||||
# Meanwhile, the test infra here is not the fastest, creating 10000 would be too slow.
|
||||
# So, just using 1000 files for now.
|
||||
checkFileset 'unions (mapAttrsToList (name: _: ./. + "/${name}/a") (builtins.readDir ./.))'
|
||||
|
||||
# TODO: Once we have combinators and a property testing library, derive property tests from https://en.wikipedia.org/wiki/Algebra_of_sets
|
||||
|
||||
|
|
|
@ -16285,6 +16285,16 @@
|
|||
githubId = 53029739;
|
||||
name = "Joshua Ortiz";
|
||||
};
|
||||
Sorixelle = {
|
||||
email = "ruby+nixpkgs@srxl.me";
|
||||
matrix = "@ruby:isincredibly.gay";
|
||||
name = "Ruby Iris Juric";
|
||||
github = "Sorixelle";
|
||||
githubId = 38685302;
|
||||
keys = [{
|
||||
fingerprint = "2D76 76C7 A28E 16FC 75C7 268D 1B55 6ED8 4B0E 303A";
|
||||
}];
|
||||
};
|
||||
sorki = {
|
||||
email = "srk@48.io";
|
||||
github = "sorki";
|
||||
|
@ -18510,7 +18520,7 @@
|
|||
githubId = 60148;
|
||||
};
|
||||
water-sucks = {
|
||||
email = "varun@cvte.org";
|
||||
email = "varun@snare.dev";
|
||||
name = "Varun Narravula";
|
||||
github = "water-sucks";
|
||||
githubId = 68445574;
|
||||
|
|
|
@ -89,6 +89,7 @@ lyaml,,,,,,lblasc
|
|||
magick,,,,,,donovanglover
|
||||
markdown,,,,,,
|
||||
mediator_lua,,,,,,
|
||||
middleclass,,,,,,
|
||||
mpack,,,,,,
|
||||
moonscript,https://github.com/leafo/moonscript.git,dev-1,,,,arobyn
|
||||
nvim-client,https://github.com/neovim/lua-client.git,,,,,
|
||||
|
|
|
|
@ -321,8 +321,14 @@ def load_plugins_from_csv(
|
|||
return plugins
|
||||
|
||||
|
||||
def run_nix_expr(expr):
|
||||
with CleanEnvironment() as nix_path:
|
||||
|
||||
def run_nix_expr(expr, nixpkgs: str):
|
||||
'''
|
||||
:param expr nix expression to fetch current plugins
|
||||
:param nixpkgs Path towards a nixpkgs checkout
|
||||
'''
|
||||
# local_pkgs = str(Path(__file__).parent.parent.parent)
|
||||
with CleanEnvironment(nixpkgs) as nix_path:
|
||||
cmd = [
|
||||
"nix",
|
||||
"eval",
|
||||
|
@ -396,9 +402,9 @@ class Editor:
|
|||
"""CSV spec"""
|
||||
print("the update member function should be overriden in subclasses")
|
||||
|
||||
def get_current_plugins(self) -> List[Plugin]:
|
||||
def get_current_plugins(self, nixpkgs) -> List[Plugin]:
|
||||
"""To fill the cache"""
|
||||
data = run_nix_expr(self.get_plugins)
|
||||
data = run_nix_expr(self.get_plugins, nixpkgs)
|
||||
plugins = []
|
||||
for name, attr in data.items():
|
||||
p = Plugin(name, attr["rev"], attr["submodules"], attr["sha256"])
|
||||
|
@ -414,7 +420,7 @@ class Editor:
|
|||
raise NotImplementedError()
|
||||
|
||||
def get_update(self, input_file: str, outfile: str, config: FetchConfig):
|
||||
cache: Cache = Cache(self.get_current_plugins(), self.cache_file)
|
||||
cache: Cache = Cache(self.get_current_plugins(self.nixpkgs), self.cache_file)
|
||||
_prefetch = functools.partial(prefetch, cache=cache)
|
||||
|
||||
def update() -> dict:
|
||||
|
@ -453,6 +459,12 @@ class Editor:
|
|||
By default from {self.default_in} to {self.default_out}"""
|
||||
),
|
||||
)
|
||||
common.add_argument(
|
||||
"--nixpkgs",
|
||||
type=str,
|
||||
default=os.getcwd(),
|
||||
help="Adjust log level",
|
||||
)
|
||||
common.add_argument(
|
||||
"--input-names",
|
||||
"-i",
|
||||
|
@ -541,22 +553,27 @@ class Editor:
|
|||
command = args.command or "update"
|
||||
log.setLevel(LOG_LEVELS[args.debug])
|
||||
log.info("Chose to run command: %s", command)
|
||||
self.nixpkgs = args.nixpkgs
|
||||
|
||||
if not args.no_commit:
|
||||
self.nixpkgs_repo = git.Repo(self.root, search_parent_directories=True)
|
||||
self.nixpkgs_repo = git.Repo(args.nixpkgs, search_parent_directories=True)
|
||||
|
||||
getattr(self, command)(args)
|
||||
|
||||
|
||||
class CleanEnvironment(object):
|
||||
def __init__(self, nixpkgs):
|
||||
self.local_pkgs = nixpkgs
|
||||
|
||||
def __enter__(self) -> str:
|
||||
self.old_environ = os.environ.copy()
|
||||
"""
|
||||
local_pkgs = str(Path(__file__).parent.parent.parent)
|
||||
"""
|
||||
self.old_environ = os.environ.copy()
|
||||
self.empty_config = NamedTemporaryFile()
|
||||
self.empty_config.write(b"{}")
|
||||
self.empty_config.flush()
|
||||
os.environ["NIXPKGS_CONFIG"] = self.empty_config.name
|
||||
return f"localpkgs={local_pkgs}"
|
||||
# os.environ["NIXPKGS_CONFIG"] = self.empty_config.name
|
||||
return f"localpkgs={self.local_pkgs}"
|
||||
|
||||
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None:
|
||||
os.environ.update(self.old_environ)
|
||||
|
@ -758,7 +775,8 @@ def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
|
|||
|
||||
|
||||
def update_plugins(editor: Editor, args):
|
||||
"""The main entry function of this module. All input arguments are grouped in the `Editor`."""
|
||||
"""The main entry function of this module.
|
||||
All input arguments are grouped in the `Editor`."""
|
||||
|
||||
log.info("Start updating plugins")
|
||||
fetch_config = FetchConfig(args.proc, args.github_token)
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
#!nix-shell update-luarocks-shell.nix -i python3
|
||||
|
||||
# format:
|
||||
# $ nix run nixpkgs.python3Packages.black -c black update.py
|
||||
# $ nix run nixpkgs#python3Packages.black -- update.py
|
||||
# type-check:
|
||||
# $ nix run nixpkgs.python3Packages.mypy -c mypy update.py
|
||||
# $ nix run nixpkgs#python3Packages.mypy -- update.py
|
||||
# linted:
|
||||
# $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265,E402 update.py
|
||||
# $ nix run nixpkgs#python3Packages.flake8 -- --ignore E501,E265,E402 update.py
|
||||
|
||||
import inspect
|
||||
import os
|
||||
|
@ -25,14 +25,14 @@ from pathlib import Path
|
|||
log = logging.getLogger()
|
||||
log.addHandler(logging.StreamHandler())
|
||||
|
||||
ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore
|
||||
ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))).parent.parent # type: ignore
|
||||
import pluginupdate
|
||||
from pluginupdate import update_plugins, FetchConfig, CleanEnvironment
|
||||
|
||||
PKG_LIST="maintainers/scripts/luarocks-packages.csv"
|
||||
TMP_FILE="$(mktemp)"
|
||||
GENERATED_NIXFILE="pkgs/development/lua-modules/generated-packages.nix"
|
||||
LUAROCKS_CONFIG="maintainers/scripts/luarocks-config.lua"
|
||||
PKG_LIST = "maintainers/scripts/luarocks-packages.csv"
|
||||
TMP_FILE = "$(mktemp)"
|
||||
GENERATED_NIXFILE = "pkgs/development/lua-modules/generated-packages.nix"
|
||||
LUAROCKS_CONFIG = "maintainers/scripts/luarocks-config.lua"
|
||||
|
||||
HEADER = """/* {GENERATED_NIXFILE} is an auto-generated file -- DO NOT EDIT!
|
||||
Regenerate it with:
|
||||
|
@ -40,36 +40,40 @@ nixpkgs$ ./maintainers/scripts/update-luarocks-packages
|
|||
|
||||
You can customize the generated packages in pkgs/development/lua-modules/overrides.nix
|
||||
*/
|
||||
""".format(GENERATED_NIXFILE=GENERATED_NIXFILE)
|
||||
""".format(
|
||||
GENERATED_NIXFILE=GENERATED_NIXFILE
|
||||
)
|
||||
|
||||
FOOTER="""
|
||||
FOOTER = """
|
||||
}
|
||||
/* GENERATED - do not edit this file */
|
||||
"""
|
||||
|
||||
|
||||
@dataclass
|
||||
class LuaPlugin:
|
||||
name: str
|
||||
'''Name of the plugin, as seen on luarocks.org'''
|
||||
"""Name of the plugin, as seen on luarocks.org"""
|
||||
src: str
|
||||
'''address to the git repository'''
|
||||
"""address to the git repository"""
|
||||
ref: Optional[str]
|
||||
'''git reference (branch name/tag)'''
|
||||
"""git reference (branch name/tag)"""
|
||||
version: Optional[str]
|
||||
'''Set it to pin a package '''
|
||||
"""Set it to pin a package """
|
||||
server: Optional[str]
|
||||
'''luarocks.org registers packages under different manifests.
|
||||
"""luarocks.org registers packages under different manifests.
|
||||
Its value can be 'http://luarocks.org/dev'
|
||||
'''
|
||||
"""
|
||||
luaversion: Optional[str]
|
||||
'''Attribue of the lua interpreter if a package is available only for a specific lua version'''
|
||||
"""Attribue of the lua interpreter if a package is available only for a specific lua version"""
|
||||
maintainers: Optional[str]
|
||||
''' Optional string listing maintainers separated by spaces'''
|
||||
""" Optional string listing maintainers separated by spaces"""
|
||||
|
||||
@property
|
||||
def normalized_name(self) -> str:
|
||||
return self.name.replace(".", "-")
|
||||
|
||||
|
||||
# rename Editor to LangUpdate/ EcosystemUpdater
|
||||
class LuaEditor(pluginupdate.Editor):
|
||||
def get_current_plugins(self):
|
||||
|
@ -77,11 +81,13 @@ class LuaEditor(pluginupdate.Editor):
|
|||
|
||||
def load_plugin_spec(self, input_file) -> List[LuaPlugin]:
|
||||
luaPackages = []
|
||||
csvfilename=input_file
|
||||
csvfilename = input_file
|
||||
log.info("Loading package descriptions from %s", csvfilename)
|
||||
|
||||
with open(csvfilename, newline='') as csvfile:
|
||||
reader = csv.DictReader(csvfile,)
|
||||
with open(csvfilename, newline="") as csvfile:
|
||||
reader = csv.DictReader(
|
||||
csvfile,
|
||||
)
|
||||
for row in reader:
|
||||
# name,server,version,luaversion,maintainers
|
||||
plugin = LuaPlugin(**row)
|
||||
|
@ -91,23 +97,19 @@ class LuaEditor(pluginupdate.Editor):
|
|||
def update(self, args):
|
||||
update_plugins(self, args)
|
||||
|
||||
def generate_nix(
|
||||
self,
|
||||
results: List[Tuple[LuaPlugin, str]],
|
||||
outfilename: str
|
||||
):
|
||||
|
||||
def generate_nix(self, results: List[Tuple[LuaPlugin, str]], outfilename: str):
|
||||
with tempfile.NamedTemporaryFile("w+") as f:
|
||||
f.write(HEADER)
|
||||
header2 = textwrap.dedent(
|
||||
# header2 = inspect.cleandoc(
|
||||
"""
|
||||
# header2 = inspect.cleandoc(
|
||||
"""
|
||||
{ self, stdenv, lib, fetchurl, fetchgit, callPackage, ... } @ args:
|
||||
final: prev:
|
||||
{
|
||||
""")
|
||||
"""
|
||||
)
|
||||
f.write(header2)
|
||||
for (plugin, nix_expr) in results:
|
||||
for plugin, nix_expr in results:
|
||||
f.write(f"{plugin.normalized_name} = {nix_expr}")
|
||||
f.write(FOOTER)
|
||||
f.flush()
|
||||
|
@ -156,19 +158,20 @@ class LuaEditor(pluginupdate.Editor):
|
|||
# luaPackages.append(plugin)
|
||||
pass
|
||||
|
||||
|
||||
def generate_pkg_nix(plug: LuaPlugin):
|
||||
'''
|
||||
"""
|
||||
Generate nix expression for a luarocks package
|
||||
Our cache key associates "p.name-p.version" to its rockspec
|
||||
'''
|
||||
"""
|
||||
log.debug("Generating nix expression for %s", plug.name)
|
||||
custom_env = os.environ.copy()
|
||||
custom_env['LUAROCKS_CONFIG'] = LUAROCKS_CONFIG
|
||||
custom_env["LUAROCKS_CONFIG"] = LUAROCKS_CONFIG
|
||||
|
||||
# we add --dev else luarocks wont find all the "scm" (=dev) versions of the
|
||||
# packages
|
||||
# , "--dev"
|
||||
cmd = [ "luarocks", "nix" ]
|
||||
# , "--dev"
|
||||
cmd = ["luarocks", "nix"]
|
||||
|
||||
if plug.maintainers:
|
||||
cmd.append(f"--maintainers={plug.maintainers}")
|
||||
|
@ -176,7 +179,10 @@ def generate_pkg_nix(plug: LuaPlugin):
|
|||
# if plug.server == "src":
|
||||
if plug.src != "":
|
||||
if plug.src is None:
|
||||
msg = "src must be set when 'version' is set to \"src\" for package %s" % plug.name
|
||||
msg = (
|
||||
"src must be set when 'version' is set to \"src\" for package %s"
|
||||
% plug.name
|
||||
)
|
||||
log.error(msg)
|
||||
raise RuntimeError(msg)
|
||||
log.debug("Updating from source %s", plug.src)
|
||||
|
@ -185,7 +191,6 @@ def generate_pkg_nix(plug: LuaPlugin):
|
|||
else:
|
||||
cmd.append(plug.name)
|
||||
if plug.version and plug.version != "src":
|
||||
|
||||
cmd.append(plug.version)
|
||||
|
||||
if plug.server != "src" and plug.server:
|
||||
|
@ -194,23 +199,26 @@ def generate_pkg_nix(plug: LuaPlugin):
|
|||
if plug.luaversion:
|
||||
cmd.append(f"--lua-version={plug.luaversion}")
|
||||
|
||||
log.debug("running %s", ' '.join(cmd))
|
||||
log.debug("running %s", " ".join(cmd))
|
||||
|
||||
output = subprocess.check_output(cmd, env=custom_env, text=True)
|
||||
output = "callPackage(" + output.strip() + ") {};\n\n"
|
||||
return (plug, output)
|
||||
|
||||
def main():
|
||||
|
||||
editor = LuaEditor("lua", ROOT, '',
|
||||
default_in = ROOT.joinpath(PKG_LIST),
|
||||
default_out = ROOT.joinpath(GENERATED_NIXFILE)
|
||||
)
|
||||
def main():
|
||||
editor = LuaEditor(
|
||||
"lua",
|
||||
ROOT,
|
||||
"",
|
||||
default_in=ROOT.joinpath(PKG_LIST),
|
||||
default_out=ROOT.joinpath(GENERATED_NIXFILE),
|
||||
)
|
||||
|
||||
editor.run()
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
# vim: set ft=python noet fdm=manual fenc=utf-8 ff=unix sts=0 sw=4 ts=4 :
|
||||
|
|
|
@ -89,6 +89,8 @@
|
|||
|
||||
- [audiobookshelf](https://github.com/advplyr/audiobookshelf/), a self-hosted audiobook and podcast server. Available as [services.audiobookshelf](#opt-services.audiobookshelf.enable).
|
||||
|
||||
- [ZITADEL](https://zitadel.com), a turnkey identity and access management platform. Available as [services.zitadel](#opt-services.zitadel.enable).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-23.11-incompatibilities}
|
||||
|
||||
- The `boot.loader.raspberryPi` options have been marked deprecated, with intent for removal for NixOS 24.11. They had a limited use-case, and do not work like people expect. They required either very old installs ([before mid-2019](https://github.com/NixOS/nixpkgs/pull/62462)) or customized builds out of scope of the standard and generic AArch64 support. That option set never supported the Raspberry Pi 4 family of devices.
|
||||
|
|
|
@ -6,7 +6,7 @@ let
|
|||
cfg = config.services.locate;
|
||||
isMLocate = hasPrefix "mlocate" cfg.locate.name;
|
||||
isPLocate = hasPrefix "plocate" cfg.locate.name;
|
||||
isMorPLocate = (isMLocate || isPLocate);
|
||||
isMorPLocate = isMLocate || isPLocate;
|
||||
isFindutils = hasPrefix "findutils" cfg.locate.name;
|
||||
in
|
||||
{
|
||||
|
@ -216,18 +216,18 @@ in
|
|||
setgid = true;
|
||||
setuid = false;
|
||||
};
|
||||
mlocate = (mkIf isMLocate {
|
||||
mlocate = mkIf isMLocate {
|
||||
group = "mlocate";
|
||||
source = "${cfg.locate}/bin/locate";
|
||||
});
|
||||
plocate = (mkIf isPLocate {
|
||||
};
|
||||
plocate = mkIf isPLocate {
|
||||
group = "plocate";
|
||||
source = "${cfg.locate}/bin/plocate";
|
||||
});
|
||||
};
|
||||
in
|
||||
mkIf isMorPLocate {
|
||||
locate = mkMerge [ common mlocate plocate ];
|
||||
plocate = (mkIf isPLocate (mkMerge [ common plocate ]));
|
||||
plocate = mkIf isPLocate (mkMerge [ common plocate ]);
|
||||
};
|
||||
|
||||
environment.systemPackages = [ cfg.locate ];
|
||||
|
|
|
@ -1302,6 +1302,7 @@
|
|||
./services/web-apps/writefreely.nix
|
||||
./services/web-apps/youtrack.nix
|
||||
./services/web-apps/zabbix.nix
|
||||
./services/web-apps/zitadel.nix
|
||||
./services/web-servers/agate.nix
|
||||
./services/web-servers/apache-httpd/default.nix
|
||||
./services/web-servers/caddy/default.nix
|
||||
|
|
223
nixos/modules/services/web-apps/zitadel.nix
Normal file
223
nixos/modules/services/web-apps/zitadel.nix
Normal file
|
@ -0,0 +1,223 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
cfg = config.services.zitadel;
|
||||
|
||||
settingsFormat = pkgs.formats.yaml { };
|
||||
in
|
||||
{
|
||||
options.services.zitadel =
|
||||
let inherit (lib) mkEnableOption mkOption mkPackageOption types;
|
||||
in {
|
||||
enable = mkEnableOption "ZITADEL, a user and identity access management platform.";
|
||||
|
||||
package = mkPackageOption pkgs "ZITADEL" { default = [ "zitadel" ]; };
|
||||
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "zitadel";
|
||||
description = "The user to run ZITADEL under.";
|
||||
};
|
||||
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "zitadel";
|
||||
description = "The group to run ZITADEL under.";
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to open the port specified in `listenPort` in the firewall.
|
||||
'';
|
||||
};
|
||||
|
||||
masterKeyFile = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Path to a file containing a master encryption key for ZITADEL. The
|
||||
key must be 32 bytes.
|
||||
'';
|
||||
};
|
||||
|
||||
tlsMode = mkOption {
|
||||
type = types.enum [ "external" "enabled" "disabled" ];
|
||||
default = "external";
|
||||
example = "enabled";
|
||||
description = ''
|
||||
The TLS mode to use. Options are:
|
||||
|
||||
- enabled: ZITADEL accepts HTTPS connections directly. You must
|
||||
configure TLS if this option is selected.
|
||||
- external: ZITADEL forces HTTPS connections, with TLS terminated at a
|
||||
reverse proxy.
|
||||
- disabled: ZITADEL accepts HTTP connections only. Should only be used
|
||||
for testing.
|
||||
'';
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
type = lib.types.submodule {
|
||||
freeformType = settingsFormat.type;
|
||||
|
||||
options = {
|
||||
Port = mkOption {
|
||||
type = types.port;
|
||||
default = 8080;
|
||||
description = "The port that ZITADEL listens on.";
|
||||
};
|
||||
|
||||
TLS = {
|
||||
KeyPath = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = "Path to the TLS certificate private key.";
|
||||
};
|
||||
Key = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The TLS certificate private key, as a base64-encoded string.
|
||||
|
||||
Note that the contents of this option will be added to the Nix
|
||||
store as world-readable plain text. Set
|
||||
[KeyPath](#opt-services.zitadel.settings.TLS.KeyPath) instead
|
||||
if this is undesired.
|
||||
'';
|
||||
};
|
||||
CertPath = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = "Path to the TLS certificate.";
|
||||
};
|
||||
Cert = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
default = null;
|
||||
description = ''
|
||||
The TLS certificate, as a base64-encoded string.
|
||||
|
||||
Note that the contents of this option will be added to the Nix
|
||||
store as world-readable plain text. Set
|
||||
[CertPath](#opt-services.zitadel.settings.TLS.CertPath) instead
|
||||
if this is undesired.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
Port = 8123;
|
||||
ExternalDomain = "example.com";
|
||||
TLS = {
|
||||
CertPath = "/path/to/cert.pem";
|
||||
KeyPath = "/path/to/cert.key";
|
||||
};
|
||||
Database.cockroach.Host = "db.example.com";
|
||||
};
|
||||
'';
|
||||
description = ''
|
||||
Contents of the runtime configuration file. See
|
||||
https://zitadel.com/docs/self-hosting/manage/configure for more
|
||||
details.
|
||||
'';
|
||||
};
|
||||
|
||||
extraSettingsPaths = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [ ];
|
||||
description = ''
|
||||
A list of paths to extra settings files. These will override the
|
||||
values set in [settings](#opt-services.zitadel.settings). Useful if
|
||||
you want to keep sensitive secrets out of the Nix store.
|
||||
'';
|
||||
};
|
||||
|
||||
steps = mkOption {
|
||||
type = settingsFormat.type;
|
||||
default = { };
|
||||
example = lib.literalExpression ''
|
||||
{
|
||||
FirstInstance = {
|
||||
InstanceName = "Example";
|
||||
Org.Human = {
|
||||
UserName = "foobar";
|
||||
FirstName = "Foo";
|
||||
LastName = "Bar";
|
||||
};
|
||||
};
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
Contents of the database initialization config file. See
|
||||
https://zitadel.com/docs/self-hosting/manage/configure for more
|
||||
details.
|
||||
'';
|
||||
};
|
||||
|
||||
extraStepsPaths = mkOption {
|
||||
type = types.listOf types.path;
|
||||
default = [ ];
|
||||
description = ''
|
||||
A list of paths to extra steps files. These will override the values
|
||||
set in [steps](#opt-services.zitadel.steps). Useful if you want to
|
||||
keep sensitive secrets out of the Nix store.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
assertions = [{
|
||||
assertion = cfg.tlsMode == "enabled"
|
||||
-> ((cfg.settings.TLS.Key != null || cfg.settings.TLS.KeyPath != null)
|
||||
&& (cfg.settings.TLS.Cert != null || cfg.settings.TLS.CertPath
|
||||
!= null));
|
||||
message = ''
|
||||
A TLS certificate and key must be configured in
|
||||
services.zitadel.settings.TLS if services.zitadel.tlsMode is enabled.
|
||||
'';
|
||||
}];
|
||||
|
||||
networking.firewall.allowedTCPPorts =
|
||||
lib.mkIf cfg.openFirewall [ cfg.settings.Port ];
|
||||
|
||||
systemd.services.zitadel =
|
||||
let
|
||||
configFile = settingsFormat.generate "config.yaml" cfg.settings;
|
||||
stepsFile = settingsFormat.generate "steps.yaml" cfg.steps;
|
||||
|
||||
args = lib.cli.toGNUCommandLineShell { } {
|
||||
config = cfg.extraSettingsPaths ++ [ configFile ];
|
||||
steps = cfg.extraStepsPaths ++ [ stepsFile ];
|
||||
masterkeyFile = cfg.masterKeyFile;
|
||||
inherit (cfg) tlsMode;
|
||||
};
|
||||
in
|
||||
{
|
||||
description = "ZITADEL identity access management";
|
||||
path = [ cfg.package ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
script = ''
|
||||
zitadel start-from-init ${args}
|
||||
'';
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
|
||||
users.users.zitadel = lib.mkIf (cfg.user == "zitadel") {
|
||||
isSystemUser = true;
|
||||
group = cfg.group;
|
||||
};
|
||||
users.groups.zitadel = lib.mkIf (cfg.group == "zitadel") { };
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ Sorixelle ];
|
||||
}
|
|
@ -33,6 +33,8 @@ let
|
|||
|
||||
# Implementation is done via pkgs/applications/display-managers/sddm/sddm-default-session.patch
|
||||
DefaultSession = optionalString (dmcfg.defaultSession != null) "${dmcfg.defaultSession}.desktop";
|
||||
|
||||
DisplayServer = if cfg.wayland.enable then "wayland" else "x11";
|
||||
};
|
||||
|
||||
Theme = {
|
||||
|
@ -62,6 +64,7 @@ let
|
|||
Wayland = {
|
||||
EnableHiDPI = cfg.enableHidpi;
|
||||
SessionDir = "${dmcfg.sessionData.desktops}/share/wayland-sessions";
|
||||
CompositorCommand = lib.optionalString cfg.wayland.enable cfg.wayland.compositorCommand;
|
||||
};
|
||||
} // lib.optionalAttrs dmcfg.autoLogin.enable {
|
||||
Autologin = {
|
||||
|
@ -184,6 +187,32 @@ in
|
|||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# Experimental Wayland support
|
||||
wayland = {
|
||||
enable = mkEnableOption "experimental Wayland support";
|
||||
|
||||
compositorCommand = mkOption {
|
||||
type = types.str;
|
||||
internal = true;
|
||||
|
||||
# This is basically the upstream default, but with Weston referenced by full path
|
||||
# and the configuration generated from NixOS options.
|
||||
default = let westonIni = (pkgs.formats.ini {}).generate "weston.ini" {
|
||||
libinput = {
|
||||
enable-tap = xcfg.libinput.mouse.tapping;
|
||||
left-handed = xcfg.libinput.mouse.leftHanded;
|
||||
};
|
||||
keyboard = {
|
||||
keymap_model = xcfg.xkbModel;
|
||||
keymap_layout = xcfg.layout;
|
||||
keymap_variant = xcfg.xkbVariant;
|
||||
keymap_options = xcfg.xkbOptions;
|
||||
};
|
||||
}; in "${pkgs.weston}/bin/weston --shell=fullscreen-shell.so -c ${westonIni}";
|
||||
description = lib.mdDoc "Command used to start the selected compositor";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "dcrwallet";
|
||||
version = "1.8.0";
|
||||
version = "1.8.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "decred";
|
||||
repo = "dcrwallet";
|
||||
rev = "release-v${version}";
|
||||
hash = "sha256-ffY5IvSGu4Q7EdJpfdsIKxxjkm6FD0DR9ItnaO90SBc=";
|
||||
hash = "sha256-Pz25jExqbvy8fgiZy9vaYuVp8kuE6deGLlBEjxTnYGQ=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-dduHuMa5UPf73lfirTHSrYnOUbc2IyULpstZPGUJzuc=";
|
||||
vendorHash = "sha256-lvN7OcDoEzb9LyH9C5q8pd0BOnF2VKuh4O82U+tQ6fI=";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ mkDerivation, lib, fetchFromGitHub
|
||||
{ mkDerivation, lib, fetchFromGitHub, fetchpatch
|
||||
, cmake, extra-cmake-modules, pkg-config, qttools
|
||||
, libxcb, libXau, pam, qtbase, qtdeclarative, qtquickcontrols2, systemd, xkeyboardconfig
|
||||
}:
|
||||
|
@ -16,6 +16,25 @@ mkDerivation rec {
|
|||
patches = [
|
||||
./sddm-ignore-config-mtime.patch
|
||||
./sddm-default-session.patch
|
||||
|
||||
# FIXME: all of the following are Wayland related backports, drop in next release
|
||||
# Don't use Qt virtual keyboard on Wayland
|
||||
(fetchpatch {
|
||||
url = "https://github.com/sddm/sddm/commit/07631f2ef00a52d883d0fd47ff7d1e1a6bc6358f.patch";
|
||||
hash = "sha256-HTSw3YeT4z9ldr4sLmsnrPQ+LA8/a6XxrF+KUFqXUlM=";
|
||||
})
|
||||
|
||||
# Fix running sddm-greeter manually in Wayland sessions
|
||||
(fetchpatch {
|
||||
url = "https://github.com/sddm/sddm/commit/e27b70957505dc7b986ab2fa68219af546c63344.patch";
|
||||
hash = "sha256-6hzrFeS2epL9vzLOA29ZA/dD3Jd4rPMBHhNp+FBq1bA=";
|
||||
})
|
||||
|
||||
# Prefer GreeterEnvironment over PAM environment
|
||||
(fetchpatch {
|
||||
url = "https://github.com/sddm/sddm/commit/9e7791d5fb375933d20f590daba9947195515b26.patch";
|
||||
hash = "sha256-JNsVTJNZV6T+SPqPkaFf3wg8NDqXGx8NZ4qQfZWOli4=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,96 +0,0 @@
|
|||
{ lib, stdenv, pkgs, fetchurl, wrapGAppsHook, glib, gtk3, atomEnv }:
|
||||
|
||||
let
|
||||
versions = {
|
||||
atom = {
|
||||
version = "1.60.0";
|
||||
sha256 = "sha256-XHwCWQYrnUkR0lN7/Or/Uxb53hEWmIQKkNfNSX34kaY=";
|
||||
};
|
||||
|
||||
atom-beta = {
|
||||
version = "1.61.0";
|
||||
beta = 0;
|
||||
sha256 = "sha256-viY/is7Nh3tlIkHhUBWtgMAjD6HDiC0pyJpUjsP5pRY=";
|
||||
broken = true;
|
||||
};
|
||||
};
|
||||
|
||||
common = pname: {version, sha256, beta ? null, broken ? false}:
|
||||
let fullVersion = version + lib.optionalString (beta != null) "-beta${toString beta}";
|
||||
name = "${pname}-${fullVersion}";
|
||||
in stdenv.mkDerivation {
|
||||
inherit name;
|
||||
version = fullVersion;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/atom/atom/releases/download/v${fullVersion}/atom-amd64.deb";
|
||||
name = "${name}.deb";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3 # Fix error: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed
|
||||
];
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
|
||||
unpackPhase = ''
|
||||
ar p $src data.tar.xz | tar xJ ./usr/
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
mv usr/bin usr/share $out
|
||||
rm -rf $out/share/lintian
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
# needed for gio executable to be able to delete files
|
||||
--prefix "PATH" : "${glib.bin}/bin"
|
||||
)
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
share=$out/share/${pname}
|
||||
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${atomEnv.libPath}:$share" \
|
||||
$share/atom
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${atomEnv.libPath}" \
|
||||
$share/resources/app/apm/bin/node
|
||||
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
$share/resources/app.asar.unpacked/node_modules/symbols-view/vendor/ctags-linux
|
||||
|
||||
dugite=$share/resources/app.asar.unpacked/node_modules/dugite
|
||||
rm -f $dugite/git/bin/git
|
||||
ln -s ${pkgs.git}/bin/git $dugite/git/bin/git
|
||||
rm -f $dugite/git/libexec/git-core/git
|
||||
ln -s ${pkgs.git}/bin/git $dugite/git/libexec/git-core/git
|
||||
|
||||
find $share -name "*.node" -exec patchelf --set-rpath "${atomEnv.libPath}:$share" {} \;
|
||||
|
||||
sed -i -e "s|Exec=.*$|Exec=$out/bin/${pname}|" $out/share/applications/${pname}.desktop
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A hackable text editor for the 21st Century";
|
||||
homepage = "https://atom.io/";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ offline ysndr ];
|
||||
platforms = platforms.x86_64;
|
||||
inherit broken;
|
||||
};
|
||||
};
|
||||
in lib.mapAttrs common versions
|
|
@ -1,23 +0,0 @@
|
|||
{ stdenv, lib, zlib, glib, alsa-lib, dbus, gtk3, atk, pango, freetype, fontconfig
|
||||
, gdk-pixbuf, cairo, cups, expat, libgpg-error, nspr
|
||||
, nss, xorg, libcap, systemd, libnotify, libsecret, libuuid, at-spi2-atk
|
||||
, at-spi2-core, libdbusmenu, libdrm, mesa
|
||||
}:
|
||||
|
||||
let
|
||||
packages = [
|
||||
stdenv.cc.cc zlib glib dbus gtk3 atk pango freetype
|
||||
fontconfig gdk-pixbuf cairo cups expat libgpg-error alsa-lib nspr nss
|
||||
xorg.libXrender xorg.libX11 xorg.libXext xorg.libXdamage xorg.libXtst
|
||||
xorg.libXcomposite xorg.libXi xorg.libXfixes xorg.libXrandr
|
||||
xorg.libXcursor xorg.libxkbfile xorg.libXScrnSaver libcap systemd libnotify
|
||||
xorg.libxcb libsecret libuuid at-spi2-atk at-spi2-core libdbusmenu
|
||||
libdrm
|
||||
mesa # required for libgbm
|
||||
];
|
||||
|
||||
libPathNative = lib.makeLibraryPath packages;
|
||||
libPath64 = lib.makeSearchPathOutput "lib" "lib64" packages;
|
||||
libPath = "${libPathNative}:${libPath64}";
|
||||
|
||||
in { inherit packages libPath; }
|
|
@ -7,6 +7,7 @@
|
|||
, buildPackages
|
||||
, treesitter-parsers ? import ./treesitter-parsers.nix { inherit fetchurl; }
|
||||
, CoreServices
|
||||
, fixDarwinDylibNames
|
||||
, glibcLocales ? null, procps ? null
|
||||
|
||||
# now defaults to false because some tests can be flaky (clipboard etc), see
|
||||
|
@ -16,8 +17,29 @@
|
|||
}:
|
||||
|
||||
let
|
||||
nvim-lpeg-dylib = luapkgs: if stdenv.isDarwin
|
||||
then (luapkgs.lpeg.overrideAttrs (oa: {
|
||||
preConfigure = ''
|
||||
# neovim wants clang .dylib
|
||||
sed -i makefile -e "s/CC = gcc/CC = clang/"
|
||||
sed -i makefile -e "s/-bundle/-dynamiclib/"
|
||||
'';
|
||||
preBuild = ''
|
||||
# there seems to be implicit calls to Makefile from luarocks, we need to
|
||||
# add a stage to build our dylib
|
||||
make macosx
|
||||
mkdir -p $out/lib
|
||||
mv lpeg.so $out/lib/lpeg.dylib
|
||||
'';
|
||||
nativeBuildInputs =
|
||||
oa.nativeBuildInputs
|
||||
++ (
|
||||
lib.optional stdenv.isDarwin fixDarwinDylibNames
|
||||
);
|
||||
}))
|
||||
else luapkgs.lpeg;
|
||||
requiredLuaPkgs = ps: (with ps; [
|
||||
lpeg
|
||||
(nvim-lpeg-dylib ps)
|
||||
luabitop
|
||||
mpack
|
||||
] ++ lib.optionals doCheck [
|
||||
|
@ -40,10 +62,11 @@ let
|
|||
deterministicStringIds = true;
|
||||
self = deterministicLuajit;
|
||||
};
|
||||
in deterministicLuajit.withPackages(ps: [ ps.mpack ps.lpeg ])
|
||||
in deterministicLuajit.withPackages(ps: [ ps.mpack (nvim-lpeg-dylib ps) ])
|
||||
else lua.luaOnBuild;
|
||||
|
||||
pyEnv = python3.withPackages(ps: with ps; [ pynvim msgpack ]);
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "neovim-unwrapped";
|
||||
|
|
|
@ -1,22 +1,32 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, git
|
||||
, runtimeShell
|
||||
, fetchurl
|
||||
, wrapGAppsHook
|
||||
, alsa-lib
|
||||
, at-spi2-atk
|
||||
, cairo
|
||||
, cups
|
||||
, dbus
|
||||
, expat
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gtk3
|
||||
, atomEnv
|
||||
, mesa
|
||||
, nss
|
||||
, nspr
|
||||
, xorg
|
||||
, libdrm
|
||||
, libsecret
|
||||
, libxkbcommon
|
||||
, hunspell
|
||||
, pango
|
||||
, systemd
|
||||
, hunspellDicts
|
||||
, useHunspell ? true
|
||||
, languages ? [ "en_US" ]
|
||||
, withNemoAction ? true
|
||||
, makeDesktopItem
|
||||
, copyDesktopItems
|
||||
, makeWrapper
|
||||
, asar
|
||||
, python3
|
||||
}:
|
||||
|
@ -32,13 +42,35 @@ let
|
|||
aarch64-linux.hash = "sha256-GdPnmhMZR3Y2WB2j98JEWomdKFZuTgxN8oga/tBwA4U=";
|
||||
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
additionalLibs = lib.makeLibraryPath [
|
||||
newLibpath = lib.makeLibraryPath [
|
||||
alsa-lib
|
||||
at-spi2-atk
|
||||
cairo
|
||||
cups
|
||||
dbus
|
||||
expat
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
libsecret
|
||||
mesa
|
||||
nss
|
||||
nspr
|
||||
libdrm
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
xorg.libXcomposite
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXrandr
|
||||
xorg.libxshmfence
|
||||
libxkbcommon
|
||||
xorg.libxkbfile
|
||||
pango
|
||||
stdenv.cc.cc.lib
|
||||
systemd
|
||||
];
|
||||
newLibpath = "${atomEnv.libPath}:${additionalLibs}";
|
||||
|
||||
# Hunspell
|
||||
hunspellDirs = builtins.map (lang: "${hunspellDicts.${lang}}/share/hunspell") languages;
|
||||
|
|
|
@ -173,12 +173,12 @@ final: prev:
|
|||
|
||||
LazyVim = buildVimPlugin {
|
||||
pname = "LazyVim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "LazyVim";
|
||||
repo = "LazyVim";
|
||||
rev = "6f9adbd4fba4132bd4f12404bd2b90c4a28ff136";
|
||||
sha256 = "0d7grxa6pvsi5az4p22dvb6sxjhwx78ivbf80zq0dzvv96dvlyzx";
|
||||
rev = "dd95de5dbe31ecb106305920cbd0e24e26c17afe";
|
||||
sha256 = "1vmh1b8mwpwvfyigxhc5pnda1ddyccqgjz3jmn2pm101bwgg6424";
|
||||
};
|
||||
meta.homepage = "https://github.com/LazyVim/LazyVim/";
|
||||
};
|
||||
|
@ -305,12 +305,12 @@ final: prev:
|
|||
|
||||
SchemaStore-nvim = buildVimPlugin {
|
||||
pname = "SchemaStore.nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "b0o";
|
||||
repo = "SchemaStore.nvim";
|
||||
rev = "9a4e2f8da367ab671a6d7bf8b5b82e125c71a645";
|
||||
sha256 = "1p3kpsjvn9snisak89h0yifkyxq07vqg2c0f7vm3hzc99bs0zrxz";
|
||||
rev = "daf2f4397e97c0f12b89068eec35078c61069ceb";
|
||||
sha256 = "1yzg8qld4w4xzdb0v3vls47kf753d8d8lfcsz6fl40sprwdfj8px";
|
||||
};
|
||||
meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
|
||||
};
|
||||
|
@ -991,12 +991,12 @@ final: prev:
|
|||
|
||||
base46 = buildVimPlugin {
|
||||
pname = "base46";
|
||||
version = "2023-09-14";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvchad";
|
||||
repo = "base46";
|
||||
rev = "fc7aafe0d0348323d3fd41689cde95af86d4c7ba";
|
||||
sha256 = "0b0r9hf7a7a4ipsqcc7q97ijk8p5a9lq9kqh93a92kq1x2qhlf2j";
|
||||
rev = "104510cb339071f4350acdc30d1630ce15dca8b1";
|
||||
sha256 = "0bwgdvfvwikvlbb97n0iddpk3bw6nwl02596nb567s4xkijx91nk";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvchad/base46/";
|
||||
};
|
||||
|
@ -2023,12 +2023,12 @@ final: prev:
|
|||
|
||||
coc-nvim = buildVimPlugin {
|
||||
pname = "coc.nvim";
|
||||
version = "2023-09-21";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "neoclide";
|
||||
repo = "coc.nvim";
|
||||
rev = "e4cee8e6c310663d2d81489dd9155889bbcd8d12";
|
||||
sha256 = "1a59l2lq1rhfhy5iwapv82mz6jzna0z9nl03xi0brfipknhlmsjh";
|
||||
rev = "7b9e1ef0a1399907c51d23b6080b94a5aba4a654";
|
||||
sha256 = "10gdqqz71gbna9wy3awbncbn7m0g6wfn1256bx7ga8b3bsl3nmch";
|
||||
};
|
||||
meta.homepage = "https://github.com/neoclide/coc.nvim/";
|
||||
};
|
||||
|
@ -2551,12 +2551,12 @@ final: prev:
|
|||
|
||||
dashboard-nvim = buildVimPlugin {
|
||||
pname = "dashboard-nvim";
|
||||
version = "2023-09-27";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvimdev";
|
||||
repo = "dashboard-nvim";
|
||||
rev = "6b112d40ccf2a7aa6605ce325338c66612c4f7ec";
|
||||
sha256 = "01zlvxafp6vxng14zna9r33586d1pw8ihcl73r631x2jsmyi5zpp";
|
||||
rev = "b2637e92a294068d79cde7929094f050981c5969";
|
||||
sha256 = "0y7s03in2y68c7n81q9a8mfba6s6dz2j8hp7a3kqldy8mhz4mqad";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvimdev/dashboard-nvim/";
|
||||
};
|
||||
|
@ -3021,24 +3021,24 @@ final: prev:
|
|||
|
||||
dressing-nvim = buildVimPlugin {
|
||||
pname = "dressing.nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stevearc";
|
||||
repo = "dressing.nvim";
|
||||
rev = "73a7d54b5289000108c7f52402a36cf380fced67";
|
||||
sha256 = "1yafysdnl6irxcwwmir26iff6y2lv2axlss01n3jm6n6fknbvfjy";
|
||||
rev = "8f4d62b7817455896a3c73cab642002072c114bc";
|
||||
sha256 = "0cjn0w4v1n31qgxvwnd7ix1lxjdqhrbllb543lhdc1p48a00sqx1";
|
||||
};
|
||||
meta.homepage = "https://github.com/stevearc/dressing.nvim/";
|
||||
};
|
||||
|
||||
dropbar-nvim = buildVimPlugin {
|
||||
pname = "dropbar.nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Bekaboo";
|
||||
repo = "dropbar.nvim";
|
||||
rev = "7a91b7ba15fcf78ba0d0081cbce7e31a73963b1c";
|
||||
sha256 = "0k2m566r86l8hhk9czpcv80bpgzsdk7fna6nna3gf2s8z1ymgbs4";
|
||||
rev = "9c2bc34bf78bbbf1633b41358e9a203a58b7d19f";
|
||||
sha256 = "06l68i8zjgpmzq0yqxbmgl2ncswqpyxxfivjjsm1s1lx5jya97j1";
|
||||
};
|
||||
meta.homepage = "https://github.com/Bekaboo/dropbar.nvim/";
|
||||
};
|
||||
|
@ -3081,12 +3081,12 @@ final: prev:
|
|||
|
||||
edgy-nvim = buildVimPlugin {
|
||||
pname = "edgy.nvim";
|
||||
version = "2023-07-25";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "folke";
|
||||
repo = "edgy.nvim";
|
||||
rev = "4ccc1c67ae2b1a0c55f18c83d03b714e2bb1bae4";
|
||||
sha256 = "0s0h8s2wwg2niacp401j7l3c0knl44awf32clq15h1hcabqvvkn3";
|
||||
rev = "70e334c9cd7915aedde3255ade01ceeebe735b53";
|
||||
sha256 = "0zcm2p3qwiz2vkj4h4jy30dvphb6j6j8kyl3pzaxkiwlqlslsfma";
|
||||
};
|
||||
meta.homepage = "https://github.com/folke/edgy.nvim/";
|
||||
};
|
||||
|
@ -3287,12 +3287,12 @@ final: prev:
|
|||
|
||||
feline-nvim = buildVimPlugin {
|
||||
pname = "feline.nvim";
|
||||
version = "2023-06-19";
|
||||
version = "2023-09-29";
|
||||
src = fetchFromGitHub {
|
||||
owner = "freddiehaddad";
|
||||
repo = "feline.nvim";
|
||||
rev = "c32c2ffcee38f14e157582552fa9ee41c24452d2";
|
||||
sha256 = "1mlwjxyb0w3pdg9ny7q6wjdhq1l35a1g4ylp28vfpnrvhfbbxzvy";
|
||||
rev = "ee9f8afdbe8654001b200530903f1dcbcc3394e6";
|
||||
sha256 = "1x7c6shkx5gxqv7lcby40gkx5f7sr4rgv23pxbzk0l2xy6nsvvmd";
|
||||
};
|
||||
meta.homepage = "https://github.com/freddiehaddad/feline.nvim/";
|
||||
};
|
||||
|
@ -3384,12 +3384,12 @@ final: prev:
|
|||
|
||||
flash-nvim = buildVimPlugin {
|
||||
pname = "flash.nvim";
|
||||
version = "2023-09-28";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "folke";
|
||||
repo = "flash.nvim";
|
||||
rev = "0256d8ecab33a9aa69fdaaf885db22e1103e2a3a";
|
||||
sha256 = "10y0346rpxf8yc3f9wacmbsdvziwy7wv35l4i2a04vrwyqxgz2m4";
|
||||
rev = "eccef9f34ac332e0f1652d7559fe5cbeab614201";
|
||||
sha256 = "1s3vjrz4lcz7lqdxxizj1fdrjax1p5farvi4fr0058k18s8hqqmz";
|
||||
};
|
||||
meta.homepage = "https://github.com/folke/flash.nvim/";
|
||||
};
|
||||
|
@ -3468,12 +3468,12 @@ final: prev:
|
|||
|
||||
flutter-tools-nvim = buildVimPlugin {
|
||||
pname = "flutter-tools.nvim";
|
||||
version = "2023-09-20";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "akinsho";
|
||||
repo = "flutter-tools.nvim";
|
||||
rev = "0b01c71ecf05a2edd955b5b53d808bc64f143069";
|
||||
sha256 = "05lcwwq48ab661aw0mbs72vg0v10qlzjspcyhhvdmzajsgwcdqxs";
|
||||
rev = "1119125206075c4703f2147f964ed0a45f84c6ab";
|
||||
sha256 = "1nm24s024ahfgsgplj5gxan009kxdalwwzdvg1vbysavgxhfzwra";
|
||||
};
|
||||
meta.homepage = "https://github.com/akinsho/flutter-tools.nvim/";
|
||||
};
|
||||
|
@ -3516,12 +3516,12 @@ final: prev:
|
|||
|
||||
friendly-snippets = buildVimPlugin {
|
||||
pname = "friendly-snippets";
|
||||
version = "2023-09-03";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rafamadriz";
|
||||
repo = "friendly-snippets";
|
||||
rev = "ebf6d6e83494cdd88a54a429340256f4dbb6a052";
|
||||
sha256 = "01z4xqb46xlycbv0w7akrf7rajy9rnl0jml0vk9dngblgcf1x2sp";
|
||||
rev = "43727c2ff84240e55d4069ec3e6158d74cb534b6";
|
||||
sha256 = "1sjk17gn919aa84dkjfagwwjsas9zfkbrk840bjf580k8m83d9m8";
|
||||
};
|
||||
meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
|
||||
};
|
||||
|
@ -3792,12 +3792,12 @@ final: prev:
|
|||
|
||||
gitsigns-nvim = buildNeovimPlugin {
|
||||
pname = "gitsigns.nvim";
|
||||
version = "2023-09-24";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lewis6991";
|
||||
repo = "gitsigns.nvim";
|
||||
rev = "bdeba1cec3faddd89146690c10b9a87949c0ee66";
|
||||
sha256 = "0amphagvmvdjrp13nxzl8jjs38dy1qicv71g91h998yjfc7av42l";
|
||||
rev = "e2ca739be75447fb5ccc9bfeb64f7afbc2cee5e6";
|
||||
sha256 = "0x9mwarz61xggw4xdxllzgardi2qxp33bk24x59rqpkb8135bjrz";
|
||||
};
|
||||
meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
|
||||
};
|
||||
|
@ -3852,12 +3852,12 @@ final: prev:
|
|||
|
||||
go-nvim = buildVimPlugin {
|
||||
pname = "go.nvim";
|
||||
version = "2023-09-22";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ray-x";
|
||||
repo = "go.nvim";
|
||||
rev = "019936780060efc64c0f22a47afd08fbbe82e026";
|
||||
sha256 = "05r63f4jgql9drvi4176czmqxcpqfkr0i05vm0mlvak6gfrzc6xk";
|
||||
rev = "2f573a297bea3a483a3607ae7c607a8a08d27993";
|
||||
sha256 = "0knxirf1kimjck9f8mx26m8s9v2vbjmacnr29rm9la96fs5bg2n4";
|
||||
};
|
||||
meta.homepage = "https://github.com/ray-x/go.nvim/";
|
||||
};
|
||||
|
@ -3984,12 +3984,12 @@ final: prev:
|
|||
|
||||
gruvbox-nvim = buildVimPlugin {
|
||||
pname = "gruvbox.nvim";
|
||||
version = "2023-09-28";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ellisonleao";
|
||||
repo = "gruvbox.nvim";
|
||||
rev = "e810b46367a89e8b733cd100d12a6c8b2fc022c3";
|
||||
sha256 = "1rnzyfwrbcq4i5s7p6w1ig85rjfy7yc0zv3gpwwngjrw2zpnldcs";
|
||||
rev = "61b0b3be2f0cfd521667403a0367298144d6c165";
|
||||
sha256 = "1dphrf8bq088d47macxhx2ql9bq5s9axs9cqwqbp6vkmr4zcx072";
|
||||
};
|
||||
meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
|
||||
};
|
||||
|
@ -4067,12 +4067,12 @@ final: prev:
|
|||
|
||||
haskell-tools-nvim = buildNeovimPlugin {
|
||||
pname = "haskell-tools.nvim";
|
||||
version = "2023-09-27";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MrcJkb";
|
||||
repo = "haskell-tools.nvim";
|
||||
rev = "ba67f50e8632f1df02526255e2aaf0239cc44e6e";
|
||||
sha256 = "1i2m51q4ccarxqdvj91mf338kagmzk09yq1r8p85ihad5pmijp23";
|
||||
rev = "8b472cf9abf5c2996843894d1231aed5f6653bc2";
|
||||
sha256 = "1msyfigc97vxsbinm404vzd68biy5hgj61ppz2lc96xbyq7r66xd";
|
||||
};
|
||||
meta.homepage = "https://github.com/MrcJkb/haskell-tools.nvim/";
|
||||
};
|
||||
|
@ -4414,12 +4414,12 @@ final: prev:
|
|||
|
||||
indent-blankline-nvim = buildVimPlugin {
|
||||
pname = "indent-blankline.nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "lukas-reineke";
|
||||
repo = "indent-blankline.nvim";
|
||||
rev = "2ec42d26c933e7a129fe056dfc11a207afff252d";
|
||||
sha256 = "1l2iqv7vb1v93rb9hqchgqlkss7lg5kiwwgb7x5czlxq2xyw7n7x";
|
||||
rev = "3d26bc7ab0e8dfddc0f40c840a8f925dddc2fef6";
|
||||
sha256 = "1p3bxdrj2xibyqw37b1247sz5nqx460d3lr4py3fn0cdgrf3420s";
|
||||
};
|
||||
meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
|
||||
};
|
||||
|
@ -4775,12 +4775,12 @@ final: prev:
|
|||
|
||||
lazy-nvim = buildVimPlugin {
|
||||
pname = "lazy.nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "folke";
|
||||
repo = "lazy.nvim";
|
||||
rev = "6a2c47e6424a3f1e373bfeb714b716f6be13501c";
|
||||
sha256 = "1m3nswn0i4ai7r9p76nxra7kxsx4lp41pyq6bb832a3zn3q6qxlk";
|
||||
rev = "59335c5b9d116f5d3948f833288a89e2a829a005";
|
||||
sha256 = "04x04mzs3cc736l4phsws981nsga8hws3ca46pniz5h3qhj8zfwa";
|
||||
};
|
||||
meta.homepage = "https://github.com/folke/lazy.nvim/";
|
||||
};
|
||||
|
@ -4799,12 +4799,12 @@ final: prev:
|
|||
|
||||
lean-nvim = buildVimPlugin {
|
||||
pname = "lean.nvim";
|
||||
version = "2023-09-24";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Julian";
|
||||
repo = "lean.nvim";
|
||||
rev = "e639c7eb0f7f2a707b29f50b827e1a3a4b2ada9c";
|
||||
sha256 = "0rfwqip0747h4ppkxzzsqjvdkrr0rrhmpc3qbli18qwqx2vxc7hg";
|
||||
rev = "cd33d84e954ac15b42020889d1d0d6a9cc0e9e9c";
|
||||
sha256 = "11gkkc32ha1n6b7x88mvnw1afkp45mx8abpa1c4hkc2x7666sxc5";
|
||||
};
|
||||
meta.homepage = "https://github.com/Julian/lean.nvim/";
|
||||
};
|
||||
|
@ -5254,12 +5254,12 @@ final: prev:
|
|||
|
||||
lspsaga-nvim = buildVimPlugin {
|
||||
pname = "lspsaga.nvim";
|
||||
version = "2023-09-26";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvimdev";
|
||||
repo = "lspsaga.nvim";
|
||||
rev = "b7873e556a5451c5febc0d46ba80767b2beea49e";
|
||||
sha256 = "1m1ryhg6cnbxs4xzwn6bj98g10qf14shwdwgplwbyl2yjr5r94hv";
|
||||
rev = "f8a6d7cfe185637616d7fdee676dd543ae5fde55";
|
||||
sha256 = "0vwk2nn8mm113lk6sywdgfp6k0887d14pys9w8b6k4hm8xw5zfzq";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvimdev/lspsaga.nvim/";
|
||||
};
|
||||
|
@ -5411,12 +5411,12 @@ final: prev:
|
|||
|
||||
mason-lspconfig-nvim = buildVimPlugin {
|
||||
pname = "mason-lspconfig.nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "williamboman";
|
||||
repo = "mason-lspconfig.nvim";
|
||||
rev = "81e30dd629de24cbb26d08073ee938ab40006695";
|
||||
sha256 = "145nyyi128h25gdlidpwhkha3xf9sr66pxz76z2ncl8hccjpim35";
|
||||
rev = "48025d62f45af52ba47e4193b854864839392e4c";
|
||||
sha256 = "1n3xlfjjjwng0rhlgvl0dj25fhlfk35vscwmz1kpdad627lzg83b";
|
||||
};
|
||||
meta.homepage = "https://github.com/williamboman/mason-lspconfig.nvim/";
|
||||
};
|
||||
|
@ -5915,12 +5915,12 @@ final: prev:
|
|||
|
||||
neo-tree-nvim = buildVimPlugin {
|
||||
pname = "neo-tree.nvim";
|
||||
version = "2023-09-25";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-neo-tree";
|
||||
repo = "neo-tree.nvim";
|
||||
rev = "a73b92c504ebfbbc3be522209ac60949942057c6";
|
||||
sha256 = "1amxljg4c1vhddmrxjw00dm685vd4zsj2r3gf0yk14nl8y7yj3b6";
|
||||
rev = "7e2a3caf999e2028abb643eb0472f351b2777591";
|
||||
sha256 = "0mqrvk1aqs72vpwsy9ys9c3v3xbi1f7k4n692nm1v58v6d70gffk";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-neo-tree/neo-tree.nvim/";
|
||||
};
|
||||
|
@ -5939,12 +5939,12 @@ final: prev:
|
|||
|
||||
neoconf-nvim = buildVimPlugin {
|
||||
pname = "neoconf.nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "folke";
|
||||
repo = "neoconf.nvim";
|
||||
rev = "86ed5b91927b65352e3d8f315f8256a180805377";
|
||||
sha256 = "1j84jblykjsc6rk530zsdfsjwfgfdnfn7m1knzwyxjh983g4879a";
|
||||
rev = "466ba6f645f63f91ac84d3dd986acede5d107f39";
|
||||
sha256 = "0vqprdkbr8vgdfqhjwnqjfw76sfrr4akfn589kyzwpvncb6ygwv1";
|
||||
};
|
||||
meta.homepage = "https://github.com/folke/neoconf.nvim/";
|
||||
};
|
||||
|
@ -5963,12 +5963,12 @@ final: prev:
|
|||
|
||||
neodev-nvim = buildVimPlugin {
|
||||
pname = "neodev.nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "folke";
|
||||
repo = "neodev.nvim";
|
||||
rev = "58b1c0740e8ad79ce71e2649a449bb90536435cf";
|
||||
sha256 = "06vflyl0c2b789lm6hgmr0gdvzzmjai8lgllr9cxm73ggh1lgqkf";
|
||||
rev = "41581561a0ffc6ea6a191ee90a23f8c1c7f470fb";
|
||||
sha256 = "1q0vfzbzdyc1cnfa2icgrs4zkjajxbqzqypa4q8sfh3cgq364l92";
|
||||
};
|
||||
meta.homepage = "https://github.com/folke/neodev.nvim/";
|
||||
};
|
||||
|
@ -5999,12 +5999,12 @@ final: prev:
|
|||
|
||||
neogit = buildVimPlugin {
|
||||
pname = "neogit";
|
||||
version = "2023-09-28";
|
||||
version = "2023-09-29";
|
||||
src = fetchFromGitHub {
|
||||
owner = "NeogitOrg";
|
||||
repo = "neogit";
|
||||
rev = "e238f075a81806dc2dce803422beef42540a312e";
|
||||
sha256 = "16dl1jlzf9f49bv3ifsc27si07cqbd51wn7nj62pppqbbp0ayfz9";
|
||||
rev = "8b06f91ae973fd68fde074f15a887f9a3a3411cb";
|
||||
sha256 = "120h0n3md78hzddyd77b47k7dicnij8zb1rw624b9956612slg07";
|
||||
};
|
||||
meta.homepage = "https://github.com/NeogitOrg/neogit/";
|
||||
};
|
||||
|
@ -6216,12 +6216,12 @@ final: prev:
|
|||
|
||||
neotest-haskell = buildVimPlugin {
|
||||
pname = "neotest-haskell";
|
||||
version = "2023-09-24";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "MrcJkb";
|
||||
repo = "neotest-haskell";
|
||||
rev = "e45d5af30e636daea47866b9a44a56ab382d9b64";
|
||||
sha256 = "1jirv3cahfm8sj43hs587x4w6wdzraafjp7zqn8l3il4yd36lj7g";
|
||||
rev = "6f8f89cef7e5ed811e8e2f2031f8a214d5dd6c0a";
|
||||
sha256 = "0b27zr14y9cx9za3akzpmvgri8y0jw302i7xwkc89wbxxkyjszi2";
|
||||
};
|
||||
meta.homepage = "https://github.com/MrcJkb/neotest-haskell/";
|
||||
};
|
||||
|
@ -6552,12 +6552,12 @@ final: prev:
|
|||
|
||||
no-neck-pain-nvim = buildVimPlugin {
|
||||
pname = "no-neck-pain.nvim";
|
||||
version = "2023-06-24";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "shortcuts";
|
||||
repo = "no-neck-pain.nvim";
|
||||
rev = "fb27d3bff0834d9178250b439d46bfa04b4e1ae2";
|
||||
sha256 = "0ri8qwhx4fsrs3im01nr0v05pg3c17k7zfgdmps61s6f1n0rpjf4";
|
||||
rev = "a3a76540533909aa42b4f9430c5b1976a6508f81";
|
||||
sha256 = "1yrni32ailamah5rbf6haypvik2wm4ywxrlrk3d12wl2hd9g7yxq";
|
||||
};
|
||||
meta.homepage = "https://github.com/shortcuts/no-neck-pain.nvim/";
|
||||
};
|
||||
|
@ -6720,12 +6720,12 @@ final: prev:
|
|||
|
||||
nvim-base16 = buildVimPlugin {
|
||||
pname = "nvim-base16";
|
||||
version = "2023-09-12";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "RRethy";
|
||||
repo = "nvim-base16";
|
||||
rev = "96e308958625a84940d5e443475465abf99c7bd9";
|
||||
sha256 = "1cz3nby9l2fg9ppl8pbgbcz70yzj87rci2lbzy9qm2mbj5y232sf";
|
||||
rev = "88f209605b7857ce5911e8aaa503a210876e935d";
|
||||
sha256 = "1767iwhbgi7lrfwn4wsk96h8x8dyfgbp11wffm8c42yhjwwmp0kl";
|
||||
};
|
||||
meta.homepage = "https://github.com/RRethy/nvim-base16/";
|
||||
};
|
||||
|
@ -7151,12 +7151,12 @@ final: prev:
|
|||
|
||||
nvim-lint = buildVimPlugin {
|
||||
pname = "nvim-lint";
|
||||
version = "2023-09-21";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mfussenegger";
|
||||
repo = "nvim-lint";
|
||||
rev = "67f74e630a84ecfa73a82783c487bdedd8cecdc3";
|
||||
sha256 = "1rmpyjbv7a4ipy9nndarp5xv0azkqpw3c51fjw6fpx0yhlk72slc";
|
||||
rev = "1065763f115a7765ef237347ad676ba348d7193a";
|
||||
sha256 = "0wlfq7xpi60nrqxx2v0h2pjv9jhx5alir8z9q1h7vcnf2hykj45c";
|
||||
};
|
||||
meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
|
||||
};
|
||||
|
@ -7187,12 +7187,12 @@ final: prev:
|
|||
|
||||
nvim-lspconfig = buildVimPlugin {
|
||||
pname = "nvim-lspconfig";
|
||||
version = "2023-09-29";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "neovim";
|
||||
repo = "nvim-lspconfig";
|
||||
rev = "61b40df9c17943e43e7e698873caab0e7dbcdadc";
|
||||
sha256 = "1dwrns9i46p3b53dkbhs76gic7i1s49mvdc2ka31qpx3yqks10g1";
|
||||
rev = "eb1b53162755888ff75e495797071644d983bff7";
|
||||
sha256 = "04kgsf3rhr0wk3vyx6lawlxj5icvaryx925flh72f234vkhigmq2";
|
||||
};
|
||||
meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
|
||||
};
|
||||
|
@ -7535,36 +7535,36 @@ final: prev:
|
|||
|
||||
nvim-tree-lua = buildVimPlugin {
|
||||
pname = "nvim-tree.lua";
|
||||
version = "2023-09-26";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-tree";
|
||||
repo = "nvim-tree.lua";
|
||||
rev = "934469b9b6df369e198fb3016969e56393b0dc07";
|
||||
sha256 = "1z2bwxqyzvniyqg5003b4azaakdh6dcwfssiakk7681fnngj2iqn";
|
||||
rev = "113e0950c88b81b01d253d8f3da17bbd0e6716bb";
|
||||
sha256 = "1nmx68gjc59cn6lapvml12x4yj9iqaqdb8q3ad5w3gfnmva03sjd";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-tree/nvim-tree.lua/";
|
||||
};
|
||||
|
||||
nvim-treesitter = buildVimPlugin {
|
||||
pname = "nvim-treesitter";
|
||||
version = "2023-09-29";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-treesitter";
|
||||
repo = "nvim-treesitter";
|
||||
rev = "16ea2969ea0a5ba902fceece9b2db10c7c9ba2d6";
|
||||
sha256 = "0m1v1wiizqp7wfndjba6l52n3z4hkzsvq2imvgy7myqg091hj4hk";
|
||||
rev = "776e4d341b5416c995e74c3abbf75f9cec26aa5e";
|
||||
sha256 = "02pk5di7lxvbwzi2ajq7kj6rfrxd46635jccw6xf5fbxcl84cqsb";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
|
||||
};
|
||||
|
||||
nvim-treesitter-context = buildVimPlugin {
|
||||
pname = "nvim-treesitter-context";
|
||||
version = "2023-09-27";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-treesitter";
|
||||
repo = "nvim-treesitter-context";
|
||||
rev = "44d270e9d1647088de596a2e04fdc806a50cd838";
|
||||
sha256 = "0zkjgqsgcv956jf63jhdipb2ra1j5mfxw08nlz8ni4vccd9yw5qa";
|
||||
rev = "bc19b78e9c705d67be98d56e9fab96470af45f33";
|
||||
sha256 = "1xfdiyz0a07zpmavyinq3mc3f81xw99n7847ijwb3rwpmiqs7hns";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-context/";
|
||||
};
|
||||
|
@ -7619,12 +7619,12 @@ final: prev:
|
|||
|
||||
nvim-treesitter-textsubjects = buildVimPlugin {
|
||||
pname = "nvim-treesitter-textsubjects";
|
||||
version = "2023-08-03";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "RRethy";
|
||||
repo = "nvim-treesitter-textsubjects";
|
||||
rev = "df75fcec548014f158cda6498ac38c4622c221e1";
|
||||
sha256 = "0fx8b9w03zn6v8db2w6h29y8hpbjckvm27nh49vvsis3icqyk7iv";
|
||||
rev = "48b3bf54e32f23e2299c59ff76fa3b0599565b39";
|
||||
sha256 = "11nmxnqr8dnn1l24gcrm4bpvpmy4ibsi6x46iz5y2vp7pzrj6cf9";
|
||||
};
|
||||
meta.homepage = "https://github.com/RRethy/nvim-treesitter-textsubjects/";
|
||||
};
|
||||
|
@ -7643,12 +7643,12 @@ final: prev:
|
|||
|
||||
nvim-ts-context-commentstring = buildVimPlugin {
|
||||
pname = "nvim-ts-context-commentstring";
|
||||
version = "2023-09-14";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "joosepalviste";
|
||||
repo = "nvim-ts-context-commentstring";
|
||||
rev = "95e9ba9de4289d221666b66fd930d157c7ca08c6";
|
||||
sha256 = "0acr7d16h22xk5c2dfv2wmwa9p5g5k06pqghkzym8bv70ag4lr8g";
|
||||
rev = "0c136439fb93fd94db9106250ff6f6858101422b";
|
||||
sha256 = "0cmszvwxbis2m36zwb7bcq0yfw19ska31j1r7k7pn55skr605527";
|
||||
};
|
||||
meta.homepage = "https://github.com/joosepalviste/nvim-ts-context-commentstring/";
|
||||
};
|
||||
|
@ -7822,12 +7822,12 @@ final: prev:
|
|||
|
||||
oil-nvim = buildVimPlugin {
|
||||
pname = "oil.nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "stevearc";
|
||||
repo = "oil.nvim";
|
||||
rev = "bfc5a4c48f4a53b95648e41d91e49b83fb03e919";
|
||||
sha256 = "0jgj24lrgr6jbvwln5lb3qx6b1kw8hxa0k09pqzrmpwzp6h6zmyc";
|
||||
rev = "956d7fc89b0bd1f9ea6515ca10c1e2a293e4d8fd";
|
||||
sha256 = "0gbrnnji01pdz7x78cbdnvs6y4gpb298f239i5b41mr9vdc55ysl";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
meta.homepage = "https://github.com/stevearc/oil.nvim/";
|
||||
|
@ -8617,12 +8617,12 @@ final: prev:
|
|||
|
||||
rest-nvim = buildNeovimPlugin {
|
||||
pname = "rest.nvim";
|
||||
version = "2023-09-25";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "rest-nvim";
|
||||
repo = "rest.nvim";
|
||||
rev = "16c1c8d80a6a65c409be4342130a8a61a7497f98";
|
||||
sha256 = "13nrxchxca1xj5cdw7dy4r5xfgq251ym1aj3kdykn4gakqgs6mxz";
|
||||
rev = "35d949df1928b44b6d941fd9015eb3f973845b1f";
|
||||
sha256 = "13lcd7wgdfd1hy1jkqbwvkcpyz9caxj9gdrn03ckba5lcbbnf08k";
|
||||
};
|
||||
meta.homepage = "https://github.com/rest-nvim/rest.nvim/";
|
||||
};
|
||||
|
@ -9678,12 +9678,12 @@ final: prev:
|
|||
|
||||
telescope-frecency-nvim = buildVimPlugin {
|
||||
pname = "telescope-frecency.nvim";
|
||||
version = "2023-09-17";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nvim-telescope";
|
||||
repo = "telescope-frecency.nvim";
|
||||
rev = "eaaabc90ed082b84a2e9b0ce4ab8c6753b7c50f9";
|
||||
sha256 = "1hmm956km88zns0w0wpk1yphxh0bjhxzwln7f9igiz7wgq0b10nr";
|
||||
rev = "4bdd9bafc7ac2c6fed03e92efac1e6b4632eda28";
|
||||
sha256 = "01a4hdgjf3i0qywz45rvzga02hphb2zl5cnpafw0igzb3lrsxqqk";
|
||||
};
|
||||
meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
|
||||
};
|
||||
|
@ -10365,12 +10365,12 @@ final: prev:
|
|||
|
||||
unison = buildVimPlugin {
|
||||
pname = "unison";
|
||||
version = "2023-09-27";
|
||||
version = "2023-09-29";
|
||||
src = fetchFromGitHub {
|
||||
owner = "unisonweb";
|
||||
repo = "unison";
|
||||
rev = "58bbcb098cc57fc876c33a7ded70df41a226a2c3";
|
||||
sha256 = "0nlggvc0nq6033jvb9p5kvczqdwbgdpk0dcf79072pih4mqxnfw2";
|
||||
rev = "5fa80db737fa357d9f9f14a36cdc10cbb1cb7651";
|
||||
sha256 = "1001rbbwhfbb26ji36kpkc3ji1gsgf3xmlr990bxv8wh33qib2rf";
|
||||
};
|
||||
meta.homepage = "https://github.com/unisonweb/unison/";
|
||||
};
|
||||
|
@ -10857,12 +10857,12 @@ final: prev:
|
|||
|
||||
vim-android = buildVimPlugin {
|
||||
pname = "vim-android";
|
||||
version = "2023-08-24";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "hsanson";
|
||||
repo = "vim-android";
|
||||
rev = "31c593b8025f62f184418dd658c3a358a8d0ef70";
|
||||
sha256 = "14l7v8jg4kq8qh9j64nxir4a7d9ls0zp6zk3rjzbzf9viqyw1bp5";
|
||||
rev = "26990f9fa27b23ca5faf83e14d56711c0fec40ea";
|
||||
sha256 = "1iy9ap2i9lmqcjaqb38syb240m834ifacv79cjiwzxcpr23vq4r1";
|
||||
};
|
||||
meta.homepage = "https://github.com/hsanson/vim-android/";
|
||||
};
|
||||
|
@ -14761,12 +14761,12 @@ final: prev:
|
|||
|
||||
vim-test = buildVimPlugin {
|
||||
pname = "vim-test";
|
||||
version = "2023-09-15";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vim-test";
|
||||
repo = "vim-test";
|
||||
rev = "a007258adc7b319943bf71dfead88d2ad721b923";
|
||||
sha256 = "0sk2bfk54ds22sri1a3jw4fmn2nw1cr06hlwmclxd8gpaxqv6rmh";
|
||||
rev = "53c6c72f3a0c6a24a74e659eaa769d7057ef2ecd";
|
||||
sha256 = "0y36ckap8z07b3ayj53l9drz1m4wrg0fd12q8p0cyhhghf0g8s2i";
|
||||
};
|
||||
meta.homepage = "https://github.com/vim-test/vim-test/";
|
||||
};
|
||||
|
@ -15578,12 +15578,12 @@ final: prev:
|
|||
|
||||
vista-vim = buildVimPlugin {
|
||||
pname = "vista.vim";
|
||||
version = "2023-09-14";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "liuchengxu";
|
||||
repo = "vista.vim";
|
||||
rev = "40daf5e97be70a90465182fbbdfba92442bfd8e1";
|
||||
sha256 = "17kgca407nzvaddp5416rri46sk6dry1kmxp8kishha3x6fx0iym";
|
||||
rev = "58dabc027909330970ac549e52bf799a723878c5";
|
||||
sha256 = "0xb385781kll7hrhgm7nw7frjx2fwd2gzriwn9gby2s7m6yx8xib";
|
||||
};
|
||||
meta.homepage = "https://github.com/liuchengxu/vista.vim/";
|
||||
};
|
||||
|
@ -15927,12 +15927,12 @@ final: prev:
|
|||
|
||||
zk-nvim = buildVimPlugin {
|
||||
pname = "zk-nvim";
|
||||
version = "2023-07-09";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mickael-menu";
|
||||
repo = "zk-nvim";
|
||||
rev = "797618aa07f58ceba6f79fb6e777e8e45c51e1ce";
|
||||
sha256 = "1hr1k3h3pwh7iga7zdd62hkwgnvivsr6z9nbs8ypks3r34rw60xx";
|
||||
rev = "e9e5e21dbeacd0e753728c7ea45b7a7582d9080a";
|
||||
sha256 = "0ycx8ad6a9xyc2i4gzjccbl5pzvg1y7rqhpxf4mys5vh5j7iisvv";
|
||||
};
|
||||
meta.homepage = "https://github.com/mickael-menu/zk-nvim/";
|
||||
};
|
||||
|
@ -15963,12 +15963,12 @@ final: prev:
|
|||
|
||||
catppuccin-nvim = buildVimPlugin {
|
||||
pname = "catppuccin-nvim";
|
||||
version = "2023-09-29";
|
||||
version = "2023-09-30";
|
||||
src = fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "nvim";
|
||||
rev = "18267654c665310c665d3b7c6bc43d5f5ea5e410";
|
||||
sha256 = "0gncnwp8h64z33g97ra9vaad5lfknfn3w87p7axhbjw6fdsy99ii";
|
||||
rev = "7a4bcdadafc59a5bedbd866c643fa486d8cca4a1";
|
||||
sha256 = "0v8syhgyvl4zs484dycz65qrclds2cd6f9ja85xy4gzfhisnc6s3";
|
||||
};
|
||||
meta.homepage = "https://github.com/catppuccin/nvim/";
|
||||
};
|
||||
|
@ -16035,12 +16035,12 @@ final: prev:
|
|||
|
||||
nightfly = buildVimPlugin {
|
||||
pname = "nightfly";
|
||||
version = "2023-09-29";
|
||||
version = "2023-10-01";
|
||||
src = fetchFromGitHub {
|
||||
owner = "bluz71";
|
||||
repo = "vim-nightfly-colors";
|
||||
rev = "28108adbd8674fe2788aa918c4a520a355654be3";
|
||||
sha256 = "1r82v8pzih9bp5bkad58q3w8r302l26id3471470sab7808cv8a8";
|
||||
rev = "60d7e7749c21dec4e77c70672c3882dc5653d02c";
|
||||
sha256 = "1z8d6i81n2j8ynfpa8gvlw27svjgv4rxs1ham4rl90vraryqgpl1";
|
||||
};
|
||||
meta.homepage = "https://github.com/bluz71/vim-nightfly-colors/";
|
||||
};
|
||||
|
|
|
@ -7,8 +7,6 @@ from concurrent.futures import ThreadPoolExecutor
|
|||
from os import environ
|
||||
from os.path import dirname, join
|
||||
|
||||
lockfile = json.load(open(join(environ["NVIM_TREESITTER"], "lockfile.json")))
|
||||
|
||||
configs = json.loads(
|
||||
subprocess.check_output(
|
||||
[
|
||||
|
@ -58,20 +56,26 @@ def generate_grammar(item):
|
|||
return generated
|
||||
|
||||
|
||||
generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
|
||||
def update_grammars(lockfile: str):
|
||||
|
||||
{ buildGrammar, """
|
||||
generated_file = """# generated by pkgs/applications/editors/vim/plugins/nvim-treesitter/update.py
|
||||
|
||||
generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True)
|
||||
{ buildGrammar, """
|
||||
|
||||
generated_file += """ }:
|
||||
generated_file += subprocess.check_output(["nurl", "-Ls", ", "], text=True)
|
||||
|
||||
{
|
||||
"""
|
||||
generated_file += """ }:
|
||||
|
||||
for generated in ThreadPoolExecutor().map(generate_grammar, lockfile.items()):
|
||||
generated_file += generated
|
||||
{
|
||||
"""
|
||||
for generated in ThreadPoolExecutor().map(generate_grammar, lockfile.items()):
|
||||
generated_file += generated
|
||||
generated_file += "}\n"
|
||||
generated_file += "}\n"
|
||||
|
||||
generated_file += "}\n"
|
||||
open(join(dirname(__file__), "generated.nix"), "w").write(generated_file)
|
||||
|
||||
open(join(dirname(__file__), "generated.nix"), "w").write(generated_file)
|
||||
|
||||
if __name__ == "__main__":
|
||||
# TODO add lockfile
|
||||
update_grammars()
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
{ pkgs ? import ../../../../.. { } }:
|
||||
|
||||
# Ideally, pkgs points to default.nix file of Nixpkgs official tree
|
||||
with pkgs;
|
||||
let
|
||||
pyEnv = python3.withPackages (ps: [ ps.gitpython ]);
|
||||
in
|
||||
|
||||
mkShell {
|
||||
packages = [
|
||||
bash
|
||||
pyEnv
|
||||
nix
|
||||
nix-prefetch-scripts
|
||||
];
|
||||
}
|
|
@ -1,97 +1,109 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell update-shell.nix -i python3
|
||||
|
||||
#!/usr/bin/env python
|
||||
|
||||
# run with:
|
||||
# $ nix run .\#vimPluginsUpdater
|
||||
# format:
|
||||
# $ nix run nixpkgs.python3Packages.black -c black update.py
|
||||
# $ nix run nixpkgs#python3Packages.black -- update.py
|
||||
# type-check:
|
||||
# $ nix run nixpkgs.python3Packages.mypy -c mypy update.py
|
||||
# $ nix run nixpkgs#python3Packages.mypy -- update.py
|
||||
# linted:
|
||||
# $ nix run nixpkgs.python3Packages.flake8 -c flake8 --ignore E501,E265,E402 update.py
|
||||
# $ nix run nixpkgs#python3Packages.flake8 -- --ignore E501,E265,E402 update.py
|
||||
|
||||
# If you see `HTTP Error 429: too many requests` errors while running this script,
|
||||
# refer to:
|
||||
# If you see `HTTP Error 429: too many requests` errors while running this
|
||||
# script, refer to:
|
||||
#
|
||||
# https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/vim.section.md#updating-plugins-in-nixpkgs-updating-plugins-in-nixpkgs
|
||||
#
|
||||
# (or the equivalent file /doc/languages-frameworks/vim.section.md from Nixpkgs master tree).
|
||||
# (or the equivalent file /doc/languages-frameworks/vim.section.md
|
||||
# from Nixpkgs master tree).
|
||||
#
|
||||
|
||||
import inspect
|
||||
import os
|
||||
import sys
|
||||
import logging
|
||||
import subprocess
|
||||
import textwrap
|
||||
import json
|
||||
from typing import List, Tuple
|
||||
from pathlib import Path
|
||||
|
||||
import git
|
||||
|
||||
log = logging.getLogger()
|
||||
|
||||
sh = logging.StreamHandler()
|
||||
formatter = logging.Formatter('%(name)s:%(levelname)s: %(message)s')
|
||||
formatter = logging.Formatter("%(name)s:%(levelname)s: %(message)s")
|
||||
sh.setFormatter(formatter)
|
||||
log.addHandler(sh)
|
||||
|
||||
# Import plugin update library from maintainers/scripts/pluginupdate.py
|
||||
ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))
|
||||
# Ideally, ROOT.(parent^5) points to root of Nixpkgs official tree
|
||||
sys.path.insert(0, os.path.join(ROOT.parent.parent.parent.parent.parent, "maintainers", "scripts"))
|
||||
import pluginupdate
|
||||
import importlib
|
||||
from pluginupdate import run_nix_expr, PluginDesc
|
||||
from treesitter import update_grammars
|
||||
|
||||
|
||||
|
||||
GET_PLUGINS_LUA = """
|
||||
with import <localpkgs> {};
|
||||
lib.attrNames lua51Packages"""
|
||||
|
||||
HEADER = (
|
||||
"# GENERATED by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!"
|
||||
)
|
||||
|
||||
def isNeovimPlugin(plug: pluginupdate.Plugin) -> bool:
|
||||
'''
|
||||
Whether it's a neovim-only plugin
|
||||
We can check if it's available in lua packages
|
||||
'''
|
||||
global luaPlugins
|
||||
if plug.normalized_name in luaPlugins:
|
||||
log.debug("%s is a neovim plugin", plug)
|
||||
return True
|
||||
return False
|
||||
NVIM_TREESITTER_GENERATED_NIX = \
|
||||
"pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix"
|
||||
|
||||
|
||||
class VimEditor(pluginupdate.Editor):
|
||||
nvim_treesitter_updated = False
|
||||
|
||||
def generate_nix(self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str):
|
||||
def generate_nix(
|
||||
self, plugins: List[Tuple[PluginDesc, pluginupdate.Plugin]], outfile: str
|
||||
):
|
||||
sorted_plugins = sorted(plugins, key=lambda v: v[0].name.lower())
|
||||
nvim_treesitter_rev = pluginupdate.run_nix_expr("(import <localpkgs> { }).vimPlugins.nvim-treesitter.src.rev")
|
||||
nvim_treesitter_rev = pluginupdate.run_nix_expr(
|
||||
"(import <localpkgs> { }).vimPlugins.nvim-treesitter.src.rev",
|
||||
self.nixpkgs
|
||||
)
|
||||
|
||||
with open(outfile, "w+") as f:
|
||||
f.write(HEADER)
|
||||
f.write(textwrap.dedent("""
|
||||
f.write(
|
||||
textwrap.dedent(
|
||||
"""
|
||||
{ lib, buildVimPlugin, buildNeovimPlugin, fetchFromGitHub, fetchgit }:
|
||||
|
||||
final: prev:
|
||||
{
|
||||
"""
|
||||
))
|
||||
)
|
||||
)
|
||||
for pdesc, plugin in sorted_plugins:
|
||||
content = self.plugin2nix(pdesc, plugin)
|
||||
f.write(content)
|
||||
if plugin.name == "nvim-treesitter" and plugin.commit != nvim_treesitter_rev:
|
||||
if (
|
||||
plugin.name == "nvim-treesitter" and plugin.commit != nvim_treesitter_rev
|
||||
):
|
||||
self.nvim_treesitter_updated = True
|
||||
f.write("\n}\n")
|
||||
print(f"updated {outfile}")
|
||||
|
||||
def plugin2nix(self, pdesc: PluginDesc, plugin: pluginupdate.Plugin) -> str:
|
||||
GET_PLUGINS_LUA = """
|
||||
with import <localpkgs> {};
|
||||
lib.attrNames lua51Packages"""
|
||||
luaPlugins = run_nix_expr(GET_PLUGINS_LUA, self.nixpkgs)
|
||||
|
||||
repo = pdesc.repo
|
||||
isNeovim = isNeovimPlugin(plugin)
|
||||
|
||||
def _isNeovimPlugin(plug: pluginupdate.Plugin) -> bool:
|
||||
"""
|
||||
Whether it's a neovim-only plugin
|
||||
We can check if it's available in lua packages
|
||||
"""
|
||||
# global luaPlugins
|
||||
if plug.normalized_name in luaPlugins:
|
||||
log.debug("%s is a neovim plugin", plug)
|
||||
return True
|
||||
return False
|
||||
|
||||
isNeovim = _isNeovimPlugin(plugin)
|
||||
|
||||
content = f" {plugin.normalized_name} = "
|
||||
src_nix = repo.as_nix(plugin)
|
||||
|
@ -103,23 +115,28 @@ class VimEditor(pluginupdate.Editor):
|
|||
}};
|
||||
|
||||
""".format(
|
||||
buildFn="buildNeovimPlugin" if isNeovim else "buildVimPlugin", plugin=plugin, src_nix=src_nix, repo=repo)
|
||||
buildFn="buildNeovimPlugin" if isNeovim else "buildVimPlugin",
|
||||
plugin=plugin,
|
||||
src_nix=src_nix,
|
||||
repo=repo,
|
||||
)
|
||||
log.debug(content)
|
||||
return content
|
||||
|
||||
|
||||
def update(self, args):
|
||||
pluginupdate.update_plugins(self, args)
|
||||
|
||||
if self.nvim_treesitter_updated:
|
||||
print("updating nvim-treesitter grammars")
|
||||
nvim_treesitter_dir = ROOT.joinpath("nvim-treesitter")
|
||||
subprocess.check_call([nvim_treesitter_dir.joinpath("update.py")])
|
||||
lockfile = json.load(open(args.nixpkgs.join(NVIM_TREESITTER_GENERATED_FILE, "lockfile.json")))
|
||||
|
||||
nvim_treesitter.update_grammars(lockfile)
|
||||
|
||||
if self.nixpkgs_repo:
|
||||
index = self.nixpkgs_repo.index
|
||||
for diff in index.diff(None):
|
||||
if diff.a_path == "pkgs/applications/editors/vim/plugins/nvim-treesitter/generated.nix":
|
||||
if diff.a_path == NVIM_TREESITTER_GENERATED_NIX:
|
||||
msg = "vimPlugins.nvim-treesitter: update grammars"
|
||||
print(f"committing to nixpkgs: {msg}")
|
||||
index.add([str(nvim_treesitter_dir.joinpath("generated.nix"))])
|
||||
|
@ -131,11 +148,11 @@ class VimEditor(pluginupdate.Editor):
|
|||
def main():
|
||||
|
||||
global luaPlugins
|
||||
luaPlugins = run_nix_expr(GET_PLUGINS_LUA)
|
||||
|
||||
with open(f"{ROOT}/get-plugins.nix") as f:
|
||||
log.debug(f"Loading from {ROOT}/../get-plugins.nix")
|
||||
with open(f"{ROOT}/../get-plugins.nix") as f:
|
||||
GET_PLUGINS = f.read()
|
||||
editor = VimEditor("vim", ROOT, GET_PLUGINS)
|
||||
editor = VimEditor("vim", Path("pkgs/applications/editors/vim/plugins"), GET_PLUGINS)
|
||||
editor.run()
|
||||
|
||||
|
||||
|
|
47
pkgs/applications/editors/vim/plugins/updater.nix
Normal file
47
pkgs/applications/editors/vim/plugins/updater.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{ buildPythonApplication
|
||||
, nix
|
||||
, makeWrapper
|
||||
, python3Packages
|
||||
, lib
|
||||
|
||||
# optional
|
||||
, vimPlugins
|
||||
, neovim
|
||||
}:
|
||||
let
|
||||
my_neovim = neovim.override {
|
||||
configure.packages.all.start = [ vimPlugins.nvim-treesitter ];
|
||||
};
|
||||
|
||||
in
|
||||
buildPythonApplication {
|
||||
format = "other";
|
||||
pname = "vim-plugins-updater";
|
||||
version = "0.1";
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
python3Packages.wrapPython
|
||||
];
|
||||
|
||||
pythonPath = [
|
||||
python3Packages.gitpython
|
||||
];
|
||||
|
||||
dontUnpack = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib
|
||||
cp ${./update.py} $out/bin/vim-plugins-updater
|
||||
cp ${./get-plugins.nix} $out/get-plugins.nix
|
||||
cp ${./nvim-treesitter/update.py} $out/lib/treesitter.py
|
||||
cp ${../../../../../maintainers/scripts/pluginupdate.py} $out/lib/pluginupdate.py
|
||||
|
||||
# wrap python scripts
|
||||
makeWrapperArgs+=( --prefix PATH : "${lib.makeBinPath [ nix my_neovim ]}" --prefix PYTHONPATH : "$out/lib" )
|
||||
wrapPythonPrograms
|
||||
'';
|
||||
|
||||
meta.mainProgram = "vim-plugins-updater";
|
||||
}
|
||||
|
|
@ -700,8 +700,8 @@ let
|
|||
mktplcRef = {
|
||||
name = "ruff";
|
||||
publisher = "charliermarsh";
|
||||
version = "2023.38.0";
|
||||
sha256 = "sha256-Gcw+X8e8MrTflotHUwkrdP/DD/6AX/kEgtRiqvqyqRM=";
|
||||
version = "2023.40.0";
|
||||
sha256 = "sha256-Ym76WtKvz18NgxH9o8O/Ozn+/AtqLvjJs8ffLhPOWkQ=";
|
||||
};
|
||||
meta = {
|
||||
license = lib.licenses.mit;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ stdenv, lib, makeDesktopItem
|
||||
, unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages
|
||||
, atomEnv, at-spi2-atk, autoPatchelfHook
|
||||
, at-spi2-atk, autoPatchelfHook, alsa-lib, mesa, nss, nspr, xorg
|
||||
, systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland
|
||||
, libglvnd, libkrb5
|
||||
|
||||
|
@ -67,7 +67,7 @@ let
|
|||
};
|
||||
|
||||
buildInputs = [ libsecret libXScrnSaver libxshmfence ]
|
||||
++ lib.optionals (!stdenv.isDarwin) ([ at-spi2-atk libkrb5 ] ++ atomEnv.packages);
|
||||
++ lib.optionals (!stdenv.isDarwin) [ alsa-lib at-spi2-atk libkrb5 mesa nss nspr systemd xorg.libxkbfile ];
|
||||
|
||||
runtimeDependencies = lib.optionals stdenv.isLinux [ (lib.getLib systemd) fontconfig.lib libdbusmenu wayland libsecret ];
|
||||
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 879d46bc..95570f6b 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -20,5 +20,5 @@ if(BUILD_REGTEST)
|
||||
endif()
|
||||
|
||||
if(BUILD_TESTS)
|
||||
- add_subdirectory(common-tests EXCLUDE_FROM_ALL)
|
||||
+ add_subdirectory(common-tests)
|
||||
endif()
|
|
@ -0,0 +1,19 @@
|
|||
diff --git a/src/scmversion/gen_scmversion.sh b/src/scmversion/gen_scmversion.sh
|
||||
index 9c1dacab..d1f895ee 100755
|
||||
--- a/src/scmversion/gen_scmversion.sh
|
||||
+++ b/src/scmversion/gen_scmversion.sh
|
||||
@@ -10,10 +10,10 @@ else
|
||||
fi
|
||||
|
||||
|
||||
-HASH=$(git rev-parse HEAD)
|
||||
-BRANCH=$(git rev-parse --abbrev-ref HEAD | tr -d '\r\n')
|
||||
-TAG=$(git describe --tags --dirty --exclude latest --exclude preview --exclude legacy --exclude previous-latest | tr -d '\r\n')
|
||||
-DATE=$(git log -1 --date=iso8601-strict --format=%cd)
|
||||
+HASH="@gitHash@"
|
||||
+BRANCH="@gitBranch@"
|
||||
+TAG="@gitTag@"
|
||||
+DATE="@gitDate@"
|
||||
|
||||
cd $CURDIR
|
||||
|
|
@ -8,31 +8,45 @@
|
|||
, curl
|
||||
, extra-cmake-modules
|
||||
, libXrandr
|
||||
, libbacktrace
|
||||
, makeDesktopItem
|
||||
, mesa # for libgbm
|
||||
, ninja
|
||||
, pkg-config
|
||||
, qtbase
|
||||
, qtsvg
|
||||
, qttools
|
||||
, qtwayland
|
||||
, substituteAll
|
||||
, vulkan-loader
|
||||
, wayland
|
||||
, wrapQtAppsHook
|
||||
, enableWayland ? true
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "duckstation";
|
||||
version = "unstable-2023-04-14";
|
||||
version = "unstable-2023-09-30";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stenzek";
|
||||
repo = "duckstation";
|
||||
rev = "5fee6f5abee7f3aad65da5523e57896e10e2a53a";
|
||||
sha256 = "sha256-sRs/b4GVXhF3zrOef8DSBKJJGYECUER/nNWZAqv7suA=";
|
||||
rev = "d5608bf12df7a7e03750cb94a08a3d7999034ae2";
|
||||
hash = "sha256-ktfZgacjkN6GQb1vLmyTZMr8QmmH12qAvFSIBTjgRSs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Tests are not built by default
|
||||
./001-fix-test-inclusion.diff
|
||||
# Patching yet another script that fills data based on git commands...
|
||||
(substituteAll {
|
||||
src = ./002-hardcode-vars.diff;
|
||||
gitHash = finalAttrs.src.rev;
|
||||
gitBranch = "master";
|
||||
gitTag = "0.1-5889-gd5608bf1";
|
||||
gitDate = "2023-09-30T23:20:09+10:00";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
copyDesktopItems
|
||||
|
@ -49,7 +63,7 @@ stdenv.mkDerivation {
|
|||
SDL2
|
||||
curl
|
||||
libXrandr
|
||||
mesa
|
||||
libbacktrace
|
||||
qtbase
|
||||
qtsvg
|
||||
vulkan-loader
|
||||
|
@ -60,10 +74,12 @@ stdenv.mkDerivation {
|
|||
]
|
||||
++ cubeb.passthru.backendLibs;
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
cmakeFlags = [
|
||||
"-DUSE_DRMKMS=ON"
|
||||
]
|
||||
++ lib.optionals enableWayland [ "-DUSE_WAYLAND=ON" ];
|
||||
(lib.cmakeBool "BUILD_TESTS" true)
|
||||
(lib.cmakeBool "ENABLE_WAYLAND" enableWayland)
|
||||
];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
|
@ -79,6 +95,13 @@ stdenv.mkDerivation {
|
|||
})
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
bin/common-tests
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
|
@ -92,23 +115,16 @@ stdenv.mkDerivation {
|
|||
runHook postInstall
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
bin/common-tests
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
qtWrapperArgs = [
|
||||
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ vulkan-loader ] ++ cubeb.passthru.backendLibs)}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
homepage = "https://github.com/stenzek/duckstation";
|
||||
description = "Fast PlayStation 1 emulator for x86-64/AArch32/AArch64";
|
||||
license = licenses.gpl3Only;
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "duckstation-qt";
|
||||
maintainers = with maintainers; [ guibou AndersonTorres ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with lib.maintainers; [ guibou AndersonTorres ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
|
|
@ -38,14 +38,14 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mame";
|
||||
version = "0.258";
|
||||
version = "0.259";
|
||||
srcVersion = builtins.replaceStrings [ "." ] [ "" ] version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mamedev";
|
||||
repo = "mame";
|
||||
rev = "mame${srcVersion}";
|
||||
hash = "sha256-5wsPlI3xTCeadxvOjjNSGtaa8F7M6gZobsv2Ks8DSGE=";
|
||||
hash = "sha256-F8psPvwuaILXZF7dCStJApVTD9zzzBwjf1CKGelHlqE=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "tools" ];
|
||||
|
|
|
@ -46,12 +46,12 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "retroarch-bare";
|
||||
version = "1.16.0";
|
||||
version = "1.16.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "libretro";
|
||||
repo = "RetroArch";
|
||||
hash = "sha256-aP3/IDs18Q32efFlp4XYDKpdoAm2+QwzhrMxmt3pSvE=";
|
||||
hash = "sha256-BT+LzRDoQF03aNT2Kg7YaSWhK74CvOOiHUeHDtFpe9s=";
|
||||
rev = "v${version}";
|
||||
};
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "komikku";
|
||||
version = "1.23.0";
|
||||
version = "1.24.2";
|
||||
|
||||
format = "other";
|
||||
|
||||
|
@ -27,7 +27,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "valos";
|
||||
repo = "Komikku";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-duWAOod2co62NJ5Jk+7eWTf2LcfV5ZbFw0BhrbdGdUY=";
|
||||
hash = "sha256-c00JRy1K/jYoQYNAMSm6lQkuGQXZv/2liV1F4jpg+C4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
{ stdenv
|
||||
, lib
|
||||
, mkDerivation
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, pkg-config
|
||||
, wrapQtAppsHook
|
||||
|
||||
, qtbase
|
||||
, qttools
|
||||
|
@ -18,32 +17,24 @@
|
|||
, quazip
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "nomacs";
|
||||
version = "3.17.2206";
|
||||
version = "3.17.2285";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nomacs";
|
||||
repo = "nomacs";
|
||||
rev = version;
|
||||
sha256 = "1bq7bv4p7w67172y893lvpk90d6fgdpnylynbj2kn8m2hs6khya4";
|
||||
hash = "sha256-/K7LRPwNy2PG7tIGD0tiKnEOPZ491lxFRlgf4xWYtxs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Add support for Quazip 1.x.
|
||||
(fetchpatch {
|
||||
url = "https://github.com/nomacs/nomacs/pull/576.patch";
|
||||
sha256 = "11ryjvd9jbb0cqagai4a6980jfq8lrcbyw2d7z9yld1f42w9kbxm";
|
||||
stripLen = 1;
|
||||
})
|
||||
];
|
||||
|
||||
setSourceRoot = ''
|
||||
sourceRoot=$(echo */ImageLounge)
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [cmake
|
||||
pkg-config];
|
||||
pkg-config
|
||||
wrapQtAppsHook];
|
||||
|
||||
buildInputs = [qtbase
|
||||
qttools
|
||||
|
@ -62,13 +53,16 @@ mkDerivation rec {
|
|||
"-DENABLE_TRANSLATIONS=ON"
|
||||
"-DUSE_SYSTEM_QUAZIP=ON"];
|
||||
|
||||
postInstall = lib.optionalString stdenv.isDarwin ''
|
||||
mkdir -p $out/lib
|
||||
mv $out/libnomacsCore.dylib $out/lib/libnomacsCore.dylib
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://nomacs.org";
|
||||
description = "Qt-based image viewer";
|
||||
maintainers = with lib.maintainers; [ mindavi ];
|
||||
license = licenses.gpl3Plus;
|
||||
inherit (qtbase.meta) platforms;
|
||||
# Broken on hydra since 2020-08-15: https://hydra.nixos.org/build/125495291 (bump from 3.16 to 3.17 prerelease)
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,21 +4,31 @@
|
|||
, copyDesktopItems
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, libuuid
|
||||
, libunwind
|
||||
, libxkbcommon
|
||||
, icu
|
||||
, openssl
|
||||
, zlib
|
||||
, curl
|
||||
, at-spi2-core
|
||||
, alsa-lib
|
||||
, at-spi2-atk
|
||||
, at-spi2-core
|
||||
, cairo
|
||||
, cups
|
||||
, curl
|
||||
, dbus
|
||||
, expat
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gnutar
|
||||
, atomEnv
|
||||
, libkrb5
|
||||
, gtk3
|
||||
, icu
|
||||
, libdrm
|
||||
, libunwind
|
||||
, libuuid
|
||||
, libxkbcommon
|
||||
, mesa
|
||||
, nspr
|
||||
, nss
|
||||
, openssl
|
||||
, pango
|
||||
, systemd
|
||||
, xorg
|
||||
, zlib
|
||||
}:
|
||||
|
||||
# from justinwoo/azuredatastudio-nix
|
||||
|
@ -115,20 +125,34 @@ stdenv.mkDerivation rec {
|
|||
sqltoolsservicePath = "${targetPath}/resources/app/extensions/mssql/sqltoolsservice/Linux/4.7.1.6";
|
||||
|
||||
rpath = lib.concatStringsSep ":" [
|
||||
atomEnv.libPath
|
||||
(
|
||||
lib.makeLibraryPath [
|
||||
libuuid
|
||||
at-spi2-core
|
||||
at-spi2-atk
|
||||
stdenv.cc.cc.lib
|
||||
libkrb5
|
||||
libdrm
|
||||
libxkbcommon
|
||||
mesa
|
||||
xorg.libxshmfence
|
||||
]
|
||||
)
|
||||
(lib.makeLibraryPath [
|
||||
alsa-lib
|
||||
at-spi2-atk
|
||||
cairo
|
||||
cups
|
||||
dbus
|
||||
expat
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
mesa
|
||||
nss
|
||||
nspr
|
||||
libdrm
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
xorg.libXcomposite
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXrandr
|
||||
xorg.libxshmfence
|
||||
libxkbcommon
|
||||
xorg.libxkbfile
|
||||
pango
|
||||
stdenv.cc.cc.lib
|
||||
systemd
|
||||
])
|
||||
targetPath
|
||||
sqltoolsserviceRpath
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ fetchFromGitHub, lib, stdenv, pkg-config, exiv2, libxml2, gtk3
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, exiv2, libxml2, gtk3
|
||||
, libxslt, docbook_xsl, docbook_xml_dtd_42, desktop-file-utils, wrapGAppsHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -12,6 +12,14 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1wkpb0nqnm0ik46hp2sibf96h2gxi6n951zm8c72scgmh4ciq4fl";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
name = "gpscorrelate-2.0-exiv2-0.28.patch";
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-geosciences/gpscorrelate/files/gpscorrelate-2.0-exiv2-0.28.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0";
|
||||
hash = "sha256-/5czvSh2siPmohXWHQEg6VWCUQnZxEm2livLsEOAa6c=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
desktop-file-utils
|
||||
docbook_xml_dtd_42
|
||||
|
|
|
@ -1,31 +1,58 @@
|
|||
{ lib, stdenv, fetchurl, intltool, libxml2, pkg-config, gnome, libchamplain, gdl, wrapGAppsHook }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, libxml2
|
||||
, meson
|
||||
, ninja
|
||||
, vala
|
||||
, pkg-config
|
||||
, gnome
|
||||
, libchamplain
|
||||
, gdl
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gpx-viewer";
|
||||
version = "0.4.0";
|
||||
version = "0.5.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://launchpad.net/gpx-viewer/trunk/${version}/+download/${pname}-${version}.tar.gz";
|
||||
sha256 = "956acfaf870ac436300cd9953dece630df7fd7dff8e4ae2577a6002884466f80";
|
||||
src = fetchFromGitHub {
|
||||
owner = "DaveDavenport";
|
||||
repo = "gpx-viewer";
|
||||
rev = version;
|
||||
hash = "sha256-6AChX0UEIrQExaq3oo9Be5Sr13+POHFph7pZegqcjio=";
|
||||
};
|
||||
|
||||
patches = fetchurl {
|
||||
url = "https://code.launchpad.net/~chkr/gpx-viewer/gtk3-bugfix/+merge/260766/+preview-diff/628965/+files/preview.diff";
|
||||
sha256 = "1yl7jk7skkcx10nny5zdixswcymjd9s9c1zhm1i5y3aqhchvmfs7";
|
||||
};
|
||||
patchFlags = [ "-p0" ];
|
||||
|
||||
configureFlags = [ "--disable-database-updates" ];
|
||||
patches = [
|
||||
# Compile with libchamplain>=0.12.21
|
||||
(fetchpatch {
|
||||
url = "https://github.com/DaveDavenport/gpx-viewer/commit/12ed6003bdad840586351bdb4e00c18719873c0e.patch";
|
||||
hash = "sha256-2/r0M3Yxj+vWgny1Pd5G7NYMb0uC/ByZ7y3tqLVccOc=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
intltool pkg-config
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
vala
|
||||
wrapGAppsHook # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system
|
||||
];
|
||||
buildInputs = [ gdl libchamplain gnome.adwaita-icon-theme libxml2 ];
|
||||
|
||||
buildInputs = [
|
||||
gdl
|
||||
libchamplain
|
||||
gnome.adwaita-icon-theme
|
||||
libxml2
|
||||
];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://blog.sarine.nl/tag/gpxviewer/";
|
||||
description = "Simple tool to visualize tracks and waypoints stored in a gpx file";
|
||||
changelog = "https://github.com/DaveDavenport/gpx-viewer/blob/${src.rev}/NEWS";
|
||||
platforms = with platforms; linux;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ dotlambda ];
|
||||
|
|
|
@ -16,13 +16,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "iptsd";
|
||||
version = "1.3.2";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linux-surface";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iVxxlblwrZ4SPbVR0kIG+ePExk4qT6gExgvHS1Ksp6A=";
|
||||
hash = "sha256-qBABt0qEePGrZH4khnikvStrSi/OVmP3yVMJZbEd36M=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,33 +1,39 @@
|
|||
{ lib, buildPackages, buildGoModule, fetchFromGitHub, esbuild, buildNpmPackage, fetchFromGitea }:
|
||||
{ lib
|
||||
, buildPackages
|
||||
, fetchFromGitHub
|
||||
, buildNpmPackage
|
||||
, fetchFromGitea
|
||||
, nix-update-script
|
||||
}:
|
||||
|
||||
let
|
||||
esbuild' = buildPackages.esbuild.override {
|
||||
buildGoModule = args: buildPackages.buildGoModule (args // rec {
|
||||
version = "0.17.19";
|
||||
version = "0.18.20";
|
||||
src = fetchFromGitHub {
|
||||
owner = "evanw";
|
||||
repo = "esbuild";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-PLC7OJLSOiDq4OjvrdfCawZPfbfuZix4Waopzrj8qsU=";
|
||||
hash = "sha256-mED3h+mY+4H465m02ewFK/BgA1i/PQ+ksUNxBlgpUoI=";
|
||||
};
|
||||
vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
|
||||
});
|
||||
};
|
||||
in buildNpmPackage rec {
|
||||
pname = "kaufkauflist";
|
||||
version = "2.2.0";
|
||||
version = "3.0.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "annaaurora";
|
||||
repo = "kaufkauflist";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-a7C4yHTHPhL5/p1/XsrMA0PnbIzer6FShDiwUMOg69Y=";
|
||||
hash = "sha256-W/FlHLZYYG/s9NdAqm0OJHlpTZtEG4iaegc4iOnAwWk=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-uQ4XoaR3JjvPm8EQ2pnDM+x4zjVn4PEHq7BRqVbvFyw=";
|
||||
npmDepsHash = "sha256-d1mvC72ugmKLNStoemUr8ISCUYjyo9EDWdWUCD1FMiM=";
|
||||
|
||||
ESBUILD_BINARY_PATH = "${lib.getExe esbuild'}";
|
||||
ESBUILD_BINARY_PATH = lib.getExe esbuild';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/kaufkauflist $out/share/pocketbase
|
||||
|
@ -35,8 +41,7 @@ in buildNpmPackage rec {
|
|||
cp -v pb_schema.json $out/share/pocketbase/
|
||||
'';
|
||||
|
||||
# Uncomment this when nix-update-script supports Gitea.
|
||||
#passthru.updateScript = nix-update-script { };
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://codeberg.org/annaaurora/kaufkauflist";
|
||||
|
|
|
@ -1,4 +1,31 @@
|
|||
{ stdenv, lib, fetchurl, buildFHSEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, libxkbcommon, libxshmfence, at-spi2-atk, icu, openssl, zlib }:
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, buildFHSEnv
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, alsa-lib
|
||||
, at-spi2-atk
|
||||
, cairo
|
||||
, cups
|
||||
, dbus
|
||||
, expat
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gtk3
|
||||
, mesa
|
||||
, nss
|
||||
, nspr
|
||||
, libdrm
|
||||
, xorg
|
||||
, libxkbcommon
|
||||
, libxshmfence
|
||||
, pango
|
||||
, systemd
|
||||
, icu
|
||||
, openssl
|
||||
, zlib
|
||||
}:
|
||||
let
|
||||
pname = "sidequest";
|
||||
version = "0.10.33";
|
||||
|
@ -21,20 +48,46 @@
|
|||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
buildCommand = ''
|
||||
installPhase = ''
|
||||
mkdir -p "$out/lib/SideQuest" "$out/bin"
|
||||
tar -xJf "$src" -C "$out/lib/SideQuest" --strip-components 1
|
||||
|
||||
ln -s "$out/lib/SideQuest/sidequest" "$out/bin"
|
||||
'';
|
||||
|
||||
fixupPhase
|
||||
|
||||
# mkdir -p "$out/share/applications"
|
||||
# ln -s "${desktopItem}/share/applications/*" "$out/share/applications"
|
||||
|
||||
postFixup = let
|
||||
libPath = lib.makeLibraryPath [
|
||||
alsa-lib
|
||||
at-spi2-atk
|
||||
cairo
|
||||
cups
|
||||
dbus
|
||||
expat
|
||||
gdk-pixbuf
|
||||
glib
|
||||
gtk3
|
||||
mesa
|
||||
nss
|
||||
nspr
|
||||
libdrm
|
||||
xorg.libX11
|
||||
xorg.libxcb
|
||||
xorg.libXcomposite
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXrandr
|
||||
xorg.libxshmfence
|
||||
libxkbcommon
|
||||
xorg.libxkbfile
|
||||
pango
|
||||
stdenv.cc.cc.lib
|
||||
systemd
|
||||
];
|
||||
in ''
|
||||
patchelf \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${atomEnv.libPath}/lib:${lib.makeLibraryPath [libuuid at-spi2-atk]}:$out/lib/SideQuest" \
|
||||
--set-rpath "${libPath}:$out/lib/SideQuest" \
|
||||
"$out/lib/SideQuest/sidequest"
|
||||
'';
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ atomEnv
|
||||
, autoPatchelfHook
|
||||
{ autoPatchelfHook
|
||||
, dpkg
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
|
@ -7,7 +6,13 @@
|
|||
, lib
|
||||
, stdenv
|
||||
, udev
|
||||
, alsa-lib
|
||||
, mesa
|
||||
, nss
|
||||
, nspr
|
||||
, systemd
|
||||
, wrapGAppsHook
|
||||
, xorg
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -40,9 +45,7 @@ let
|
|||
inherit pname version meta;
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
"https://github.com/Automattic/simplenote-electron/releases/download/"
|
||||
+ "v${version}/Simplenote-linux-${version}-amd64.deb";
|
||||
url = "https://github.com/Automattic/simplenote-electron/releases/download/v${version}/Simplenote-linux-${version}-amd64.deb";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
|
@ -61,6 +64,7 @@ let
|
|||
dontPatchELF = true;
|
||||
dontWrapGApps = true;
|
||||
|
||||
# TODO: migrate off autoPatchelfHook and use nixpkgs' electron
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
dpkg
|
||||
|
@ -68,7 +72,16 @@ let
|
|||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = atomEnv.packages;
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
mesa
|
||||
xorg.libXScrnSaver
|
||||
xorg.libXtst
|
||||
nss
|
||||
nspr
|
||||
stdenv.cc.cc
|
||||
systemd
|
||||
];
|
||||
|
||||
unpackPhase = "dpkg-deb -x $src .";
|
||||
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ttyper";
|
||||
version = "1.3.0";
|
||||
version = "1.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "max-niederman";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-b6yxl7dCPLWnzsrRKegubtLDLObOnCf7kvZtkobzC1o=";
|
||||
hash = "sha256-kMJcZ9U2pUXFza66fpK07IHbRc5ZQ49+bytgty94o/s=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-N+JJV+q/tIMN60x9DdD/i2+9Wp44kzpMb09dsrSceEk=";
|
||||
cargoHash = "sha256-pmPT8GREXKun5uyGx+b6IATp/cKziZTL7YcYwKEo/NU=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Terminal-based typing test";
|
||||
|
|
|
@ -11,16 +11,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "tui-journal";
|
||||
version = "0.3.1";
|
||||
version = "0.3.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AmmarAbouZor";
|
||||
repo = "tui-journal";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-DKactqPyZTDmD4F15wKHvwuzsZUj6y1MJuPyASnia/c=";
|
||||
hash = "sha256-ASozznbqtQc9bIzxbL94t2CHY2/PeXfR1DKfhTmsX74=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-dLyI2cmIz1ucKdhAEs3Nz1tamcJUDZtdv4Fk/Wo+Zxs=";
|
||||
cargoHash = "sha256-H+j/i0Gfk7O2TLdw5FYHOrLy/jfMSF4cpzMtQ2XJn2M=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "udiskie";
|
||||
version = "2.4.2";
|
||||
version = "2.5.0";
|
||||
|
||||
format = "setuptools";
|
||||
|
||||
|
@ -22,7 +22,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "coldfix";
|
||||
repo = "udiskie";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-lQMJVSY3JeZYYOFDyV29Ye2j8r+ngE/ta2wQYipy4hU=";
|
||||
hash = "sha256-wIXh7dzygjzSXo51LBt1BW+sar6qUELWC6oTGPDGgcE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -63,6 +63,10 @@ python3.pkgs.buildPythonApplication rec {
|
|||
|
||||
postInstall = ''
|
||||
installManPage doc/udiskie.8
|
||||
|
||||
installShellCompletion \
|
||||
--bash completions/bash/* \
|
||||
--zsh completions/zsh/*
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
|
|
91
pkgs/applications/misc/watchmate/Cargo.lock
generated
91
pkgs/applications/misc/watchmate/Cargo.lock
generated
|
@ -1054,9 +1054,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "gtk4"
|
||||
version = "0.6.2"
|
||||
version = "0.6.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e47dca53cb1a8ae3006e869b5711ae7370180db537f6d98e3bcaf23fabfd911f"
|
||||
checksum = "b28a32a04cd75cef14a0983f8b0c669e0fe152a0a7725accdeb594e2c764c88b"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cairo-rs",
|
||||
|
@ -1108,6 +1108,24 @@ dependencies = [
|
|||
"system-deps",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gvdb"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d6fc5915836ff1779eb9455810dad729811334b1026d4316eaf89c3a415e32ea"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"flate2",
|
||||
"lazy_static",
|
||||
"memmap2",
|
||||
"quick-xml",
|
||||
"safe-transmute",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"walkdir",
|
||||
"zvariant",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "h2"
|
||||
version = "0.3.16"
|
||||
|
@ -1473,6 +1491,15 @@ version = "2.5.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
|
||||
|
||||
[[package]]
|
||||
name = "memmap2"
|
||||
version = "0.5.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.7.1"
|
||||
|
@ -1842,6 +1869,16 @@ dependencies = [
|
|||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quick-xml"
|
||||
version = "0.27.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffc053f057dd768a56f62cd7e434c42c831d296968997e9ac1f76ea7c2d14c41"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.26"
|
||||
|
@ -1920,9 +1957,9 @@ checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
|
|||
|
||||
[[package]]
|
||||
name = "relm4"
|
||||
version = "0.6.0-alpha.2"
|
||||
version = "0.6.0-beta.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7acc5e3ddd682eeb0ca33da36b821fc907017c6d7758b09ce280247b0b0ea8cd"
|
||||
checksum = "f169f698ce2e487eed2306898fcf262224a287d0e81480db4190e74cfec412cf"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"flume",
|
||||
|
@ -1938,9 +1975,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "relm4-components"
|
||||
version = "0.6.0-alpha.2"
|
||||
version = "0.6.0-beta.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "26bc1784d641cd5d97ac4d26c56f68699aaa4518b7c827c295c1515ddafa96e4"
|
||||
checksum = "734838f188ee58954351c75175cb5ba6e9e67f90576b7fb90b928b2cb6043e1d"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"relm4",
|
||||
|
@ -1948,10 +1985,20 @@ dependencies = [
|
|||
]
|
||||
|
||||
[[package]]
|
||||
name = "relm4-macros"
|
||||
version = "0.6.0-alpha.2"
|
||||
name = "relm4-icons"
|
||||
version = "0.6.0-beta.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c8525ce12dcd7d2a9e9070d84b8b885600eccd0a143df6712ce34a87d001a8b7"
|
||||
checksum = "b7123701f31271a2e33a53270a6e73010356d99cff1b97c89276299609af3303"
|
||||
dependencies = [
|
||||
"gtk4",
|
||||
"gvdb",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "relm4-macros"
|
||||
version = "0.6.0-beta.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7fa06febb3685960e7c1c44e21e44a3829325940b31d1e91391a43c32020c201"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
@ -2030,6 +2077,21 @@ version = "1.0.13"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
|
||||
|
||||
[[package]]
|
||||
name = "safe-transmute"
|
||||
version = "0.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "98a01dab6acf992653be49205bdd549f32f17cb2803e8eacf1560bf97259aae8"
|
||||
|
||||
[[package]]
|
||||
name = "same-file"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "schannel"
|
||||
version = "0.1.21"
|
||||
|
@ -2602,6 +2664,16 @@ version = "1.1.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
|
||||
|
||||
[[package]]
|
||||
name = "walkdir"
|
||||
version = "2.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698"
|
||||
dependencies = [
|
||||
"same-file",
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "want"
|
||||
version = "0.3.0"
|
||||
|
@ -2701,6 +2773,7 @@ dependencies = [
|
|||
"log",
|
||||
"relm4",
|
||||
"relm4-components",
|
||||
"relm4-icons",
|
||||
"version-compare",
|
||||
]
|
||||
|
||||
|
|
|
@ -13,13 +13,13 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "watchmate";
|
||||
version = "0.4.4";
|
||||
version = "0.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "azymohliad";
|
||||
repo = "watchmate";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+E1tyDfFSu3J89fXd75bdYxh+Z1zTwKL6AmMTNQBEYY=";
|
||||
hash = "sha256-4L9mfZWphwXON8VgRcGrz+k62wyPzd1phtRu9HQnVdE=";
|
||||
};
|
||||
|
||||
cargoLock = {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles, stdenv }:
|
||||
|
||||
let
|
||||
version = "2.1.0";
|
||||
sha256 = "08g9awlgij8privpmzmrg63aygcjqmycr981ak0lkbx5chynlnmn";
|
||||
manifestsSha256 = "06iqmc5rg9l7zwcyg66fvy6h1g4bg1mr496n17piapjiqiv3j3q4";
|
||||
version = "2.1.1";
|
||||
sha256 = "11g7zkzx28xi81qk00frpxn9qsp4m0pr7m1zm61p2in3i9qxrqjn";
|
||||
manifestsSha256 = "1zpw9yh5j9ymhj771ccr7a3zm37h3igcrl0xnzyzzrkg754wdv9s";
|
||||
|
||||
manifests = fetchzip {
|
||||
url =
|
||||
|
@ -23,7 +23,7 @@ in buildGoModule rec {
|
|||
inherit sha256;
|
||||
};
|
||||
|
||||
vendorHash = "sha256-RVHDiJS1MhskVorS/SNZlXWP/oc8OXjUjApeanBkIWQ=";
|
||||
vendorHash = "sha256-CQt8GbUUUOLUExysZK2H6YZzMx+pXEroGj30BXAhPRY=";
|
||||
|
||||
postUnpack = ''
|
||||
cp -r ${manifests} source/cmd/flux/manifests
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "nerdctl";
|
||||
version = "1.5.0";
|
||||
version = "1.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containerd";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-ngR+xlhTy3oxPN34+MoT9TSOI0+Epp8QG3KiiPmRUts=";
|
||||
hash = "sha256-O1N8+Gjo0EapRV5Z7Z27Cfs886cbwTmckJsSJ2OI5fM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-lsD8AtbREVKFXiPsteSFA7xntRlNgOQ1y5c44vOqMa8=";
|
||||
vendorHash = "sha256-/4XFQagUbU8SgoBogK1hAsfGoTY+DaIVaNpSA3Enaho=";
|
||||
|
||||
nativeBuildInputs = [ makeWrapper installShellFiles ];
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "ocm";
|
||||
version = "0.1.68";
|
||||
version = "0.1.69";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openshift-online";
|
||||
repo = "ocm-cli";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-pJ/QWdKLVKFQuaGO9sNf6lhMMgqk9VZS9NLtUz+2+t8=";
|
||||
sha256 = "sha256-JKR58is8SzNmEQ8x1om1anReLIbNCHJkkzZQ1SiQ5J4=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-3HLTuWf4mK3r92s2mPE2yl/rrPxgcsB9EmrxkiJsMaE=";
|
||||
|
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "terragrunt";
|
||||
version = "0.51.0";
|
||||
version = "0.51.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gruntwork-io";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-aCgJGoRJUALs94J/2zoRgCIiY9D6SquIX5FOIQiGytU=";
|
||||
hash = "sha256-CZKY4/XQsWWlp6Xgv292LstahueJ9iFhxjB//RxlQOo=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-HWcm8y8bySMV3ue1RpxiXfYyV33cXGFII1/d+XD2Iro=";
|
||||
vendorHash = "sha256-NSrZVLQ3Qbnp94qCV7NbrEav/7LCRbTov+B2vzbuvdM=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ let
|
|||
in
|
||||
python.pkgs.buildPythonApplication rec {
|
||||
pname = "flexget";
|
||||
version = "3.9.10";
|
||||
version = "3.9.11";
|
||||
format = "pyproject";
|
||||
|
||||
# Fetch from GitHub in order to use `requirements.in`
|
||||
|
@ -31,7 +31,7 @@ python.pkgs.buildPythonApplication rec {
|
|||
owner = "Flexget";
|
||||
repo = "Flexget";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-cUcfXoqNKe5Ok0vDqe0uCpV84XokKe4iXbWeTm1Qv14=";
|
||||
hash = "sha256-0ONjRIMSfHKvaO05hhurfnS/waNNRZEVq7BodeV00kU=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper
|
||||
{ pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, writeScript
|
||||
, branch
|
||||
, withOpenASAR ? false, openasar
|
||||
, withVencord ? false, vencord }:
|
||||
|
@ -31,4 +31,19 @@ stdenv.mkDerivation {
|
|||
echo '{"name":"discord","main":"index.js"}' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/package.json
|
||||
echo 'require("${vencord}/patcher.js")' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/index.js
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = writeScript "discord-update-script" ''
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
|
||||
set -x
|
||||
set -eou pipefail;
|
||||
url=$(curl -sI "https://discordapp.com/api/download/${
|
||||
builtins.replaceStrings [ "discord-" "discord" ] [ "" "stable" ] pname
|
||||
}?platform=osx&format=dmg" | grep -oP 'location: \K\S+')
|
||||
version=''${url##https://dl*.discordapp.net/apps/osx/}
|
||||
version=''${version%%/*.dmg}
|
||||
update-source-version ${lib.optionalString (!stdenv.buildPlatform.isDarwin) "pkgsCross.aarch64-darwin."}${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
|
@ -7,9 +7,9 @@ let
|
|||
development = "0.0.234";
|
||||
} else {
|
||||
stable = "0.0.278";
|
||||
ptb = "0.0.77";
|
||||
canary = "0.0.312";
|
||||
development = "0.0.8795";
|
||||
ptb = "0.0.79";
|
||||
canary = "0.0.314";
|
||||
development = "0.0.8797";
|
||||
};
|
||||
version = versions.${branch};
|
||||
srcs = rec {
|
||||
|
@ -38,15 +38,15 @@ let
|
|||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
|
||||
hash = "sha256-Dn+k51SyHpJ1C1gJx3ZLRzD/cdzhX9qANZU2KEn9lY0=";
|
||||
hash = "sha256-HI4+ABFQtRBL7a3koCehJgn8WxJW86sCyuZE70n1AHk=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
|
||||
hash = "sha256-iV131kzFcN2+eqUetqZShKqjAQfm64y6bxzAddV7wuw=";
|
||||
hash = "sha256-SbCEao9Nh3cqCRD7FsHoKMVdy8T1y5tZAAGWHE6bSz0=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
|
||||
hash = "sha256-d/i7LHbJbbUUk/7iU63Xh4RWxs8ZyiCpZSS68JFW2Ps=";
|
||||
hash = "sha256-ra0El4Y7SqanY6ZBbHE1Y+pqel4OD7nXKKfg/vndULo=";
|
||||
};
|
||||
};
|
||||
aarch64-darwin = x86_64-darwin;
|
||||
|
|
|
@ -1,15 +1,8 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, atomEnv
|
||||
, electron_26
|
||||
, systemd
|
||||
, pulseaudio
|
||||
, libxshmfence
|
||||
, libnotify
|
||||
, libappindicator-gtk3
|
||||
, makeWrapper
|
||||
, autoPatchelfHook
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -38,18 +31,7 @@ stdenv.mkDerivation {
|
|||
|
||||
src = fetchurl (srcs."${system}" or (throw "Unsupported system ${system}"));
|
||||
|
||||
nativeBuildInputs = [ makeWrapper autoPatchelfHook ];
|
||||
|
||||
buildInputs = atomEnv.packages ++ [
|
||||
libxshmfence
|
||||
];
|
||||
|
||||
runtimeDependencies = [
|
||||
(lib.getLib systemd)
|
||||
pulseaudio
|
||||
libnotify
|
||||
libappindicator-gtk3
|
||||
];
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
(if stdenv.isDarwin then darwin.apple_sdk_11_0.llvmPackages_14.stdenv else stdenv).mkDerivation rec {
|
||||
pname = "signalbackup-tools";
|
||||
version = "20230929";
|
||||
version = "20231003";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bepaald";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-5U8znPKCe4auQRfysVUzXawnvnSj86MD3J2vfAwxofE=";
|
||||
hash = "sha256-fMVLmuhdccYzsOgVvViaICmbXgU0o3Fu0K85hbao4YI=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
|
@ -1,24 +1,9 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, runtimeShell
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, wrapGAppsHook
|
||||
, dpkg
|
||||
, atomEnv
|
||||
, libuuid
|
||||
, libappindicator-gtk3
|
||||
, pulseaudio
|
||||
, at-spi2-atk
|
||||
, coreutils
|
||||
, gawk
|
||||
, xdg-utils
|
||||
, systemd
|
||||
, asar
|
||||
, xar
|
||||
, cpio
|
||||
, makeWrapper
|
||||
, enableRectOverlay ? false
|
||||
}:
|
||||
|
||||
let
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ atomEnv
|
||||
, autoPatchelfHook
|
||||
{ autoPatchelfHook
|
||||
, dpkg
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
|
@ -11,7 +10,11 @@
|
|||
, cpio
|
||||
, xar
|
||||
, libdbusmenu
|
||||
, libxshmfence
|
||||
, alsa-lib
|
||||
, mesa
|
||||
, nss
|
||||
, nspr
|
||||
, systemd
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -64,8 +67,7 @@ let
|
|||
inherit pname version meta;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://wire-app.wire.com/linux/debian/pool/main/"
|
||||
+ "Wire-${version}_amd64.deb";
|
||||
url = "https://wire-app.wire.com/linux/debian/pool/main/Wire-${version}_amd64.deb";
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
|
@ -85,6 +87,7 @@ let
|
|||
dontPatchELF = true;
|
||||
dontWrapGApps = true;
|
||||
|
||||
# TODO: migrate off autoPatchelfHook and use nixpkgs' electron
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
dpkg
|
||||
|
@ -92,7 +95,13 @@ let
|
|||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [ libxshmfence ] ++ atomEnv.packages;
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
mesa
|
||||
nss
|
||||
nspr
|
||||
systemd
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
@ -132,8 +141,7 @@ let
|
|||
inherit pname version meta;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/wireapp/wire-desktop/releases/download/"
|
||||
+ "macos%2F${version}/Wire.pkg";
|
||||
url = "https://github.com/wireapp/wire-desktop/releases/download/macos%2F${version}/Wire.pkg";
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
|
|
|
@ -13,16 +13,16 @@ let
|
|||
common = { stname, target, postInstall ? "" }:
|
||||
buildGoModule rec {
|
||||
pname = stname;
|
||||
version = "1.24.0";
|
||||
version = "1.25.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "syncthing";
|
||||
repo = "syncthing";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-5vr9qWMHBYpu8wHpV1JZcX1kEPi+mYeZ7ZQBqXASp9I=";
|
||||
hash = "sha256-HDzAqnWRfBlRHVf3V7+Y1IPH4QmZiRpxpEzOUgOYgUk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-BZwZ6npmWFU0lvynjRZOBOhtxqic0djoSUdCOLbUwjE=";
|
||||
vendorHash = "sha256-I/ul8ocHPlvtgbTR+/1FyqF0IbHZZSoAFe/0RFJtOYk=";
|
||||
|
||||
nativeBuildInputs = lib.optionals stdenv.isDarwin [
|
||||
# Recent versions of macOS seem to require binaries to be signed when
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
{ atomEnv
|
||||
, autoPatchelfHook
|
||||
{ autoPatchelfHook
|
||||
, squashfsTools
|
||||
, alsa-lib
|
||||
, fetchurl
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, stdenv
|
||||
, lib
|
||||
, libsecret
|
||||
, mesa
|
||||
, udev
|
||||
, wrapGAppsHook
|
||||
, libxshmfence
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
|
@ -41,9 +42,14 @@ stdenv.mkDerivation rec {
|
|||
dontPatchELF = true;
|
||||
dontWrapGApps = true;
|
||||
|
||||
# TODO: migrate off autoPatchelfHook and use nixpkgs' electron
|
||||
nativeBuildInputs = [ autoPatchelfHook squashfsTools makeWrapper wrapGAppsHook ];
|
||||
|
||||
buildInputs = atomEnv.packages ++ [ libxshmfence ];
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
libsecret
|
||||
mesa
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{ stdenv, lib, unzip, autoPatchelfHook
|
||||
, fetchurl, atomEnv, makeWrapper
|
||||
, makeDesktopItem, copyDesktopItems, wrapGAppsHook, libxshmfence
|
||||
, fetchurl, makeWrapper
|
||||
, alsa-lib, mesa, nss, nspr, systemd
|
||||
, makeDesktopItem, copyDesktopItems, wrapGAppsHook
|
||||
, metaCommon
|
||||
}:
|
||||
|
||||
|
@ -24,6 +25,7 @@ let
|
|||
|
||||
src = fetchurl linuxSource;
|
||||
|
||||
# TODO: migrate off autoPatchelfHook and use nixpkgs' electron
|
||||
nativeBuildInputs = [
|
||||
autoPatchelfHook
|
||||
makeWrapper
|
||||
|
@ -31,7 +33,14 @@ let
|
|||
copyDesktopItems
|
||||
];
|
||||
|
||||
buildInputs = atomEnv.packages ++ [ libxshmfence ];
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
mesa
|
||||
nss
|
||||
nspr
|
||||
stdenv.cc.cc
|
||||
systemd
|
||||
];
|
||||
|
||||
desktopItems = [
|
||||
(makeDesktopItem {
|
||||
|
@ -64,8 +73,9 @@ let
|
|||
'';
|
||||
|
||||
# LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :)
|
||||
# Error: libstdc++.so.6: cannot open shared object file: No such file or directory
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath})
|
||||
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath buildInputs})
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
|
|
@ -104,7 +104,7 @@ stdenv.mkDerivation {
|
|||
"-DTOOLS=ON"
|
||||
"-DHDF5=ON"
|
||||
"-DFDE=ON"
|
||||
"-DEXTERNAL_LIBXC=${libxc}"
|
||||
"-DEXTERNAL_LIBXC=${lib.getDev libxc}"
|
||||
"-DDMRG=ON"
|
||||
"-DNEVPT2=ON"
|
||||
"-DCMAKE_SKIP_BUILD_RPATH=ON"
|
||||
|
|
|
@ -44,15 +44,16 @@
|
|||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
# LAMMPS has weird versioning converted to ISO 8601 format
|
||||
version = "2Aug2023";
|
||||
# LAMMPS has weird versioning convention. Updates should go smoothly with:
|
||||
# nix-update --commit lammps --version-regex 'stable_(.*)'
|
||||
version = "2Aug2023_update1";
|
||||
pname = "lammps";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lammps";
|
||||
repo = "lammps";
|
||||
rev = "stable_${finalAttrs.version}";
|
||||
hash = "sha256-6T4YAa4iN3pJpODGPW+faR16xxyYYdkHLavtiPUbZ4o=";
|
||||
hash = "sha256-Zmn87a726qdidBfyvJlYleYv9jqyFAakxjGrg3lipc0=";
|
||||
};
|
||||
preConfigure = ''
|
||||
cd cmake
|
||||
|
|
|
@ -49,16 +49,16 @@ let
|
|||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "alacritty";
|
||||
version = "0.12.2";
|
||||
version = "0.12.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alacritty";
|
||||
repo = pname;
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-X3Z+f5r8surBW9FSsmWKZ/fr82ThXBUkS8fr/sTYR50=";
|
||||
hash = "sha256-SUEI7DTgs6NYT4oiqaMBNCQ8gP1XoZjPFIKhob7tfsk=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-JOmDmJl/y4WNsBnCixJykl4PgYgb5cSyo6MCdYmQAzQ=";
|
||||
cargoHash = "sha256-iLhctiCDNpcTxoMrWwUWHBRc6X5rxSH9Jl2EDuktWmw=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
|
|
|
@ -7,16 +7,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "git-cliff";
|
||||
version = "1.3.0";
|
||||
version = "1.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "orhun";
|
||||
repo = "git-cliff";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-HD/g9zXE7w9x8o0ERBym5OZvODQ6n4a/bkzf457QPxM=";
|
||||
hash = "sha256-DzlCy8Y3OW3FiXO45wuUh3t87Za2jWQ4rnztZGRySYA=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-tTH5FMlOHv+T9rd0C7O2WaPkp2nUTQ3Ulsi16WiwbdE=";
|
||||
cargoHash = "sha256-+XyZqxjiOAIyc+FmnexIdV1RMzc+iqmo8nPahzUo43E=";
|
||||
|
||||
# attempts to run the program on .git in src which is not deterministic
|
||||
doCheck = false;
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
}:
|
||||
|
||||
let
|
||||
version = "5.12.154";
|
||||
version = "5.12.155";
|
||||
in
|
||||
rustPlatform.buildRustPackage {
|
||||
pname = "git-mit";
|
||||
|
@ -20,10 +20,10 @@ rustPlatform.buildRustPackage {
|
|||
owner = "PurpleBooth";
|
||||
repo = "git-mit";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-v1XQPyI97j1uYfmCdjHEbc+RlgVCQrZ6PTXS+b6qRwM=";
|
||||
hash = "sha256-Hz/FGPnrY3EqlVuSks82UO6/7uHGEgnGgTddFKnj3AQ=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-/VJsf7dO4niOH2kvJieLCBlPB2nxCCv7rrzIHJ1uENI=";
|
||||
cargoHash = "sha256-SiYj05OMUWn0hpJeMLEz846QQLTJuv4dtiSG/ow2yHI=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
|
|
@ -20,12 +20,12 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "gitea";
|
||||
version = "1.20.4";
|
||||
version = "1.20.5";
|
||||
|
||||
# not fetching directly from the git repo, because that lacks several vendor files for the web UI
|
||||
src = fetchurl {
|
||||
url = "https://dl.gitea.com/gitea/${version}/gitea-src-${version}.tar.gz";
|
||||
hash = "sha256-96LI7/4FZy17KED2xc4UFyW4e47DZMuSnMw7loYYB8c=";
|
||||
hash = "sha256-cH/AHsFXOdvfSfj9AZUd3l/RlYE06o1ByZu0vvGQuXw=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
|
|
@ -7,13 +7,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "obs-move-transition";
|
||||
version = "2.9.1";
|
||||
version = "2.9.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "exeldro";
|
||||
repo = "obs-move-transition";
|
||||
rev = version;
|
||||
sha256 = "sha256-8c+ifFESdNgND+93pOCwkNSvvPtzvNPtvQIp8oW6CQE=";
|
||||
sha256 = "sha256-TY+sR7IaOlbFeeh7GL5dgM779pcpiCqzBo7VTK8Uz0E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "obs-shaderfilter";
|
||||
version = "v1.22";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "exeldro";
|
||||
repo = "obs-shaderfilter";
|
||||
rev = version;
|
||||
sha256 = "sha256-CqqYzGRhlHO8Zva+so8uo9+EIlzTfoFVl3NzZMsE7Xc=";
|
||||
sha256 = "sha256-CEe/NUIYhVdvs7/ZvrvuwKPRNofWE+WZxN6yN8RACs8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
|
47
pkgs/by-name/as/ast-grep/package.nix
Normal file
47
pkgs/by-name/as/ast-grep/package.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, stdenv
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "ast-grep";
|
||||
version = "0.12.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ast-grep";
|
||||
repo = "ast-grep";
|
||||
rev = version;
|
||||
hash = "sha256-N9hfHgzqwV/G3/xNY2Vx1i2dW6BcABJ/4lkhnLuvIns=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-3ntsPC6OWtSN3MH+3wN2BgOqH69jiW93/xfLY+niARI=";
|
||||
|
||||
# error: linker `aarch64-linux-gnu-gcc` not found
|
||||
postPatch = ''
|
||||
rm .cargo/config.toml
|
||||
'';
|
||||
|
||||
checkFlags = [
|
||||
# disable flaky test
|
||||
"--skip=test::test_load_parser_mac"
|
||||
|
||||
# BUG: Broke by 0.12.1 update (https://github.com/NixOS/nixpkgs/pull/257385)
|
||||
# Please check if this is fixed in future updates of the package
|
||||
"--skip=verify::test_case::tests::test_unmatching_id"
|
||||
] ++ lib.optionals (with stdenv.hostPlatform; (isDarwin && isx86_64) || (isLinux && isAarch64)) [
|
||||
# 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\'))" })
|
||||
# aarch64-linux: /build/source/benches/fixtures/json-linux.so: cannot open shared object file: No such file or directory"
|
||||
"--skip=test::test_load_parser"
|
||||
"--skip=test::test_register_lang"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
mainProgram = "sg";
|
||||
description = "A fast and polyglot tool for code searching, linting, rewriting at large scale";
|
||||
homepage = "https://ast-grep.github.io/";
|
||||
changelog = "https://github.com/ast-grep/ast-grep/blob/${src.rev}/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ montchr lord-valen cafkafk ];
|
||||
};
|
||||
}
|
|
@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec {
|
|||
homepage = "https://github.com/gourlaysama/girouette";
|
||||
changelog = "https://github.com/gourlaysama/girouette/blob/${src.rev}/CHANGELOG.md";
|
||||
license = with licenses; [ asl20 mit ];
|
||||
maintainers = with maintainers; [ linuxissuper ];
|
||||
maintainers = with maintainers; [ linuxissuper cafkafk ];
|
||||
mainProgram = "girouette";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -15,13 +15,13 @@
|
|||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "grimblast";
|
||||
version = "unstable-2023-09-06";
|
||||
version = "unstable-2023-10-03";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hyprwm";
|
||||
repo = "contrib";
|
||||
rev = "5b67181fced4fb06d26afcf9614b35765c576168";
|
||||
hash = "sha256-W23nMGmDnyBgxO8O/9jcZtiSpa0taMNcRAD1das/ttw=";
|
||||
rev = "2e3f8ac2a3f1334fd2e211b07ed76b4215bb0542";
|
||||
hash = "sha256-rb954Rc+IyUiiXoIuQOJRp0//zH/WeMYZ3yJ5CccODA=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
|
29
pkgs/by-name/ku/kubectl-neat/package.nix
Normal file
29
pkgs/by-name/ku/kubectl-neat/package.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ lib, buildGoModule, fetchFromGitHub, bash }:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kubectl-neat";
|
||||
version = "2.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "itaysk";
|
||||
repo = "kubectl-neat";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-j8v0zJDBqHzmLamIZPW9UvMe9bv/m3JUQKY+wsgMTFk=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-vGXoYR0DT9V1BD/FN/4szOal0clsLlqReTFkAd2beMw=";
|
||||
|
||||
postBuild = ''
|
||||
# Replace path to bash in a script
|
||||
# Without this change, there's a problem when running tests
|
||||
sed 's,#!/bin/bash,#!${bash}/bin/bash,' -i test/kubectl-stub
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Clean up Kubernetes yaml and json output to make it readable";
|
||||
homepage = "https://github.com/itaysk/kubectl-neat";
|
||||
changelog = "https://github.com/itaysk/kubectl-neat/releases/tag/v${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ maintainers.koralowiec ];
|
||||
};
|
||||
}
|
80
pkgs/by-name/me/mermaid-cli/package.nix
Normal file
80
pkgs/by-name/me/mermaid-cli/package.nix
Normal file
|
@ -0,0 +1,80 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchYarnDeps
|
||||
, makeWrapper
|
||||
, nodejs
|
||||
, prefetch-yarn-deps
|
||||
, yarn
|
||||
, chromium
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mermaid-cli";
|
||||
version = "10.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mermaid-js";
|
||||
repo = "mermaid-cli";
|
||||
rev = version;
|
||||
hash = "sha256-mzBN/Hg/03+jYyoAHvjx33HC46ZA6dtHmiSnaExCRR0=";
|
||||
};
|
||||
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
hash = "sha256-RQsRGzkuPgGVuEpF5lzv26XKMPLX2NrsjVkGMMkCbO4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
nodejs
|
||||
prefetch-yarn-deps
|
||||
yarn
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
yarn config --offline set yarn-offline-mirror "$offlineCache"
|
||||
fixup-yarn-lock yarn.lock
|
||||
yarn --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive install
|
||||
patchShebangs node_modules
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
|
||||
yarn --offline prepare
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
yarn --offline --production install
|
||||
|
||||
mkdir -p "$out/lib/node_modules/@mermaid-js/mermaid-cli"
|
||||
cp -r . "$out/lib/node_modules/@mermaid-js/mermaid-cli"
|
||||
|
||||
makeWrapper "${nodejs}/bin/node" "$out/bin/mmdc" \
|
||||
'' + lib.optionalString (lib.meta.availableOn stdenv.targetPlatform chromium) ''
|
||||
--set PUPPETEER_EXECUTABLE_PATH '${lib.getExe chromium}' \
|
||||
'' + ''
|
||||
--add-flags "$out/lib/node_modules/@mermaid-js/mermaid-cli/src/cli.js"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Generation of diagrams from text in a similar manner as markdown";
|
||||
homepage = "https://github.com/mermaid-js/mermaid-cli";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "mmdc";
|
||||
maintainers = with lib.maintainers; [ ysndr ];
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
70
pkgs/by-name/mi/millipixels/package.nix
Normal file
70
pkgs/by-name/mi/millipixels/package.nix
Normal file
|
@ -0,0 +1,70 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitLab
|
||||
, glib
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, rustc
|
||||
, libbsd
|
||||
, libcamera
|
||||
, gtk3
|
||||
, libtiff
|
||||
, zbar
|
||||
, libjpeg
|
||||
, libexif
|
||||
, libraw
|
||||
, libpulseaudio
|
||||
, ffmpeg-headless
|
||||
, v4l-utils
|
||||
, makeWrapper
|
||||
, python3
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "millipixels";
|
||||
version = "0.22.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "Librem5";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
domain = "source.puri.sm";
|
||||
hash = "sha256-pRREQRYyD9+dpRvcfsNiNthFy08Yeup9xDn+x+RWDrE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
glib
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
rustc
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libbsd
|
||||
libcamera
|
||||
gtk3
|
||||
libtiff
|
||||
zbar
|
||||
libpulseaudio
|
||||
libraw
|
||||
libexif
|
||||
libjpeg
|
||||
python3
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/millipixels \
|
||||
--prefix PATH : ${lib.makeBinPath [ v4l-utils ffmpeg-headless ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Camera application for the Librem 5";
|
||||
homepage = "https://source.puri.sm/Librem5/millipixels";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ _999eagle ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
50
pkgs/by-name/nu/nuget/package.nix
Normal file
50
pkgs/by-name/nu/nuget/package.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{ stdenv, fetchFromGitHub, makeWrapper, mono, lib }:
|
||||
|
||||
stdenv.mkDerivation (attrs: {
|
||||
pname = "Nuget";
|
||||
version = "6.6.1.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mono";
|
||||
repo = "linux-packaging-nuget";
|
||||
rev = "upstream/${attrs.version}.bin";
|
||||
sha256 = "sha256-9/dSeVshHbpYIgGE/8OzrB4towrWVB3UxDi8Esmbu7Y=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib/${attrs.pname}
|
||||
cp -r . $out/lib/${attrs.pname}/
|
||||
|
||||
mkdir -p $out/bin
|
||||
makeWrapper \
|
||||
"${mono}/bin/mono" \
|
||||
"$out/bin/nuget" \
|
||||
--add-flags "$out/lib/${attrs.pname}/nuget.exe"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A package manager for the .NET platform";
|
||||
homepage = "https://www.mono-project.com/";
|
||||
longDescription = ''
|
||||
NuGet is the package manager for the .NET platform.
|
||||
This derivation bundles the Mono NuGet CLI, which is mostly used by
|
||||
older projects based on .NET Framework.
|
||||
|
||||
Newer .NET projects can use the dotnet CLI, which has most of this
|
||||
packages functionality built-in.
|
||||
'';
|
||||
# https://learn.microsoft.com/en-us/nuget/resources/nuget-faq#what-is-the-license-for-nuget-exe-
|
||||
license = licenses.mit;
|
||||
sourceProvenance = [ sourceTypes.binaryBytecode ];
|
||||
maintainers = [ maintainers.mdarocha ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
})
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "orchard";
|
||||
version = "0.12.0";
|
||||
version = "0.13.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cirruslabs";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-+QNYlZ3/GiDtCySZPOlrDy03lkdGGvbFCWidQhbZJYQ=";
|
||||
hash = "sha256-b9AHsyMiR3gTXGRbmIUX9uSd7u3dFoUZ/CtKrYpuzno=";
|
||||
# populate values that require us to use git. By doing this in postFetch we
|
||||
# can delete .git afterwards and maintain better reproducibility of the src.
|
||||
leaveDotGit = true;
|
||||
|
|
51
pkgs/by-name/zi/zitadel/console.nix
Normal file
51
pkgs/by-name/zi/zitadel/console.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{ generateProtobufCode
|
||||
, version
|
||||
, zitadelRepo
|
||||
}:
|
||||
|
||||
{ mkYarnPackage
|
||||
, fetchYarnDeps
|
||||
, lib
|
||||
}:
|
||||
|
||||
let
|
||||
protobufGenerated = generateProtobufCode {
|
||||
pname = "zitadel-console";
|
||||
workDir = "console";
|
||||
bufArgs = "../proto --include-imports --include-wkt";
|
||||
outputPath = "src/app/proto";
|
||||
hash = "sha256-s0dzmcjKd8ot7t+KlRlNVA9oiIDKVMnGOT/HjdaUjGI=";
|
||||
};
|
||||
in
|
||||
mkYarnPackage rec {
|
||||
name = "zitadel-console";
|
||||
inherit version;
|
||||
|
||||
src = "${zitadelRepo}/console";
|
||||
|
||||
packageJSON = ./package.json;
|
||||
offlineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
hash = "sha256-48IC4LxqbkH+95k7rCmhRWT+qAlJ9CDXWwRjbric9no=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/styles.scss \
|
||||
--replace "/node_modules/flag-icons" "flag-icons"
|
||||
|
||||
substituteInPlace angular.json \
|
||||
--replace "./node_modules/tinycolor2" "../../node_modules/tinycolor2"
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
mkdir deps/console/src/app/proto
|
||||
cp -r ${protobufGenerated}/* deps/console/src/app/proto/
|
||||
yarn --offline build
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r deps/console/dist/console $out
|
||||
'';
|
||||
|
||||
doDist = false;
|
||||
}
|
88
pkgs/by-name/zi/zitadel/package.json
Normal file
88
pkgs/by-name/zi/zitadel/package.json
Normal file
|
@ -0,0 +1,88 @@
|
|||
{
|
||||
"name": "console",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
"start": "node prebuild.development.js && ng serve",
|
||||
"build": "ng build --configuration production --base-href=/ui/console/",
|
||||
"prelint": "npm run generate",
|
||||
"lint": "ng lint && prettier --check src",
|
||||
"lint:fix": "prettier --write src",
|
||||
"generate": "buf generate ../proto --include-imports --include-wkt"
|
||||
},
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^16.2.0",
|
||||
"@angular/cdk": "^16.2.0",
|
||||
"@angular/common": "^16.2.0",
|
||||
"@angular/compiler": "^16.2.0",
|
||||
"@angular/core": "^16.2.0",
|
||||
"@angular/forms": "^16.2.0",
|
||||
"@angular/material": "^16.2.0",
|
||||
"@angular/material-moment-adapter": "^16.2.0",
|
||||
"@angular/platform-browser": "^16.2.0",
|
||||
"@angular/platform-browser-dynamic": "^16.2.0",
|
||||
"@angular/router": "^16.2.0",
|
||||
"@angular/service-worker": "^16.2.0",
|
||||
"@ctrl/ngx-codemirror": "^6.1.0",
|
||||
"@grpc/grpc-js": "^1.8.14",
|
||||
"@ngx-translate/core": "^14.0.0",
|
||||
"angular-oauth2-oidc": "^15.0.1",
|
||||
"angularx-qrcode": "^16.0.0",
|
||||
"buffer": "^6.0.3",
|
||||
"codemirror": "^5.65.8",
|
||||
"cors": "^2.8.5",
|
||||
"file-saver": "^2.0.5",
|
||||
"flag-icons": "^6.7.0",
|
||||
"google-proto-files": "^3.0.3",
|
||||
"google-protobuf": "^3.21.2",
|
||||
"grpc-web": "^1.4.1",
|
||||
"i18n-iso-countries": "^7.6.0",
|
||||
"libphonenumber-js": "^1.10.30",
|
||||
"material-design-icons-iconfont": "^6.1.1",
|
||||
"moment": "^2.29.4",
|
||||
"opentype.js": "^1.3.4",
|
||||
"ngx-color": "^9.0.0",
|
||||
"rxjs": "~7.8.0",
|
||||
"tinycolor2": "^1.6.0",
|
||||
"tslib": "^2.4.1",
|
||||
"uuid": "^9.0.0",
|
||||
"zone.js": "~0.13.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^16.2.0",
|
||||
"@angular-eslint/builder": "16.1.0",
|
||||
"@angular-eslint/eslint-plugin": "16.1.0",
|
||||
"@angular-eslint/eslint-plugin-template": "16.1.0",
|
||||
"@angular-eslint/schematics": "16.1.0",
|
||||
"@angular-eslint/template-parser": "16.1.0",
|
||||
"@angular/cli": "^16.2.0",
|
||||
"@angular/compiler-cli": "^16.2.0",
|
||||
"@angular/language-service": "^16.2.0",
|
||||
"@bufbuild/buf": "^1.23.1",
|
||||
"@types/file-saver": "^2.0.2",
|
||||
"@types/google-protobuf": "^3.15.3",
|
||||
"@types/jasmine": "~4.3.3",
|
||||
"@types/jasminewd2": "~2.0.10",
|
||||
"@types/jsonwebtoken": "^9.0.1",
|
||||
"@types/node": "^18.15.11",
|
||||
"@types/opentype.js": "^1.3.4",
|
||||
"@types/qrcode": "^1.5.0",
|
||||
"@types/uuid": "^9.0.2",
|
||||
"@typescript-eslint/eslint-plugin": "^5.59.11",
|
||||
"@typescript-eslint/parser": "^5.60.1",
|
||||
"codelyzer": "^6.0.2",
|
||||
"eslint": "^8.44.0",
|
||||
"jasmine-core": "~4.6.0",
|
||||
"jasmine-spec-reporter": "~7.0.0",
|
||||
"karma": "^6.4.2",
|
||||
"karma-chrome-launcher": "^3.2.0",
|
||||
"karma-coverage-istanbul-reporter": "^3.0.3",
|
||||
"karma-jasmine": "^5.1.0",
|
||||
"karma-jasmine-html-reporter": "^2.1.0",
|
||||
"prettier": "^2.8.7",
|
||||
"prettier-plugin-organize-imports": "^3.2.2",
|
||||
"protractor": "~7.0.0",
|
||||
"typescript": "^4.9.5"
|
||||
}
|
||||
}
|
150
pkgs/by-name/zi/zitadel/package.nix
Normal file
150
pkgs/by-name/zi/zitadel/package.nix
Normal file
|
@ -0,0 +1,150 @@
|
|||
{ stdenv
|
||||
, buildGo121Module
|
||||
, callPackage
|
||||
, fetchFromGitHub
|
||||
, lib
|
||||
|
||||
, buf
|
||||
, cacert
|
||||
, grpc-gateway
|
||||
, protoc-gen-go
|
||||
, protoc-gen-go-grpc
|
||||
, protoc-gen-validate
|
||||
, sass
|
||||
, statik
|
||||
}:
|
||||
|
||||
let
|
||||
version = "2.37.2";
|
||||
zitadelRepo = fetchFromGitHub {
|
||||
owner = "zitadel";
|
||||
repo = "zitadel";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-iWEL7R7eNDV4c1CZhmxxiHHI9ExwU6gnmHI6ildaXWY=";
|
||||
};
|
||||
goModulesHash = "sha256-lk4jEiI85EKk0G4JCHvCazqBBTfiNJqSfzvrJgDZ1Nc=";
|
||||
|
||||
buildZitadelProtocGen = name:
|
||||
buildGo121Module {
|
||||
pname = "protoc-gen-${name}";
|
||||
inherit version;
|
||||
|
||||
src = zitadelRepo;
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = goModulesHash;
|
||||
|
||||
buildPhase = ''
|
||||
go install internal/protoc/protoc-gen-${name}/main.go
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mv $out/bin/main $out/bin/protoc-gen-${name}
|
||||
'';
|
||||
};
|
||||
|
||||
protoc-gen-authoption = buildZitadelProtocGen "authoption";
|
||||
protoc-gen-zitadel = buildZitadelProtocGen "zitadel";
|
||||
|
||||
# Buf downloads dependencies from an external repo - there doesn't seem to
|
||||
# really be any good way around it. We'll use a fixed-output derivation so it
|
||||
# can download what it needs, and output the relevant generated code for use
|
||||
# during the main build.
|
||||
generateProtobufCode =
|
||||
{ pname
|
||||
, nativeBuildInputs ? [ ]
|
||||
, bufArgs ? ""
|
||||
, workDir ? "."
|
||||
, outputPath
|
||||
, hash
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "${pname}-buf-generated";
|
||||
|
||||
src = zitadelRepo;
|
||||
|
||||
nativeBuildInputs = nativeBuildInputs ++ [ buf ];
|
||||
|
||||
buildPhase = ''
|
||||
cd ${workDir}
|
||||
export SSL_CERT_FILE="${cacert}/etc/ssl/certs/ca-bundle.crt"
|
||||
HOME=$TMPDIR buf generate ${bufArgs}
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
cp -r ${outputPath} $out
|
||||
'';
|
||||
|
||||
outputHashMode = "recursive";
|
||||
outputHashAlgo = "sha256";
|
||||
outputHash = hash;
|
||||
};
|
||||
|
||||
protobufGenerated = generateProtobufCode {
|
||||
pname = "zitadel";
|
||||
nativeBuildInputs = [
|
||||
grpc-gateway
|
||||
protoc-gen-authoption
|
||||
protoc-gen-go
|
||||
protoc-gen-go-grpc
|
||||
protoc-gen-validate
|
||||
protoc-gen-zitadel
|
||||
];
|
||||
outputPath = ".artifacts";
|
||||
hash = "sha256-+9UFBWBuSYNbfimKwJUSoiUh+8bDHGnPdx1MKDul1U4=";
|
||||
};
|
||||
in
|
||||
buildGo121Module rec {
|
||||
name = "zitadel";
|
||||
inherit version;
|
||||
|
||||
src = zitadelRepo;
|
||||
|
||||
nativeBuildInputs = [ sass statik ];
|
||||
|
||||
proxyVendor = true;
|
||||
vendorHash = goModulesHash;
|
||||
|
||||
# Adapted from Makefile in repo, with dependency fetching and protobuf codegen
|
||||
# bits removed
|
||||
buildPhase = ''
|
||||
mkdir -p pkg/grpc
|
||||
cp -r ${protobufGenerated}/grpc/github.com/zitadel/zitadel/pkg/grpc/* pkg/grpc
|
||||
mkdir -p openapi/v2/zitadel
|
||||
cp -r ${protobufGenerated}/grpc/zitadel/ openapi/v2/zitadel
|
||||
|
||||
go generate internal/api/ui/login/static/resources/generate.go
|
||||
go generate internal/api/ui/login/statik/generate.go
|
||||
go generate internal/notification/statik/generate.go
|
||||
go generate internal/statik/generate.go
|
||||
|
||||
mkdir -p docs/apis/assets
|
||||
go run internal/api/assets/generator/asset_generator.go -directory=internal/api/assets/generator/ -assets=docs/apis/assets/assets.md
|
||||
|
||||
cp -r ${passthru.console}/* internal/api/ui/console/static
|
||||
CGO_ENABLED=0 go build -o zitadel -v -ldflags="-s -w -X 'github.com/zitadel/zitadel/cmd/build.version=${version}'"
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
install -Dm755 zitadel $out/bin/
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
console = callPackage
|
||||
(import ./console.nix {
|
||||
inherit generateProtobufCode version zitadelRepo;
|
||||
})
|
||||
{ };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Identity and access management platform";
|
||||
homepage = "https://zitadel.com/";
|
||||
downloadPage = "https://github.com/zitadel/zitadel/releases";
|
||||
platforms = platforms.linux ++ platforms.darwin;
|
||||
license = licenses.asl20;
|
||||
sourceProvenance = [ sourceTypes.fromSource ];
|
||||
maintainers = with maintainers; [ Sorixelle ];
|
||||
};
|
||||
}
|
|
@ -23,13 +23,13 @@ in
|
|||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "where-is-my-sddm-theme";
|
||||
version = "1.5.0";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stepanzubkov";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-kW6W8DELi9Xqn9xWLlcKmxk4tO5FKdApaYTZimQ+7B0=";
|
||||
hash = "sha256-T6b+rxjlxZCQ/KDaxBM8ZryA3n6a+3jo+J2nETBYslM=";
|
||||
};
|
||||
|
||||
propagatedUserEnvPkgs = [ qtgraphicaleffects ];
|
||||
|
|
|
@ -49,6 +49,10 @@ mixRelease {
|
|||
substitute release/language_server.sh $out/bin/elixir-ls \
|
||||
--replace 'exec "''${dir}/launch.sh"' "exec $out/lib/launch.sh"
|
||||
chmod +x $out/bin/elixir-ls
|
||||
|
||||
substitute release/debugger.sh $out/bin/elixir-debugger \
|
||||
--replace 'exec "''${dir}/launch.sh"' "exec $out/lib/launch.sh"
|
||||
chmod +x $out/bin/elixir-debugger
|
||||
# prepare the launcher
|
||||
substituteInPlace $out/lib/launch.sh \
|
||||
--replace "ERL_LIBS=\"\$SCRIPTPATH:\$ERL_LIBS\"" \
|
||||
|
|
|
@ -15,31 +15,28 @@
|
|||
|
||||
ocamlPackages.buildDunePackage rec {
|
||||
pname = "ligo";
|
||||
version = "0.72.0";
|
||||
version = "1.0.0";
|
||||
src = fetchFromGitLab {
|
||||
owner = "ligolang";
|
||||
repo = "ligo";
|
||||
rev = version;
|
||||
sha256 = "sha256-DQ3TxxLxi8/W1+uBX7NEBIsVXBKnJBa6YNRBFleNrEA=";
|
||||
sha256 = "sha256-tHIIA1JE7mzDIf2v9IEZt1pjVQEA89zjTsmqhzTn3Wc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace "vendors/tezos-ligo/src/lib_hacl/hacl.ml" \
|
||||
substituteInPlace "vendors/tezos-ligo/dune-project" \
|
||||
--replace \
|
||||
"Hacl.NaCl.Noalloc.Easy.secretbox ~pt:msg ~n:nonce ~key ~ct:cmsg" \
|
||||
"Hacl.NaCl.Noalloc.Easy.secretbox ~pt:msg ~n:nonce ~key ~ct:cmsg ()" \
|
||||
"(using ctypes 0.1)" \
|
||||
"(using ctypes 0.3)" \
|
||||
--replace \
|
||||
"Hacl.NaCl.Noalloc.Easy.box_afternm ~pt:msg ~n:nonce ~ck:k ~ct:cmsg" \
|
||||
"Hacl.NaCl.Noalloc.Easy.box_afternm ~pt:msg ~n:nonce ~ck:k ~ct:cmsg ()"
|
||||
"(lang dune 3.0)" \
|
||||
"(lang dune 3.7)"
|
||||
|
||||
substituteInPlace "vendors/tezos-ligo/src/lib_crypto/crypto_box.ml" \
|
||||
substituteInPlace "src/coq/dune" \
|
||||
--replace \
|
||||
"secretbox_open ~key ~nonce ~cmsg ~msg" \
|
||||
"secretbox_open ~key ~nonce ~cmsg ~msg ()" \
|
||||
--replace \
|
||||
"Box.box_open ~k ~nonce ~cmsg ~msg" \
|
||||
"Box.box_open ~k ~nonce ~cmsg ~msg ()"
|
||||
"(name ligo_coq)" \
|
||||
"(name ligo_coq)(mode vo)"
|
||||
'';
|
||||
|
||||
# The build picks this up for ligo --version
|
||||
|
@ -48,8 +45,6 @@ ocamlPackages.buildDunePackage rec {
|
|||
# This is a hack to work around the hack used in the dune files
|
||||
OPAM_SWITCH_PREFIX = "${tezos-rust-libs}";
|
||||
|
||||
duneVersion = "3";
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -93,6 +88,8 @@ ocamlPackages.buildDunePackage rec {
|
|||
parse-argv
|
||||
hacl-star
|
||||
prometheus
|
||||
lwt_ppx
|
||||
msgpck
|
||||
# lsp
|
||||
linol
|
||||
linol-lwt
|
||||
|
|
|
@ -15,13 +15,13 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "duckdb";
|
||||
version = "0.8.1";
|
||||
version = "0.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = pname;
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-LEv9yURkYvONObTbIA4CS+umwCRMH8gRQaDtzbCzID4=";
|
||||
hash = "sha256-EKvDH7RwOC4Gu/lturrfnGpzXnJ9azIwAFeuVoa6L/Y=";
|
||||
};
|
||||
|
||||
patches = [ ./version.patch ];
|
||||
|
@ -36,19 +36,7 @@ stdenv.mkDerivation rec {
|
|||
++ lib.optionals withOdbc [ unixODBC ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DBUILD_AUTOCOMPLETE_EXTENSION=ON"
|
||||
"-DBUILD_ICU_EXTENSION=ON"
|
||||
"-DBUILD_PARQUET_EXTENSION=ON"
|
||||
"-DBUILD_TPCH_EXTENSION=ON"
|
||||
"-DBUILD_TPCDS_EXTENSION=ON"
|
||||
"-DBUILD_FTS_EXTENSION=ON"
|
||||
"-DBUILD_HTTPFS_EXTENSION=ON"
|
||||
"-DBUILD_VISUALIZER_EXTENSION=ON"
|
||||
"-DBUILD_JSON_EXTENSION=ON"
|
||||
"-DBUILD_JEMALLOC_EXTENSION=ON"
|
||||
"-DBUILD_EXCEL_EXTENSION=ON"
|
||||
"-DBUILD_INET_EXTENSION=ON"
|
||||
"-DBUILD_TPCE=ON"
|
||||
"-DDUCKDB_EXTENSION_CONFIGS=${src}/.github/config/in_tree_extensions.cmake"
|
||||
"-DBUILD_ODBC_DRIVER=${enableFeature withOdbc}"
|
||||
"-DJDBC_DRIVER=${enableFeature withJdbc}"
|
||||
] ++ lib.optionals doInstallCheck [
|
||||
|
@ -69,6 +57,7 @@ stdenv.mkDerivation rec {
|
|||
excludes = map (pattern: "exclude:'${pattern}'") [
|
||||
"[s3]"
|
||||
"Test closing database during long running query"
|
||||
"Test using a remote optimizer pass in case thats important to someone"
|
||||
"test/common/test_cast_hugeint.test"
|
||||
"test/sql/copy/csv/test_csv_remote.test"
|
||||
"test/sql/copy/parquet/test_parquet_remote.test"
|
||||
|
@ -79,6 +68,8 @@ stdenv.mkDerivation rec {
|
|||
"test/sql/storage/compression/patas/patas_read.test"
|
||||
"test/sql/json/read_json_objects.test"
|
||||
"test/sql/json/read_json.test"
|
||||
"test/sql/json/table/read_json_objects.test"
|
||||
"test/sql/json/table/read_json.test"
|
||||
"test/sql/copy/parquet/parquet_5968.test"
|
||||
"test/fuzzer/pedro/buffer_manager_out_of_memory.test"
|
||||
"test/sql/storage/compression/bitpacking/bitpacking_size_calculation.test"
|
||||
|
@ -90,6 +81,7 @@ stdenv.mkDerivation rec {
|
|||
"test/sql/copy/parquet/delta_byte_array_multiple_pages.test"
|
||||
"test/sql/copy/csv/test_csv_httpfs_prepared.test"
|
||||
"test/sql/copy/csv/test_csv_httpfs.test"
|
||||
"test/sql/settings/test_disabled_file_system_httpfs.test"
|
||||
"test/sql/copy/csv/parallel/test_parallel_csv.test"
|
||||
"test/sql/copy/csv/parallel/csv_parallel_httpfs.test"
|
||||
"test/common/test_cast_struct.test"
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 349af6acf7..7ffec0b4cb 100644
|
||||
index 2b49e11288..0a4a69b9a0 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -196,52 +196,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
|
||||
@@ -244,52 +244,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
|
||||
set(SUN TRUE)
|
||||
endif()
|
||||
|
||||
|
@ -56,3 +56,25 @@ index 349af6acf7..7ffec0b4cb 100644
|
|||
|
||||
message(STATUS "git hash ${GIT_COMMIT_HASH}, version ${DUCKDB_VERSION}")
|
||||
|
||||
diff --git a/tools/pythonpkg/setup.py b/tools/pythonpkg/setup.py
|
||||
index fdf2911019..c363cc518a 100644
|
||||
--- a/tools/pythonpkg/setup.py
|
||||
+++ b/tools/pythonpkg/setup.py
|
||||
@@ -163,8 +163,6 @@ if 'BUILD_HTTPFS' in os.environ:
|
||||
for ext in extensions:
|
||||
toolchain_args.extend(['-DDUCKDB_EXTENSION_{}_LINKED'.format(ext.upper())])
|
||||
|
||||
-toolchain_args.extend(['-DDUCKDB_EXTENSION_AUTOLOAD_DEFAULT=1', '-DDUCKDB_EXTENSION_AUTOINSTALL_DEFAULT=1'])
|
||||
-
|
||||
|
||||
class get_pybind_include(object):
|
||||
def __init__(self, user=False):
|
||||
@@ -343,7 +341,7 @@ setup(
|
||||
packages=packages,
|
||||
include_package_data=True,
|
||||
python_requires='>=3.7.0',
|
||||
- setup_requires=setup_requires + ["setuptools_scm<7.0.0", 'pybind11>=2.6.0'],
|
||||
+ setup_requires=setup_requires + ["setuptools_scm", 'pybind11>=2.6.0'],
|
||||
use_scm_version=setuptools_scm_conf,
|
||||
tests_require=['google-cloud-storage', 'mypy', 'pytest'],
|
||||
classifiers=[
|
||||
|
|
|
@ -4,13 +4,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "faudio";
|
||||
version = "23.09";
|
||||
version = "23.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FNA-XNA";
|
||||
repo = "FAudio";
|
||||
rev = version;
|
||||
sha256 = "sha256-Sl+dOM1YMDwCN07ThR/JFwhNS10P7+uQJNUQAvFdYa8=";
|
||||
sha256 = "sha256-h4wPUUYG8IZr2jHUlKFO2K3QKGiX9AzyLc2Ma5hR8Tk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [cmake];
|
||||
|
|
|
@ -28,5 +28,11 @@ mkDerivation {
|
|||
outputs = [ "out" "dev" ];
|
||||
patches = [
|
||||
./0001-Remove-impure-smbd-search-path.patch
|
||||
|
||||
# Fix a crash when saving files.
|
||||
(fetchpatch {
|
||||
url = "https://invent.kde.org/frameworks/kio/-/commit/48322f44323a1fc09305d66d9093fe6c3780709e.patch";
|
||||
hash = "sha256-4NxI2mD/TdthvrzgatCAlM6VN3N38i3IJUHh0Bs8Fjk=";
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
@ -66,16 +66,16 @@ let
|
|||
projectArch = "x86_64";
|
||||
};
|
||||
};
|
||||
platforms."aarch64-linux".sha256 = "0q7bd44zj8m493pqviw3xhnygls5p7dvwafgvsflkwn1jzxjbjgg";
|
||||
platforms."x86_64-linux".sha256 = "1gc7rc8x7lrz05dqgzd3yzhvqh4j63495d7b23cwhpyzq2viwgyg";
|
||||
platforms."aarch64-linux".sha256 = "0c034h0hcsff4qmibizjn2ik5pq1jb4p6f0a4k6nrkank9m0x7ap";
|
||||
platforms."x86_64-linux".sha256 = "02pj4dgfswpaglxkmbd9970znixlv82wna4xxhwjh7i5ps24a0n6";
|
||||
|
||||
platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cef-binary";
|
||||
version = "116.0.24";
|
||||
gitRevision = "5332865";
|
||||
chromiumVersion = "116.0.5845.190";
|
||||
version = "117.1.5";
|
||||
gitRevision = "f1b94ea";
|
||||
chromiumVersion = "117.0.5938.132";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ lib, stdenv, fetchurl, libgcrypt, autoreconfHook }:
|
||||
{ lib, stdenv, fetchurl, pkgsHostTarget, libgcrypt, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "libotr";
|
||||
|
@ -13,7 +13,10 @@ stdenv.mkDerivation rec {
|
|||
|
||||
outputs = [ "bin" "out" "dev" ];
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
nativeBuildInputs = [
|
||||
autoreconfHook
|
||||
pkgsHostTarget.libgcrypt.dev # for libgcrypt-config
|
||||
];
|
||||
propagatedBuildInputs = [ libgcrypt ];
|
||||
|
||||
meta = with lib; {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ build-asdf-system, spec, quicklispPackagesFor, pkgs, ... }:
|
||||
{ build-asdf-system, spec, quicklispPackagesFor, stdenv, pkgs, ... }:
|
||||
|
||||
let
|
||||
|
||||
|
@ -80,6 +80,7 @@ let
|
|||
url = "https://github.com/cffi/cffi/archive/3f842b92ef808900bf20dae92c2d74232c2f6d3a.tar.gz";
|
||||
sha256 = "1jilvmbbfrmb23j07lwmkbffc6r35wnvas5s4zjc84i856ccclm2";
|
||||
};
|
||||
patches = optionals stdenv.isDarwin [ ./patches/cffi-libffi-darwin-ffi-h.patch ];
|
||||
};
|
||||
|
||||
cl-unicode = build-with-compile-into-pwd {
|
||||
|
@ -668,29 +669,64 @@ let
|
|||
];
|
||||
};
|
||||
|
||||
trivial-clock = build-asdf-system {
|
||||
pname = "trivial-clock";
|
||||
version = "trunk";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ak-coram";
|
||||
repo = "cl-trivial-clock";
|
||||
rev = "641e12ab1763914996beb1ceee67aabc9f1a3b1e";
|
||||
hash = "sha256-mltQEJ2asxyQ/aS/9BuWmN3XZ9bGmmkopcF5YJU1cPk=";
|
||||
};
|
||||
systems = [ "trivial-clock" "trivial-clock/test" ];
|
||||
lispLibs = [ self.cffi self.fiveam ];
|
||||
};
|
||||
|
||||
frugal-uuid = build-asdf-system {
|
||||
pname = "frugal-uuid";
|
||||
version = "trunk";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ak-coram";
|
||||
repo = "cl-frugal-uuid";
|
||||
rev = "be27972333a16fc3f16bc7fbf9e3013b2123d75c";
|
||||
hash = "sha256-rWO43vWMibF8/OxL70jle5nhd9oRWC7+MI44KWrQD48=";
|
||||
};
|
||||
systems = [ "frugal-uuid"
|
||||
"frugal-uuid/non-frugal"
|
||||
"frugal-uuid/benchmark"
|
||||
"frugal-uuid/test" ];
|
||||
lispLibs = with self; [
|
||||
babel
|
||||
bordeaux-threads
|
||||
fiveam
|
||||
ironclad
|
||||
trivial-benchmark
|
||||
trivial-clock
|
||||
];
|
||||
};
|
||||
|
||||
duckdb = build-asdf-system {
|
||||
pname = "duckdb";
|
||||
version = "trunk";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "ak-coram";
|
||||
repo = "cl-duckdb";
|
||||
rev = "2f0df62f59fbede0addd8d72cf286f4007818a3e";
|
||||
hash = "sha256-+jeOuXtCFZwMvF0XvlRaqTNHIAAFKMx6y1pz6u8Wxug=";
|
||||
rev = "3ed1df5ba5c738a0b7fed7aa73632ec86f558d09";
|
||||
hash = "sha256-AJMxhtDACe6WTwEOxLsC8y6uBaPqjt8HLRw/eIZI02E=";
|
||||
};
|
||||
systems = [ "duckdb" "duckdb/test" "duckdb/benchmark" ];
|
||||
lispLibs = with super; [
|
||||
lispLibs = with self; [
|
||||
bordeaux-threads
|
||||
cffi-libffi
|
||||
cl-ascii-table
|
||||
cl-spark
|
||||
fiveam
|
||||
cl-ppcre
|
||||
frugal-uuid
|
||||
let-plus
|
||||
local-time
|
||||
local-time-duration
|
||||
periods
|
||||
trivial-benchmark
|
||||
serapeum
|
||||
str
|
||||
uuid
|
||||
float-features
|
||||
];
|
||||
nativeLibs = with pkgs; [
|
||||
duckdb libffi
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
--- a/libffi/libffi-types.lisp
|
||||
+++ b/libffi/libffi-types.lisp
|
||||
@@ -43,9 +43,6 @@
|
||||
|
||||
(pkg-config-cflags "libffi" :optional t)
|
||||
|
||||
-#+darwin
|
||||
-(include "ffi/ffi.h")
|
||||
-#-darwin
|
||||
(include "ffi.h")
|
||||
|
||||
(cenum status
|
||||
|
||||
Diff finished. Sun Nov 13 00:23:10 2022
|
|
@ -2501,6 +2501,29 @@ buildLuarocksPackage {
|
|||
};
|
||||
}) {};
|
||||
|
||||
middleclass = callPackage({ luaOlder, buildLuarocksPackage, fetchurl, lua }:
|
||||
buildLuarocksPackage {
|
||||
pname = "middleclass";
|
||||
version = "4.1.1-0";
|
||||
knownRockspec = (fetchurl {
|
||||
url = "mirror://luarocks/middleclass-4.1.1-0.rockspec";
|
||||
sha256 = "10xzs48lr1dy7cx99581r956gl16px0a9gbdlfar41n19r96mhb1";
|
||||
}).outPath;
|
||||
src = fetchurl {
|
||||
url = "https://github.com/kikito/middleclass/archive/v4.1.1.tar.gz";
|
||||
sha256 = "11ahv0b9wgqfnabv57rb7ilsvn2vcvxb1czq6faqrsqylvr5l7nh";
|
||||
};
|
||||
|
||||
disabled = (luaOlder "5.1");
|
||||
propagatedBuildInputs = [ lua ];
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/kikito/middleclass";
|
||||
description = "A simple OOP library for Lua";
|
||||
license.fullName = "MIT";
|
||||
};
|
||||
}) {};
|
||||
|
||||
moonscript = callPackage({ lpeg, luaOlder, fetchgit, lua, buildLuarocksPackage, argparse, luafilesystem }:
|
||||
buildLuarocksPackage {
|
||||
pname = "moonscript";
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "maestro";
|
||||
version = "1.33.0";
|
||||
version = "1.33.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip";
|
||||
sha256 = "0xv7kbnr3q7w3lvlhwqwbpxz18wsb22k51xrq2dp73wdqk3jd36v";
|
||||
sha256 = "142h53qwmibi9bpdwla9ard771vcri8yibnynvgj5nvfgapj2p4z";
|
||||
};
|
||||
|
||||
dontUnpack = true;
|
||||
|
|
|
@ -46,6 +46,7 @@ mapAliases {
|
|||
"@google/clasp" = pkgs.google-clasp; # Added 2023-05-07
|
||||
"@maizzle/cli" = pkgs.maizzle; # added 2023-08-17
|
||||
"@medable/mdctl-cli" = throw "@medable/mdctl-cli was removed because it was broken"; # added 2023-08-21
|
||||
"@mermaid-js/mermaid-cli" = pkgs.mermaid-cli; # added 2023-10-01
|
||||
"@nerdwallet/shepherd" = pkgs.shepherd; # added 2023-09-30
|
||||
"@nestjs/cli" = pkgs.nest-cli; # Added 2023-05-06
|
||||
alloy = pkgs.titanium-alloy; # added 2023-08-17
|
||||
|
@ -98,6 +99,7 @@ mapAliases {
|
|||
markdownlint-cli = pkgs.markdownlint-cli; # added 2023-07-29
|
||||
inherit (pkgs) markdownlint-cli2; # added 2023-08-22
|
||||
mdctl-cli = self."@medable/mdctl-cli"; # added 2023-08-21
|
||||
inherit (pkgs) mermaid-cli; # added 2023-10-01
|
||||
musescore-downloader = pkgs.dl-librescore; # added 2023-08-19
|
||||
inherit (pkgs) near-cli; # added 2023-09-09
|
||||
node-inspector = throw "node-inspector was removed because it was broken"; # added 2023-08-21
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
"@babel/cli" = "babel";
|
||||
"@commitlint/cli" = "commitlint";
|
||||
"@gitbeaker/cli" = "gitbeaker";
|
||||
"@mermaid-js/mermaid-cli" = "mmdc";
|
||||
"@prisma/language-server" = "prisma-language-server";
|
||||
"@tailwindcss/language-server" = "tailwindcss-language-server";
|
||||
"@uppy/companion" = "companion";
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
, "@babel/cli"
|
||||
, "@commitlint/cli"
|
||||
, "@commitlint/config-conventional"
|
||||
, "@mermaid-js/mermaid-cli"
|
||||
, "@microsoft/rush"
|
||||
, "@shopify/cli"
|
||||
, "@tailwindcss/aspect-ratio"
|
||||
|
|
4863
pkgs/development/node-packages/node-packages.nix
generated
4863
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -169,21 +169,6 @@ final: prev: {
|
|||
'';
|
||||
};
|
||||
|
||||
mermaid-cli = prev."@mermaid-js/mermaid-cli".override (
|
||||
if stdenv.isDarwin
|
||||
then {}
|
||||
else {
|
||||
nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
|
||||
prePatch = ''
|
||||
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1
|
||||
'';
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/mmdc \
|
||||
--set PUPPETEER_EXECUTABLE_PATH ${pkgs.chromium.outPath}/bin/chromium
|
||||
'';
|
||||
});
|
||||
|
||||
|
||||
node-gyp = prev.node-gyp.override {
|
||||
nativeBuildInputs = [ pkgs.buildPackages.makeWrapper ];
|
||||
# Teach node-gyp to use nodejs headers locally rather that download them form https://nodejs.org.
|
||||
|
|
|
@ -1,28 +1,22 @@
|
|||
{ lib, fetchurl, buildDunePackage, ocaml, dune-configurator, pkg-config
|
||||
{ lib, fetchurl, buildDunePackage, ocaml, dune-configurator
|
||||
, optint
|
||||
, fmt, rresult, bos, fpath, astring, alcotest
|
||||
, withFreestanding ? false
|
||||
, ocaml-freestanding
|
||||
}:
|
||||
|
||||
buildDunePackage rec {
|
||||
version = "0.4.0";
|
||||
version = "0.5.2";
|
||||
pname = "checkseum";
|
||||
|
||||
minimalOCamlVersion = "4.07";
|
||||
duneVersion = "3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-${version}.tbz";
|
||||
hash = "sha256-K6QPMts5+hxH2a+WQ1N0lwMBoshG2T0bSozNgzRvAlo=";
|
||||
hash = "sha256-nl5P1EBctKi03wCHdUMlGDPgimSZ70LMuNulgt8Nr8g=";
|
||||
};
|
||||
|
||||
buildInputs = [ dune-configurator ];
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
propagatedBuildInputs = [
|
||||
optint
|
||||
] ++ lib.optionals withFreestanding [
|
||||
ocaml-freestanding
|
||||
];
|
||||
|
||||
checkInputs = [
|
||||
|
|
20
pkgs/development/ocaml-modules/lun/default.nix
Normal file
20
pkgs/development/ocaml-modules/lun/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{ lib, buildDunePackage, fetchurl }:
|
||||
|
||||
buildDunePackage rec {
|
||||
pname = "lun";
|
||||
version = "0.0.1";
|
||||
|
||||
minimalOCamlVersion = "4.12.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/robur-coop/lun/releases/download/v${version}/lun-${version}.tbz";
|
||||
hash = "sha256-zKi63/g7Rw/c+xhAEW+Oim8suGzeL0TtKM8my/aSp5M=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Optics in OCaml";
|
||||
homepage = "https://git.robur.coop/robur/lun";
|
||||
license = lib.licenses.isc;
|
||||
maintainers = with lib.maintainers; [ marsam ];
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue