Merge staging-next into staging

Changed files
+920 -550
.github
ci
lib
nixos
modules
services
misc
tests
pkgs
applications
editors
vscode
extensions
ms-dotnettools.csdevkit
emulators
libretro
networking
remote
teamviewer
science
logic
by-name
am
amazon-q-cli
be
beeper
bo
bootdev-cli
bu
buildstream
cn
cnquery
db
dbus-broker
gi
gitaly
gitlab
gitlab-elasticsearch-indexer
gitlab-pages
ho
home-manager
ja
jasmin-compiler
ka
kaniko
mo
monkeysAudio
mu
museum
ne
nezha
no
noto-fonts-color-emoji
ol
olympus-unwrapped
om
ou
si
sillytavern
sn
snapcraft
snx-rs
st
stevenblack-blocklist
ta
task-master-ai
to
tombi
un
uncover
wl
wlr-which-key
wo
worldpainter
development
ocaml-modules
python-modules
influxdb3-python
itables
kmapper
mcstatus
meilisearch
plotly
translation-finder
ruby-modules
gem-config
games
sgt-puzzles
top-level
+10
.github/workflows/backport.yml
···
ref: ${{ github.event.pull_request.head.sha }}
token: ${{ steps.app-token.outputs.token }}
- name: Create backport PRs
id: backport
uses: korthout/backport-action@436145e922f9561fc5ea157ff406f21af2d6b363 # v3.2.0
···
* [ ] Before merging, ensure that this backport is [acceptable for the release](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases).
* Even as a non-committer, if you find that it is not acceptable, leave a comment.
- name: "Add 'has: port to stable' label"
if: steps.backport.outputs.created_pull_numbers != ''
···
ref: ${{ github.event.pull_request.head.sha }}
token: ${{ steps.app-token.outputs.token }}
+
- name: Log current API rate limits
+
env:
+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+
run: gh api /rate_limit | jq
+
- name: Create backport PRs
id: backport
uses: korthout/backport-action@436145e922f9561fc5ea157ff406f21af2d6b363 # v3.2.0
···
* [ ] Before merging, ensure that this backport is [acceptable for the release](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#changes-acceptable-for-releases).
* Even as a non-committer, if you find that it is not acceptable, leave a comment.
+
+
- name: Log current API rate limits
+
env:
+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+
run: gh api /rate_limit | jq
- name: "Add 'has: port to stable' label"
if: steps.backport.outputs.created_pull_numbers != ''
+5 -2
.github/workflows/build.yml
···
on:
workflow_call:
inputs:
mergedSha:
required: true
type: string
···
- name: Build NixOS manual
if: |
contains(matrix.builds, 'manual-nixos') && !cancelled() &&
-
(github.base_ref == 'master' || startsWith(github.base_ref, 'release-'))
run: nix-build untrusted/ci -A manual-nixos --argstr system ${{ matrix.system }} --out-link nixos-manual
- name: Build Nixpkgs manual
···
- name: Upload NixOS manual
if: |
contains(matrix.builds, 'manual-nixos') && !cancelled() &&
-
(github.base_ref == 'master' || startsWith(github.base_ref, 'release-'))
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: nixos-manual-${{ matrix.system }}
···
on:
workflow_call:
inputs:
+
baseBranch:
+
required: true
+
type: string
mergedSha:
required: true
type: string
···
- name: Build NixOS manual
if: |
contains(matrix.builds, 'manual-nixos') && !cancelled() &&
+
contains(fromJSON(inputs.baseBranch).type, 'primary')
run: nix-build untrusted/ci -A manual-nixos --argstr system ${{ matrix.system }} --out-link nixos-manual
- name: Build Nixpkgs manual
···
- name: Upload NixOS manual
if: |
contains(matrix.builds, 'manual-nixos') && !cancelled() &&
+
contains(fromJSON(inputs.baseBranch).type, 'primary')
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: nixos-manual-${{ matrix.system }}
+19 -5
.github/workflows/check.yml
···
on:
workflow_call:
permissions: {}
···
jobs:
no-channel-base:
name: no channel base
-
if: |
-
startsWith(github.base_ref, 'nixos-') ||
-
startsWith(github.base_ref, 'nixpkgs-')
runs-on: ubuntu-24.04-arm
steps:
- run: |
···
cherry-pick:
if: |
github.event_name == 'pull_request' ||
-
startsWith(github.base_ref, 'release-') ||
-
(startsWith(github.base_ref, 'staging-') && github.base_ref != 'staging-next')
permissions:
pull-requests: write
runs-on: ubuntu-24.04-arm
···
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: |
./trusted/ci/check-cherry-picks.sh "$BASE_SHA" "$HEAD_SHA" checked-cherry-picks.md
- name: Prepare review
if: steps.check.outcome == 'failure'
···
}`, { node_id: review.node_id })
})
)
···
on:
workflow_call:
+
inputs:
+
baseBranch:
+
required: true
+
type: string
+
headBranch:
+
required: true
+
type: string
permissions: {}
···
jobs:
no-channel-base:
name: no channel base
+
if: contains(fromJSON(inputs.baseBranch).type, 'channel')
runs-on: ubuntu-24.04-arm
steps:
- run: |
···
cherry-pick:
if: |
github.event_name == 'pull_request' ||
+
(fromJSON(inputs.baseBranch).stable && !contains(fromJSON(inputs.headBranch).type, 'development'))
permissions:
pull-requests: write
runs-on: ubuntu-24.04-arm
···
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
run: |
./trusted/ci/check-cherry-picks.sh "$BASE_SHA" "$HEAD_SHA" checked-cherry-picks.md
+
+
- name: Log current API rate limits
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
- name: Prepare review
if: steps.check.outcome == 'failure'
···
}`, { node_id: review.node_id })
})
)
+
+
- name: Log current API rate limits
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
+24
.github/workflows/codeowners-v2.yml
···
permission-administration: read
permission-members: read
- name: Validate codeowners
if: steps.app-token.outputs.token
env:
···
# Set this to "notowned,avoid-shadowing" to check that all files are owned by somebody
EXPERIMENTAL_CHECKS: "avoid-shadowing"
run: result/bin/codeowners-validator
# Request reviews from code owners
request:
···
permission-members: read
permission-pull-requests: write
- name: Request reviews
if: steps.app-token.outputs.token
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: result/bin/request-code-owner-reviews.sh ${{ github.repository }} ${{ github.event.number }} "$OWNERS_FILE"
···
permission-administration: read
permission-members: read
+
- name: Log current API rate limits
+
if: steps.app-token.outputs.token
+
env:
+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+
run: gh api /rate_limit | jq
+
- name: Validate codeowners
if: steps.app-token.outputs.token
env:
···
# Set this to "notowned,avoid-shadowing" to check that all files are owned by somebody
EXPERIMENTAL_CHECKS: "avoid-shadowing"
run: result/bin/codeowners-validator
+
+
- name: Log current API rate limits
+
if: steps.app-token.outputs.token
+
env:
+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+
run: gh api /rate_limit | jq
# Request reviews from code owners
request:
···
permission-members: read
permission-pull-requests: write
+
- name: Log current API rate limits
+
if: steps.app-token.outputs.token
+
env:
+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+
run: gh api /rate_limit | jq
+
- name: Request reviews
if: steps.app-token.outputs.token
env:
GH_TOKEN: ${{ steps.app-token.outputs.token }}
run: result/bin/request-code-owner-reviews.sh ${{ github.repository }} ${{ github.event.number }} "$OWNERS_FILE"
+
+
- name: Log current API rate limits
+
if: steps.app-token.outputs.token
+
env:
+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+
run: gh api /rate_limit | jq
+10
.github/workflows/eval.yml
···
name: merged-${{ matrix.system }}
path: merged/*
- name: Get target run id
if: inputs.targetSha
id: targetRunId
···
// No artifact found at this stage. This usually means that Eval failed on the target branch.
// This should only happen when Eval is broken on the target branch and this PR fixes it.
// Continue without targetRunId to skip the remaining steps, but pass the job.
- uses: actions/download-artifact@v4
if: steps.targetRunId.outputs.targetRunId
···
name: merged-${{ matrix.system }}
path: merged/*
+
- name: Log current API rate limits
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
+
- name: Get target run id
if: inputs.targetSha
id: targetRunId
···
// No artifact found at this stage. This usually means that Eval failed on the target branch.
// This should only happen when Eval is broken on the target branch and this PR fixes it.
// Continue without targetRunId to skip the remaining steps, but pass the job.
+
+
- name: Log current API rate limits
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
- uses: actions/download-artifact@v4
if: steps.targetRunId.outputs.targetRunId
+17 -18
.github/workflows/labels.yml
···
schedule:
- cron: '07,17,27,37,47,57 * * * *'
workflow_call:
workflow_dispatch:
inputs:
updatedWithin:
···
core.notice(`Processed ${stats.prs} PRs, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`)
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
name: Labels from touched files
if: |
github.event_name == 'pull_request_target' &&
-
(github.event.pull_request.head.repo.owner.login != 'NixOS' || !(
-
github.head_ref == 'haskell-updates' ||
-
github.head_ref == 'python-updates' ||
-
github.head_ref == 'staging-next' ||
-
startsWith(github.head_ref, 'staging-next-')
-
))
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler.yml # default
···
name: Labels from touched files (no sync)
if: |
github.event_name == 'pull_request_target' &&
-
(github.event.pull_request.head.repo.owner.login != 'NixOS' || !(
-
github.head_ref == 'haskell-updates' ||
-
github.head_ref == 'python-updates' ||
-
github.head_ref == 'staging-next' ||
-
startsWith(github.head_ref, 'staging-next-')
-
))
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler-no-sync.yml
···
# the backport labels.
if: |
github.event_name == 'pull_request_target' &&
-
(github.event.pull_request.head.repo.owner.login == 'NixOS' && (
-
github.head_ref == 'haskell-updates' ||
-
github.head_ref == 'python-updates' ||
-
github.head_ref == 'staging-next' ||
-
startsWith(github.head_ref, 'staging-next-')
-
))
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler-development-branches.yml
sync-labels: true
···
schedule:
- cron: '07,17,27,37,47,57 * * * *'
workflow_call:
+
inputs:
+
headBranch:
+
required: true
+
type: string
workflow_dispatch:
inputs:
updatedWithin:
···
core.notice(`Processed ${stats.prs} PRs, made ${stats.requests + stats.artifacts} API requests and downloaded ${stats.artifacts} artifacts.`)
+
- name: Log current API rate limits
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
+
- uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 # v5.0.0
name: Labels from touched files
if: |
github.event_name == 'pull_request_target' &&
+
!contains(fromJSON(inputs.headBranch).type, 'development')
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler.yml # default
···
name: Labels from touched files (no sync)
if: |
github.event_name == 'pull_request_target' &&
+
!contains(fromJSON(inputs.headBranch).type, 'development')
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler-no-sync.yml
···
# the backport labels.
if: |
github.event_name == 'pull_request_target' &&
+
contains(fromJSON(inputs.headBranch).type, 'development')
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
configuration-path: .github/labeler-development-branches.yml
sync-labels: true
+
+
- name: Log current API rate limits
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
+34 -2
.github/workflows/pr.yml
···
prepare:
runs-on: ubuntu-24.04-arm
outputs:
mergedSha: ${{ steps.get-merge-commit.outputs.mergedSha }}
targetSha: ${{ steps.get-merge-commit.outputs.targetSha }}
systems: ${{ steps.systems.outputs.systems }}
···
with:
sparse-checkout: |
.github/actions
ci/supportedSystems.json
- name: Check if the PR can be merged and get the test merge commit
uses: ./.github/actions/get-merge-commit
···
run: |
echo "systems=$(jq -c <ci/supportedSystems.json)" >> "$GITHUB_OUTPUT"
check:
name: Check
uses: ./.github/workflows/check.yml
permissions:
# cherry-picks
pull-requests: write
lint:
name: Lint
···
labels:
name: Labels
-
needs: [eval]
uses: ./.github/workflows/labels.yml
permissions:
issues: write
pull-requests: write
reviewers:
name: Reviewers
needs: [prepare, eval]
-
if: needs.prepare.outputs.targetSha
uses: ./.github/workflows/reviewers.yml
secrets:
OWNER_APP_PRIVATE_KEY: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
···
secrets:
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
with:
mergedSha: ${{ needs.prepare.outputs.mergedSha }}
# This job's only purpose is to serve as a target for the "Required Status Checks" branch ruleset.
···
prepare:
runs-on: ubuntu-24.04-arm
outputs:
+
baseBranch: ${{ steps.branches.outputs.base }}
+
headBranch: ${{ steps.branches.outputs.head }}
mergedSha: ${{ steps.get-merge-commit.outputs.mergedSha }}
targetSha: ${{ steps.get-merge-commit.outputs.targetSha }}
systems: ${{ steps.systems.outputs.systems }}
···
with:
sparse-checkout: |
.github/actions
+
ci/supportedBranches.js
ci/supportedSystems.json
- name: Check if the PR can be merged and get the test merge commit
uses: ./.github/actions/get-merge-commit
···
run: |
echo "systems=$(jq -c <ci/supportedSystems.json)" >> "$GITHUB_OUTPUT"
+
- name: Determine branch type
+
id: branches
+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
+
with:
+
script: |
+
const { classify } = require('./ci/supportedBranches.js')
+
const { base, head } = context.payload.pull_request
+
+
const baseClassification = classify(base.ref)
+
core.setOutput('base', baseClassification)
+
core.info('base classification:', baseClassification)
+
+
const headClassification =
+
(base.repo.full_name == head.repo.full_name) ?
+
classify(head.ref) :
+
// PRs from forks are always considered WIP.
+
{ type: ['wip'] }
+
core.setOutput('head', headClassification)
+
core.info('head classification:', headClassification)
+
check:
name: Check
+
needs: [prepare]
uses: ./.github/workflows/check.yml
permissions:
# cherry-picks
pull-requests: write
+
with:
+
baseBranch: ${{ needs.prepare.outputs.baseBranch }}
+
headBranch: ${{ needs.prepare.outputs.headBranch }}
lint:
name: Lint
···
labels:
name: Labels
+
needs: [prepare, eval]
uses: ./.github/workflows/labels.yml
permissions:
issues: write
pull-requests: write
+
with:
+
headBranch: ${{ needs.prepare.outputs.headBranch }}
reviewers:
name: Reviewers
needs: [prepare, eval]
+
if: |
+
needs.prepare.outputs.targetSha &&
+
!contains(fromJSON(needs.prepare.outputs.headBranch).type, 'development')
uses: ./.github/workflows/reviewers.yml
secrets:
OWNER_APP_PRIVATE_KEY: ${{ secrets.OWNER_APP_PRIVATE_KEY }}
···
secrets:
CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
with:
+
baseBranch: ${{ needs.prepare.outputs.baseBranch }}
mergedSha: ${{ needs.prepare.outputs.mergedSha }}
# This job's only purpose is to serve as a target for the "Required Status Checks" branch ruleset.
+31
.github/workflows/reviewers.yml
···
permission-members: read
permission-pull-requests: write
# In the regular case, this workflow is called via workflow_call from the eval workflow directly.
# In the more special case, when a PR is undrafted an eval run will have started already.
···
}
throw new Error("No comparison artifact found.")
- name: Download the comparison results
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
···
path: comparison
merge-multiple: true
- name: Requesting maintainer reviews
if: ${{ steps.app-token.outputs.token }}
env:
···
jq -r 'keys[]' comparison/maintainers.json \
| while read -r id; do gh api /user/"$id" --jq .login; done \
| GH_TOKEN=${{ steps.app-token.outputs.token }} result/bin/request-reviewers.sh "$REPOSITORY" "$NUMBER" "$AUTHOR"
···
permission-members: read
permission-pull-requests: write
+
- name: Log current API rate limits (github.token)
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
# In the regular case, this workflow is called via workflow_call from the eval workflow directly.
# In the more special case, when a PR is undrafted an eval run will have started already.
···
}
throw new Error("No comparison artifact found.")
+
- name: Log current API rate limits (github.token)
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
+
- name: Download the comparison results
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
with:
···
path: comparison
merge-multiple: true
+
- name: Log current API rate limits (app-token)
+
if: ${{ steps.app-token.outputs.token }}
+
env:
+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+
run: gh api /rate_limit | jq
+
+
- name: Log current API rate limits (github.token)
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
+
- name: Requesting maintainer reviews
if: ${{ steps.app-token.outputs.token }}
env:
···
jq -r 'keys[]' comparison/maintainers.json \
| while read -r id; do gh api /user/"$id" --jq .login; done \
| GH_TOKEN=${{ steps.app-token.outputs.token }} result/bin/request-reviewers.sh "$REPOSITORY" "$NUMBER" "$AUTHOR"
+
+
- name: Log current API rate limits (app-token)
+
if: ${{ steps.app-token.outputs.token }}
+
env:
+
GH_TOKEN: ${{ steps.app-token.outputs.token }}
+
run: gh api /rate_limit | jq
+
+
- name: Log current API rate limits (github.token)
+
env:
+
GH_TOKEN: ${{ github.token }}
+
run: gh api /rate_limit | jq
+4
ci/.editorconfig
···
···
+
# TODO: Move to top-level via staging PR
+
[*.js]
+
indent_style = space
+
indent_size = 2
+29
ci/README.md
···
- `BASE_BRANCH`: The base branch to use, e.g. master or release-24.05
- `REPOSITORY`: The repository from which to fetch the base branch. Defaults to <https://github.com/NixOS/nixpkgs.git>.
···
- `BASE_BRANCH`: The base branch to use, e.g. master or release-24.05
- `REPOSITORY`: The repository from which to fetch the base branch. Defaults to <https://github.com/NixOS/nixpkgs.git>.
+
+
# Branch classification
+
+
For the purposes of CI, branches in the NixOS/nixpkgs repository are classified as follows:
+
+
- **Channel** branches
+
- `nixos-` or `nixpkgs-` prefix
+
- Are only updated from `master` or `release-` branches, when hydra passes.
+
- Otherwise not worked on, Pull Requests are not allowed.
+
- Long-lived, no deletion, no force push.
+
- **Primary development** branches
+
- `release-` prefix and `master`
+
- Pull Requests required.
+
- Long-lived, no deletion, no force push.
+
- **Secondary development** branches
+
- `staging-` prefix, `haskell-updates` and `python-updates`
+
- Pull Requests normally required, except when merging development branches into each other.
+
- Long-lived, no deletion, no force push.
+
- **Work-In-Progress** branches
+
- `backport-`, `revert-` and `wip-` prefixes.
+
- Deprecated: All other branches, not matched by channel/development.
+
- Pull Requests are optional.
+
- Short-lived, force push allowed, deleted after merge.
+
+
Some branches also have a version component, which is either `unstable` or `YY.MM`.
+
+
`ci/supportedBranches.js` is a script imported by CI to classify the base and head branches of a Pull Request.
+
This classification will then be used to skip certain jobs.
+
This script can also be run locally to print basic test cases.
+62
ci/supportedBranches.js
···
···
+
#!/usr/bin/env nix-shell
+
/*
+
#!nix-shell -i node -p nodejs
+
*/
+
+
const typeConfig = {
+
master: ['development', 'primary'],
+
release: ['development', 'primary'],
+
staging: ['development', 'secondary'],
+
'staging-next': ['development', 'secondary'],
+
'haskell-updates': ['development', 'secondary'],
+
'python-updates': ['development', 'secondary'],
+
nixos: ['channel'],
+
nixpkgs: ['channel'],
+
}
+
+
function split(branch) {
+
return { ...branch.match(/(?<prefix>.+?)(-(?<version>\d{2}\.\d{2}|unstable)(?:-(?<suffix>.*))?)?$/).groups }
+
}
+
+
function classify(branch) {
+
const { prefix, version } = split(branch)
+
return {
+
stable: (version ?? 'unstable') !== 'unstable',
+
type: typeConfig[prefix] ?? [ 'wip' ]
+
}
+
}
+
+
module.exports = { classify }
+
+
// If called directly via CLI, runs the following tests:
+
if (!module.parent) {
+
console.log('split(branch)')
+
function testSplit(branch) {
+
console.log(branch, split(branch))
+
}
+
testSplit('master')
+
testSplit('release-25.05')
+
testSplit('staging-next')
+
testSplit('staging-25.05')
+
testSplit('staging-next-25.05')
+
testSplit('nixpkgs-25.05-darwin')
+
testSplit('nixpkgs-unstable')
+
testSplit('haskell-updates')
+
testSplit('backport-123-to-release-25.05')
+
+
console.log('')
+
+
console.log('classify(branch)')
+
function testClassify(branch) {
+
console.log(branch, classify(branch))
+
}
+
testClassify('master')
+
testClassify('release-25.05')
+
testClassify('staging-next')
+
testClassify('staging-25.05')
+
testClassify('staging-next-25.05')
+
testClassify('nixpkgs-25.05-darwin')
+
testClassify('nixpkgs-unstable')
+
testClassify('haskell-updates')
+
testClassify('backport-123-to-release-25.05')
+
}
+1 -1
lib/tests/modules/types-attrTag.nix
···
let
inherit (lib) mkOption types;
forceDeep = x: builtins.deepSeq x x;
-
mergedSubOption = (options.merged.type.getSubOptions options.merged.loc).extensible."merged.<name>";
in
{
options = {
···
let
inherit (lib) mkOption types;
forceDeep = x: builtins.deepSeq x x;
+
mergedSubOption = (options.merged.type.getSubOptions options.merged.loc).extensible;
in
{
options = {
+1 -6
lib/types.nix
···
description = "attribute-tagged union";
descriptionClass = "noun";
getSubOptions =
-
prefix:
-
mapAttrs (tagName: tagOption: {
-
"${lib.showOption prefix}" = tagOption // {
-
loc = prefix ++ [ tagName ];
-
};
-
}) tags;
check = v: isAttrs v && length (attrNames v) == 1 && tags ? ${head (attrNames v)};
merge =
loc: defs:
···
description = "attribute-tagged union";
descriptionClass = "noun";
getSubOptions =
+
prefix: mapAttrs (tagName: tagOption: tagOption // { loc = prefix ++ [ tagName ]; }) tags;
check = v: isAttrs v && length (attrNames v) == 1 && tags ? ${head (attrNames v)};
merge =
loc: defs:
+28 -21
nixos/modules/services/misc/omnom.nix
···
default = "fs";
description = "Storage type.";
};
-
root = lib.mkOption {
-
type = lib.types.path;
-
default = "${cfg.dataDir}/static/data";
-
defaultText = lib.literalExpression ''
-
"''${config.services.omnom.dataDir}/static/data"
-
'';
-
description = "Where the snapshots are saved.";
-
};
};
smtp = {
tls = lib.mkEnableOption "Whether TLS encryption should be used.";
···
description = "Connection timeout duration in seconds.";
};
};
};
};
default = { };
···
};
config = lib.mkIf cfg.enable {
assertions = [
{
assertion = !lib.hasAttr "password" cfg.settings.smtp;
message = ''
`services.omnom.settings.smtp.password` must be defined in `services.omnom.passwordFile`.
-
'';
-
}
-
{
-
assertion = !(cfg.settings.storage.root != "${cfg.dataDir}/static/data");
-
message = ''
-
For Omnom to access the snapshots, it needs the storage root
-
directory to be inside the service's working directory.
-
-
As such, `services.omnom.settings.storage.root` must be the same as
-
`''${services.omnom.dataDir}/static/data`.
'';
}
];
···
in
{
"${cfg.dataDir}"."d" = settings;
-
"${cfg.dataDir}/templates"."L+" = settings // {
-
argument = "${cfg.package}/share/templates";
};
-
"${cfg.settings.storage.root}"."d" = settings;
};
networking.firewall = lib.mkIf cfg.openFirewall {
···
default = "fs";
description = "Storage type.";
};
};
smtp = {
tls = lib.mkEnableOption "Whether TLS encryption should be used.";
···
description = "Connection timeout duration in seconds.";
};
};
+
activitypub = {
+
pubkey = lib.mkOption {
+
type = lib.types.path;
+
default = "${cfg.dataDir}/public.pem";
+
defaultText = lib.literalExpression ''
+
"''${config.services.omnom.dataDir}/public.pem"
+
'';
+
description = "ActivityPub public key. Will be generated, by default.";
+
};
+
privkey = lib.mkOption {
+
type = lib.types.path;
+
default = "${cfg.dataDir}/private.pem";
+
defaultText = lib.literalExpression ''
+
"''${config.services.omnom.dataDir}/private.pem"
+
'';
+
description = "ActivityPub private key. Will be generated, by default.";
+
};
+
};
};
};
default = { };
···
};
config = lib.mkIf cfg.enable {
+
services.omnom = {
+
settings.app = {
+
static_dir = "${cfg.dataDir}/static";
+
template_dir = "${cfg.package}/share/templates";
+
};
+
};
+
assertions = [
{
assertion = !lib.hasAttr "password" cfg.settings.smtp;
message = ''
`services.omnom.settings.smtp.password` must be defined in `services.omnom.passwordFile`.
'';
}
];
···
in
{
"${cfg.dataDir}"."d" = settings;
+
"${cfg.settings.app.static_dir}"."C" = settings // {
+
argument = "${cfg.package}/share/static";
};
+
"${cfg.settings.app.static_dir}/data"."d" = settings;
};
networking.firewall = lib.mkIf cfg.openFirewall {
+1
nixos/tests/all-tests.nix
···
ollama-cuda = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./ollama-cuda.nix;
ollama-rocm = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./ollama-rocm.nix;
ombi = runTest ./ombi.nix;
openarena = runTest ./openarena.nix;
openbao = runTest ./openbao.nix;
opencloud = runTest ./opencloud.nix;
···
ollama-cuda = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./ollama-cuda.nix;
ollama-rocm = runTestOn [ "x86_64-linux" "aarch64-linux" ] ./ollama-rocm.nix;
ombi = runTest ./ombi.nix;
+
omnom = runTest ./omnom.nix;
openarena = runTest ./openarena.nix;
openbao = runTest ./openbao.nix;
opencloud = runTest ./opencloud.nix;
+42
nixos/tests/omnom.nix
···
···
+
{ lib, ... }:
+
let
+
servicePort = 9090;
+
in
+
{
+
name = "Basic Omnom Test";
+
meta = {
+
maintainers = lib.teams.ngi.members;
+
};
+
+
nodes = {
+
server =
+
{ config, lib, ... }:
+
{
+
services.omnom = {
+
enable = true;
+
openFirewall = true;
+
+
port = servicePort;
+
+
settings = {
+
app = {
+
disable_signup = false; # restrict CLI user-creation
+
results_per_page = 50;
+
};
+
server.address = "0.0.0.0:${toString servicePort}";
+
};
+
};
+
};
+
};
+
+
# TODO: take a snapshot
+
testScript =
+
{ nodes, ... }:
+
# python
+
''
+
server.start()
+
server.wait_for_unit("omnom.service")
+
server.wait_for_open_port(${toString servicePort})
+
server.succeed("curl -sf http://localhost:${toString servicePort}")
+
'';
+
}
+2 -2
pkgs/applications/editors/vscode/extensions/default.nix
···
mktplcRef = {
name = "language-julia";
publisher = "julialang";
-
version = "1.144.2";
-
hash = "sha256-9OFMQc5Y+979wYkd3qyuLuw7bRBMcsTQ9uSd2ea5cxk=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/julialang.language-julia/changelog";
···
mktplcRef = {
name = "language-julia";
publisher = "julialang";
+
version = "1.146.2";
+
hash = "sha256-PVs5TVtd8GGRJ/J9LJAZneVgYYuFdoJnN2U7ciKDjCQ=";
};
meta = {
changelog = "https://marketplace.visualstudio.com/items/julialang.language-julia/changelog";
+4
pkgs/applications/editors/vscode/extensions/ms-dotnettools.csdevkit/default.nix
···
--add-needed libssl.so \
"$file"
done
''}
)
'';
···
--add-needed libssl.so \
"$file"
done
+
+
# Fix libxml2 breakage. See https://github.com/NixOS/nixpkgs/pull/396195#issuecomment-2881757108
+
mkdir -p "$out/lib"
+
ln -s "${lib.getLib libxml2}/lib/libxml2.so" "$out/lib/libxml2.so.2"
''}
)
'';
+3 -3
pkgs/applications/emulators/libretro/cores/dosbox-pure.nix
···
}:
mkLibretroCore {
core = "dosbox-pure";
-
version = "0-unstable-2025-06-14";
src = fetchFromGitHub {
owner = "schellingb";
repo = "dosbox-pure";
-
rev = "bdabec1651380f3f736eecff8d859090ae822f9b";
-
hash = "sha256-plUeFjkUSbWKs/TZHqQLR5MtOgWLNZLUg7QedtR+/Vo=";
};
hardeningDisable = [ "format" ];
···
}:
mkLibretroCore {
core = "dosbox-pure";
+
version = "0-unstable-2025-06-16";
src = fetchFromGitHub {
owner = "schellingb";
repo = "dosbox-pure";
+
rev = "8c48d34327f5ffc44892899cf2567feaa9bbf72a";
+
hash = "sha256-u5kxj4Sl7LpivEuNhTec8Z2u3Dw/X8xFDBQ++hQAtFc=";
};
hardeningDisable = [ "format" ];
+3 -3
pkgs/applications/networking/remote/teamviewer/default.nix
···
"out"
"dev"
];
-
version = "15.61.3";
src =
let
···
{
x86_64-linux = fetchurl {
url = "${base_url}/teamviewer_${version}_amd64.deb";
-
hash = "sha256-o7Em+QRW4TebRTJS5xjcx1M6KPh1ziB1j0fvlO+RYa4=";
};
aarch64-linux = fetchurl {
url = "${base_url}/teamviewer_${version}_arm64.deb";
-
hash = "sha256-LDByF4u9xZV1MYApBrnlNrUPndbDrQt6DKX+r8Kmq6k=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
···
"out"
"dev"
];
+
version = "15.66.5";
src =
let
···
{
x86_64-linux = fetchurl {
url = "${base_url}/teamviewer_${version}_amd64.deb";
+
hash = "sha256-yQD2iFFFHlR6vX/5vEtBqmIOtGXa4eHbE7v7MdXgBds=";
};
aarch64-linux = fetchurl {
url = "${base_url}/teamviewer_${version}_arm64.deb";
+
hash = "sha256-WqC4/5egq3pHgb4v8EPevJDDNmashuQr+VBQuFLdr7Q=";
};
}
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
+3 -5
pkgs/applications/science/logic/cvc5/default.nix
···
gmp,
python3,
gtest,
-
libantlr3c,
-
antlr3_4,
boost,
jdk,
}:
stdenv.mkDerivation rec {
···
symfpu
gmp
gtest
-
libantlr3c
-
antlr3_4
boost
jdk
(python3.withPackages (
ps: with ps; [
pyparsing
···
cmakeFlags = [
"-DBUILD_SHARED_LIBS=1"
-
"-DANTLR3_JAR=${antlr3_4}/lib/antlr/antlr-3.4-complete.jar"
];
doCheck = true;
···
gmp,
python3,
gtest,
boost,
jdk,
+
libpoly,
}:
stdenv.mkDerivation rec {
···
symfpu
gmp
gtest
boost
jdk
+
libpoly
(python3.withPackages (
ps: with ps; [
pyparsing
···
cmakeFlags = [
"-DBUILD_SHARED_LIBS=1"
+
"-DUSE_POLY=ON"
];
doCheck = true;
+5 -9
pkgs/by-name/am/amazon-q-cli/package.nix
···
lib,
fetchFromGitHub,
rustPlatform,
-
protobuf_26,
versionCheckHook,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "amazon-q-cli";
-
version = "1.10.1";
src = fetchFromGitHub {
owner = "aws";
-
repo = "amazon-q-developer-cli";
tag = "v${finalAttrs.version}";
-
hash = "sha256-HgbF5jistZhzebZmnTmMBlHuL6/fy1kcQplAFldzAV8=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-yhSVnz8gzJy/E9T1U4GsT3b7wmYzSCYXEb8y2HOIQms=";
cargoBuildFlags = [
"-p"
"chat_cli"
];
-
nativeBuildInputs = [
-
protobuf_26
-
];
-
postInstall = ''
install -m 0755 $out/bin/chat_cli $out/bin/amazon-q
'';
cargoTestFlags = [
···
lib,
fetchFromGitHub,
rustPlatform,
versionCheckHook,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "amazon-q-cli";
+
version = "1.12.1";
src = fetchFromGitHub {
owner = "aws";
+
repo = "amazon-q-developer-cli-autocomplete";
tag = "v${finalAttrs.version}";
+
hash = "sha256-oY2hDOsws2WVQPKEFhGNPHITo26p/UZ5XzvRX7DoMyc=";
};
useFetchCargoVendor = true;
+
cargoHash = "sha256-xriK88OY6W1cOZVgiUPBIuItVHwEyFNq5Ywh367K6CU=";
cargoBuildFlags = [
"-p"
"chat_cli"
];
postInstall = ''
install -m 0755 $out/bin/chat_cli $out/bin/amazon-q
+
rm -f $out/bin/chat_cli $out/bin/test_mcp_server
'';
cargoTestFlags = [
+2 -2
pkgs/by-name/be/beeper/package.nix
···
}:
let
pname = "beeper";
-
version = "4.0.747";
src = fetchurl {
url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}.AppImage";
-
hash = "sha256-eLNxuBCm3vzG/90mZsQCVInGu8lMPrr+/UBAHj+vGJ4=";
};
appimageContents = appimageTools.extract {
inherit pname version src;
···
}:
let
pname = "beeper";
+
version = "4.0.779";
src = fetchurl {
url = "https://beeper-desktop.download.beeper.com/builds/Beeper-${version}.AppImage";
+
hash = "sha256-eRA/9OAWcYsn1C8xuC6NFj2/HxOHT0YISDC9Kp8H/Yg=";
};
appimageContents = appimageTools.extract {
inherit pname version src;
+2 -2
pkgs/by-name/bo/bootdev-cli/package.nix
···
buildGoModule rec {
pname = "bootdev-cli";
-
version = "1.19.1";
src = fetchFromGitHub {
owner = "bootdotdev";
repo = "bootdev";
tag = "v${version}";
-
hash = "sha256-cAVCTA4SZdD3QVgbSbha860fExq1swWnJjpWKpfHP2Q=";
};
vendorHash = "sha256-jhRoPXgfntDauInD+F7koCaJlX4XDj+jQSe/uEEYIMM=";
···
buildGoModule rec {
pname = "bootdev-cli";
+
version = "1.19.2";
src = fetchFromGitHub {
owner = "bootdotdev";
repo = "bootdev";
tag = "v${version}";
+
hash = "sha256-jTI91t/gcEdOc3mwP0dFqL5sYeaC6nD96+RpuQfAf4s=";
};
vendorHash = "sha256-jhRoPXgfntDauInD+F7koCaJlX4XDj+jQSe/uEEYIMM=";
+3
pkgs/by-name/bu/buildstream/package.nix
···
# Blob not found in the local CAS
"test_source_pull_partial_fallback_fetch"
];
disabledTestPaths = [
···
# Blob not found in the local CAS
"test_source_pull_partial_fallback_fetch"
+
+
# FAILED tests/sources/tar.py::test_out_of_basedir_hardlinks - AssertionError
+
"test_out_of_basedir_hardlinks"
];
disabledTestPaths = [
+3 -3
pkgs/by-name/cn/cnquery/package.nix
···
buildGoModule rec {
pname = "cnquery";
-
version = "11.57.2";
src = fetchFromGitHub {
owner = "mondoohq";
repo = "cnquery";
tag = "v${version}";
-
hash = "sha256-RlDXoLBsJl/2TCDBfQhdWfr8zQfQiEedW5ckVtQn4eM=";
};
subPackages = [ "apps/cnquery" ];
-
vendorHash = "sha256-JoFj3bHDb0jWwlrioYQv/V6e69ae7HFGkLYBNgntB00=";
ldflags = [
"-w"
···
buildGoModule rec {
pname = "cnquery";
+
version = "11.59.0";
src = fetchFromGitHub {
owner = "mondoohq";
repo = "cnquery";
tag = "v${version}";
+
hash = "sha256-xSHIKy9kQrbDhLuTfJd1yDAt/Z7mqYNv4XT6fQZftho=";
};
subPackages = [ "apps/cnquery" ];
+
vendorHash = "sha256-NGrDYN7+JozAmtysSBUcKPiQwKs/fUiQkUVEGrmTTCk=";
ldflags = [
"-w"
+10 -7
pkgs/by-name/db/dbus-broker/package.nix
···
let
meta = {
-
maintainers = with lib.maintainers; [ peterhoeg ];
platforms = lib.platforms.linux;
};
···
# part of the dbus-broker project, just in separate repositories.
c-dvar = dep {
pname = "c-dvar";
-
version = "1.1.0";
-
hash = "sha256-p/C+BktclVseCtZJ1Q/YK03vP2ClnYRLB1Vmj2OQJD4=";
buildInputs = [
c-stdaux
c-utf8
···
};
c-stdaux = dep {
pname = "c-stdaux";
-
version = "1.5.0";
-
hash = "sha256-MsnuEyVCmOIr/q6I1qyPsNXp48jxIEcXoYLHbOAZtW0=";
};
c-utf8 = dep {
pname = "c-utf8";
···
stdenv.mkDerivation (finalAttrs: {
pname = "dbus-broker";
-
version = "36";
src = fetchFromGitHub {
owner = "bus1";
repo = "dbus-broker";
rev = "v${finalAttrs.version}";
-
hash = "sha256-5dAMKjybqrHG57vArbtWEPR/svSj2ION75JrjvnnpVM=";
};
patches = [
···
let
meta = {
+
maintainers = with lib.maintainers; [
+
peterhoeg
+
rvdp
+
];
platforms = lib.platforms.linux;
};
···
# part of the dbus-broker project, just in separate repositories.
c-dvar = dep {
pname = "c-dvar";
+
version = "1.2.0";
+
hash = "sha256-OlV6yR1tNWFN+rxPPGmbfbh7WyB6FwORyZR1V553iYE=";
buildInputs = [
c-stdaux
c-utf8
···
};
c-stdaux = dep {
pname = "c-stdaux";
+
version = "1.6.0";
+
hash = "sha256-/15lop+WUkTW9v9h7BBdwRSpJgcBXaJNtMM7LXgcQE4=";
};
c-utf8 = dep {
pname = "c-utf8";
···
stdenv.mkDerivation (finalAttrs: {
pname = "dbus-broker";
+
version = "37";
src = fetchFromGitHub {
owner = "bus1";
repo = "dbus-broker";
rev = "v${finalAttrs.version}";
+
hash = "sha256-a9ydcJKZP8MLzu9lv40p9sTyo8IsU++9HOFeGU3+Tok=";
};
patches = [
+5 -5
pkgs/by-name/db/dbus-broker/paths.patch
···
diff --git a/src/launch/launcher.c b/src/launch/launcher.c
-
index 5bf5cf5..06ce7f4 100644
--- a/src/launch/launcher.c
+++ b/src/launch/launcher.c
-
@@ -924,9 +924,7 @@ static int launcher_load_standard_session_services(Launcher *launcher, NSSCache
-
-
static int launcher_load_standard_system_services(Launcher *launcher, NSSCache *nss_cache) {
static const char *default_data_dirs[] = {
- "/usr/local/share",
- "/usr/share",
- "/lib",
···
NULL,
};
const char *suffix = "dbus-1/system-services";
-
@@ -1012,9 +1010,9 @@ static int launcher_parse_config(Launcher *launcher, ConfigRoot **rootp, NSSCach
if (launcher->configfile)
configfile = launcher->configfile;
else if (launcher->user_scope)
···
diff --git a/src/launch/launcher.c b/src/launch/launcher.c
+
index 7b1fb19..6bc2c46 100644
--- a/src/launch/launcher.c
+++ b/src/launch/launcher.c
+
@@ -945,9 +945,7 @@ static int launcher_load_standard_system_services(Launcher *launcher, NSSCache *
static const char *default_data_dirs[] = {
+
"/etc",
+
"/run",
- "/usr/local/share",
- "/usr/share",
- "/lib",
···
NULL,
};
const char *suffix = "dbus-1/system-services";
+
@@ -1033,9 +1031,9 @@ static int launcher_parse_config(Launcher *launcher, ConfigRoot **rootp, NSSCach
if (launcher->configfile)
configfile = launcher->configfile;
else if (launcher->user_scope)
+3 -3
pkgs/by-name/gi/gitaly/package.nix
···
}:
let
-
version = "18.0.2";
package_version = "v${lib.versions.major version}";
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
···
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
-
hash = "sha256-Phzg0GAKBMfXPqzlMfLZQbKeqZzMKw1YdEDdzSs+IkE=";
};
-
vendorHash = "sha256-PXONynRY5ZLQO2yQdtljDmLhVBIgfEYmyez9pIm9vtw=";
ldflags = [
"-X ${gitaly_package}/internal/version.version=${version}"
···
}:
let
+
version = "18.1.0";
package_version = "v${lib.versions.major version}";
gitaly_package = "gitlab.com/gitlab-org/gitaly/${package_version}";
···
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
+
hash = "sha256-nttZfGjQKRSYCoMHSljojYLNScyDPHd8ayCuDkvKXpE=";
};
+
vendorHash = "sha256-BTpcnaHNyLgdAA9KqqA+mBo18fmQ0+OwLGNOPHRJ/IE=";
ldflags = [
"-X ${gitaly_package}/internal/version.version=${version}"
+3 -3
pkgs/by-name/gi/gitlab-elasticsearch-indexer/package.nix
···
buildGoModule rec {
pname = "gitlab-elasticsearch-indexer";
-
version = "5.5.1";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-elasticsearch-indexer";
rev = "v${version}";
-
hash = "sha256-N2H9jLpsP39nKrokWwphAspQwXcL3stAdvNVItIHFyo=";
};
-
vendorHash = "sha256-Go02W09799Vu9v7y+P7z1gj7ijG3No5AVprRrmspPZE=";
buildInputs = [ icu ];
nativeBuildInputs = [ pkg-config ];
···
buildGoModule rec {
pname = "gitlab-elasticsearch-indexer";
+
version = "5.6.0";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-elasticsearch-indexer";
rev = "v${version}";
+
hash = "sha256-XerIPK+s0OWYAqKVqE3HSSI+D4cXixYqRHmf9/4C2eg=";
};
+
vendorHash = "sha256-qNGACM5DKufyNVKhJyakmMRbaMXi+JJUfojhWdk0ptU=";
buildInputs = [ icu ];
nativeBuildInputs = [ pkg-config ];
+3 -3
pkgs/by-name/gi/gitlab-pages/package.nix
···
buildGoModule rec {
pname = "gitlab-pages";
-
version = "18.0.2";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-pages";
rev = "v${version}";
-
hash = "sha256-zWWQZBN2J69YnjGhhQdB5wv4plC5ikk+kq6EfNPW6ZM=";
};
-
vendorHash = "sha256-BjCwPt1duDINHP7L0qT2KNTjOZ62bWgVij88ztjjyPg=";
subPackages = [ "." ];
meta = {
···
buildGoModule rec {
pname = "gitlab-pages";
+
version = "18.1.0";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitlab-pages";
rev = "v${version}";
+
hash = "sha256-HwjbQLEc/GmFxVvyx0UMKKrNoHmfFADblVN/XOAtMZY=";
};
+
vendorHash = "sha256-6ZHKwPhC3N813kiw1NnPOMVc2CBSIClwc4MunDi0gCk=";
subPackages = [ "." ];
meta = {
+8 -8
pkgs/by-name/gi/gitlab/data.json
···
{
-
"version": "18.0.2",
-
"repo_hash": "03sqn21bnsdjs518akbmanyh96p8h4dyhpy4vqwcx1dc8lwnidki",
-
"yarn_hash": "0vv09y1pjcm2723jh842pgnmnrf4yqk7558v57dp08rxrqnsni5x",
"owner": "gitlab-org",
"repo": "gitlab",
-
"rev": "v18.0.2-ee",
"passthru": {
-
"GITALY_SERVER_VERSION": "18.0.2",
-
"GITLAB_PAGES_VERSION": "18.0.2",
"GITLAB_SHELL_VERSION": "14.42.0",
-
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.5.1",
-
"GITLAB_WORKHORSE_VERSION": "18.0.2"
}
}
···
{
+
"version": "18.1.0",
+
"repo_hash": "0d7xs0l6nzs1bpr4slycq0agw3kk9k9bw3q0dqqc2knla71i21fd",
+
"yarn_hash": "0c5pp3dpvw0q0nfl6w1lpdmk7dvkfinwb7z7a3vq22wgzca23x2m",
"owner": "gitlab-org",
"repo": "gitlab",
+
"rev": "v18.1.0-ee",
"passthru": {
+
"GITALY_SERVER_VERSION": "18.1.0",
+
"GITLAB_PAGES_VERSION": "18.1.0",
"GITLAB_SHELL_VERSION": "14.42.0",
+
"GITLAB_ELASTICSEARCH_INDEXER_VERSION": "5.6.0",
+
"GITLAB_WORKHORSE_VERSION": "18.1.0"
}
}
+2 -2
pkgs/by-name/gi/gitlab/gitlab-workhorse/default.nix
···
buildGoModule rec {
pname = "gitlab-workhorse";
-
version = "18.0.2";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
···
sourceRoot = "${src.name}/workhorse";
-
vendorHash = "sha256-tLlxsUCoSGvUpJnS0GsNobk2IuSEgs3R4UDUmNf+HrA=";
buildInputs = [ git ];
ldflags = [ "-X main.Version=${version}" ];
doCheck = false;
···
buildGoModule rec {
pname = "gitlab-workhorse";
+
version = "18.1.0";
# nixpkgs-update: no auto update
src = fetchFromGitLab {
···
sourceRoot = "${src.name}/workhorse";
+
vendorHash = "sha256-jsp68duGIW1p8ltfSlK0jPd22iscjiIOyrxfsr+2QY0=";
buildInputs = [ git ];
ldflags = [ "-X main.Version=${version}" ];
doCheck = false;
+2 -1
pkgs/by-name/gi/gitlab/package.nix
···
dontBuilt = true;
installPhase = ''
cp -R ext/glfm_markdown $out
cp Cargo.lock $out
'';
};
-
hash = "sha256-73uliXjZNT8Ok98ai2rY+b0jYqxoQH3qW5YS+Ap6KK0=";
};
dontBuild = false;
···
dontBuilt = true;
installPhase = ''
cp -R ext/glfm_markdown $out
+
rm $out/Cargo.lock
cp Cargo.lock $out
'';
};
+
hash = "sha256-TG2pUE80o/Sa147Lcb7yIJC+mfaDzzW7m2d7dTi5yi0=";
};
dontBuild = false;
+30 -30
pkgs/by-name/gi/gitlab/rubyEnv/Gemfile
···
# frozen_string_literal: true
source 'https://rubygems.org'
if ENV.fetch('BUNDLER_CHECKSUM_VERIFICATION_OPT_IN', 'false') != 'false' # this verification is still experimental
···
gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems/bundler-checksum', require: false, feature_category: :shared
-
# NOTE: When incrementing the major or minor version here, also increment activerecord_version
-
# in vendor/gems/attr_encrypted/attr_encrypted.gemspec until we resolve
-
# https://gitlab.com/gitlab-org/gitlab/-/issues/375713
-
#
# See https://docs.gitlab.com/ee/development/gemfile.html#upgrade-rails for guidelines when upgrading Rails
-
gem 'rails', '~> 7.1.5.1', feature_category: :shared
gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab', feature_category: :shared
# This can be dropped after upgrading to Rails 7.2: https://github.com/rails/rails/pull/49674
···
# Avoid the precompiled native gems because Omnibus needs to build this to ensure
# LD_LIBRARY_PATH is correct: https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/7730
if RUBY_PLATFORM.include?('darwin')
-
gem 'ffi', '~> 1.17', feature_category: :shared
else
-
gem 'ffi', '~> 1.17', force_ruby_platform: true, feature_category: :shared
end
gem 'openssl', '~> 3.0', feature_category: :shared
···
gem 'sprockets', '~> 3.7.0', feature_category: :shared
gem 'sprockets-rails', '~> 3.5.1', feature_category: :shared
-
gem 'view_component', '~> 3.21.0', feature_category: :shared
# Supported DBs
gem 'pg', '~> 1.5.6', feature_category: :database
···
gem 'faraday', '~> 2', feature_category: :shared
gem 'faraday-retry', '~> 2', feature_category: :shared
# Logger is a dependency of Faraday, but Logger 1.6.0 does not work with Chef.
-
gem 'logger', '~> 1.6.0', feature_category: :shared
gem 'marginalia', '~> 1.11.1', feature_category: :database
···
gem 'devise-two-factor', '~> 4.1.1', feature_category: :system_access
gem 'rqrcode', '~> 2.2', feature_category: :system_access
-
gem 'attr_encrypted', '~> 3.2.4', path: 'vendor/gems/attr_encrypted', feature_category: :shared
# GitLab Pages
gem 'validates_hostname', '~> 1.0.13', feature_category: :pages
-
gem 'rubyzip', '~> 2.3.2', require: 'zip', feature_category: :pages
# GitLab Pages letsencrypt support
gem 'acme-client', '~> 2.0.19', feature_category: :pages
···
feature_category: :cell
# Duo Workflow
-
gem 'gitlab-duo-workflow-service-client', '~> 0.1',
path: 'vendor/gems/gitlab-duo-workflow-service-client',
feature_category: :duo_workflow
···
gem 'elasticsearch-model', '~> 7.2', feature_category: :global_search
gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation', feature_category: :global_search
gem 'elasticsearch-api', '7.17.11', feature_category: :global_search
-
gem 'aws-sdk-core', '~> 3.223.0', feature_category: :global_search
gem 'aws-sdk-cloudformation', '~> 1', feature_category: :global_search
-
gem 'aws-sdk-s3', '~> 1.185.0', feature_category: :global_search
gem 'faraday-typhoeus', '~> 1.1', feature_category: :global_search
gem 'faraday_middleware-aws-sigv4', '~> 1.0.1', feature_category: :global_search
# Used with Elasticsearch to support http keep-alive connections
···
gem 'rouge', '~> 4.5.0', feature_category: :shared
gem 'truncato', '~> 0.7.13', feature_category: :team_planning
gem 'nokogiri', '~> 1.18', feature_category: :shared
-
gem 'gitlab-glfm-markdown', '~> 0.0.30', feature_category: :markdown
gem 'tanuki_emoji', '~> 0.13', feature_category: :markdown
gem 'unicode-emoji', '~> 4.0', feature_category: :markdown
···
gem 'rack-timeout', '~> 0.7.0', require: 'rack/timeout/base', feature_category: :shared
group :puma do
-
gem 'puma', '= 6.5.0', require: false, feature_category: :shared
gem 'sd_notify', '~> 0.1.0', require: false, feature_category: :shared
end
···
gem 'fugit', '~> 1.11.1', feature_category: :continuous_integration
# HTTP requests
-
gem 'httparty', '~> 0.22.0', feature_category: :shared
# Colored output to console
gem 'rainbow', '~> 3.0', feature_category: :shared
···
# Redis
gem 'redis', '~> 5.4.0', feature_category: :redis
gem 'redis-clustering', '~> 5.4.0', feature_category: :redis
-
gem 'connection_pool', '~> 2.4', feature_category: :shared
# Redis session store
gem 'redis-actionpack', '~> 5.5.0', feature_category: :redis
···
gem 'kubeclient', '~> 4.11.0', feature_category: :shared
# AI
-
gem 'circuitbox', '2.0.0', feature_category: :ai_abstraction_layer
# Sanitize user input
gem 'sanitize', '~> 6.0.2', feature_category: :shared
···
# Event-driven reactor for Ruby
# Required manually in config/initializers/require_async_gem
-
gem 'async', '~> 2.23.0', require: false, feature_category: :shared
# Security report schemas used to validate CI job artifacts of security jobs
gem 'gitlab-security_report_schemas', '0.1.2.min15.0.0.max15.2.1', feature_category: :vulnerability_management
···
group :development, :test do
gem 'deprecation_toolkit', '~> 2.2.3', require: false, feature_category: :shared
-
gem 'bullet', '~> 7.2.0', feature_category: :shared
gem 'parser', '= 3.3.8.0', feature_category: :shared
gem 'pry-byebug', feature_category: :shared
gem 'pry-rails', '~> 0.3.9', feature_category: :shared
···
gem 'awesome_print', require: false, feature_category: :shared
gem 'database_cleaner-active_record', '~> 2.2.0', feature_category: :database
-
gem 'rspec-rails', '~> 7.0.0', feature_category: :shared
gem 'factory_bot_rails', '~> 6.4.3', feature_category: :tooling
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
···
gem 'influxdb-client', '~> 3.1', require: false, feature_category: :tooling
gem 'knapsack', '~> 4.0.0', feature_category: :tooling
-
gem 'gitlab-crystalball', '~> 0.7.2', require: false, feature_category: :tooling
gem 'test_file_finder', '~> 0.3.1', feature_category: :tooling
gem 'simple_po_parser', '~> 1.1.6', require: false, feature_category: :shared
···
gem 'spamcheck', '~> 1.3.0', feature_category: :insider_threat
# Gitaly GRPC protocol definitions
-
gem 'gitaly', '~> 17.8.0', feature_category: :gitaly
# KAS GRPC protocol definitions
gem 'gitlab-kas-grpc', '~> 17.11.0', feature_category: :deployment_management
-
# Lock the version before issues below are resolved:
-
# https://gitlab.com/gitlab-org/gitlab/-/issues/473169#note_2028352939
-
# Or we can upgrade to a more recent version as long as we can confirm
-
# that it doesn't have the same issues.
-
gem 'grpc', '= 1.63.0', feature_category: :shared
gem 'google-protobuf', '~> 3.25', '>= 3.25.3', feature_category: :shared
···
gem "i18n_data", "~> 0.13.1", feature_category: :system_access
-
gem "gitlab-cloud-connector", "~> 1.11", require: 'gitlab/cloud_connector', feature_category: :cloud_connector
···
# frozen_string_literal: true
+
def next?
+
File.basename(__FILE__) == "Gemfile.next"
+
end
+
source 'https://rubygems.org'
if ENV.fetch('BUNDLER_CHECKSUM_VERIFICATION_OPT_IN', 'false') != 'false' # this verification is still experimental
···
gem 'bundler-checksum', '~> 0.1.0', path: 'vendor/gems/bundler-checksum', require: false, feature_category: :shared
# See https://docs.gitlab.com/ee/development/gemfile.html#upgrade-rails for guidelines when upgrading Rails
+
if next?
+
gem 'rails', '~> 7.2.2.1', feature_category: :shared
+
else
+
gem 'rails', '~> 7.1.5.1', feature_category: :shared
+
end
gem 'activerecord-gitlab', path: 'gems/activerecord-gitlab', feature_category: :shared
# This can be dropped after upgrading to Rails 7.2: https://github.com/rails/rails/pull/49674
···
# Avoid the precompiled native gems because Omnibus needs to build this to ensure
# LD_LIBRARY_PATH is correct: https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/7730
if RUBY_PLATFORM.include?('darwin')
+
gem 'ffi', '~> 1.17.2', feature_category: :shared
else
+
gem 'ffi', '~> 1.17.2', force_ruby_platform: true, feature_category: :shared
end
gem 'openssl', '~> 3.0', feature_category: :shared
···
gem 'sprockets', '~> 3.7.0', feature_category: :shared
gem 'sprockets-rails', '~> 3.5.1', feature_category: :shared
+
gem 'view_component', '~> 3.23.2', feature_category: :shared
# Supported DBs
gem 'pg', '~> 1.5.6', feature_category: :database
···
gem 'faraday', '~> 2', feature_category: :shared
gem 'faraday-retry', '~> 2', feature_category: :shared
# Logger is a dependency of Faraday, but Logger 1.6.0 does not work with Chef.
+
gem 'logger', '~> 1.7.0', feature_category: :shared
gem 'marginalia', '~> 1.11.1', feature_category: :database
···
gem 'devise-two-factor', '~> 4.1.1', feature_category: :system_access
gem 'rqrcode', '~> 2.2', feature_category: :system_access
+
gem 'attr_encrypted', '~> 4.2', feature_category: :shared
# GitLab Pages
gem 'validates_hostname', '~> 1.0.13', feature_category: :pages
+
gem 'rubyzip', '~> 2.4.0', require: 'zip', feature_category: :pages
# GitLab Pages letsencrypt support
gem 'acme-client', '~> 2.0.19', feature_category: :pages
···
feature_category: :cell
# Duo Workflow
+
gem 'gitlab-duo-workflow-service-client', '~> 0.2',
path: 'vendor/gems/gitlab-duo-workflow-service-client',
feature_category: :duo_workflow
···
gem 'elasticsearch-model', '~> 7.2', feature_category: :global_search
gem 'elasticsearch-rails', '~> 7.2', require: 'elasticsearch/rails/instrumentation', feature_category: :global_search
gem 'elasticsearch-api', '7.17.11', feature_category: :global_search
+
gem 'aws-sdk-core', '~> 3.225.0', feature_category: :global_search
gem 'aws-sdk-cloudformation', '~> 1', feature_category: :global_search
+
gem 'aws-sdk-s3', '~> 1.189.0', feature_category: :global_search
gem 'faraday-typhoeus', '~> 1.1', feature_category: :global_search
gem 'faraday_middleware-aws-sigv4', '~> 1.0.1', feature_category: :global_search
# Used with Elasticsearch to support http keep-alive connections
···
gem 'rouge', '~> 4.5.0', feature_category: :shared
gem 'truncato', '~> 0.7.13', feature_category: :team_planning
gem 'nokogiri', '~> 1.18', feature_category: :shared
+
gem 'gitlab-glfm-markdown', '~> 0.0.31', feature_category: :markdown
gem 'tanuki_emoji', '~> 0.13', feature_category: :markdown
gem 'unicode-emoji', '~> 4.0', feature_category: :markdown
···
gem 'rack-timeout', '~> 0.7.0', require: 'rack/timeout/base', feature_category: :shared
group :puma do
+
gem 'puma', '= 6.6.0', require: false, feature_category: :shared
gem 'sd_notify', '~> 0.1.0', require: false, feature_category: :shared
end
···
gem 'fugit', '~> 1.11.1', feature_category: :continuous_integration
# HTTP requests
+
gem 'httparty', '~> 0.23.0', feature_category: :shared
# Colored output to console
gem 'rainbow', '~> 3.0', feature_category: :shared
···
# Redis
gem 'redis', '~> 5.4.0', feature_category: :redis
gem 'redis-clustering', '~> 5.4.0', feature_category: :redis
+
gem 'connection_pool', '~> 2.5.3', feature_category: :shared
# Redis session store
gem 'redis-actionpack', '~> 5.5.0', feature_category: :redis
···
gem 'kubeclient', '~> 4.11.0', feature_category: :shared
# AI
+
gem 'circuitbox', '2.0.0', feature_category: :shared
# Sanitize user input
gem 'sanitize', '~> 6.0.2', feature_category: :shared
···
# Event-driven reactor for Ruby
# Required manually in config/initializers/require_async_gem
+
gem 'async', '~> 2.24.0', require: false, feature_category: :shared
# Security report schemas used to validate CI job artifacts of security jobs
gem 'gitlab-security_report_schemas', '0.1.2.min15.0.0.max15.2.1', feature_category: :vulnerability_management
···
group :development, :test do
gem 'deprecation_toolkit', '~> 2.2.3', require: false, feature_category: :shared
+
gem 'bullet', '~> 8.0.0', feature_category: :shared
gem 'parser', '= 3.3.8.0', feature_category: :shared
gem 'pry-byebug', feature_category: :shared
gem 'pry-rails', '~> 0.3.9', feature_category: :shared
···
gem 'awesome_print', require: false, feature_category: :shared
gem 'database_cleaner-active_record', '~> 2.2.0', feature_category: :database
+
gem 'rspec-rails', '~> 7.1.0', feature_category: :shared
gem 'factory_bot_rails', '~> 6.4.3', feature_category: :tooling
# Prevent occasions where minitest is not bundled in packaged versions of ruby (see #3826)
···
gem 'influxdb-client', '~> 3.1', require: false, feature_category: :tooling
gem 'knapsack', '~> 4.0.0', feature_category: :tooling
+
gem 'gitlab-crystalball', '~> 1.1.0', require: false, feature_category: :tooling
gem 'test_file_finder', '~> 0.3.1', feature_category: :tooling
gem 'simple_po_parser', '~> 1.1.6', require: false, feature_category: :shared
···
gem 'spamcheck', '~> 1.3.0', feature_category: :insider_threat
# Gitaly GRPC protocol definitions
+
gem 'gitaly', '~> 18.1.0.pre.rc1', feature_category: :gitaly
# KAS GRPC protocol definitions
gem 'gitlab-kas-grpc', '~> 17.11.0', feature_category: :deployment_management
+
gem 'grpc', '~> 1.72.0', feature_category: :shared
gem 'google-protobuf', '~> 3.25', '>= 3.25.3', feature_category: :shared
···
gem "i18n_data", "~> 0.13.1", feature_category: :system_access
+
gem "gitlab-cloud-connector", "~> 1.14", require: 'gitlab/cloud_connector', feature_category: :cloud_connector
+76 -78
pkgs/by-name/gi/gitlab/rubyEnv/Gemfile.lock
···
google-cloud-storage_transfer (~> 1.2.0)
google-protobuf (~> 3.25, >= 3.25.3)
googleauth (~> 1.8.1)
-
grpc (= 1.63.0)
json (~> 2.7)
jwt (~> 2.5)
logger (~> 1.5)
···
oj (~> 3.16, >= 3.16.10)
PATH
-
remote: vendor/gems/attr_encrypted
-
specs:
-
attr_encrypted (3.2.4)
-
encryptor (~> 3.0.0)
-
-
PATH
remote: vendor/gems/bundler-checksum
specs:
bundler-checksum (0.1.0)
···
PATH
remote: vendor/gems/gitlab-duo-workflow-service-client
specs:
-
gitlab-duo-workflow-service-client (0.1)
grpc
PATH
···
asciidoctor-plantuml (0.0.16)
asciidoctor (>= 2.0.17, < 3.0.0)
ast (2.4.2)
-
async (2.23.1)
console (~> 1.29)
fiber-annotation
io-event (~> 1.9)
···
traces (~> 0.15)
atlassian-jwt (0.2.1)
jwt (~> 2.1)
attr_required (1.0.2)
awesome_print (1.9.2)
awrence (1.2.1)
aws-eventstream (1.3.0)
aws-partitions (1.1001.0)
-
aws-sdk-cloudformation (1.41.0)
-
aws-sdk-core (~> 3, >= 3.99.0)
-
aws-sigv4 (~> 1.1)
-
aws-sdk-core (3.223.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
···
aws-sdk-kms (1.76.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
-
aws-sdk-s3 (1.185.0)
-
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.9.1)
···
bindata (2.4.11)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
-
bootsnap (1.18.4)
msgpack (~> 1.2)
browser (5.3.1)
builder (3.2.4)
-
bullet (7.2.0)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
byebug (12.0.0)
···
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
devfile (0.4.4)
-
device_detector (1.0.0)
devise (4.9.4)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
···
railties (~> 7.0)
rotp (~> 6.0)
diff-lcs (1.5.0)
-
diffy (3.4.3)
digest-crc (0.6.5)
rake (>= 12.0.0, < 14.0.0)
docile (1.4.0)
···
factory_bot_rails (6.4.4)
factory_bot (~> 6.5)
railties (>= 5.0.0)
-
faraday (2.12.2)
faraday-net_http (>= 2.0, < 3.5)
json
logger
···
git (1.19.1)
addressable (~> 2.8)
rchardet (~> 1.8)
-
gitaly (17.8.4)
grpc (~> 1.0)
gitlab (4.19.0)
httparty (~> 0.20)
terminal-table (>= 1.5.1)
gitlab-chronic (0.10.6)
numerizer (~> 0.2)
-
gitlab-cloud-connector (1.12.0)
activesupport (~> 7.0)
jwt (~> 2.9.3)
-
gitlab-crystalball (0.7.2)
git (< 4)
-
gitlab-dangerfiles (4.9.1)
danger (>= 9.3.0)
danger-gitlab (>= 8.0.0)
rake (~> 13.0)
···
mime-types
net-http-persistent (~> 4.0)
nokogiri (~> 1, >= 1.10.8)
-
gitlab-glfm-markdown (0.0.30)
rb_sys (~> 0.9.109)
-
gitlab-kas-grpc (17.11.2)
grpc (~> 1.0)
gitlab-labkit (0.37.0)
actionpack (>= 5.0.0, < 8.1.0)
···
activesupport (>= 5.2.0)
rake (~> 13.0)
snowplow-tracker (~> 0.8.0)
-
gitlab-secret_detection (0.26.1)
-
grpc (~> 1.63.0)
grpc_reflection (~> 0.1)
parallel (~> 1)
re2 (~> 2.7)
···
google-cloud-storage_transfer-v1 (0.8.0)
gapic-common (>= 0.20.0, < 2.a)
google-cloud-errors (~> 1.0)
-
google-protobuf (3.25.7)
googleapis-common-protos (1.4.0)
google-protobuf (~> 3.14)
googleapis-common-protos-types (~> 1.2)
grpc (~> 1.27)
-
googleapis-common-protos-types (1.19.0)
google-protobuf (>= 3.18, < 5.a)
googleauth (1.8.1)
faraday (>= 0.17.3, < 3.a)
···
graphql (~> 2.0)
html-pipeline (~> 2.14, >= 2.14.3)
sass-embedded (~> 1.58)
-
grpc (1.63.0)
-
google-protobuf (~> 3.25)
googleapis-common-protos-types (~> 1.0)
grpc-google-iam-v1 (1.5.0)
google-protobuf (~> 3.18)
···
http-cookie (1.0.5)
domain_name (~> 0.5)
http-form_data (2.3.0)
-
httparty (0.22.0)
csv
mini_mime (>= 1.0.0)
multi_xml (>= 0.5.2)
···
jaeger-client (1.1.0)
opentracing (~> 0.3)
thrift
-
jaro_winkler (1.6.0)
jira-ruby (2.3.0)
activesupport
atlassian-jwt
···
language_server-protocol (3.17.0.3)
launchy (2.5.2)
addressable (~> 2.8)
-
lefthook (1.11.5)
letter_opener (1.10.0)
launchy (>= 2.2, < 4)
letter_opener_web (3.0.0)
···
rake (~> 13.0)
locale (2.1.4)
lockbox (1.3.0)
-
logger (1.6.6)
lograge (0.11.2)
actionpack (>= 4)
activesupport (>= 4)
railties (>= 4)
request_store (~> 1.0)
-
loofah (2.24.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
lookbook (2.3.4)
···
shellany (~> 0.0)
numerizer (0.2.0)
oauth (0.5.6)
-
oauth2 (2.0.9)
-
faraday (>= 0.17.3, < 3.0)
-
jwt (>= 1.0, < 3.0)
multi_xml (~> 0.5)
rack (>= 1.2, < 4)
snaky_hash (~> 2.0)
-
version_gem (~> 1.1)
observer (0.1.2)
octokit (9.2.0)
faraday (>= 1, < 3)
···
plist (~> 3.1)
train-core
wmi-lite (~> 1.0)
-
oj (3.16.10)
bigdecimal (>= 3.0)
ostruct (>= 0.2)
oj-introspect (0.8.0)
···
paper_trail (16.0.0)
activerecord (>= 6.1)
request_store (~> 1.4)
-
parallel (1.26.3)
parser (3.3.8.0)
ast (~> 2.4.1)
racc
···
coderay
parser
unparser
-
prometheus-client-mmap (1.2.9)
base64
bigdecimal
logger
···
date
stringio
public_suffix (6.0.1)
-
puma (6.5.0)
nio4r (~> 2.0)
pyu-ruby-sasl (0.0.3.3)
raabro (1.4.0)
···
rexml (3.4.1)
rinku (2.0.0)
rotp (6.3.0)
-
rouge (4.5.1)
rqrcode (2.2.0)
chunky_png (~> 1.0)
rqrcode_core (~> 1.0)
···
rspec-parameterized-table_syntax (1.0.0)
binding_of_caller
rspec-parameterized-core (< 2)
-
rspec-rails (7.0.1)
actionpack (>= 7.0)
activesupport (>= 7.0)
railties (>= 7.0)
···
ruby-fogbugz (0.3.0)
crack (~> 0.4)
multipart-post (~> 2.0)
-
ruby-lsp (0.23.15)
language_server-protocol (~> 3.17.0)
prism (>= 1.2, < 2.0)
rbs (>= 3, < 4)
sorbet-runtime (>= 0.5.10782)
ruby-lsp-rails (0.3.31)
ruby-lsp (>= 0.23.0, < 0.24.0)
-
ruby-lsp-rspec (0.1.22)
-
ruby-lsp (~> 0.23.0)
ruby-magic (0.6.0)
mini_portile2 (~> 2.8)
ruby-progressbar (1.11.0)
···
ruby2_keywords (0.0.5)
rubyntlm (0.6.3)
rubypants (0.2.0)
-
rubyzip (2.3.2)
rugged (1.6.3)
safe_yaml (1.0.4)
safety_net_attestation (0.4.0)
···
seed-fu (2.3.9)
activerecord (>= 3.1)
activesupport (>= 3.1)
-
selenium-webdriver (4.27.0)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
···
hashie
version_gem (~> 1.1)
snowplow-tracker (0.8.0)
-
solargraph (0.54.2)
backport (~> 1.2)
benchmark (~> 0.4)
bundler (~> 2.0)
diff-lcs (~> 1.4)
-
jaro_winkler (~> 1.6)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.1)
logger (~> 1.6)
···
validates_hostname (1.0.13)
activerecord (>= 3.0)
activesupport (>= 3.0)
-
version_gem (1.1.0)
version_sorter (2.3.0)
-
view_component (3.21.0)
activesupport (>= 5.2.0, < 8.1)
-
concurrent-ruby (~> 1.0)
method_source (~> 1.0)
virtus (2.0.0)
axiom-types (~> 0.1)
···
activesupport
faraday (~> 2.0)
faraday-follow_redirects
-
webmock (3.25.0)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
···
asciidoctor-include-ext (~> 0.4.0)
asciidoctor-kroki (~> 0.10.0)
asciidoctor-plantuml (~> 0.0.16)
-
async (~> 2.23.0)
atlassian-jwt (~> 0.2.1)
-
attr_encrypted (~> 3.2.4)!
awesome_print
aws-sdk-cloudformation (~> 1)
-
aws-sdk-core (~> 3.223.0)
-
aws-sdk-s3 (~> 1.185.0)
axe-core-rspec (~> 4.10.0)
babosa (~> 2.0)
base32 (~> 0.3.0)
···
better_errors (~> 2.10.1)
bootsnap (~> 1.18.3)
browser (~> 5.3.1)
-
bullet (~> 7.2.0)
bundler-checksum (~> 0.1.0)!
capybara (~> 3.40)
capybara-screenshot (~> 1.0.26)
···
cloud_profiler_agent (~> 0.0.0)!
commonmarker (~> 0.23.10)
concurrent-ruby (~> 1.1)
-
connection_pool (~> 2.4)
countries (~> 4.0.0)
coverband (= 6.1.5)
creole (~> 0.5.0)
···
faraday_middleware-aws-sigv4 (~> 1.0.1)
fast_blank (~> 1.0.1)
ffaker (~> 2.24)
-
ffi (~> 1.17)
flipper (~> 0.28.0)
flipper-active_record (~> 0.28.0)
flipper-active_support_cache_store (~> 0.28.0)
···
gettext (~> 3.5, >= 3.5.1)
gettext_i18n_rails (~> 1.13.0)
git (~> 1.8)
-
gitaly (~> 17.8.0)
gitlab-active-context!
gitlab-backup-cli!
gitlab-chronic (~> 0.10.5)
-
gitlab-cloud-connector (~> 1.11)
-
gitlab-crystalball (~> 0.7.2)
gitlab-dangerfiles (~> 4.9.0)
-
gitlab-duo-workflow-service-client (~> 0.1)!
gitlab-experiment (~> 0.9.1)
gitlab-fog-azure-rm (~> 2.2.0)
-
gitlab-glfm-markdown (~> 0.0.30)
gitlab-housekeeper!
gitlab-http!
gitlab-kas-grpc (~> 17.11.0)
···
graphlyte (~> 1.0.0)
graphql (= 2.4.13)
graphql-docs (~> 5.0.0)
-
grpc (= 1.63.0)
gssapi (~> 1.3.1)
guard-rspec
haml_lint (~> 0.58)
···
health_check (~> 3.0)
html-pipeline (~> 2.14.3)
html2text
-
httparty (~> 0.22.0)
i18n_data (~> 0.13.1)
icalendar (~> 2.10.1)
influxdb-client (~> 3.1)
···
licensee (~> 9.16)
listen (~> 3.7)
lockbox (~> 1.3.0)
-
logger (~> 1.6.0)
lograge (~> 0.5)
loofah (~> 2.24.0)
lookbook (~> 2.3)
···
pry-byebug
pry-rails (~> 0.3.9)
pry-shell (~> 0.6.4)
-
puma (= 6.5.0)
rack (~> 2.2.9)
rack-attack (~> 6.7.0)
rack-cors (~> 2.0.1)
···
rqrcode (~> 2.2)
rspec-benchmark (~> 0.6.0)
rspec-parameterized (~> 1.0, >= 1.0.2)
-
rspec-rails (~> 7.0.0)
rspec-retry (~> 0.6.2)
rspec_junit_formatter
rspec_profiling (~> 0.0.9)
···
ruby-magic (~> 0.6)
ruby-progressbar (~> 1.10)
ruby-saml (~> 1.18)
-
rubyzip (~> 2.3.2)
rugged (~> 1.6)
sanitize (~> 6.0.2)
sd_notify (~> 0.1.0)
···
valid_email (~> 0.1)
validates_hostname (~> 1.0.13)
version_sorter (~> 2.3)
-
view_component (~> 3.21.0)
vite_rails (~> 3.0.17)
vite_ruby (~> 3.9.0)
vmstat (~> 2.3.0)
···
yard (~> 0.9)
BUNDLED WITH
-
2.6.6
···
google-cloud-storage_transfer (~> 1.2.0)
google-protobuf (~> 3.25, >= 3.25.3)
googleauth (~> 1.8.1)
+
grpc (~> 1.72.0)
json (~> 2.7)
jwt (~> 2.5)
logger (~> 1.5)
···
oj (~> 3.16, >= 3.16.10)
PATH
remote: vendor/gems/bundler-checksum
specs:
bundler-checksum (0.1.0)
···
PATH
remote: vendor/gems/gitlab-duo-workflow-service-client
specs:
+
gitlab-duo-workflow-service-client (0.2)
grpc
PATH
···
asciidoctor-plantuml (0.0.16)
asciidoctor (>= 2.0.17, < 3.0.0)
ast (2.4.2)
+
async (2.24.0)
console (~> 1.29)
fiber-annotation
io-event (~> 1.9)
···
traces (~> 0.15)
atlassian-jwt (0.2.1)
jwt (~> 2.1)
+
attr_encrypted (4.2.0)
+
encryptor (~> 3.0.0)
attr_required (1.0.2)
awesome_print (1.9.2)
awrence (1.2.1)
aws-eventstream (1.3.0)
aws-partitions (1.1001.0)
+
aws-sdk-cloudformation (1.131.0)
+
aws-sdk-core (~> 3, >= 3.216.0)
+
aws-sigv4 (~> 1.5)
+
aws-sdk-core (3.225.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
···
aws-sdk-kms (1.76.0)
aws-sdk-core (~> 3, >= 3.188.0)
aws-sigv4 (~> 1.1)
+
aws-sdk-s3 (1.189.0)
+
aws-sdk-core (~> 3, >= 3.225.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.9.1)
···
bindata (2.4.11)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
+
bootsnap (1.18.6)
msgpack (~> 1.2)
browser (5.3.1)
builder (3.2.4)
+
bullet (8.0.8)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
byebug (12.0.0)
···
descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1)
devfile (0.4.4)
+
device_detector (1.1.3)
devise (4.9.4)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
···
railties (~> 7.0)
rotp (~> 6.0)
diff-lcs (1.5.0)
+
diffy (3.4.4)
digest-crc (0.6.5)
rake (>= 12.0.0, < 14.0.0)
docile (1.4.0)
···
factory_bot_rails (6.4.4)
factory_bot (~> 6.5)
railties (>= 5.0.0)
+
faraday (2.13.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
···
git (1.19.1)
addressable (~> 2.8)
rchardet (~> 1.8)
+
gitaly (18.1.0.pre.rc1)
grpc (~> 1.0)
gitlab (4.19.0)
httparty (~> 0.20)
terminal-table (>= 1.5.1)
gitlab-chronic (0.10.6)
numerizer (~> 0.2)
+
gitlab-cloud-connector (1.17.0)
activesupport (~> 7.0)
jwt (~> 2.9.3)
+
gitlab-crystalball (1.1.0)
git (< 4)
+
ostruct (< 1)
+
gitlab-dangerfiles (4.9.2)
danger (>= 9.3.0)
danger-gitlab (>= 8.0.0)
rake (~> 13.0)
···
mime-types
net-http-persistent (~> 4.0)
nokogiri (~> 1, >= 1.10.8)
+
gitlab-glfm-markdown (0.0.31)
rb_sys (~> 0.9.109)
+
gitlab-kas-grpc (17.11.3)
grpc (~> 1.0)
gitlab-labkit (0.37.0)
actionpack (>= 5.0.0, < 8.1.0)
···
activesupport (>= 5.2.0)
rake (~> 13.0)
snowplow-tracker (~> 0.8.0)
+
gitlab-secret_detection (0.29.1)
+
grpc (>= 1.63.0, < 2)
grpc_reflection (~> 0.1)
parallel (~> 1)
re2 (~> 2.7)
···
google-cloud-storage_transfer-v1 (0.8.0)
gapic-common (>= 0.20.0, < 2.a)
google-cloud-errors (~> 1.0)
+
google-protobuf (3.25.8)
googleapis-common-protos (1.4.0)
google-protobuf (~> 3.14)
googleapis-common-protos-types (~> 1.2)
grpc (~> 1.27)
+
googleapis-common-protos-types (1.20.0)
google-protobuf (>= 3.18, < 5.a)
googleauth (1.8.1)
faraday (>= 0.17.3, < 3.a)
···
graphql (~> 2.0)
html-pipeline (~> 2.14, >= 2.14.3)
sass-embedded (~> 1.58)
+
grpc (1.72.0)
+
google-protobuf (>= 3.25, < 5.0)
googleapis-common-protos-types (~> 1.0)
grpc-google-iam-v1 (1.5.0)
google-protobuf (~> 3.18)
···
http-cookie (1.0.5)
domain_name (~> 0.5)
http-form_data (2.3.0)
+
httparty (0.23.1)
csv
mini_mime (>= 1.0.0)
multi_xml (>= 0.5.2)
···
jaeger-client (1.1.0)
opentracing (~> 0.3)
thrift
+
jaro_winkler (1.6.1)
jira-ruby (2.3.0)
activesupport
atlassian-jwt
···
language_server-protocol (3.17.0.3)
launchy (2.5.2)
addressable (~> 2.8)
+
lefthook (1.11.13)
letter_opener (1.10.0)
launchy (>= 2.2, < 4)
letter_opener_web (3.0.0)
···
rake (~> 13.0)
locale (2.1.4)
lockbox (1.3.0)
+
logger (1.7.0)
lograge (0.11.2)
actionpack (>= 4)
activesupport (>= 4)
railties (>= 4)
request_store (~> 1.0)
+
loofah (2.24.1)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
lookbook (2.3.4)
···
shellany (~> 0.0)
numerizer (0.2.0)
oauth (0.5.6)
+
oauth2 (2.0.10)
+
faraday (>= 0.17.3, < 4.0)
+
jwt (>= 1.0, < 4.0)
+
logger (~> 1.2)
multi_xml (~> 0.5)
rack (>= 1.2, < 4)
snaky_hash (~> 2.0)
+
version_gem (>= 1.1.8, < 3)
observer (0.1.2)
octokit (9.2.0)
faraday (>= 1, < 3)
···
plist (~> 3.1)
train-core
wmi-lite (~> 1.0)
+
oj (3.16.11)
bigdecimal (>= 3.0)
ostruct (>= 0.2)
oj-introspect (0.8.0)
···
paper_trail (16.0.0)
activerecord (>= 6.1)
request_store (~> 1.4)
+
parallel (1.27.0)
parser (3.3.8.0)
ast (~> 2.4.1)
racc
···
coderay
parser
unparser
+
prometheus-client-mmap (1.2.10)
base64
bigdecimal
logger
···
date
stringio
public_suffix (6.0.1)
+
puma (6.6.0)
nio4r (~> 2.0)
pyu-ruby-sasl (0.0.3.3)
raabro (1.4.0)
···
rexml (3.4.1)
rinku (2.0.0)
rotp (6.3.0)
+
rouge (4.5.2)
rqrcode (2.2.0)
chunky_png (~> 1.0)
rqrcode_core (~> 1.0)
···
rspec-parameterized-table_syntax (1.0.0)
binding_of_caller
rspec-parameterized-core (< 2)
+
rspec-rails (7.1.1)
actionpack (>= 7.0)
activesupport (>= 7.0)
railties (>= 7.0)
···
ruby-fogbugz (0.3.0)
crack (~> 0.4)
multipart-post (~> 2.0)
+
ruby-lsp (0.23.20)
language_server-protocol (~> 3.17.0)
prism (>= 1.2, < 2.0)
rbs (>= 3, < 4)
sorbet-runtime (>= 0.5.10782)
ruby-lsp-rails (0.3.31)
ruby-lsp (>= 0.23.0, < 0.24.0)
+
ruby-lsp-rspec (0.1.23)
+
ruby-lsp (~> 0.23.19)
ruby-magic (0.6.0)
mini_portile2 (~> 2.8)
ruby-progressbar (1.11.0)
···
ruby2_keywords (0.0.5)
rubyntlm (0.6.3)
rubypants (0.2.0)
+
rubyzip (2.4.1)
rugged (1.6.3)
safe_yaml (1.0.4)
safety_net_attestation (0.4.0)
···
seed-fu (2.3.9)
activerecord (>= 3.1)
activesupport (>= 3.1)
+
selenium-webdriver (4.32.0)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
···
hashie
version_gem (~> 1.1)
snowplow-tracker (0.8.0)
+
solargraph (0.54.4)
backport (~> 1.2)
benchmark (~> 0.4)
bundler (~> 2.0)
diff-lcs (~> 1.4)
+
jaro_winkler (~> 1.6, >= 1.6.1)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.1)
logger (~> 1.6)
···
validates_hostname (1.0.13)
activerecord (>= 3.0)
activesupport (>= 3.0)
+
version_gem (1.1.8)
version_sorter (2.3.0)
+
view_component (3.23.2)
activesupport (>= 5.2.0, < 8.1)
+
concurrent-ruby (~> 1)
method_source (~> 1.0)
virtus (2.0.0)
axiom-types (~> 0.1)
···
activesupport
faraday (~> 2.0)
faraday-follow_redirects
+
webmock (3.25.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
···
asciidoctor-include-ext (~> 0.4.0)
asciidoctor-kroki (~> 0.10.0)
asciidoctor-plantuml (~> 0.0.16)
+
async (~> 2.24.0)
atlassian-jwt (~> 0.2.1)
+
attr_encrypted (~> 4.2)
awesome_print
aws-sdk-cloudformation (~> 1)
+
aws-sdk-core (~> 3.225.0)
+
aws-sdk-s3 (~> 1.189.0)
axe-core-rspec (~> 4.10.0)
babosa (~> 2.0)
base32 (~> 0.3.0)
···
better_errors (~> 2.10.1)
bootsnap (~> 1.18.3)
browser (~> 5.3.1)
+
bullet (~> 8.0.0)
bundler-checksum (~> 0.1.0)!
capybara (~> 3.40)
capybara-screenshot (~> 1.0.26)
···
cloud_profiler_agent (~> 0.0.0)!
commonmarker (~> 0.23.10)
concurrent-ruby (~> 1.1)
+
connection_pool (~> 2.5.3)
countries (~> 4.0.0)
coverband (= 6.1.5)
creole (~> 0.5.0)
···
faraday_middleware-aws-sigv4 (~> 1.0.1)
fast_blank (~> 1.0.1)
ffaker (~> 2.24)
+
ffi (~> 1.17.2)
flipper (~> 0.28.0)
flipper-active_record (~> 0.28.0)
flipper-active_support_cache_store (~> 0.28.0)
···
gettext (~> 3.5, >= 3.5.1)
gettext_i18n_rails (~> 1.13.0)
git (~> 1.8)
+
gitaly (~> 18.1.0.pre.rc1)
gitlab-active-context!
gitlab-backup-cli!
gitlab-chronic (~> 0.10.5)
+
gitlab-cloud-connector (~> 1.14)
+
gitlab-crystalball (~> 1.1.0)
gitlab-dangerfiles (~> 4.9.0)
+
gitlab-duo-workflow-service-client (~> 0.2)!
gitlab-experiment (~> 0.9.1)
gitlab-fog-azure-rm (~> 2.2.0)
+
gitlab-glfm-markdown (~> 0.0.31)
gitlab-housekeeper!
gitlab-http!
gitlab-kas-grpc (~> 17.11.0)
···
graphlyte (~> 1.0.0)
graphql (= 2.4.13)
graphql-docs (~> 5.0.0)
+
grpc (~> 1.72.0)
gssapi (~> 1.3.1)
guard-rspec
haml_lint (~> 0.58)
···
health_check (~> 3.0)
html-pipeline (~> 2.14.3)
html2text
+
httparty (~> 0.23.0)
i18n_data (~> 0.13.1)
icalendar (~> 2.10.1)
influxdb-client (~> 3.1)
···
licensee (~> 9.16)
listen (~> 3.7)
lockbox (~> 1.3.0)
+
logger (~> 1.7.0)
lograge (~> 0.5)
loofah (~> 2.24.0)
lookbook (~> 2.3)
···
pry-byebug
pry-rails (~> 0.3.9)
pry-shell (~> 0.6.4)
+
puma (= 6.6.0)
rack (~> 2.2.9)
rack-attack (~> 6.7.0)
rack-cors (~> 2.0.1)
···
rqrcode (~> 2.2)
rspec-benchmark (~> 0.6.0)
rspec-parameterized (~> 1.0, >= 1.0.2)
+
rspec-rails (~> 7.1.0)
rspec-retry (~> 0.6.2)
rspec_junit_formatter
rspec_profiling (~> 0.0.9)
···
ruby-magic (~> 0.6)
ruby-progressbar (~> 1.10)
ruby-saml (~> 1.18)
+
rubyzip (~> 2.4.0)
rugged (~> 1.6)
sanitize (~> 6.0.2)
sd_notify (~> 0.1.0)
···
valid_email (~> 0.1)
validates_hostname (~> 1.0.13)
version_sorter (~> 2.3)
+
view_component (~> 3.23.2)
vite_rails (~> 3.0.17)
vite_ruby (~> 3.9.0)
vmstat (~> 2.3.0)
···
yard (~> 0.9)
BUNDLED WITH
+
2.6.9
+89 -83
pkgs/by-name/gi/gitlab/rubyEnv/gemset.nix
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "01jh5b1wh9gvgrkl2bgc93pimc0ncjbi5vsadgxxp9a8d4s9fb31";
type = "gem";
};
-
version = "2.23.1";
};
atlassian-jwt = {
dependencies = [ "jwt" ];
···
groups = [ "default" ];
platforms = [ ];
source = {
-
path = "${src}/vendor/gems/attr_encrypted";
-
type = "path";
};
-
version = "3.2.4";
};
attr_required = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "09kb3k5vpymg846gajc5d3wznww63yiv3ygdf4v42d4pf4wpbr1i";
type = "gem";
};
-
version = "1.41.0";
};
aws-sdk-core = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0xwcimg5i93ansmmww7ap8k6xxyijkxa8p896bxj9kc7cw8hkhyq";
type = "gem";
};
-
version = "3.223.0";
};
aws-sdk-kms = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1ix5g1qnp7m0f8jk0bx0b5csx8p7zrxhnvkqc7jsyp9a3c4vnpky";
type = "gem";
};
-
version = "1.185.0";
};
aws-sigv4 = {
dependencies = [ "aws-eventstream" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0mdgj9yw1hmx3xh2qxyjc31y8igmxzd9h0c245ay2zkz76pl4k5c";
type = "gem";
};
-
version = "1.18.4";
};
browser = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "12gacycw1adsdjp14pm43619c6lcdaddhgbdizy7gnzmnjhwh0im";
type = "gem";
};
-
version = "7.2.0";
};
bundler-checksum = {
dependencies = [ ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0zbsjj1bgwmsiqiw6x5fzbzp25xc10c02s37ggl2635ha0qzn05q";
type = "gem";
};
-
version = "1.0.0";
};
devise = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "19xaz5qmw0kg1rdsjh13vk7674bpcmjy6cnddx1cvl80vgkvjr22";
type = "gem";
};
-
version = "3.4.3";
};
digest-crc = {
dependencies = [ "rake" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1mls9g490k63rdmjc9shqshqzznfn1y21wawkxrwp2vvbk13jwqm";
type = "gem";
};
-
version = "2.12.2";
};
faraday-follow_redirects = {
dependencies = [ "faraday" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0kvv1idqscqh03wp6xcb5mi03j5hksbnn8dadcwpv2izm0srfv8r";
type = "gem";
};
-
version = "17.8.4";
};
gitlab = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1bshayyh9pb2rgb9qc82dc9fr1xkf4kxj10rd0lkjqxnbh7ppsxi";
type = "gem";
};
-
version = "1.12.0";
};
gitlab-crystalball = {
-
dependencies = [ "git" ];
groups = [
"development"
"test"
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "16mlrsd4lyvp9faqrnd7nmrl485wzrj2vp6y72x7f8wmsmqpivf4";
type = "gem";
};
-
version = "0.7.2";
};
gitlab-dangerfiles = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1cpiznkzlvsbanfcvnqdf0lxrzjd3i592d0j766xmr55mkc1jsr9";
type = "gem";
};
-
version = "4.9.1";
};
gitlab-duo-workflow-service-client = {
dependencies = [ "grpc" ];
···
path = "${src}/vendor/gems/gitlab-duo-workflow-service-client";
type = "path";
};
-
version = "0.1";
};
gitlab-experiment = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0rh0bij1nk0c6agqg39p5qwhc93fdgriwqwnshgrkn66kwzs7ppk";
type = "gem";
};
-
version = "0.0.30";
};
gitlab-housekeeper = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "075fasc3mv2l87l34cw5pw1vyf2ad254gsa9jpl4cqv3rx6hbfgj";
type = "gem";
};
-
version = "17.11.2";
};
gitlab-labkit = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1gip6bgsh6b284sjlz24ljydshsa9p5ikizwrmb82gnsc46dcsmk";
type = "gem";
};
-
version = "0.26.1";
};
gitlab-security_report_schemas = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1afriizkvwwcyh0s0j1x9d9045pn4f767gpj5q49hicsqz8flq58";
type = "gem";
};
-
version = "3.25.7";
};
googleapis-common-protos = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "152nfvcnj1i1gsphhs7mhxzd0wa9pjdjb0xhgb2bry16ag57djxf";
type = "gem";
};
-
version = "1.19.0";
};
googleauth = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "11ink0ayf14qgs3msn5a7dpg49vm3ck2415r64nfk1i8xv286hsz";
type = "gem";
};
-
version = "1.63.0";
};
grpc-google-iam-v1 = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0v7s60abgwkahkqi4lf68hmz3j69jli3q25jsf9h1kvijif2lrbq";
type = "gem";
};
-
version = "0.22.0";
};
httpclient = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "09645h5an19zc1i7wlmixszj8xxqb2zc8qlf8dmx39bxpas1l24b";
type = "gem";
};
-
version = "1.6.0";
};
jira-ruby = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "09m8m65iyk8d1y0g52srl7994c80f8ai33z8flbzhsjqr2wy17rh";
type = "gem";
};
-
version = "1.11.5";
};
letter_opener = {
dependencies = [ "launchy" ];
···
"danger"
"default"
"development"
"test"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "05s008w9vy7is3njblmavrbdzyrwwc1fsziffdr58w9pwqj8sqfx";
type = "gem";
};
-
version = "1.6.6";
};
lograge = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "07pfa5kgl7k2hxlzzn89qna6bmiyrxlchgbzi0885frsi08agrk1";
type = "gem";
};
-
version = "2.24.0";
};
lookbook = {
dependencies = [
···
dependencies = [
"faraday"
"jwt"
"multi_xml"
"rack"
"snaky_hash"
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1yzpaghh8kwzgmvmrlbzf36ks5s2hf34rayzw081dp2jrzprs7xj";
type = "gem";
};
-
version = "2.0.9";
};
observer = {
groups = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0z1xw7xm7xkxnslhxqvfzvv5f1q1cl40niwvaxny2cg3fkcvw9kz";
type = "gem";
};
-
version = "3.16.10";
};
oj-introspect = {
dependencies = [ "oj" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1vy7sjs2pgz4i96v5yk9b7aafbffnvq7nn419fgvw55qlavsnsyq";
type = "gem";
};
-
version = "1.26.3";
};
parser = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0120712ar9cmjgyqrihf36pcslx8m73gp0l86dfw8yvn8gs9xzr0";
type = "gem";
};
-
version = "1.2.9";
};
pry = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1wl9q4fl8gvhwdpfxghx6jdqi4508287pcgiwi96sdbzmdfbglcl";
type = "gem";
};
-
version = "6.5.0";
};
pyu-ruby-sasl = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1pchwrkr0994v7mh054lcp0na3bk3mj2sk0dc33bn6bhxrnirj1a";
type = "gem";
};
-
version = "4.5.1";
};
rqrcode = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1ycjggcmzbgrfjk04v26b43c3fj5jq2qic911qk7585wvav2qaxd";
type = "gem";
};
-
version = "7.0.1";
};
rspec-retry = {
dependencies = [ "rspec-core" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "17z0hi70s201gxw251hgv4r9zmfky2jlmp3pwma7hixsfpkx6gay";
type = "gem";
};
-
version = "0.23.15";
};
ruby-lsp-rails = {
dependencies = [ "ruby-lsp" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1h2rnylicx9cw2agrxzgxcr0bl2ac8iy99sz7w657hbfrpsyv0p9";
type = "gem";
};
-
version = "0.1.22";
};
ruby-magic = {
dependencies = [ "mini_portile2" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0grps9197qyxakbpw02pda59v45lfgbgiyw48i0mq9f2bn9y6mrz";
type = "gem";
};
-
version = "2.3.2";
};
rugged = {
groups = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "1q5nbszbxz566yzyiv0a4lvfk56q89k0lk4mqp6wyddrc2nz88c8";
type = "gem";
};
-
version = "4.27.0";
};
semver_dialects = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0mkc1fxz4anv7fcq9jn26dc5ppwriand778f9dklzrpgq9pga8py";
type = "gem";
};
-
version = "0.54.2";
};
solargraph-rspec = {
dependencies = [ "solargraph" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "104s7p4zp5yvf0bvbwd9mqmnkgz2z89h4hbvxi8pzd8d08c9a03b";
type = "gem";
};
-
version = "1.1.0";
};
version_sorter = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "0p6z21kqz05966l77rfj7hdmhb6drld7qaxdbx4qawwylay7fnkz";
type = "gem";
};
-
version = "3.21.0";
};
virtus = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
-
sha256 = "13hrfja9as50ymbzsmlqsnv3ijirnf6mini21y1qq04793y26g2p";
type = "gem";
};
-
version = "3.25.0";
};
webrick = {
groups = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0xs3qdlm8fj6zksqp5daamc51azwgbrp3b6mbqcxl22qdnn137aq";
type = "gem";
};
+
version = "2.24.0";
};
atlassian-jwt = {
dependencies = [ "jwt" ];
···
groups = [ "default" ];
platforms = [ ];
source = {
+
remotes = [ "https://rubygems.org" ];
+
sha256 = "0lddh6dznfvpic6c9pbb6wgzwd3jyp26abjfvi0fsf3fkqaq0p3y";
+
type = "gem";
};
+
version = "4.2.0";
};
attr_required = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "1bkkx0sz1lkqhzkrpklnalpv2dshvrdi12yq47xmv0nflhgzysmp";
type = "gem";
};
+
version = "1.131.0";
};
aws-sdk-core = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "1kafaaa9a2yh2cia6s2bn3m5jmya43l239j2ncbsndcq925xhjkw";
type = "gem";
};
+
version = "3.225.0";
};
aws-sdk-kms = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0x3ylssjaq9bvsgs89l601x1fywxzi80dc1xc8zgvzigsyk2yqia";
type = "gem";
};
+
version = "1.189.0";
};
aws-sigv4 = {
dependencies = [ "aws-eventstream" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "003xl226y120cbq1n99805jw6w75gcz1gs941yz3h7li3qy3kqha";
type = "gem";
};
+
version = "1.18.6";
};
browser = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0hn5nysivwlzwgwgh3m97kzjgfy8g7nl82b2pahdj0xqnrg91fdl";
type = "gem";
};
+
version = "8.0.8";
};
bundler-checksum = {
dependencies = [ ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0ycwbakxxir8dwh2fwg47hvi05dvp1s20fqr3yh8lbmb5kj3zzn5";
type = "gem";
};
+
version = "1.1.3";
};
devise = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "1qs7drxvyzk3dg22xgblc12lq5kww9hhj7vpn8ay3l42rasllf3r";
type = "gem";
};
+
version = "3.4.4";
};
digest-crc = {
dependencies = [ "rake" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0xbv450qj2bx0qz9l2pjrd3kc057y6bglc3na7a78zby8ssiwlyc";
type = "gem";
};
+
version = "2.13.1";
};
faraday-follow_redirects = {
dependencies = [ "faraday" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "02p7ysnali576bpdivlgnx31h4zwmg7aggx4kwfck51npg2s0rcg";
type = "gem";
};
+
version = "18.1.0.pre.rc1";
};
gitlab = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0d5zrz5vgb8zrnri42awqfvcq9kfzlrc032nprknddpb9iagbsmr";
type = "gem";
};
+
version = "1.17.0";
};
gitlab-crystalball = {
+
dependencies = [
+
"git"
+
"ostruct"
+
];
groups = [
"development"
"test"
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "1a42qg2m7w0qn7as3zrc4v7lrxig532izi7yb2w8rbcwm114fcdx";
type = "gem";
};
+
version = "1.1.0";
};
gitlab-dangerfiles = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "162p00p59rxbhxglanzapl6qckc52q97s6hrf1p0ywnqhpv51h6m";
type = "gem";
};
+
version = "4.9.2";
};
gitlab-duo-workflow-service-client = {
dependencies = [ "grpc" ];
···
path = "${src}/vendor/gems/gitlab-duo-workflow-service-client";
type = "path";
};
+
version = "0.2";
};
gitlab-experiment = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "06rd3q4xznh483aqmg2llaaa946psagrxd6va8g9zm3q3k3fkj4i";
type = "gem";
};
+
version = "0.0.31";
};
gitlab-housekeeper = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0lsz61cr7i3d72i6rxvbfqbq6f5anzbbmhmrmr7mprna4dy93d7q";
type = "gem";
};
+
version = "17.11.3";
};
gitlab-labkit = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0b4908vic675qq1mh1i45vh5z9vdg1ynanxdbdzaazxvjkakdwzd";
type = "gem";
};
+
version = "0.29.1";
};
gitlab-security_report_schemas = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "1dsj349xm6jmd94xix8bgdn5m8jqqk9bsivlm9fll8ifa008ab0h";
type = "gem";
};
+
version = "3.25.8";
};
googleapis-common-protos = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0zyh9pxsw4zwv3iissirwqnx98qzkywqf3bwdrai6zpwph34ndsy";
type = "gem";
};
+
version = "1.20.0";
};
googleauth = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "02gakdhvpl777b41i8cgkrj7gk0jlq4fza9hjksp2r7ryji0vyjn";
type = "gem";
};
+
version = "1.72.0";
};
grpc-google-iam-v1 = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0mbbjr774zxb2wcpbwc93l0i481bxk7ga5hpap76w3q1y9idvh9s";
type = "gem";
};
+
version = "0.23.1";
};
httpclient = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "14xkw4lb6wwvbcwqkf6ds116sridk9c8yz6y3caw07vzpwdvcmn0";
type = "gem";
};
+
version = "1.6.1";
};
jira-ruby = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "18msiw0b3krm9krxrahiladblh6pjpj395wcjjw2fvsimwyy7vk4";
type = "gem";
};
+
version = "1.11.13";
};
letter_opener = {
dependencies = [ "launchy" ];
···
"danger"
"default"
"development"
+
"monorepo"
"test"
];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "00q2zznygpbls8asz5knjvvj2brr3ghmqxgr83xnrdj4rk3xwvhr";
type = "gem";
};
+
version = "1.7.0";
};
lograge = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0dx316q03x6rpdbl610rdaj2vfd5s8fanixk21j4gv3h5f230nk5";
type = "gem";
};
+
version = "2.24.1";
};
lookbook = {
dependencies = [
···
dependencies = [
"faraday"
"jwt"
+
"logger"
"multi_xml"
"rack"
"snaky_hash"
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0hisvj04523xsq0cmaw2lzwjj2pgwvkxfs6c9dfqh8cdb5wjc4wg";
type = "gem";
};
+
version = "2.0.10";
};
observer = {
groups = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "1cajn3ylwhby1x51d9hbchm964qwb5zp63f7sfdm55n85ffn1ara";
type = "gem";
};
+
version = "3.16.11";
};
oj-introspect = {
dependencies = [ "oj" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0c719bfgcszqvk9z47w2p8j2wkz5y35k48ywwas5yxbbh3hm3haa";
type = "gem";
};
+
version = "1.27.0";
};
parser = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0i0l7v26vq8k6wvsfk9fzpswilbg4214d9p9xc87kmswl1kwxm26";
type = "gem";
};
+
version = "1.2.10";
};
pry = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "11xd3207k5rl6bz0qxhcb3zcr941rhx7ig2f19gxxmdk7s3hcp7j";
type = "gem";
};
+
version = "6.6.0";
};
pyu-ruby-sasl = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "18v8if3jix029rr3j8iwisv73facw223353n0h7avl39ibxk6hh3";
type = "gem";
};
+
version = "4.5.2";
};
rqrcode = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0cg3ay2jin7jv20carhx3icv3gnwka0hqcr15zcjy7i1xnmwqpg1";
type = "gem";
};
+
version = "7.1.1";
};
rspec-retry = {
dependencies = [ "rspec-core" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0s97zck9v2c1awk4lbj5ccsnn6p0jp018mrq12fvh5hp00sn3586";
type = "gem";
};
+
version = "0.23.20";
};
ruby-lsp-rails = {
dependencies = [ "ruby-lsp" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "1lv886262vzmjpgcd0759zn86yaidjn1wznnscn75saj4d81bafj";
type = "gem";
};
+
version = "0.1.23";
};
ruby-magic = {
dependencies = [ "mini_portile2" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "05an0wz87vkmqwcwyh5rjiaavydfn5f4q1lixcsqkphzvj7chxw5";
type = "gem";
};
+
version = "2.4.1";
};
rugged = {
groups = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "1zlamvlgszczfx2f2v1b34q0lka15cqj46krwb4ymgl6nlkxznr0";
type = "gem";
};
+
version = "4.32.0";
};
semver_dialects = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "1q40v3xrx8zzcpk84mcb4f80zc49vp98pphlffb5w20sa760a9w4";
type = "gem";
};
+
version = "0.54.4";
};
solargraph-rspec = {
dependencies = [ "solargraph" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0270m29n7mq9yq4xnjzryzr6jxf292ahjn9fzywm2rg3rdz7cr59";
type = "gem";
};
+
version = "1.1.8";
};
version_sorter = {
groups = [ "default" ];
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "0aw962shs2x52dy1vhzkw1qc0b5vxmgaab6lld7hggrqkr5ysbrw";
type = "gem";
};
+
version = "3.23.2";
};
virtus = {
dependencies = [
···
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
+
sha256 = "08v374yrqqhjj3xjzmvwnv3yz21r22kn071yr0i67gmwaf9mv7db";
type = "gem";
};
+
version = "3.25.1";
};
webrick = {
groups = [
+3 -3
pkgs/by-name/ho/home-manager/package.nix
···
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "home-manager";
-
version = "0-unstable-2025-06-13";
src = fetchFromGitHub {
name = "home-manager-source";
owner = "nix-community";
repo = "home-manager";
-
rev = "79dfd9aa295e53773aad45480b44c131da29f35b";
-
hash = "sha256-X3WAS322EsebI4ohJcXhKpiyG1v+7wE4VOiXy1pxM/c=";
};
nativeBuildInputs = [
···
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "home-manager";
+
version = "0-unstable-2025-06-22";
src = fetchFromGitHub {
name = "home-manager-source";
owner = "nix-community";
repo = "home-manager";
+
rev = "7c35504839f915abec86a96435b881ead7eb6a2b";
+
hash = "sha256-6WH0aRFay79r775RuTqUcnoZNm6A4uHxU1sbcNIk63s=";
};
nativeBuildInputs = [
+2 -2
pkgs/by-name/ja/jasmin-compiler/package.nix
···
stdenv.mkDerivation rec {
pname = "jasmin-compiler";
-
version = "2025.02.1";
src = fetchurl {
url = "https://github.com/jasmin-lang/jasmin/releases/download/v${version}/jasmin-compiler-v${version}.tar.bz2";
-
hash = "sha256-7WGEtsTJ4/R+30gzFlYpCvZrZyziZ6gDCemWEFX+5hk=";
};
nativeBuildInputs = with ocamlPackages; [
···
stdenv.mkDerivation rec {
pname = "jasmin-compiler";
+
version = "2025.06.0";
src = fetchurl {
url = "https://github.com/jasmin-lang/jasmin/releases/download/v${version}/jasmin-compiler-v${version}.tar.bz2";
+
hash = "sha256-VjWNvg/aF+omobF8b4YpRwVYM5K/b0GLoe1P/83ilk8=";
};
nativeBuildInputs = with ocamlPackages; [
+25 -19
pkgs/by-name/ka/kaniko/package.nix
···
installShellFiles,
testers,
kaniko,
}:
-
buildGoModule rec {
pname = "kaniko";
-
version = "1.24.0";
src = fetchFromGitHub {
-
owner = "GoogleContainerTools";
repo = "kaniko";
-
rev = "v${version}";
-
hash = "sha256-Y/sdbLcmBxUBU9io1RV/CnbuBN4I334BWUDeBoHFRm8=";
};
vendorHash = null;
···
ldflags = [
"-s"
"-w"
-
"-X github.com/GoogleContainerTools/kaniko/pkg/version.version=${version}"
];
nativeBuildInputs = [ installShellFiles ];
doCheck = false; # requires docker, container-diff (unpackaged yet)
-
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
-
for shell in bash fish zsh; do
-
$out/bin/executor completion $shell > executor.$shell
-
installShellCompletion executor.$shell
-
done
-
'';
-
passthru.tests.version = testers.testVersion {
-
package = kaniko;
-
version = version;
-
command = "${kaniko}/bin/executor version";
-
};
meta = {
description = "Tool to build container images from a Dockerfile, inside a container or Kubernetes cluster";
-
homepage = "https://github.com/GoogleContainerTools/kaniko";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
···
];
mainProgram = "executor";
};
-
}
···
installShellFiles,
testers,
kaniko,
+
versionCheckHook,
}:
+
buildGoModule (finalAttrs: {
pname = "kaniko";
+
version = "1.25.0";
src = fetchFromGitHub {
+
owner = "chainguard-dev";
repo = "kaniko";
+
rev = "v${finalAttrs.version}";
+
hash = "sha256-6WOczDWIbxFH9OLMQ+KirUEwPeiq3vFm3MdQQk9D+po=";
};
vendorHash = null;
···
ldflags = [
"-s"
"-w"
+
"-X github.com/chainguard-dev/kaniko/pkg/version.version=${finalAttrs.version}"
];
+
+
excludedPackages = [ "hack/release_notes" ];
nativeBuildInputs = [ installShellFiles ];
doCheck = false; # requires docker, container-diff (unpackaged yet)
+
postInstall =
+
let
+
inherit (finalAttrs.meta) mainProgram;
+
in
+
lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+
for shell in bash fish zsh; do
+
$out/bin/${mainProgram} completion $shell > ${mainProgram}.$shell
+
installShellCompletion ${mainProgram}.$shell
+
done
+
'';
+
doInstallCheck = true;
+
nativeInstallCheckInputs = [ versionCheckHook ];
+
versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
+
versionCheckProgramArg = "version";
meta = {
description = "Tool to build container images from a Dockerfile, inside a container or Kubernetes cluster";
+
homepage = "https://github.com/chainguard-dev/kaniko";
license = lib.licenses.asl20;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [
···
];
mainProgram = "executor";
};
+
})
+2 -2
pkgs/by-name/mo/monkeysAudio/package.nix
···
}:
stdenv.mkDerivation (finalAttrs: {
-
version = "11.17";
pname = "monkeys-audio";
src = fetchzip {
url = "https://monkeysaudio.com/files/MAC_${builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
-
hash = "sha256-GPuor0A9NsObRr66HUYXCQJmM2EW87FyeMJiwB/K6Vc=";
stripRoot = false;
};
···
}:
stdenv.mkDerivation (finalAttrs: {
+
version = "11.18";
pname = "monkeys-audio";
src = fetchzip {
url = "https://monkeysaudio.com/files/MAC_${builtins.concatStringsSep "" (lib.strings.splitString "." finalAttrs.version)}_SDK.zip";
+
hash = "sha256-RkxnV9b7gzZgRl5YaMwwVkOJwdtEFwyZRvQw/B1CciM=";
stripRoot = false;
};
+2 -2
pkgs/by-name/mu/museum/package.nix
···
buildGoModule rec {
pname = "museum";
-
version = "1.0.10";
src = fetchFromGitHub {
owner = "ente-io";
repo = "ente";
sparseCheckout = [ "server" ];
rev = "photos-v${version}";
-
hash = "sha256-CX12JrKlI7FMizk29LXO5e5i7pmgjzni/RY97020UZg=";
};
vendorHash = "sha256-px4pMqeH73Fe06va4+n6hklIUDMbPmAQNKKRIhwv6ec=";
···
buildGoModule rec {
pname = "museum";
+
version = "1.1.0";
src = fetchFromGitHub {
owner = "ente-io";
repo = "ente";
sparseCheckout = [ "server" ];
rev = "photos-v${version}";
+
hash = "sha256-1LG8JcZxG4zWSQ9qQCRQwuXfL5HY9rOQKK2n5erq/kU=";
};
vendorHash = "sha256-px4pMqeH73Fe06va4+n6hklIUDMbPmAQNKKRIhwv6ec=";
+2 -2
pkgs/by-name/ne/nezha/package.nix
···
let
pname = "nezha";
-
version = "1.12.4";
frontendName = lib.removePrefix "nezha-theme-";
···
owner = "nezhahq";
repo = "nezha";
tag = "v${version}";
-
hash = "sha256-f9zP9koWjP8PPtQhbYx56J1mW8+xKuZCfxgOLw6XGc0=";
};
proxyVendor = true;
···
let
pname = "nezha";
+
version = "1.13.0";
frontendName = lib.removePrefix "nezha-theme-";
···
owner = "nezhahq";
repo = "nezha";
tag = "v${version}";
+
hash = "sha256-lZN9ZH70AzDCtvFnr2dxjXSKhGd/+HvN9hCydlOYpKU=";
};
proxyVendor = true;
+2 -2
pkgs/by-name/no/noto-fonts-color-emoji/package.nix
···
stdenvNoCC.mkDerivation rec {
pname = "noto-fonts-color-emoji";
-
version = "2.047";
src = fetchFromGitHub {
owner = "googlefonts";
repo = "noto-emoji";
rev = "v${version}";
-
hash = "sha256-v1vLXs8peNF6S7iBLViAWQSW042lwIDqAjB270pRPF0=";
};
depsBuildBuild = [
···
stdenvNoCC.mkDerivation rec {
pname = "noto-fonts-color-emoji";
+
version = "2.048";
src = fetchFromGitHub {
owner = "googlefonts";
repo = "noto-emoji";
rev = "v${version}";
+
hash = "sha256-GYBnMpSUDNjAOZtbRPSmbW39TWP5ljEMukQRwq4J9U4=";
};
depsBuildBuild = [
+4 -4
pkgs/by-name/ol/olympus-unwrapped/package.nix
···
phome = "$out/lib/olympus";
# The following variables are to be updated by the update script.
-
version = "25.04.20.01";
-
buildId = "4758"; # IMPORTANT: This line is matched with regex in update.sh.
-
rev = "10e01bf182e51d1fc2b6060622108a1fb98ae7b7";
in
buildDotnetModule {
pname = "olympus-unwrapped";
···
owner = "EverestAPI";
repo = "Olympus";
fetchSubmodules = true; # Required. See upstream's README.
-
hash = "sha256-7Xdd6AdDpHQUmQ3ogEyir/OQwvOcVDMtweE3D/v4uuQ=";
};
nativeBuildInputs = [
···
phome = "$out/lib/olympus";
# The following variables are to be updated by the update script.
+
version = "25.06.17.01";
+
buildId = "4899"; # IMPORTANT: This line is matched with regex in update.sh.
+
rev = "dc90221a4528e92e147de5746a6657d87b1856fa";
in
buildDotnetModule {
pname = "olympus-unwrapped";
···
owner = "EverestAPI";
repo = "Olympus";
fetchSubmodules = true; # Required. See upstream's README.
+
hash = "sha256-s73gIjqxTloYr5gwL9fHPhBh+fq5d1RFp8PeLe6bI84=";
};
nativeBuildInputs = [
-83
pkgs/by-name/om/omnom/0001-fix-minimal-go-version.patch
···
-
Bump the minimal Go version as some features require Go 1.17 and higher to work
-
-
---
-
go.mod | 48 ++++++++++++++++++++++++++++++++++++++----------
-
1 file changed, 38 insertions(+), 10 deletions(-)
-
-
diff --git a/go.mod b/go.mod
-
index 1756ffe..81f7fa2 100644
-
--- a/go.mod
-
+++ b/go.mod
-
@@ -1,31 +1,59 @@
-
module github.com/asciimoo/omnom
-
-
-go 1.15
-
+go 1.17
-
-
require (
-
- github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff // indirect
-
- github.com/bytedance/sonic v1.12.1 // indirect
-
- github.com/gabriel-vasile/mimetype v1.4.5 // indirect
-
github.com/gin-contrib/multitemplate v1.0.1
-
github.com/gin-gonic/contrib v0.0.0-20240508051311-c1c6bf0061b0
-
github.com/gin-gonic/gin v1.10.0
-
+ github.com/spf13/cobra v1.8.1
-
+ github.com/xhit/go-simple-mail/v2 v2.16.0
-
+ golang.org/x/net v0.27.0
-
+ gopkg.in/yaml.v2 v2.4.0
-
+ gorm.io/driver/sqlite v1.5.6
-
+ gorm.io/gorm v1.25.11
-
+)
-
+
-
+require (
-
+ github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff // indirect
-
+ github.com/bytedance/sonic v1.12.1 // indirect
-
+ github.com/bytedance/sonic/loader v0.2.0 // indirect
-
+ github.com/cloudwego/base64x v0.1.4 // indirect
-
+ github.com/cloudwego/iasm v0.2.0 // indirect
-
+ github.com/gabriel-vasile/mimetype v1.4.5 // indirect
-
+ github.com/gin-contrib/sse v0.1.0 // indirect
-
+ github.com/go-playground/locales v0.14.1 // indirect
-
+ github.com/go-playground/universal-translator v0.18.1 // indirect
-
github.com/go-playground/validator/v10 v10.22.0 // indirect
-
github.com/go-test/deep v1.1.1 // indirect
-
github.com/goccy/go-json v0.10.3 // indirect
-
+ github.com/gomodule/redigo v2.0.0+incompatible // indirect
-
+ github.com/google/go-cmp v0.6.0 // indirect
-
github.com/gorilla/context v1.1.2 // indirect
-
+ github.com/gorilla/securecookie v1.1.2 // indirect
-
github.com/gorilla/sessions v1.3.0 // indirect
-
+ github.com/inconshreveable/mousetrap v1.1.0 // indirect
-
+ github.com/jinzhu/inflection v1.0.0 // indirect
-
+ github.com/jinzhu/now v1.1.5 // indirect
-
+ github.com/json-iterator/go v1.1.12 // indirect
-
github.com/klauspost/cpuid/v2 v2.2.8 // indirect
-
github.com/kr/pretty v0.3.0 // indirect
-
+ github.com/leodido/go-urn v1.4.0 // indirect
-
+ github.com/mattn/go-isatty v0.0.20 // indirect
-
+ github.com/mattn/go-sqlite3 v1.14.22 // indirect
-
+ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
-
+ github.com/modern-go/reflect2 v1.0.2 // indirect
-
+ github.com/pelletier/go-toml/v2 v2.2.2 // indirect
-
github.com/rogpeppe/go-internal v1.8.0 // indirect
-
- github.com/spf13/cobra v1.8.1
-
+ github.com/spf13/pflag v1.0.5 // indirect
-
github.com/toorop/go-dkim v0.0.0-20240103092955-90b7d1423f92 // indirect
-
- github.com/xhit/go-simple-mail/v2 v2.16.0
-
+ github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
-
+ github.com/ugorji/go/codec v1.2.12 // indirect
-
golang.org/x/arch v0.9.0 // indirect
-
- golang.org/x/net v0.27.0
-
+ golang.org/x/crypto v0.25.0 // indirect
-
golang.org/x/sys v0.23.0 // indirect
-
+ golang.org/x/text v0.16.0 // indirect
-
google.golang.org/protobuf v1.34.2 // indirect
-
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
-
- gopkg.in/yaml.v2 v2.4.0
-
- gorm.io/driver/sqlite v1.5.6
-
- gorm.io/gorm v1.25.11
-
+ gopkg.in/yaml.v3 v3.0.1 // indirect
-
)
-
--
-
2.45.2
-
···
+12 -5
pkgs/by-name/om/omnom/package.nix
···
fetchFromGitHub,
nix-update-script,
makeWrapper,
# for addons
buildNpmPackage,
···
buildGoModule (finalAttrs: {
pname = "omnom";
-
version = "0.3.0";
src = fetchFromGitHub {
owner = "asciimoo";
repo = "omnom";
tag = "v${finalAttrs.version}";
-
hash = "sha256-2D+hEOlyjCJQKnLBBO1cXeqTS/QUWraPWPtI8pCf9KM=";
fetchSubmodules = true;
};
-
vendorHash = "sha256-dsS5w8JXIwkneWScOFzLSDiXq+clgK+RdYiMw0+FnvY=";
passthru.updateScript = nix-update-script { };
-
-
patches = [ ./0001-fix-minimal-go-version.patch ];
nativeBuildInputs = [ makeWrapper ];
···
nativeBuildInputs = [ zip ];
postBuild = ''
mkdir -p $out
···
cp -r static templates $out/share
cp config.yml_sample $out/share/examples/config.yml
'';
meta = {
description = "Webpage bookmarking and snapshotting service";
···
fetchFromGitHub,
nix-update-script,
makeWrapper,
+
nixosTests,
# for addons
buildNpmPackage,
···
buildGoModule (finalAttrs: {
pname = "omnom";
+
version = "0.4.0";
src = fetchFromGitHub {
owner = "asciimoo";
repo = "omnom";
tag = "v${finalAttrs.version}";
+
hash = "sha256-xspzTRIYUJSdI2Z/FAS2ecLpEEmEVGIwlhjrS5Yxh2c=";
fetchSubmodules = true;
};
+
vendorHash = "sha256-qOl6f83k91K7YNF7lBbL66lXb/XWbGHyXeN7ZTchsI8=";
passthru.updateScript = nix-update-script { };
nativeBuildInputs = [ makeWrapper ];
···
nativeBuildInputs = [ zip ];
+
# Fix path for the `static` directory
+
postConfigure = ''
+
substituteInPlace webpack.config.js \
+
--replace-fail '"..", ".."' '".."'
+
'';
+
postBuild = ''
mkdir -p $out
···
cp -r static templates $out/share
cp config.yml_sample $out/share/examples/config.yml
'';
+
+
passthru.tests = nixosTests.omnom;
meta = {
description = "Webpage bookmarking and snapshotting service";
+16 -2
pkgs/by-name/ou/ouch/package.nix
···
git,
zlib,
zstd,
}:
rustPlatform.buildRustPackage rec {
···
zstd
];
-
buildFeatures = [ "zstd/pkg-config" ];
postInstall = ''
installManPage artifacts/*.1
···
description = "Command-line utility for easily compressing and decompressing files and directories";
homepage = "https://github.com/ouch-org/ouch";
changelog = "https://github.com/ouch-org/ouch/blob/${version}/CHANGELOG.md";
-
license = lib.licenses.mit;
maintainers = with lib.maintainers; [
figsoda
psibi
···
git,
zlib,
zstd,
+
+
# RAR code is under non-free unRAR license
+
# see the meta.license section below for more details
+
enableUnfree ? false,
}:
rustPlatform.buildRustPackage rec {
···
zstd
];
+
buildNoDefaultFeatures = true;
+
buildFeatures =
+
[
+
"use_zlib"
+
"use_zstd_thin"
+
# "bzip3" will be optional in the next version
+
"zstd/pkg-config"
+
]
+
++ lib.optionals enableUnfree [
+
"unrar"
+
];
postInstall = ''
installManPage artifacts/*.1
···
description = "Command-line utility for easily compressing and decompressing files and directories";
homepage = "https://github.com/ouch-org/ouch";
changelog = "https://github.com/ouch-org/ouch/blob/${version}/CHANGELOG.md";
+
license = with lib.licenses; [ mit ] ++ lib.optionals enableUnfree [ unfreeRedistributable ];
maintainers = with lib.maintainers; [
figsoda
psibi
+3 -3
pkgs/by-name/si/sillytavern/package.nix
···
}:
buildNpmPackage (finalAttrs: {
pname = "sillytavern";
-
version = "1.13.0";
src = fetchFromGitHub {
owner = "SillyTavern";
repo = "SillyTavern";
tag = finalAttrs.version;
-
hash = "sha256-HUlypAPadlad12J60Xfa30qE18II6MceVYkMqANWlyI=";
};
-
npmDepsHash = "sha256-IZMwDgazY+6oyuOlE7zdWcDn5D2/8v2mHX9yDBwK+4I=";
nativeBuildInputs = [ makeBinaryWrapper ];
···
}:
buildNpmPackage (finalAttrs: {
pname = "sillytavern";
+
version = "1.13.1";
src = fetchFromGitHub {
owner = "SillyTavern";
repo = "SillyTavern";
tag = finalAttrs.version;
+
hash = "sha256-rWDJBuGzgG34jpsBPdLqIegcOfV3bRyOdulRsMS2mhg=";
};
+
npmDepsHash = "sha256-DyqAaaeSCAdsKXWUo1t4FpUuqu1n4TfZBLg23URuNUM=";
nativeBuildInputs = [ makeBinaryWrapper ];
+2 -2
pkgs/by-name/sn/snapcraft/package.nix
···
python312Packages.buildPythonApplication rec {
pname = "snapcraft";
-
version = "8.9.4";
pyproject = true;
···
owner = "canonical";
repo = "snapcraft";
tag = version;
-
hash = "sha256-iiz+sVncztaCNndU+4YMhxECw7R6ks+25apRnd0WgyM=";
};
patches = [
···
python312Packages.buildPythonApplication rec {
pname = "snapcraft";
+
version = "8.9.5";
pyproject = true;
···
owner = "canonical";
repo = "snapcraft";
tag = version;
+
hash = "sha256-bwk9wK8fIXhhmj4XdtpTzZfzZkAtETpfMleTrbYt6Ww=";
};
patches = [
+3 -3
pkgs/by-name/sn/snx-rs/package.nix
···
}:
rustPlatform.buildRustPackage rec {
pname = "snx-rs";
-
version = "4.4.3";
src = fetchFromGitHub {
owner = "ancwrd1";
repo = "snx-rs";
tag = "v${version}";
-
hash = "sha256-dGK+52sOyJs4P3SfTdjPPSbBgSyVGFHcNw45Jed6aVo=";
};
passthru.updateScript = nix-update-script { };
···
];
useFetchCargoVendor = true;
-
cargoHash = "sha256-9yZ8TSWy+S1sNS4cnJvEi7Ttt8zqF4PkxR5/FzVg4Ds=";
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/snx-rs";
···
}:
rustPlatform.buildRustPackage rec {
pname = "snx-rs";
+
version = "4.4.4";
src = fetchFromGitHub {
owner = "ancwrd1";
repo = "snx-rs";
tag = "v${version}";
+
hash = "sha256-FVrj26pQthy6gY6UWXD4ACvy0/PPLXM0zrGOIjXl07U=";
};
passthru.updateScript = nix-update-script { };
···
];
useFetchCargoVendor = true;
+
cargoHash = "sha256-ZzVTl1IVTAut+7o9QXaPDk8QCemRt2EoYX/Wi0RXJ3U=";
doInstallCheck = true;
versionCheckProgram = "${placeholder "out"}/bin/snx-rs";
+2 -2
pkgs/by-name/st/stevenblack-blocklist/package.nix
···
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "stevenblack-blocklist";
-
version = "3.15.45";
src = fetchFromGitHub {
owner = "StevenBlack";
repo = "hosts";
tag = finalAttrs.version;
-
hash = "sha256-ONPW+AAFSeG808KUyGpvIYrnKrCu9WLoLkrxsaYPD5o=";
};
outputs = [
···
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "stevenblack-blocklist";
+
version = "3.15.48";
src = fetchFromGitHub {
owner = "StevenBlack";
repo = "hosts";
tag = finalAttrs.version;
+
hash = "sha256-nUwtgfOf/JialxNHwTT9JAYZtdGZevVPKLwpLrU8T5A=";
};
outputs = [
+3
pkgs/by-name/ta/task-master-ai/package.nix
···
lib,
buildNpmPackage,
fetchFromGitHub,
nix-update-script,
}:
buildNpmPackage (finalAttrs: {
···
npmDepsHash = "sha256-0usq016nVWxhDx36ijk5O7oN1pkdTu38mgjfBPIBqss=";
dontNpmBuild = true;
passthru.updateScript = nix-update-script { };
···
lib,
buildNpmPackage,
fetchFromGitHub,
+
nodejs,
nix-update-script,
}:
buildNpmPackage (finalAttrs: {
···
npmDepsHash = "sha256-0usq016nVWxhDx36ijk5O7oN1pkdTu38mgjfBPIBqss=";
dontNpmBuild = true;
+
+
makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ nodejs ]}" ];
passthru.updateScript = nix-update-script { };
+3 -3
pkgs/by-name/to/tombi/package.nix
···
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tombi";
-
version = "0.4.9";
src = fetchFromGitHub {
owner = "tombi-toml";
repo = "tombi";
tag = "v${finalAttrs.version}";
-
hash = "sha256-2516aT6zaI5bntjjJ/p/yk0gWW6fzixQx5ESs29aS6Q=";
};
# Tests relies on the presence of network
doCheck = false;
cargoBuildFlags = [ "--package tombi-cli" ];
-
cargoHash = "sha256-cVj0dL9vGVm3WPQ5IA2LDxDLHia5T+pLi6rTQxAqoC4=";
postPatch = ''
substituteInPlace Cargo.toml \
···
rustPlatform.buildRustPackage (finalAttrs: {
pname = "tombi";
+
version = "0.4.13";
src = fetchFromGitHub {
owner = "tombi-toml";
repo = "tombi";
tag = "v${finalAttrs.version}";
+
hash = "sha256-DYr9RtWV2Fs1YGQ5V00eACLerJSsm34mPYdmVWRKXSQ=";
};
# Tests relies on the presence of network
doCheck = false;
cargoBuildFlags = [ "--package tombi-cli" ];
+
cargoHash = "sha256-JyYA/Bu1gcj7s5hxx9LOcrN28Klhz3Qy1SbGoWEiwnA=";
postPatch = ''
substituteInPlace Cargo.toml \
+3 -3
pkgs/by-name/un/uncover/package.nix
···
buildGoModule rec {
pname = "uncover";
-
version = "1.0.10";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "uncover";
tag = "v${version}";
-
hash = "sha256-q8ecgTY2uDo4O+/CqK9aYnYb4oArDIvga9C/tG9IooE=";
};
-
vendorHash = "sha256-Pm3CFHdp0VHZ5tRrjnpXXaIwQFu7EXyVgo/K9OOqHBI=";
subPackages = [ "cmd/uncover" ];
···
buildGoModule rec {
pname = "uncover";
+
version = "1.1.0";
src = fetchFromGitHub {
owner = "projectdiscovery";
repo = "uncover";
tag = "v${version}";
+
hash = "sha256-BRh25lvk3Zut5M6dedLuSET4514R9j0fUHmamw4rp5U=";
};
+
vendorHash = "sha256-6TvPKp/P0v/ZJRGRICp77C/8FHupyr9Hy2+zlYc2HIU=";
subPackages = [ "cmd/uncover" ];
+3 -3
pkgs/by-name/wl/wlr-which-key/package.nix
···
rustPlatform.buildRustPackage rec {
pname = "wlr-which-key";
-
version = "1.1.0";
src = fetchFromGitHub {
owner = "MaxVerevkin";
repo = "wlr-which-key";
rev = "v${version}";
-
hash = "sha256-BEf1qpy0bVPi5nmu3UUiv8k0bJvE5VFB5Zqb5lS0+t4=";
};
useFetchCargoVendor = true;
-
cargoHash = "sha256-409PW1Ya38imGqtrVqOI50yJa49/RjB68yGQZSvyYd0=";
nativeBuildInputs = [
pkg-config
···
rustPlatform.buildRustPackage rec {
pname = "wlr-which-key";
+
version = "1.2.0";
src = fetchFromGitHub {
owner = "MaxVerevkin";
repo = "wlr-which-key";
rev = "v${version}";
+
hash = "sha256-P7DtSTyAfgACEfpnxYXhQ+Rvdw4rg2hFllCN1mEGfJQ=";
};
useFetchCargoVendor = true;
+
cargoHash = "sha256-yH05tpJiEDP0qEhDY3dpf2cxYeJYVOvOQyfcgg2vPQk=";
nativeBuildInputs = [
pkg-config
+2 -2
pkgs/by-name/wo/worldpainter/package.nix
···
}:
stdenv.mkDerivation rec {
pname = "worldpainter";
-
version = "2.24.1";
src = fetchurl {
url = "https://www.worldpainter.net/files/${pname}_${version}.tar.gz";
-
hash = "sha256-I7bf+BKaHSsR08stLtJu+wY5ek8cj+SjRVwu+RwqEq0=";
};
nativeBuildInputs = [
···
}:
stdenv.mkDerivation rec {
pname = "worldpainter";
+
version = "2.24.2";
src = fetchurl {
url = "https://www.worldpainter.net/files/${pname}_${version}.tar.gz";
+
hash = "sha256-tY4K8yNPRrNU4u5rpPy/sPyOh2NhvlbqXbj8WNLVRq4=";
};
nativeBuildInputs = [
+137
pkgs/development/ocaml-modules/dolmen/linol-common-migration.patch
···
···
+
diff --git i/src/lsp/diagnostic.ml w/src/lsp/diagnostic.ml
+
index 149cde11..bd93298a 100644
+
--- i/src/lsp/diagnostic.ml
+
+++ w/src/lsp/diagnostic.ml
+
@@ -1,13 +1,12 @@
+
-
+
(* This file is free software, part of dolmen. See file "LICENSE" for more information *)
+
+
-type t = Lsp.Types.Diagnostic.t
+
+type t = Linol__.Common_.Lsp.Types.Diagnostic.t
+
+
let lsp_pos line character =
+
- Lsp.Types.Position.create ~line ~character
+
+ Linol__.Common_.Lsp.Types.Position.create ~line ~character
+
+
let lsp_range start end_ =
+
- Lsp.Types.Range.create ~start ~end_
+
+ Linol__.Common_.Lsp.Types.Range.create ~start ~end_
+
+
let start_pos = lsp_pos 1 1
+
let start_range = lsp_range start_pos start_pos
+
@@ -23,17 +22,15 @@ let range_of_loc = function
+
(lsp_pos (l.stop_line - 1) l.stop_column)
+
+
let warn ?loc message =
+
- Lsp.Types.Diagnostic.create ()
+
+ Linol__.Common_.Lsp.Types.Diagnostic.create ()
+
~range:(range_of_loc loc)
+
~severity:Warning
+
~source:"dolmenls"
+
~message
+
+
let error ?loc message =
+
- Lsp.Types.Diagnostic.create ()
+
+ Linol__.Common_.Lsp.Types.Diagnostic.create ()
+
~range:(range_of_loc loc)
+
~severity:Error
+
~source:"dolmenls"
+
~message
+
-
+
-
+
diff --git i/src/lsp/main.ml w/src/lsp/main.ml
+
index 8d6fc760..b52dd25c 100644
+
--- i/src/lsp/main.ml
+
+++ w/src/lsp/main.ml
+
@@ -3,7 +3,7 @@
+
+
let run () =
+
let s = new Server.dolmen_lsp_server in
+
- let server = Linol_lwt.Jsonrpc2.create_stdio s in
+
+ let server = Linol_lwt.Jsonrpc2.create_stdio ~env:() s in
+
let task = Linol_lwt.Jsonrpc2.run server in
+
match Linol_lwt.run task with
+
| () -> ()
+
diff --git i/src/lsp/server.ml w/src/lsp/server.ml
+
index e895cc6a..a01ed9fb 100644
+
--- i/src/lsp/server.ml
+
+++ w/src/lsp/server.ml
+
@@ -44,25 +44,28 @@ class dolmen_lsp_server =
+
object(self)
+
inherit Linol_lwt.Jsonrpc2.server
+
+
+ method spawn_query_handler f = Linol_lwt.spawn f
+
+
+
(* one env per document *)
+
- val buffers: (Lsp.Types.DocumentUri.t, State.t) Hashtbl.t = Hashtbl.create 32
+
+ val buffers: (Linol__.Common_.Lsp.Types.DocumentUri.t, State.t) Hashtbl.t = Hashtbl.create 32
+
+
(* A list of include statements of the prelude files *)
+
val mutable prelude = []
+
+
method! config_sync_opts =
+
(* configure how sync happens *)
+
- let change = Lsp.Types.TextDocumentSyncKind.Incremental in
+
- (* Lsp.Types.TextDocumentSyncKind.Full *)
+
- Lsp.Types.TextDocumentSyncOptions.create ~openClose:true ~change
+
- ~save:(Lsp.Types.SaveOptions.create ~includeText:false ())
+
+ let change = Linol__.Common_.Lsp.Types.TextDocumentSyncKind.Incremental in
+
+ (* Linol__.Common_.Lsp.Types.TextDocumentSyncKind.Full *)
+
+ Linol__.Common_.Lsp.Types.TextDocumentSyncOptions.create ~openClose:true ~change
+
+ ~save:(`SaveOptions (Linol__.Common_.Lsp.Types.SaveOptions.create ~includeText:false ()))
+
()
+
+
method private _on_doc
+
~(notify_back:Linol_lwt.Jsonrpc2.notify_back)
+
- (uri:Lsp.Types.DocumentUri.t) (contents:string) =
+
+ (uri:Linol__.Common_.Lsp.Types.DocumentUri.t) (contents:string) =
+
(* TODO: unescape uri/translate it to a correct path ? *)
+
- match Loop.process prelude (preprocess_uri uri) (Some contents) with
+
+ let uri_path = Linol__.Common_.Lsp.Uri.to_path uri in
+
+ match Loop.process prelude (preprocess_uri uri_path) (Some contents) with
+
| Ok state ->
+
let diags = State.get State.diagnostics state in
+
Hashtbl.replace buffers uri state;
+
@@ -79,9 +82,9 @@ class dolmen_lsp_server =
+
self#_on_doc ~notify_back d.uri new_content
+
+
method! on_notification_unhandled
+
- ~notify_back:_ (n:Lsp.Client_notification.t) =
+
+ ~notify_back:_ (n:Linol__.Common_.Lsp.Client_notification.t) =
+
match n with
+
- | Lsp.Client_notification.ChangeConfiguration { settings; } ->
+
+ | Linol__.Common_.Lsp.Client_notification.ChangeConfiguration { settings; } ->
+
begin try
+
prelude <- mk_prelude (parse_settings settings);
+
Linol_lwt.Jsonrpc2.IO.return ()
+
@@ -89,7 +92,7 @@ class dolmen_lsp_server =
+
Linol_lwt.Jsonrpc2.IO.failwith s
+
end
+
| _ ->
+
- Lwt.return ()
+
+ Linol_lwt.Jsonrpc2.IO.return ()
+
+
method on_notif_doc_did_close ~notify_back d =
+
Hashtbl.remove buffers d.uri;
+
diff --git i/src/lsp/state.ml w/src/lsp/state.ml
+
index f3e89640..3f8a36ab 100644
+
--- i/src/lsp/state.ml
+
+++ w/src/lsp/state.ml
+
@@ -45,7 +45,7 @@ let warn ?file:_ ?loc t warn payload =
+
in
+
Format.kfprintf (fun _ ->
+
let msg = Format.flush_str_formatter () in
+
- let d = Diagnostic.warn ~loc msg in
+
+ let d = Diagnostic.warn ~loc (`String msg) in
+
add_diag d t) Format.str_formatter "%a"
+
Dolmen_loop.Report.Warning.print (warn, payload)
+
+
@@ -67,7 +67,7 @@ let error ?file:_ ?loc t err payload =
+
(* Print the error message *)
+
Format.kfprintf (fun _ ->
+
let msg = Format.flush_str_formatter () in
+
- let d = Diagnostic.error ~loc msg in
+
+ let d = Diagnostic.error ~loc (`String msg) in
+
add_diag d t) Format.str_formatter "%a"
+
Dolmen_loop.Report.Error.print (err, payload)
+
-43
pkgs/development/ocaml-modules/dolmen/linol-lwt-6.patch
···
-
diff --git a/src/lsp/main.ml b/src/lsp/main.ml
-
index 8d6fc760..b52dd25c 100644
-
--- a/src/lsp/main.ml
-
+++ b/src/lsp/main.ml
-
@@ -3,7 +3,7 @@
-
-
let run () =
-
let s = new Server.dolmen_lsp_server in
-
- let server = Linol_lwt.Jsonrpc2.create_stdio s in
-
+ let server = Linol_lwt.Jsonrpc2.create_stdio ~env:() s in
-
let task = Linol_lwt.Jsonrpc2.run server in
-
match Linol_lwt.run task with
-
| () -> ()
-
diff --git a/src/lsp/server.ml b/src/lsp/server.ml
-
index e895cc6a..c9a3f237 100644
-
--- a/src/lsp/server.ml
-
+++ b/src/lsp/server.ml
-
@@ -44,6 +44,8 @@ class dolmen_lsp_server =
-
object(self)
-
inherit Linol_lwt.Jsonrpc2.server
-
-
+ method spawn_query_handler _ = ()
-
+
-
(* one env per document *)
-
val buffers: (Lsp.Types.DocumentUri.t, State.t) Hashtbl.t = Hashtbl.create 32
-
-
@@ -55,14 +57,14 @@ class dolmen_lsp_server =
-
let change = Lsp.Types.TextDocumentSyncKind.Incremental in
-
(* Lsp.Types.TextDocumentSyncKind.Full *)
-
Lsp.Types.TextDocumentSyncOptions.create ~openClose:true ~change
-
- ~save:(Lsp.Types.SaveOptions.create ~includeText:false ())
-
+ ~save:(`SaveOptions (Lsp.Types.SaveOptions.create ~includeText:false ()))
-
()
-
-
method private _on_doc
-
~(notify_back:Linol_lwt.Jsonrpc2.notify_back)
-
(uri:Lsp.Types.DocumentUri.t) (contents:string) =
-
(* TODO: unescape uri/translate it to a correct path ? *)
-
- match Loop.process prelude (preprocess_uri uri) (Some contents) with
-
+ match Loop.process prelude (preprocess_uri (Lsp.Types.DocumentUri.to_string uri)) (Some contents) with
-
| Ok state ->
-
let diags = State.get State.diagnostics state in
-
Hashtbl.replace buffers uri state;
···
+3 -3
pkgs/development/ocaml-modules/dolmen/lsp.nix
···
linol,
linol-lwt,
logs,
-
# lsp, # transitive dependency from linol
}:
buildDunePackage {
pname = "dolmen_lsp";
inherit (dolmen) src version;
-
patches = [ ./linol-lwt-6.patch ];
buildInputs = [
dolmen
···
linol
linol-lwt
logs
-
# lsp # transitive dependency from linol
];
meta = dolmen.meta // {
···
linol,
linol-lwt,
logs,
+
lsp,
}:
buildDunePackage {
pname = "dolmen_lsp";
inherit (dolmen) src version;
+
patches = [ ./linol-common-migration.patch ];
buildInputs = [
dolmen
···
linol
linol-lwt
logs
+
lsp
];
meta = dolmen.meta // {
+18 -12
pkgs/development/ocaml-modules/linol/default.nix
···
{
lib,
-
fetchurl,
buildDunePackage,
-
yojson,
logs,
-
lsp,
ppx_yojson_conv_lib,
trace,
}:
buildDunePackage rec {
pname = "linol";
-
version = "0.6";
minimalOCamlVersion = "4.14";
-
src = fetchurl {
-
url = "https://github.com/c-cube/linol/releases/download/v${version}/linol-${version}.tbz";
-
hash = "sha256-MwEisPJdzZN1VRnssotvExNMYOQdffS+Y2B8ZSUDVfo=";
};
propagatedBuildInputs = [
-
yojson
logs
-
(lsp.override { version = "1.18.0"; })
ppx_yojson_conv_lib
trace
];
-
meta = with lib; {
description = "LSP server library";
-
license = licenses.mit;
-
maintainers = [ maintainers.ulrikstrid ];
homepage = "https://github.com/c-cube/linol";
};
}
···
{
lib,
+
fetchFromGitHub,
buildDunePackage,
logs,
ppx_yojson_conv_lib,
trace,
+
uutf,
+
yojson,
}:
buildDunePackage rec {
pname = "linol";
+
version = "0.10";
minimalOCamlVersion = "4.14";
+
src = fetchFromGitHub {
+
owner = "c-cube";
+
repo = "linol";
+
tag = "v${version}";
+
hash = "sha256-G/5nTJd+MxPgNObKW2Hmmwn4HejQ81c3f4oVXjpNSZg=";
};
propagatedBuildInputs = [
logs
ppx_yojson_conv_lib
trace
+
uutf
+
yojson
];
+
meta = {
description = "LSP server library";
homepage = "https://github.com/c-cube/linol";
+
changelog = "https://raw.githubusercontent.com/c-cube/linol/refs/tags/v${version}/CHANGES.md";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [
+
stepbrobd
+
ulrikstrid
+
];
};
}
+21
pkgs/development/ocaml-modules/linol/eio.nix
···
···
+
{
+
buildDunePackage,
+
eio,
+
linol,
+
yojson,
+
}:
+
+
buildDunePackage {
+
pname = "linol-eio";
+
inherit (linol) version src;
+
+
propagatedBuildInputs = [
+
eio
+
linol
+
yojson
+
];
+
+
meta = linol.meta // {
+
description = "LSP server library (with Eio for concurrency)";
+
};
+
}
-2
pkgs/development/ocaml-modules/linol/lwt.nix
···
{
buildDunePackage,
linol,
-
jsonrpc,
lwt,
yojson,
}:
···
propagatedBuildInputs = [
linol
-
jsonrpc
lwt
yojson
];
···
{
buildDunePackage,
linol,
lwt,
yojson,
}:
···
propagatedBuildInputs = [
linol
lwt
yojson
];
+3 -3
pkgs/development/python-modules/influxdb3-python/default.nix
···
buildPythonPackage rec {
pname = "influxdb3-python";
-
version = "0.13.0";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "InfluxCommunity";
repo = "influxdb3-python";
tag = "v${version}";
-
hash = "sha256-QYf1XUmnP0nPo5F1nFwVCw7W2CdUCgp7vJNV+QM4pPE=";
};
postPatch = ''
···
meta = with lib; {
description = "Python module that provides a simple and convenient way to interact with InfluxDB 3.0";
homepage = "https://github.com/InfluxCommunity/influxdb3-python";
-
changelog = "https://github.com/InfluxCommunity/influxdb3-python/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
···
buildPythonPackage rec {
pname = "influxdb3-python";
+
version = "0.14.0";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "InfluxCommunity";
repo = "influxdb3-python";
tag = "v${version}";
+
hash = "sha256-gCLH1MtLYggB3t/+B062w31go5mGf0GELZWhO0DnZy8=";
};
postPatch = ''
···
meta = with lib; {
description = "Python module that provides a simple and convenient way to interact with InfluxDB 3.0";
homepage = "https://github.com/InfluxCommunity/influxdb3-python";
+
changelog = "https://github.com/InfluxCommunity/influxdb3-python/releases/tag/${src.tag}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
+2 -2
pkgs/development/python-modules/itables/default.nix
···
buildPythonPackage rec {
pname = "itables";
-
version = "2.4.0";
# itables has 4 different node packages, each with their own
# package-lock.json, and partially depending on each other.
···
# the source tarball from pypi, which includes the javascript bundle already.
src = fetchPypi {
inherit pname version;
-
hash = "sha256-S5HASUVfqTny+Vu15MYSSrEffCaJuL7UhDOc3eudVWI=";
};
pyproject = true;
···
buildPythonPackage rec {
pname = "itables";
+
version = "2.4.2";
# itables has 4 different node packages, each with their own
# package-lock.json, and partially depending on each other.
···
# the source tarball from pypi, which includes the javascript bundle already.
src = fetchPypi {
inherit pname version;
+
hash = "sha256-1Qbw0SNTea6kTSoE/BZ46nZL266Mq8OBQb8+pdgLK6I=";
};
pyproject = true;
+23 -14
pkgs/development/python-modules/kmapper/default.nix
···
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
-
scikit-learn,
numpy,
scipy,
-
jinja2,
-
pytestCheckHook,
networkx,
-
matplotlib,
-
igraph,
plotly,
-
ipywidgets,
}:
buildPythonPackage rec {
···
build-system = [ setuptools ];
dependencies = [
-
scikit-learn
numpy
scipy
-
jinja2
];
pythonImportsCheck = [ "kmapper" ];
nativeCheckInputs = [
-
pytestCheckHook
-
networkx
-
matplotlib
igraph
-
plotly
ipywidgets
];
-
meta = with lib; {
description = "Python implementation of Mapper algorithm for Topological Data Analysis";
homepage = "https://kepler-mapper.scikit-tda.org/";
-
license = licenses.mit;
maintainers = [ ];
};
}
···
lib,
buildPythonPackage,
fetchFromGitHub,
+
+
# build-system
setuptools,
+
+
# dependencies
+
jinja2,
numpy,
+
scikit-learn,
scipy,
+
+
# tests
+
anywidget,
+
igraph,
+
ipywidgets,
+
matplotlib,
networkx,
plotly,
+
pytestCheckHook,
}:
buildPythonPackage rec {
···
build-system = [ setuptools ];
dependencies = [
+
jinja2
numpy
+
scikit-learn
scipy
];
pythonImportsCheck = [ "kmapper" ];
nativeCheckInputs = [
+
anywidget
igraph
ipywidgets
+
matplotlib
+
networkx
+
plotly
+
pytestCheckHook
];
+
meta = {
description = "Python implementation of Mapper algorithm for Topological Data Analysis";
homepage = "https://kepler-mapper.scikit-tda.org/";
+
changelog = "https://github.com/scikit-tda/kepler-mapper/releases/tag/v${version}";
+
license = lib.licenses.mit;
maintainers = [ ];
};
}
+3 -3
pkgs/development/python-modules/mcstatus/default.nix
···
buildPythonPackage rec {
pname = "mcstatus";
-
version = "12.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "py-mine";
repo = "mcstatus";
tag = "v${version}";
-
hash = "sha256-FSXELbEQYUUu2maWBFb5Fj7Y3zXqwmFQRAu+nNco0lQ=";
};
build-system = [ hatchling ];
···
description = "Python library for checking the status of Minecraft servers";
mainProgram = "mcstatus";
homepage = "https://github.com/py-mine/mcstatus";
-
changelog = "https://github.com/py-mine/mcstatus/releases/tag/v${version}";
license = with lib.licenses; [ asl20 ];
maintainers = with lib.maintainers; [
fab
···
buildPythonPackage rec {
pname = "mcstatus";
+
version = "12.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "py-mine";
repo = "mcstatus";
tag = "v${version}";
+
hash = "sha256-DWIpN7oBbb/F5aER0v0qhcQsDoa/EfizjHgy/BE2P6E=";
};
build-system = [ hatchling ];
···
description = "Python library for checking the status of Minecraft servers";
mainProgram = "mcstatus";
homepage = "https://github.com/py-mine/mcstatus";
+
changelog = "https://github.com/py-mine/mcstatus/releases/tag/${src.tag}";
license = with lib.licenses; [ asl20 ];
maintainers = with lib.maintainers; [
fab
+2 -2
pkgs/development/python-modules/meilisearch/default.nix
···
buildPythonPackage rec {
pname = "meilisearch";
-
version = "0.35";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "meilisearch";
repo = "meilisearch-python";
tag = "v${version}";
-
hash = "sha256-/Y02+XaImJfZj/6+mkUR31LA9HkVXelFdcJok3/Ui+g=";
};
build-system = [ setuptools ];
···
buildPythonPackage rec {
pname = "meilisearch";
+
version = "0.36.0";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "meilisearch";
repo = "meilisearch-python";
tag = "v${version}";
+
hash = "sha256-S6l/nH+UWLgNUOkRVjLptKhWeYrlN1KL8jSfyBHMI3s=";
};
build-system = [ setuptools ];
+22 -5
pkgs/development/python-modules/plotly/default.nix
···
buildPythonPackage rec {
pname = "plotly";
-
version = "6.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "plotly";
repo = "plotly.py";
tag = "v${version}";
-
hash = "sha256-B5wjZTnL/T+zRbPd3tVSekDbYnKBvIdIpXhc3sUvT3E=";
};
postPatch = ''
···
"test_acceptance_named"
];
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
-
# requires local networking
-
"plotly/tests/test_io/test_renderers.py"
# fails to launch kaleido subprocess
-
"plotly/tests/test_optional/test_kaleido"
];
pythonImportsCheck = [ "plotly" ];
···
buildPythonPackage rec {
pname = "plotly";
+
version = "6.1.2";
pyproject = true;
src = fetchFromGitHub {
owner = "plotly";
repo = "plotly.py";
tag = "v${version}";
+
hash = "sha256-+vIq//pDLaaTmRGW+oytho3TfMmLCtuIoHeFenLVcek=";
};
postPatch = ''
···
"test_acceptance_named"
];
+
__darwinAllowLocalNetworking = true;
+
disabledTestPaths = lib.optionals stdenv.hostPlatform.isDarwin [
# fails to launch kaleido subprocess
+
"tests/test_optional/test_kaleido"
+
# numpy2 related error, RecursionError
+
# See: https://github.com/plotly/plotly.py/issues/4852
+
"tests/test_plotly_utils/validators/test_angle_validator.py"
+
"tests/test_plotly_utils/validators/test_any_validator.py"
+
"tests/test_plotly_utils/validators/test_color_validator.py"
+
"tests/test_plotly_utils/validators/test_colorlist_validator.py"
+
"tests/test_plotly_utils/validators/test_colorscale_validator.py"
+
"tests/test_plotly_utils/validators/test_dataarray_validator.py"
+
"tests/test_plotly_utils/validators/test_enumerated_validator.py"
+
"tests/test_plotly_utils/validators/test_fig_deepcopy.py"
+
"tests/test_plotly_utils/validators/test_flaglist_validator.py"
+
"tests/test_plotly_utils/validators/test_infoarray_validator.py"
+
"tests/test_plotly_utils/validators/test_integer_validator.py"
+
"tests/test_plotly_utils/validators/test_number_validator.py"
+
"tests/test_plotly_utils/validators/test_pandas_series_input.py"
+
"tests/test_plotly_utils/validators/test_string_validator.py"
+
"tests/test_plotly_utils/validators/test_xarray_input.py"
];
pythonImportsCheck = [ "plotly" ];
+4 -3
pkgs/development/python-modules/translation-finder/default.nix
···
buildPythonPackage rec {
pname = "translation-finder";
-
version = "2.19";
pyproject = true;
···
owner = "WeblateOrg";
repo = "translation-finder";
tag = version;
-
hash = "sha256-Hc1KxmzlFqCLHSAgFF8cgxH0dTdUnBV/2T2ZkfzVvSw=";
};
build-system = [ setuptools ];
···
meta = with lib; {
description = "Translation file finder for Weblate";
homepage = "https://github.com/WeblateOrg/translation-finder";
-
changelog = "https://github.com/WeblateOrg/translation-finder/blob/${version}/CHANGES.rst";
license = licenses.gpl3Only;
maintainers = with maintainers; [ erictapen ];
};
···
buildPythonPackage rec {
pname = "translation-finder";
+
version = "2.22";
pyproject = true;
···
owner = "WeblateOrg";
repo = "translation-finder";
tag = version;
+
hash = "sha256-1OQCSWsslJVuBjBsasWGMIpt/k8ey4nKLfbIS5LlCw4=";
};
build-system = [ setuptools ];
···
meta = with lib; {
description = "Translation file finder for Weblate";
homepage = "https://github.com/WeblateOrg/translation-finder";
+
changelog = "https://github.com/WeblateOrg/translation-finder/blob/${src.tag}/CHANGES.rst";
license = licenses.gpl3Only;
+
mainProgram = "weblate-discover";
maintainers = with maintainers; [ erictapen ];
};
+2 -1
pkgs/development/ruby-modules/gem-config/default.nix
···
dontBuilt = true;
installPhase = ''
cp -R ext/fast_mmaped_file_rs $out
cp Cargo.lock $out
'';
};
-
hash = "sha256-KVbmDAa9EFwTUTHPF/8ZzycbieMhAuiidiz5rqGIKOo=";
};
nativeBuildInputs = [
···
dontBuilt = true;
installPhase = ''
cp -R ext/fast_mmaped_file_rs $out
+
rm $out/Cargo.lock
cp Cargo.lock $out
'';
};
+
hash = "sha256-mukk+tWWeG62q4GcDzkk8TyxVsDjShz30wEj82cElt4=";
};
nativeBuildInputs = [
+2 -2
pkgs/games/sgt-puzzles/default.nix
···
stdenv.mkDerivation rec {
pname = "sgt-puzzles";
-
version = "20250523.7fa0305";
src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
-
hash = "sha256-knUhiDMF0pchXzCVCntKiXYVJW8HXBoAMH+a9O652bk=";
};
sgt-puzzles-menu = fetchurl {
···
stdenv.mkDerivation rec {
pname = "sgt-puzzles";
+
version = "20250615.b589c5e";
src = fetchurl {
url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
+
hash = "sha256-pasxe+87XQy2pTI1Lrk4zekry1pgJIlwLF7kmGxceKQ=";
};
sgt-puzzles-menu = fetchurl {
+3 -1
pkgs/top-level/all-packages.nix
···
hdf5 = hdf5.override { usev110Api = true; };
};
-
vllm = with python3Packages; toPythonApplication vllm;
vte-gtk4 = vte.override {
gtkVersion = "4";
···
hdf5 = hdf5.override { usev110Api = true; };
};
+
# Temporarily use python 3.12
+
# See: https://github.com/vllm-project/vllm/issues/12083
+
vllm = with python312Packages; toPythonApplication vllm;
vte-gtk4 = vte.override {
gtkVersion = "4";
+2
pkgs/top-level/ocaml-packages.nix
···
linol = callPackage ../development/ocaml-modules/linol { };
linol-lwt = callPackage ../development/ocaml-modules/linol/lwt.nix { };
llvm = callPackage ../development/ocaml-modules/llvm {
···
linol = callPackage ../development/ocaml-modules/linol { };
+
linol-eio = callPackage ../development/ocaml-modules/linol/eio.nix { };
+
linol-lwt = callPackage ../development/ocaml-modules/linol/lwt.nix { };
llvm = callPackage ../development/ocaml-modules/llvm {