Merge master into staging-nixos
This commit is contained in:
@@ -36,7 +36,7 @@ jobs:
|
||||
permission-pull-requests: write
|
||||
permission-workflows: write
|
||||
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
|
||||
@@ -46,7 +46,7 @@ jobs:
|
||||
# https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
||||
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: |
|
||||
|
||||
@@ -52,7 +52,7 @@ jobs:
|
||||
runs-on: ${{ matrix.runner }}
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: .github/actions
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
# Sandbox is disabled on MacOS by default.
|
||||
extra_nix_config: sandbox = true
|
||||
|
||||
- uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
|
||||
- uses: cachix/cachix-action@3ba601ff5bbb07c7220846facfa2cd81eeee15a1 # v16
|
||||
continue-on-error: true
|
||||
with:
|
||||
# The nixpkgs-gha cache should not be trusted or used outside of Nixpkgs and its forks' CI.
|
||||
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
runs-on: ubuntu-slim
|
||||
timeout-minutes: 3
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
path: trusted
|
||||
@@ -75,7 +75,7 @@ jobs:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: .github/actions
|
||||
@@ -87,7 +87,7 @@ jobs:
|
||||
|
||||
- uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31
|
||||
|
||||
- uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
|
||||
- uses: cachix/cachix-action@3ba601ff5bbb07c7220846facfa2cd81eeee15a1 # v16
|
||||
continue-on-error: true
|
||||
with:
|
||||
# The nixpkgs-gha cache should not be trusted or used outside of Nixpkgs and its forks' CI.
|
||||
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
timeout-minutes: 2
|
||||
if: contains(github.event.comment.body, '@NixOS/nixpkgs-merge-bot merge')
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: |
|
||||
|
||||
@@ -43,7 +43,7 @@ jobs:
|
||||
ciPinBumpCommit: ${{ steps.find-pinned-commit.outputs.ciPinBumpCommit }}
|
||||
ciPinBumpCommitShort: ${{ steps.find-pinned-commit.outputs.ciPinBumpCommitShort }}
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
path: trusted
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
ci/supportedVersions.nix
|
||||
|
||||
- name: Check out the PR at the test merge commit
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
ref: ${{ inputs.mergedSha }}
|
||||
@@ -167,7 +167,7 @@ jobs:
|
||||
sudo mkswap /swap
|
||||
sudo swapon /swap
|
||||
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: .github/actions
|
||||
@@ -182,7 +182,7 @@ jobs:
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31
|
||||
|
||||
- uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
|
||||
- uses: cachix/cachix-action@3ba601ff5bbb07c7220846facfa2cd81eeee15a1 # v16
|
||||
continue-on-error: true
|
||||
with:
|
||||
# The nixpkgs-gha cache should not be trusted or used outside of Nixpkgs and its forks' CI.
|
||||
@@ -252,7 +252,7 @@ jobs:
|
||||
statuses: write
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: .github/actions
|
||||
@@ -441,7 +441,7 @@ jobs:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: .github/actions
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: .github/actions
|
||||
@@ -61,7 +61,7 @@ jobs:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: .github/actions
|
||||
@@ -72,7 +72,7 @@ jobs:
|
||||
|
||||
- uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31
|
||||
|
||||
- uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
|
||||
- uses: cachix/cachix-action@3ba601ff5bbb07c7220846facfa2cd81eeee15a1 # v16
|
||||
continue-on-error: true
|
||||
with:
|
||||
# The nixpkgs-gha cache should not be trusted or used outside of Nixpkgs and its forks' CI.
|
||||
@@ -90,7 +90,7 @@ jobs:
|
||||
runs-on: ubuntu-24.04-arm
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: .github/actions
|
||||
@@ -102,7 +102,7 @@ jobs:
|
||||
|
||||
- uses: cachix/install-nix-action@4e002c8ec80594ecd40e759629461e26c8abed15 # v31
|
||||
|
||||
- uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16
|
||||
- uses: cachix/cachix-action@3ba601ff5bbb07c7220846facfa2cd81eeee15a1 # v16
|
||||
continue-on-error: true
|
||||
with:
|
||||
# The nixpkgs-gha cache should not be trusted or used outside of Nixpkgs and its forks' CI.
|
||||
@@ -134,7 +134,7 @@ jobs:
|
||||
runs-on: ubuntu-slim
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
path: trusted
|
||||
|
||||
@@ -25,7 +25,7 @@ jobs:
|
||||
targetSha: ${{ steps.prepare.outputs.targetSha }}
|
||||
systems: ${{ steps.prepare.outputs.systems }}
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: |
|
||||
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
permission-contents: write
|
||||
permission-pull-requests: write
|
||||
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
systems: ${{ steps.prepare.outputs.systems }}
|
||||
touched: ${{ steps.prepare.outputs.touched }}
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout-cone-mode: true # default, for clarity
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
runs-on: ubuntu-slim
|
||||
timeout-minutes: 2
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: |
|
||||
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
permission-pull-requests: write
|
||||
|
||||
- name: Fetch source
|
||||
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout: |
|
||||
@@ -64,7 +64,7 @@ jobs:
|
||||
echo "git-string=$name <$email>" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
|
||||
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
|
||||
with:
|
||||
token: ${{ steps.app-token.outputs.token }}
|
||||
add-paths: maintainers/github-teams.json
|
||||
|
||||
@@ -19,7 +19,7 @@ jobs:
|
||||
push: ${{ steps.files.outputs.push }}
|
||||
targetSha: ${{ steps.prepare.outputs.targetSha }}
|
||||
steps:
|
||||
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
persist-credentials: false
|
||||
sparse-checkout-cone-mode: true # default, for clarity
|
||||
|
||||
@@ -332,13 +332,15 @@ module.exports = async ({ github, context, core, dry }) => {
|
||||
pull_number,
|
||||
per_page: 100,
|
||||
})
|
||||
const commitMessages = prCommits.map((c) => c.commit.message)
|
||||
const commitSubjects = prCommits.map(
|
||||
(c) => c.commit.message.split('\n')[0],
|
||||
)
|
||||
|
||||
// Label new package PRs: "packagename: init at X.Y.Z"
|
||||
// Exclude NixOS module commits like "nixos/timekpr: init at 0.5.8"
|
||||
const newPackagePattern = /(?<!nixos\/\S+): init at\b/
|
||||
const newPackagePattern = /^(?<!nixos\/)\S+: init at\b/
|
||||
const hasNewPackages = changedPaths.attrdiff?.added?.length > 0
|
||||
const commitsIndicateNewPackage = commitMessages.some((msg) =>
|
||||
const commitsIndicateNewPackage = commitSubjects.some((msg) =>
|
||||
newPackagePattern.test(msg),
|
||||
)
|
||||
evalLabels['8.has: package (new)'] =
|
||||
@@ -347,8 +349,9 @@ module.exports = async ({ github, context, core, dry }) => {
|
||||
// Label package update PRs: "packagename: X.Y.Z -> A.B.C"
|
||||
// Matches versions like: 1.2.3, 0-unstable-2024-01-15, 1.3rc1, alpha, unstable
|
||||
// Exclude NixOS module commits like "nixos/ncps: types.str -> types.path"
|
||||
const updatePackagePattern = /(?<!nixos\/\S+): [\w.-]+ (->|→) [\w.-]+/
|
||||
const commitsIndicateUpdate = commitMessages.some((msg) =>
|
||||
const updatePackagePattern =
|
||||
/^(?<!nixos\/)\S+: [\w.-]*\d[\w.-]* (->|→) [\w.-]*\d[\w.-]*$/
|
||||
const commitsIndicateUpdate = commitSubjects.some((msg) =>
|
||||
updatePackagePattern.test(msg),
|
||||
)
|
||||
evalLabels['8.has: package (update)'] = commitsIndicateUpdate
|
||||
|
||||
@@ -47,11 +47,9 @@ You can create a simple environment using a `shell.nix` like this:
|
||||
(with pkgs; [
|
||||
udev
|
||||
alsa-lib
|
||||
])
|
||||
++ (with pkgs.xorg; [
|
||||
libX11
|
||||
libXcursor
|
||||
libXrandr
|
||||
libx11
|
||||
libxcursor
|
||||
libxrandr
|
||||
]);
|
||||
multiPkgs =
|
||||
pkgs:
|
||||
|
||||
@@ -56,7 +56,7 @@ android.section.md
|
||||
astal.section.md
|
||||
beam.section.md
|
||||
chicken.section.md
|
||||
coq.section.md
|
||||
rocq.section.md
|
||||
cosmic.section.md
|
||||
crystal.section.md
|
||||
cuda.section.md
|
||||
|
||||
+62
-78
@@ -1,14 +1,21 @@
|
||||
# Coq and coq packages {#sec-language-coq}
|
||||
# Rocq and rocq packages {#sec-language-rocq}
|
||||
|
||||
## Coq derivation: `coq` {#coq-derivation-coq}
|
||||
Note that "The Rocq Prover" (Rocq for short) is the new name of the
|
||||
proof assistant formerly known as Coq. The `coq` and `coqPackages`
|
||||
derivations currently remain for both older versions of Coq, but also
|
||||
some versions of Rocq during the renaming transition. In the latter
|
||||
case, the `coq` derivation encompasses the compatibility binaries
|
||||
(`coqtop`, `coqc`, etc.) in addition to the `rocq` binary. The packages
|
||||
only in `coqPackages` are the ones which currently still depend on these
|
||||
compatibility binaries.
|
||||
|
||||
The Coq derivation is overridable through the `coq.override overrides`, where overrides is an attribute set which contains the arguments to override. We recommend overriding either of the following:
|
||||
## Rocq derivation: `rocq-core` {#rocq-derivation-rocq}
|
||||
|
||||
* `version` (optional, defaults to the latest version of Coq selected for nixpkgs, see `pkgs/top-level/coq-packages` to witness this choice), which follows the conventions explained in the `coqPackages` section below,
|
||||
* `customOCamlPackages` (optional, defaults to `null`, which lets Coq choose a version automatically), which can be set to any of the ocaml packages attribute of `ocaml-ng` (such as `ocaml-ng.ocamlPackages_4_10` which is the default for Coq 8.11 for example).
|
||||
* `coq-version` (optional, defaults to the short version e.g. "8.10"), is a version number of the form "x.y" that indicates which Coq's version build behavior to mimic when using a source which is not a release. E.g. `coq.override { version = "d370a9d1328a4e1cdb9d02ee032f605a9d94ec7a"; coq-version = "8.10"; }`.
|
||||
The Rocq derivation is overridable through the `rocq-core.override overrides`, where overrides is an attribute set which contains the arguments to override. We recommend overriding either of the following:
|
||||
|
||||
The associated package set can be obtained using `mkCoqPackages coq`, where `coq` is the derivation to use.
|
||||
* `version` (optional, defaults to the latest version of Rocq selected for nixpkgs, see `pkgs/top-level/rocq-packages` to witness this choice), which follows the conventions explained in the `rocqPackages` section below,
|
||||
* `customOCamlPackages` (optional, defaults to `null`, which lets Rocq choose a version automatically), which can be set to any of the ocaml packages attribute of `ocaml-ng` (such as `ocaml-ng.ocamlPackages_4_14` which is the default for Rocq 9.1 for example).
|
||||
* `rocq-version` (optional, defaults to the short version e.g. "9.1"), is a version number of the form "x.y" that indicates which Rocq's version build behavior to mimic when using a source which is not a release. E.g. `rocq-core.override { version = "40be8435e132aab2231a79091f011ebc3e64a753"; rocq-version = "9.1"; }`.
|
||||
|
||||
## Creating custom Coq environments with `coq.withPackages` {#coq-withPackages}
|
||||
|
||||
@@ -29,9 +36,9 @@ coq.withPackages (
|
||||
)
|
||||
```
|
||||
|
||||
## Coq packages attribute sets: `coqPackages` {#coq-packages-attribute-sets-coqpackages}
|
||||
## Rocq packages attribute sets: `rocqPackages` {#rocq-packages-attribute-sets-rocqpackages}
|
||||
|
||||
The recommended way of defining a derivation for a Coq library, is to use the `coqPackages.mkCoqDerivation` function, which is essentially a specialization of `mkDerivation` taking into account most of the specifics of Coq libraries. The following attributes are supported:
|
||||
The recommended way of defining a derivation for a Rocq library, is to use the `rocqPackages.mkRocqDerivation` function, which is essentially a specialization of `mkDerivation` taking into account most of the specifics of Rocq libraries. The following attributes are supported:
|
||||
|
||||
* `pname` (required) is the name of the package,
|
||||
* `version` (optional, defaults to `null`), is the version to fetch and build,
|
||||
@@ -41,108 +48,85 @@ The recommended way of defining a derivation for a Coq library, is to use the `c
|
||||
* if it is a path or a string representing an absolute path (i.e. starting with `"/"`), the provided path is selected as a source, and the `version` attribute of the resulting derivation is set to `"dev"`,
|
||||
* if it is a string of the form `owner:branch` then it tries to download the `branch` of owner `owner` for a project of the same name using the same vcs, and the `version` attribute of the resulting derivation is set to `"dev"`, additionally if the owner is not provided (i.e. if the `owner:` prefix is missing), it defaults to the original owner of the package (see below),
|
||||
* if it is a string of the form `"#N"`, and the domain is github, then it tries to download the current head of the pull request `#N` from github,
|
||||
* `defaultVersion` (optional). Coq libraries may be compatible with some specific versions of Coq only. The `defaultVersion` attribute is used when no `version` is provided (or if `version = null`) to select the version of the library to use by default, depending on the context. This selection will mainly depend on a `coq` version number but also possibly on other packages versions (e.g. `mathcomp`). If its value ends up to be `null`, the package is marked for removal in end-user `coqPackages` attribute set.
|
||||
* `defaultVersion` (optional). Rocq libraries may be compatible with some specific versions of Rocq only. The `defaultVersion` attribute is used when no `version` is provided (or if `version = null`) to select the version of the library to use by default, depending on the context. This selection will mainly depend on a `rocq-core` version number but also possibly on other packages versions (e.g. `mathcomp`). If its value ends up to be `null`, the package is marked for removal in end-user `rocqPackages` attribute set.
|
||||
* `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `hash` attribute (you may put the empty string `""` in order to automatically insert a fake hash, this will trigger an error which will allow you to find the correct hash), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev`, `artifact` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`).
|
||||
* `fetcher` (optional, defaults to a generic fetching mechanism supporting github or gitlab based infrastructures), is a function that takes at least an `owner`, a `repo`, a `rev`, and a `hash` and returns an attribute set with a `version` and `src`.
|
||||
* `repo` (optional, defaults to the value of `pname`),
|
||||
* `owner` (optional, defaults to `"coq-community"`).
|
||||
* `domain` (optional, defaults to `"github.com"`), domains including the strings `"github"` or `"gitlab"` in their names are automatically supported, otherwise, one must change the `fetcher` argument to support them (cf `pkgs/development/coq-modules/heq/default.nix` for an example),
|
||||
* `owner` (optional, defaults to `"rocq-community"`).
|
||||
* `domain` (optional, defaults to `"github.com"`), domains including the strings `"github"` or `"gitlab"` in their names are automatically supported, otherwise, one must change the `fetcher` argument to support them (cf `pkgs/development/rocq-modules/bignums/default.nix` for an example),
|
||||
* `releaseRev` (optional, defaults to `(v: v)`), provides a default mapping from release names to revision hashes/branch names/tags,
|
||||
* `releaseArtifact` (optional, defaults to `(v: null)`), provides a default mapping from release names to artifact names (only works for github artifact for now),
|
||||
* `displayVersion` (optional), provides a way to alter the computation of `name` from `pname`, by explaining how to display version numbers,
|
||||
* `namePrefix` (optional, defaults to `[ "coq" ]`), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`,
|
||||
* `namePrefix` (optional, defaults to `[ "rocq-core" ]`), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`,
|
||||
* `nativeBuildInputs` (optional), is a list of executables that are required to build the current derivation, in addition to the default ones (namely `which`, `dune` and `ocaml` depending on whether `useDune`, `useDuneifVersion` and `mlPlugin` are set).
|
||||
* `extraNativeBuildInputs` (optional, deprecated), an additional list of derivation to add to `nativeBuildInputs`,
|
||||
* `overrideNativeBuildInputs` (optional) replaces the default list of derivation to which `nativeBuildInputs` and `extraNativeBuildInputs` adds extra elements,
|
||||
* `buildInputs` (optional), is a list of libraries and dependencies that are required to build and run the current derivation, in addition to the default one `[ coq ]`,
|
||||
* `buildInputs` (optional), is a list of libraries and dependencies that are required to build and run the current derivation, in addition to the default one `[ rocq-core ]`,
|
||||
* `extraBuildInputs` (optional, deprecated), an additional list of derivation to add to `buildInputs`,
|
||||
* `overrideBuildInputs` (optional) replaces the default list of derivation to which `buildInputs` and `extraBuildInputs` adds extras elements,
|
||||
* `propagatedBuildInputs` (optional) is passed as is to `mkDerivation`, we recommend to use this for Coq libraries and Coq plugin dependencies, as this makes sure the paths of the compiled libraries and plugins will always be added to the build environments of subsequent derivation, which is necessary for Coq packages to work correctly,
|
||||
* `mlPlugin` (optional, defaults to `false`). Some extensions (plugins) might require OCaml and sometimes other OCaml packages. Standard dependencies can be added by setting the current option to `true`. For a finer grain control, the `coq.ocamlPackages` attribute can be used in `nativeBuildInputs`, `buildInputs`, and `propagatedBuildInputs` to depend on the same package set Coq was built against.
|
||||
* `propagatedBuildInputs` (optional) is passed as is to `mkDerivation`, we recommend to use this for Rocq libraries and Rocq plugin dependencies, as this makes sure the paths of the compiled libraries and plugins will always be added to the build environments of subsequent derivation, which is necessary for Rocq packages to work correctly,
|
||||
* `mlPlugin` (optional, defaults to `false`). Some extensions (plugins) might require OCaml and sometimes other OCaml packages. Standard dependencies can be added by setting the current option to `true`. For a finer grain control, the `rocq-core.ocamlPackages` attribute can be used in `nativeBuildInputs`, `buildInputs`, and `propagatedBuildInputs` to depend on the same package set Rocq was built against.
|
||||
* `useDuneifVersion` (optional, default to `(x: false)` uses Dune to build the package if the provided predicate evaluates to true on the version, e.g. `useDuneifVersion = versions.isGe "1.1"` will use dune if the version of the package is greater or equal to `"1.1"`,
|
||||
* `useDune` (optional, defaults to `false`) uses Dune to build the package if set to true, the presence of this attribute overrides the behavior of the previous one.
|
||||
* `opam-name` (optional, defaults to concatenating with a dash separator the components of `namePrefix` and `pname`), name of the Dune package to build.
|
||||
* `enableParallelBuilding` (optional, defaults to `true`), since it is activated by default, we provide a way to disable it.
|
||||
* `extraInstallFlags` (optional), allows to extend `installFlags` which initializes the variable `COQMF_COQLIB` so as to install in the proper subdirectory. Indeed Coq libraries should be installed in `$(out)/lib/coq/${coq.coq-version}/user-contrib/`. Such directories are automatically added to the `$COQPATH` environment variable by the hook defined in the Coq derivation.
|
||||
* `setCOQBIN` (optional, defaults to `true`), by default, the environment variable `$COQBIN` is set to the current Coq's binary, but one can disable this behavior by setting it to `false`,
|
||||
* `extraInstallFlags` (optional), allows to extend `installFlags` which initializes the variables `COQLIBINSTALL` and `COQPLUGININSTALL` so as to install in the proper subdirectory. Indeed Rocq libraries should be installed in `$(out)/lib/coq/${rocq-core.rocq-version}/user-contrib/`. Such directories are automatically added to the `$ROCQPATH` environment variable by the hook defined in the Rocq derivation.
|
||||
* `setROCQBIN` (optional, defaults to `true`), by default, the environment variable `$ROCQBIN` is set to the current Rocq's binary, but one can disable this behavior by setting it to `false`,
|
||||
* `useMelquiondRemake` (optional, default to `null`) is an attribute set, which, if given, overloads the `preConfigurePhases`, `configureFlags`, `buildPhase`, and `installPhase` attributes of the derivation for a specific use in libraries using `remake` as set up by Guillaume Melquiond for `flocq`, `gappalib`, `interval`, and `coquelicot` (see the corresponding derivation for concrete examples of use of this option). For backward compatibility, the attribute `useMelquiondRemake.logpath` must be set to the logical root of the library (otherwise, one can pass `useMelquiondRemake = {}` to activate this without backward compatibility).
|
||||
* `dropAttrs`, `keepAttrs`, `dropDerivationAttrs` are all optional and allow to tune which attribute is added or removed from the final call to `mkDerivation`.
|
||||
|
||||
It also takes other standard `mkDerivation` attributes, they are added as such, except for `meta` which extends an automatically computed `meta` (where the `platform` is the same as `coq` and the homepage is automatically computed).
|
||||
It also takes other standard `mkDerivation` attributes, they are added as such, except for `meta` which extends an automatically computed `meta` (where the `platform` is the same as `rocq-core` and the homepage is automatically computed).
|
||||
|
||||
Here is a simple package example. It is a pure Coq library, thus it depends on Coq. It builds on the Mathematical Components library, thus it also takes some `mathcomp` derivations as `extraBuildInputs`.
|
||||
Here is a simple package example. It is a pure Rocq library, thus it depends on Rocq. It builds on the Mathematical Components library, thus it also takes some `mathcomp` derivations as `extraBuildInputs`.
|
||||
|
||||
```nix
|
||||
{
|
||||
lib,
|
||||
mkCoqDerivation,
|
||||
mkRocqDerivation,
|
||||
version ? null,
|
||||
coq,
|
||||
rocq-core,
|
||||
mathcomp,
|
||||
mathcomp-finmap,
|
||||
mathcomp-bigenough,
|
||||
}:
|
||||
|
||||
mkCoqDerivation {
|
||||
# namePrefix leads to e.g. `name = coq8.11-mathcomp1.11-multinomials-1.5.2`
|
||||
mkRocqDerivation {
|
||||
# namePrefix leads to e.g. `name = rocq-core9.1-mathcomp2.5.0-multinomials-2.4.0`
|
||||
namePrefix = [
|
||||
"coq"
|
||||
"rocq-core"
|
||||
"mathcomp"
|
||||
];
|
||||
pname = "multinomials";
|
||||
owner = "math-comp";
|
||||
inherit version;
|
||||
defaultVersion =
|
||||
let
|
||||
case = rocq: mc: out: {
|
||||
cases = [
|
||||
rocq-core
|
||||
mc
|
||||
];
|
||||
inherit out;
|
||||
};
|
||||
in
|
||||
with lib.versions;
|
||||
lib.switch
|
||||
[ coq.version mathcomp.version ]
|
||||
[ rocq-core.rocq-version mathcomp.version ]
|
||||
[
|
||||
{
|
||||
cases = [
|
||||
(range "8.7" "8.12")
|
||||
(isEq "1.11")
|
||||
];
|
||||
out = "1.5.2";
|
||||
}
|
||||
{
|
||||
cases = [
|
||||
(range "8.7" "8.11")
|
||||
(range "1.8" "1.10")
|
||||
];
|
||||
out = "1.5.0";
|
||||
}
|
||||
{
|
||||
cases = [
|
||||
(range "8.7" "8.10")
|
||||
(range "1.8" "1.10")
|
||||
];
|
||||
out = "1.4";
|
||||
}
|
||||
{
|
||||
cases = [
|
||||
(isEq "8.6")
|
||||
(range "1.6" "1.7")
|
||||
];
|
||||
out = "1.1";
|
||||
}
|
||||
(case (range "8.18" "9.1") (range "2.1.0" "2.5.0") "2.4.0")
|
||||
(case (range "8.17" "9.0") (range "2.1.0" "2.3.0") "2.3.0")
|
||||
]
|
||||
null;
|
||||
release = {
|
||||
"1.5.2".hash = "sha256-mjCx9XKa38Nz9E6wNK7YSqHdJ7YTua5fD3d6J4e7WpU=";
|
||||
"1.5.1".hash = "sha256-Q8tm0y2FQAt2V1kZYkDlHWRia/lTvXAMVjdmzEV11I4=";
|
||||
"1.5.0".hash = "sha256-HIK0f21G69oEW8JG46gSBde/Q2LR3GiBCv680gHbmRg=";
|
||||
"1.5.0".rev = "1.5";
|
||||
"1.4".hash = "sha256-F9g3MSIr3B6UZ3p8QWjz3/Jpw9sudJ+KRlvjiHSO024=";
|
||||
"1.3".hash = "sha256-BPJTlAL0ETHvLMBslE0KFVt3DNoaGuMrHt2SBGyJe1A=";
|
||||
"1.2".hash = "sha256-mHXBXSLYO4BN+jfN50y/+XCx0Qq5g4Ac2Y/qlsbgAdY=";
|
||||
"1.1".hash = "sha256-ejAsMQbB/LtU9j+g160VdGXULrCe9s0gBWzyhKqmCuE=";
|
||||
"1.0".hash = "sha256-tZTOltEBBKWciDxDMs/Ye4Jnq/33CANrHJ4FBMPtq+I=";
|
||||
"2.4.0".sha256 = "sha256-7zfIddRH+Sl4nhEPtS/lMZwRUZI45AVFpcC/UC8Z0Yo=";
|
||||
"2.3.0".sha256 = "sha256-usIcxHOAuN+f/j3WjVbPrjz8Hl9ac8R6kYeAKi3CEts=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
mathcomp.ssreflect
|
||||
mathcomp.boot
|
||||
mathcomp.algebra
|
||||
mathcomp-finmap
|
||||
mathcomp.fingroup
|
||||
mathcomp-bigenough
|
||||
];
|
||||
|
||||
@@ -153,13 +137,13 @@ mkCoqDerivation {
|
||||
}
|
||||
```
|
||||
|
||||
## Three ways of overriding Coq packages {#coq-overriding-packages}
|
||||
## Three ways of overriding Rocq packages {#rocq-overriding-packages}
|
||||
|
||||
There are three distinct ways of changing a Coq package by overriding one of its values: `.override`, `overrideCoqDerivation`, and `.overrideAttrs`. This section explains what sort of values can be overridden with each of these methods.
|
||||
There are three distinct ways of changing a Rocq package by overriding one of its values: `.override`, `overrideRocqDerivation`, and `.overrideAttrs`. This section explains what sort of values can be overridden with each of these methods.
|
||||
|
||||
### `.override` {#coq-override}
|
||||
### `.override` {#rocq-override}
|
||||
|
||||
`.override` lets you change arguments to a Coq derivation. In the case of the `multinomials` package above, `.override` would let you override arguments like `mkCoqDerivation`, `version`, `coq`, `mathcomp`, `mathcom-finmap`, etc.
|
||||
`.override` lets you change arguments to a Rocq derivation. In the case of the `multinomials` package above, `.override` would let you override arguments like `mkRocqDerivation`, `version`, `rocq-core`, `mathcomp`, `mathcom-finmap`, etc.
|
||||
|
||||
For example, assuming you have a special `mathcomp` dependency you want to use, here is how you could override the `mathcomp` dependency:
|
||||
|
||||
@@ -167,35 +151,35 @@ For example, assuming you have a special `mathcomp` dependency you want to use,
|
||||
multinomials.override { mathcomp = my-special-mathcomp; }
|
||||
```
|
||||
|
||||
In Nixpkgs, all Coq derivations take a `version` argument. This can be overridden in order to easily use a different version:
|
||||
In Nixpkgs, all Rocq derivations take a `version` argument. This can be overridden in order to easily use a different version:
|
||||
|
||||
```nix
|
||||
coqPackages.multinomials.override { version = "1.5.1"; }
|
||||
rocqPackages.multinomials.override { version = "1.5.1"; }
|
||||
```
|
||||
|
||||
Refer to [](#coq-packages-attribute-sets-coqpackages) for all the different formats that you can potentially pass to `version`, as well as the restrictions.
|
||||
Refer to [](#rocq-packages-attribute-sets-rocqpackages) for all the different formats that you can potentially pass to `version`, as well as the restrictions.
|
||||
|
||||
### `overrideCoqDerivation` {#coq-overrideCoqDerivation}
|
||||
### `overrideRocqDerivation` {#rocq-overrideRocqDerivation}
|
||||
|
||||
The `overrideCoqDerivation` function lets you easily change arguments to `mkCoqDerivation`. These arguments are described in [](#coq-packages-attribute-sets-coqpackages).
|
||||
The `overrideRocqDerivation` function lets you easily change arguments to `mkRocqDerivation`. These arguments are described in [](#rocq-packages-attribute-sets-rocqpackages).
|
||||
|
||||
For example, here is how you could locally add a new release of the `multinomials` library, and set the `defaultVersion` to use this release:
|
||||
|
||||
```nix
|
||||
coqPackages.lib.overrideCoqDerivation {
|
||||
rocqPackages.lib.overrideRocqDerivation {
|
||||
defaultVersion = "2.0";
|
||||
release."2.0".hash = "sha256-czoP11rtrIM7+OLdMisv2EF7n/IbGuwFxHiPtg3qCNM=";
|
||||
} coqPackages.multinomials
|
||||
} rocqPackages.multinomials
|
||||
```
|
||||
|
||||
### `.overrideAttrs` {#coq-overrideAttrs}
|
||||
### `.overrideAttrs` {#rocq-overrideAttrs}
|
||||
|
||||
`.overrideAttrs` lets you override arguments to the underlying `stdenv.mkDerivation` call. Internally, `mkCoqDerivation` uses `stdenv.mkDerivation` to create derivations for Coq libraries. You can override arguments to `stdenv.mkDerivation` with `.overrideAttrs`.
|
||||
`.overrideAttrs` lets you override arguments to the underlying `stdenv.mkDerivation` call. Internally, `mkRocqDerivation` uses `stdenv.mkDerivation` to create derivations for Rocq libraries. You can override arguments to `stdenv.mkDerivation` with `.overrideAttrs`.
|
||||
|
||||
For instance, here is how you could add some code to be performed in the derivation after installation is complete:
|
||||
|
||||
```nix
|
||||
coqPackages.multinomials.overrideAttrs (oldAttrs: {
|
||||
rocqPackages.multinomials.overrideAttrs (oldAttrs: {
|
||||
postInstall = oldAttrs.postInstall or "" + ''
|
||||
echo "you can do anything you want here"
|
||||
'';
|
||||
@@ -32,7 +32,6 @@ cataclysm-dda.section.md
|
||||
urxvt.section.md
|
||||
vcpkg.section.md
|
||||
weechat.section.md
|
||||
xorg.section.md
|
||||
uv.section.md
|
||||
build-support.md
|
||||
```
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
# X.org {#sec-xorg}
|
||||
|
||||
The Nix expressions for the X.org packages reside in `pkgs/servers/x11/xorg/default.nix`. This file is automatically generated from lists of tarballs in an X.org release. As such, it should not be modified directly; rather, you should modify the lists, the generator script, or the file `pkgs/servers/x11/xorg/overrides.nix`, in which you can override or add to the derivations produced by the generator.
|
||||
|
||||
## Katamari Tarballs {#katamari-tarballs}
|
||||
|
||||
X.org upstream releases used to include [katamari](https://en.wiktionary.org/wiki/%E3%81%8B%E3%81%9F%E3%81%BE%E3%82%8A) releases, which included a holistic recommended version for each tarball, up until 7.7. To create a list of tarballs in a katamari release:
|
||||
|
||||
```ShellSession
|
||||
export release="X11R7.7"
|
||||
export url="mirror://xorg/$release/src/everything/"
|
||||
cat $(PRINT_PATH=1 nix-prefetch-url $url | tail -n 1) \
|
||||
| perl -e 'while (<>) { if (/(href|HREF)="([^"]*.bz2)"/) { print "$ENV{'url'}$2\n"; }; }' \
|
||||
| sort > "tarballs-$release.list"
|
||||
```
|
||||
|
||||
## Individual Tarballs {#individual-tarballs}
|
||||
|
||||
The upstream release process for [X11R7.8](https://x.org/wiki/Releases/7.8/) does not include a planned katamari. Instead, each component of X.org is released as its own tarball. We maintain `pkgs/servers/x11/xorg/tarballs.list` as a list of tarballs for each individual package. This list includes X.org core libraries and protocol descriptions, extra newer X11 interface libraries, like `xorg.libxcb`, and classic utilities which are largely unused but still available if needed, like `xorg.imake`.
|
||||
|
||||
## Generating Nix Expressions {#generating-nix-expressions}
|
||||
|
||||
The generator is invoked as follows:
|
||||
|
||||
```ShellSession
|
||||
cd pkgs/servers/x11/xorg
|
||||
<tarballs.list perl ./generate-expr-from-tarballs.pl
|
||||
```
|
||||
|
||||
For each of the tarballs in the `.list` files, the script downloads it, unpacks it, and searches its `configure.ac` and `*.pc.in` files for dependencies. This information is used to generate `default.nix`. The generator caches downloaded tarballs between runs. Pay close attention to the `NOT FOUND: $NAME` messages at the end of the run, since they may indicate missing dependencies. (Some might be optional dependencies, however.)
|
||||
|
||||
## Overriding the Generator {#overriding-the-generator}
|
||||
|
||||
If the expression for a package requires derivation attributes that the generator cannot figure out automatically (say, `patches` or a `postInstall` hook), you should modify `pkgs/servers/x11/xorg/overrides.nix`.
|
||||
+20
-23
@@ -311,7 +311,12 @@
|
||||
"release-notes.html#sec-nixpkgs-release-26.05-highlights"
|
||||
],
|
||||
"sec-nixpkgs-release-26.05-incompatibilities": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.05-incompatibilities"
|
||||
"release-notes.html#sec-nixpkgs-release-26.05-incompatibilities",
|
||||
"index.html#sec-xorg",
|
||||
"index.html#katamari-tarballs",
|
||||
"index.html#individual-tarballs",
|
||||
"index.html#generating-nix-expressions",
|
||||
"index.html#overriding-the-generator"
|
||||
],
|
||||
"sec-nixpkgs-release-26.05-lib": [
|
||||
"release-notes.html#sec-nixpkgs-release-26.05-lib"
|
||||
@@ -2933,25 +2938,32 @@
|
||||
"sec-chicken-override-scope": [
|
||||
"index.html#sec-chicken-override-scope"
|
||||
],
|
||||
"sec-language-coq": [
|
||||
"sec-language-rocq": [
|
||||
"index.html#sec-language-rocq",
|
||||
"index.html#sec-language-coq"
|
||||
],
|
||||
"coq-derivation-coq": [
|
||||
"rocq-derivation-rocq": [
|
||||
"index.html#rocq-derivation-rocq",
|
||||
"index.html#coq-derivation-coq"
|
||||
],
|
||||
"coq-packages-attribute-sets-coqpackages": [
|
||||
"rocq-packages-attribute-sets-rocqpackages": [
|
||||
"index.html#rocq-packages-attribute-sets-rocqpackages",
|
||||
"index.html#coq-packages-attribute-sets-coqpackages"
|
||||
],
|
||||
"coq-overriding-packages": [
|
||||
"rocq-overriding-packages": [
|
||||
"index.html#rocq-overriding-packages",
|
||||
"index.html#coq-overriding-packages"
|
||||
],
|
||||
"coq-override": [
|
||||
"rocq-override": [
|
||||
"index.html#rocq-override",
|
||||
"index.html#coq-override"
|
||||
],
|
||||
"coq-overrideCoqDerivation": [
|
||||
"rocq-overrideRocqDerivation": [
|
||||
"index.html#rocq-overrideRocqDerivation",
|
||||
"index.html#coq-overrideCoqDerivation"
|
||||
],
|
||||
"coq-overrideAttrs": [
|
||||
"rocq-overrideAttrs": [
|
||||
"index.html#rocq-overrideAttrs",
|
||||
"index.html#coq-overrideAttrs"
|
||||
],
|
||||
"crystal": [
|
||||
@@ -4495,21 +4507,6 @@
|
||||
"sec-weechat": [
|
||||
"index.html#sec-weechat"
|
||||
],
|
||||
"sec-xorg": [
|
||||
"index.html#sec-xorg"
|
||||
],
|
||||
"katamari-tarballs": [
|
||||
"index.html#katamari-tarballs"
|
||||
],
|
||||
"individual-tarballs": [
|
||||
"index.html#individual-tarballs"
|
||||
],
|
||||
"generating-nix-expressions": [
|
||||
"index.html#generating-nix-expressions"
|
||||
],
|
||||
"overriding-the-generator": [
|
||||
"index.html#overriding-the-generator"
|
||||
],
|
||||
"sec-build-support": [
|
||||
"index.html#sec-build-support"
|
||||
],
|
||||
|
||||
@@ -82,6 +82,8 @@
|
||||
|
||||
- `iroh` has been removed and split up into `iroh-dns-server` and `iroh-relay`.
|
||||
|
||||
- the `xorg` package set has been deprecated and will be removed, packages have moved to the top level.
|
||||
|
||||
- `python3Packages.pygame` has been been renamed to `python3Packages.pygame-original`, the attribute `python3Packages.pygame` will from python 3.14 default to the more actively maintained `python3Packages.pygame-ce`
|
||||
|
||||
- `python3Packages.gradio` has been updated to version 6. See upstream's migration guide at https://www.gradio.app/main/guides/gradio-6-migration-guide.
|
||||
|
||||
@@ -8424,6 +8424,12 @@
|
||||
name = "A Frederick Christensen";
|
||||
keys = [ { fingerprint = "5A49 F4F9 3EDC 21E9 B7CC 4E94 9EEF 4142 5355 8AC4"; } ];
|
||||
};
|
||||
fayash = {
|
||||
email = "akafayash@icloud.com";
|
||||
name = "Fay Ash";
|
||||
github = "yaoshiu";
|
||||
githubId = 56054933;
|
||||
};
|
||||
fazzi = {
|
||||
email = "faaris.ansari@proton.me";
|
||||
github = "fxzzi";
|
||||
@@ -12544,6 +12550,12 @@
|
||||
githubId = 3967312;
|
||||
name = "Jocelyn Thode";
|
||||
};
|
||||
jocimsus = {
|
||||
email = "joe.susatiyo@gmail.com";
|
||||
github = "JocimSus";
|
||||
githubId = 123136424;
|
||||
name = "Joachim Susatiyo";
|
||||
};
|
||||
joedevivo = {
|
||||
github = "joedevivo";
|
||||
githubId = 55951;
|
||||
@@ -16151,6 +16163,12 @@
|
||||
github = "mariuskimmina";
|
||||
githubId = 38843153;
|
||||
};
|
||||
mariusknaust = {
|
||||
name = "Marius Knaust";
|
||||
email = "marius.knaust@gmail.com";
|
||||
github = "mariusknaust";
|
||||
githubId = 17125376;
|
||||
};
|
||||
markasoftware = {
|
||||
name = "Mark Polyakov";
|
||||
email = "mark@markasoftware.com";
|
||||
|
||||
@@ -308,14 +308,14 @@ broken XKB file can lead to the X session crashing at login. Therefore,
|
||||
you're strongly advised to **test your layout before applying it**:
|
||||
|
||||
```ShellSession
|
||||
$ nix-shell -p xorg.xkbcomp
|
||||
$ nix-shell -p xkbcomp
|
||||
$ setxkbmap -I/yourpath us-greek -print | xkbcomp -I/yourpath - $DISPLAY
|
||||
```
|
||||
|
||||
You can inspect the predefined XKB files for examples:
|
||||
|
||||
```ShellSession
|
||||
$ echo "$(nix-build --no-out-link '<nixpkgs>' -A xorg.xkeyboardconfig)/etc/X11/xkb/"
|
||||
$ echo "$(nix-build --no-out-link '<nixpkgs>' -A xkeyboard-config)/etc/X11/xkb/"
|
||||
```
|
||||
|
||||
Once the configuration is applied, and you did a logout/login cycle, the
|
||||
@@ -328,7 +328,7 @@ A layout can have several other components besides `xkb_symbols`, for
|
||||
example we will define new keycodes for some multimedia key and bind
|
||||
these to some symbol.
|
||||
|
||||
Use the *xev* utility from `pkgs.xorg.xev` to find the codes of the keys
|
||||
Use the *xev* utility from `pkgs.xev` to find the codes of the keys
|
||||
of interest, then create a `media-key` file to hold the keycodes
|
||||
definitions
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ let
|
||||
inherit (lib.strings) toJSON;
|
||||
|
||||
cfg = config.systemd;
|
||||
lndir = "${pkgs.buildPackages.xorg.lndir}/bin/lndir";
|
||||
lndir = "${pkgs.buildPackages.lndir}/bin/lndir";
|
||||
systemd = cfg.package;
|
||||
in
|
||||
rec {
|
||||
|
||||
@@ -12,15 +12,15 @@ let
|
||||
{
|
||||
runCommand,
|
||||
gzip,
|
||||
xorg,
|
||||
font-alias,
|
||||
mkfontscale,
|
||||
}:
|
||||
runCommand "X11-fonts"
|
||||
{
|
||||
preferLocalBuild = true;
|
||||
nativeBuildInputs = [
|
||||
gzip
|
||||
xorg.mkfontscale
|
||||
xorg.mkfontdir
|
||||
mkfontscale
|
||||
];
|
||||
}
|
||||
''
|
||||
@@ -34,7 +34,7 @@ let
|
||||
''}
|
||||
mkfontscale
|
||||
mkfontdir
|
||||
cat $(find ${pkgs.xorg.fontalias}/ -name fonts.alias) >fonts.alias
|
||||
cat $(find ${pkgs.font-alias}/ -name fonts.alias) >fonts.alias
|
||||
''
|
||||
) { };
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ in
|
||||
|
||||
# make the device available
|
||||
services.xserver.displayManager.sessionCommands = ''
|
||||
${lib.getBin pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource 1 0
|
||||
${lib.getBin pkgs.xrandr}/bin/xrandr --setprovideroutputsource 1 0
|
||||
'';
|
||||
|
||||
# Those are taken from displaylink-installer.sh and from Arch Linux AUR package.
|
||||
|
||||
@@ -488,7 +488,7 @@ in
|
||||
lib.optional primeEnabled {
|
||||
name = igpuDriver;
|
||||
display = offloadCfg.enable;
|
||||
modules = lib.optional (igpuDriver == "amdgpu") pkgs.xorg.xf86videoamdgpu;
|
||||
modules = lib.optional (igpuDriver == "amdgpu") pkgs.xf86-video-amdgpu;
|
||||
deviceSection = ''
|
||||
BusID "${igpuBusId}"
|
||||
''
|
||||
@@ -538,7 +538,7 @@ in
|
||||
gpuProviderName =
|
||||
if igpuDriver == "amdgpu" then
|
||||
# find the name of the provider if amdgpu
|
||||
"`${lib.getExe pkgs.xorg.xrandr} --listproviders | ${lib.getExe pkgs.gnugrep} -i AMD | ${lib.getExe pkgs.gnused} -n 's/^.*name://p'`"
|
||||
"`${lib.getExe pkgs.xrandr} --listproviders | ${lib.getExe pkgs.gnugrep} -i AMD | ${lib.getExe pkgs.gnused} -n 's/^.*name://p'`"
|
||||
else
|
||||
igpuDriver;
|
||||
providerCmdParams =
|
||||
@@ -548,8 +548,8 @@ in
|
||||
(syncCfg.enable || (reverseSyncCfg.enable && reverseSyncCfg.setupCommands.enable))
|
||||
''
|
||||
# Added by nvidia configuration module for Optimus/PRIME.
|
||||
${lib.getExe pkgs.xorg.xrandr} --setprovideroutputsource ${providerCmdParams}
|
||||
${lib.getExe pkgs.xorg.xrandr} --auto
|
||||
${lib.getExe pkgs.xrandr} --setprovideroutputsource ${providerCmdParams}
|
||||
${lib.getExe pkgs.xrandr} --auto
|
||||
'';
|
||||
|
||||
environment.etc = {
|
||||
|
||||
@@ -237,6 +237,7 @@
|
||||
./programs/htop.nix
|
||||
./programs/i3lock.nix
|
||||
./programs/iay.nix
|
||||
./programs/idescriptor.nix
|
||||
./programs/iftop.nix
|
||||
./programs/iio-hyprland.nix
|
||||
./programs/immersed.nix
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.idescriptor;
|
||||
in
|
||||
{
|
||||
options.programs.idescriptor = {
|
||||
enable = lib.mkEnableOption "iDescriptor, a cross-platform iDevice management tool";
|
||||
|
||||
package = lib.mkPackageOption pkgs "idescriptor" { };
|
||||
|
||||
users = lib.mkOption {
|
||||
type = with lib.types; listOf str;
|
||||
default = [ ];
|
||||
description = "Users to be added to the idevice group.";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
services = {
|
||||
udev.packages = [ cfg.package ];
|
||||
|
||||
usbmuxd.enable = true;
|
||||
};
|
||||
|
||||
users.groups.idevice = {
|
||||
members = cfg.users;
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ amadejkastelic ];
|
||||
}
|
||||
@@ -356,7 +356,7 @@ in
|
||||
"GlobalKnownHostsFile ${builtins.concatStringsSep " " knownHostsFiles}"
|
||||
]
|
||||
++ lib.optional (!config.networking.enableIPv6) "AddressFamily inet"
|
||||
++ lib.optional cfg.setXAuthLocation "XAuthLocation ${pkgs.xorg.xauth}/bin/xauth"
|
||||
++ lib.optional cfg.setXAuthLocation "XAuthLocation ${pkgs.xauth}/bin/xauth"
|
||||
++ lib.optional (cfg.forwardX11 != null) "ForwardX11 ${lib.boolToYesNo cfg.forwardX11}"
|
||||
++ lib.optional (
|
||||
cfg.pubkeyAcceptedKeyTypes != [ ]
|
||||
|
||||
@@ -120,8 +120,6 @@ in
|
||||
|
||||
# UWSM recommends dbus broker for better compatibility
|
||||
services.dbus.implementation = "broker";
|
||||
|
||||
services.displayManager.enable = true;
|
||||
}
|
||||
|
||||
(lib.mkIf (cfg.waylandCompositors != { }) {
|
||||
|
||||
@@ -1446,7 +1446,7 @@ let
|
||||
control = "optional";
|
||||
modulePath = "${package}/lib/security/pam_xauth.so";
|
||||
settings = {
|
||||
xauthpath = "${pkgs.xorg.xauth}/bin/xauth";
|
||||
xauthpath = "${pkgs.xauth}/bin/xauth";
|
||||
systemuser = 99;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -29,10 +29,10 @@ let
|
||||
done
|
||||
|
||||
if test -d ${pkg}/share/xsessions; then
|
||||
${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions
|
||||
${pkgs.buildPackages.lndir}/bin/lndir ${pkg}/share/xsessions $out/share/xsessions
|
||||
fi
|
||||
if test -d ${pkg}/share/wayland-sessions; then
|
||||
${pkgs.buildPackages.xorg.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions
|
||||
${pkgs.buildPackages.lndir}/bin/lndir ${pkg}/share/wayland-sessions $out/share/wayland-sessions
|
||||
fi
|
||||
'') cfg.sessionPackages}
|
||||
'';
|
||||
|
||||
@@ -90,8 +90,8 @@ in
|
||||
system_shell = lib.mkDefault "${pkgs.bash}/bin/bash";
|
||||
initial_path = lib.mkDefault "/run/current-system/sw/bin";
|
||||
x11 = {
|
||||
xauth_path = lib.mkDefault "${pkgs.xorg.xauth}/bin/xauth";
|
||||
xserver_path = lib.mkDefault "${pkgs.xorg.xorgserver}/bin/X";
|
||||
xauth_path = lib.mkDefault "${pkgs.xauth}/bin/xauth";
|
||||
xserver_path = lib.mkDefault "${pkgs.xorg-server}/bin/X";
|
||||
xsessions_path = lib.mkDefault "${desktops}/share/xsessions";
|
||||
xsetup_path = lib.mkDefault config.services.displayManager.sessionData.wrapper;
|
||||
};
|
||||
|
||||
@@ -42,7 +42,7 @@ let
|
||||
term_restore_cursor_cmd = "${pkgs.ncurses}/bin/tput cnorm";
|
||||
waylandsessions = "${dmcfg.sessionData.desktops}/share/wayland-sessions";
|
||||
xsessions = "${dmcfg.sessionData.desktops}/share/xsessions";
|
||||
xauth_cmd = lib.optionalString xcfg.enable "${pkgs.xorg.xauth}/bin/xauth";
|
||||
xauth_cmd = lib.optionalString xcfg.enable "${pkgs.xauth}/bin/xauth";
|
||||
x_cmd = lib.optionalString xcfg.enable xserverWrapper;
|
||||
setup_cmd = dmcfg.sessionData.wrapper;
|
||||
brightness_up_cmd = "${lib.getExe pkgs.brightnessctl} -q -n s +10%";
|
||||
|
||||
@@ -96,10 +96,10 @@ let
|
||||
// optionalAttrs xcfg.enable {
|
||||
X11 = {
|
||||
ServerPath = toString xserverWrapper;
|
||||
XephyrPath = "${pkgs.xorg.xorgserver.out}/bin/Xephyr";
|
||||
XephyrPath = "${pkgs.xorg-server.out}/bin/Xephyr";
|
||||
SessionCommand = toString dmcfg.sessionData.wrapper;
|
||||
SessionDir = "${dmcfg.sessionData.desktops}/share/xsessions";
|
||||
XauthPath = "${pkgs.xorg.xauth}/bin/xauth";
|
||||
XauthPath = "${pkgs.xauth}/bin/xauth";
|
||||
DisplayCommand = toString Xsetup;
|
||||
DisplayStopCommand = toString Xstop;
|
||||
EnableHiDPI = cfg.enableHidpi;
|
||||
|
||||
@@ -437,10 +437,10 @@ in
|
||||
})
|
||||
|
||||
(lib.mkIf (cfg.enable && config.services.xserver.enable) {
|
||||
services.xserver.modules = [ pkgs.xorg.xf86inputlibinput ];
|
||||
services.xserver.modules = [ pkgs.xf86-input-libinput ];
|
||||
|
||||
# for man pages
|
||||
environment.systemPackages = [ pkgs.xorg.xf86inputlibinput ];
|
||||
environment.systemPackages = [ pkgs.xf86-input-libinput ];
|
||||
|
||||
environment.etc =
|
||||
let
|
||||
@@ -448,7 +448,7 @@ in
|
||||
in
|
||||
{
|
||||
${cfgPath} = {
|
||||
source = pkgs.xorg.xf86inputlibinput.out + "/share/" + cfgPath;
|
||||
source = pkgs.xf86-input-libinput.out + "/share/" + cfgPath;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -327,7 +327,7 @@ in
|
||||
echo "Unknown profle: $AUTORANDR_CURRENT_PROFILE"
|
||||
exit 1
|
||||
esac
|
||||
echo "Xft.dpi: $DPI" | ''${pkgs.xorg.xrdb}/bin/xrdb -merge
|
||||
echo "Xft.dpi: $DPI" | ''${pkgs.xrdb}/bin/xrdb -merge
|
||||
''';
|
||||
};
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ in
|
||||
environment.systemPackages = [
|
||||
pkgs.disnix
|
||||
]
|
||||
++ lib.optional cfg.useWebServiceInterface pkgs.DisnixWebService;
|
||||
++ lib.optional cfg.useWebServiceInterface pkgs.disnix-web-service;
|
||||
environment.variables.PATH = lib.optionals cfg.enableProfilePath (
|
||||
map (profileName: "/nix/var/nix/profiles/disnix/${profileName}/bin") cfg.profiles
|
||||
);
|
||||
@@ -63,9 +63,9 @@ in
|
||||
services.tomcat.extraGroups = [ "disnix" ];
|
||||
services.tomcat.javaOpts = "${lib.optionalString cfg.useWebServiceInterface "-Djava.library.path=${pkgs.libmatthew_java}/lib/jni"} ";
|
||||
services.tomcat.sharedLibs =
|
||||
lib.optional cfg.useWebServiceInterface "${pkgs.DisnixWebService}/share/java/DisnixConnection.jar"
|
||||
lib.optional cfg.useWebServiceInterface "${pkgs.disnix-web-service}/share/java/DisnixConnection.jar"
|
||||
++ lib.optional cfg.useWebServiceInterface "${pkgs.dbus_java}/share/java/dbus.jar";
|
||||
services.tomcat.webapps = lib.optional cfg.useWebServiceInterface pkgs.DisnixWebService;
|
||||
services.tomcat.webapps = lib.optional cfg.useWebServiceInterface pkgs.disnix-web-service;
|
||||
|
||||
users.groups.disnix.gid = config.ids.gids.disnix;
|
||||
|
||||
|
||||
@@ -85,7 +85,10 @@ let
|
||||
fi
|
||||
'';
|
||||
provisionConfDir =
|
||||
pkgs.runCommand "grafana-provisioning" { nativeBuildInputs = [ pkgs.xorg.lndir ]; }
|
||||
pkgs.runCommand "grafana-provisioning"
|
||||
{
|
||||
nativeBuildInputs = [ pkgs.lndir ];
|
||||
}
|
||||
''
|
||||
mkdir -p $out/{alerting,datasources,dashboards,plugins}
|
||||
${ln {
|
||||
|
||||
@@ -57,7 +57,7 @@ let
|
||||
|
||||
$SMARTD_FULLMESSAGE
|
||||
EOF
|
||||
} | ${pkgs.xorg.xmessage}/bin/xmessage -file - 2>/dev/null &
|
||||
} | ${pkgs.xmessage}/bin/xmessage -file - 2>/dev/null &
|
||||
''}
|
||||
'';
|
||||
|
||||
|
||||
@@ -337,6 +337,56 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
split = lib.mkOption {
|
||||
type = lib.types.attrsOf (lib.types.listOf lib.types.str);
|
||||
default = { };
|
||||
description = ''
|
||||
Split DNS configuration (map of domains and which DNS server to use for each).
|
||||
See <https://tailscale.com/kb/1054/dns/>.
|
||||
'';
|
||||
example = {
|
||||
"foo.bar.com" = [ "1.1.1.1" ];
|
||||
};
|
||||
};
|
||||
|
||||
extra_records = lib.mkOption {
|
||||
type = lib.types.listOf (
|
||||
lib.types.submodule {
|
||||
options = {
|
||||
name = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "DNS record name.";
|
||||
example = "grafana.tailnet.example.com";
|
||||
};
|
||||
type = lib.mkOption {
|
||||
type = lib.types.enum [
|
||||
"A"
|
||||
"AAAA"
|
||||
];
|
||||
description = "DNS record type.";
|
||||
example = "A";
|
||||
};
|
||||
value = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
description = "DNS record value (IP address).";
|
||||
example = "100.64.0.3";
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
default = [ ];
|
||||
description = ''
|
||||
Extra DNS records to expose to clients.
|
||||
'';
|
||||
example = ''
|
||||
[ {
|
||||
name = "grafana.tailnet.example.com";
|
||||
type = "A";
|
||||
example = "100.64.0.3";
|
||||
} ]
|
||||
'';
|
||||
};
|
||||
|
||||
search_domains = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
|
||||
@@ -355,7 +355,7 @@ in
|
||||
|
||||
StateDirectory = "jibri";
|
||||
|
||||
ExecStart = "${pkgs.xorg.xorgserver}/bin/Xorg -nocursor -noreset +extension RANDR +extension RENDER -config ${pkgs.jibri}/etc/jitsi/jibri/xorg-video-dummy.conf -logfile /dev/null :0";
|
||||
ExecStart = "${pkgs.xorg-server}/bin/Xorg -nocursor -noreset +extension RANDR +extension RENDER -config ${pkgs.jibri}/etc/jitsi/jibri/xorg-video-dummy.conf -logfile /dev/null :0";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -831,7 +831,7 @@ in
|
||||
{ port, addr, ... }:
|
||||
"ListenAddress ${addr}${lib.optionalString (port != null) (":" + toString port)}"
|
||||
) cfg.listenAddresses
|
||||
++ lib.optional cfgc.setXAuthLocation "XAuthLocation ${lib.getExe pkgs.xorg.xauth}"
|
||||
++ lib.optional cfgc.setXAuthLocation "XAuthLocation ${lib.getExe pkgs.xauth}"
|
||||
++ lib.optional cfg.allowSFTP "Subsystem sftp ${cfg.sftpServerExecutable} ${lib.concatStringsSep " " cfg.sftpFlags}"
|
||||
++ [
|
||||
"AuthorizedKeysFile ${toString cfg.authorizedKeysFiles}"
|
||||
|
||||
@@ -165,8 +165,8 @@ in
|
||||
"L+ /usr/local/bin/cp - - - - ${coreutils}/bin/cp"
|
||||
"L+ /usr/local/bin/sed - - - - ${gnused}/bin/sed"
|
||||
"L+ /usr/local/bin/setsid - - - - ${util-linux}/bin/setsid"
|
||||
"L+ /usr/local/bin/xrandr - - - - ${xorg.xrandr}/bin/xrandr"
|
||||
"L+ /usr/local/bin/xmodmap - - - - ${xorg.xmodmap}/bin/xmodmap"
|
||||
"L+ /usr/local/bin/xrandr - - - - ${xrandr}/bin/xrandr"
|
||||
"L+ /usr/local/bin/xmodmap - - - - ${xmodmap}/bin/xmodmap"
|
||||
];
|
||||
|
||||
systemd.services.x2goserver = {
|
||||
|
||||
@@ -187,7 +187,7 @@ derivation.
|
||||
};
|
||||
nativeBuildInputs = with pkgs; [
|
||||
jq
|
||||
xorg.lndir
|
||||
lndir
|
||||
];
|
||||
passAsFile = [ "config" ];
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ in
|
||||
|
||||
extraPackages = mkOption {
|
||||
type = with types; listOf package;
|
||||
default = with pkgs.xorg; [
|
||||
default = with pkgs; [
|
||||
xclock
|
||||
bitmap
|
||||
xlsfonts
|
||||
@@ -30,7 +30,7 @@ in
|
||||
xwud
|
||||
];
|
||||
defaultText = literalExpression ''
|
||||
with pkgs.xorg; [
|
||||
with pkgs; [
|
||||
xclock bitmap xlsfonts xfd xrefresh xload xwininfo xdpyinfo xwd xwud
|
||||
]
|
||||
'';
|
||||
|
||||
@@ -61,7 +61,7 @@ in
|
||||
enlightenment.ephoto
|
||||
enlightenment.rage
|
||||
enlightenment.terminology
|
||||
xorg.xcursorthemes
|
||||
xcursor-themes
|
||||
]) config.environment.enlightenment.excludePackages;
|
||||
|
||||
environment.pathsToLink = [
|
||||
|
||||
@@ -24,7 +24,6 @@ let
|
||||
;
|
||||
|
||||
cfg = config.services.xserver;
|
||||
xorg = pkgs.xorg;
|
||||
|
||||
fontconfig = config.fonts.fontconfig;
|
||||
xresourcesXft = pkgs.writeText "Xresources-Xft" ''
|
||||
@@ -90,11 +89,11 @@ let
|
||||
''}
|
||||
|
||||
# Load X defaults. This should probably be safe on wayland too.
|
||||
${xorg.xrdb}/bin/xrdb -merge ${xresourcesXft}
|
||||
${pkgs.xrdb}/bin/xrdb -merge ${xresourcesXft}
|
||||
if test -e ~/.Xresources; then
|
||||
${xorg.xrdb}/bin/xrdb -merge ~/.Xresources
|
||||
${pkgs.xrdb}/bin/xrdb -merge ~/.Xresources
|
||||
elif test -e ~/.Xdefaults; then
|
||||
${xorg.xrdb}/bin/xrdb -merge ~/.Xdefaults
|
||||
${pkgs.xrdb}/bin/xrdb -merge ~/.Xdefaults
|
||||
fi
|
||||
|
||||
# Import environment variables into the systemd user environment.
|
||||
@@ -147,8 +146,8 @@ in
|
||||
|
||||
xauthBin = mkOption {
|
||||
internal = true;
|
||||
default = "${xorg.xauth}/bin/xauth";
|
||||
defaultText = literalExpression ''"''${pkgs.xorg.xauth}/bin/xauth"'';
|
||||
default = "${pkgs.xauth}/bin/xauth";
|
||||
defaultText = literalExpression ''"''${pkgs.xauth}/bin/xauth"'';
|
||||
description = "Path to the {command}`xauth` program used by display managers.";
|
||||
};
|
||||
|
||||
@@ -236,7 +235,7 @@ in
|
||||
config = {
|
||||
services.displayManager.sessionData.wrapper = xsessionWrapper;
|
||||
|
||||
services.xserver.displayManager.xserverBin = "${xorg.xorgserver.out}/bin/X";
|
||||
services.xserver.displayManager.xserverBin = "${pkgs.xorg-server.out}/bin/X";
|
||||
|
||||
services.xserver.displayManager.importedVariables = [
|
||||
# This is required by user units using the session bus.
|
||||
|
||||
@@ -77,7 +77,7 @@ in
|
||||
|
||||
# Implement xserverArgs via xinit's system-wide xserverrc
|
||||
environment.etc."X11/xinit/xserverrc".source = pkgs.writeShellScript "xserverrc" ''
|
||||
exec ${pkgs.xorg.xorgserver}/bin/X \
|
||||
exec ${pkgs.xorg-server}/bin/X \
|
||||
${toString config.services.xserver.displayManager.xserverArgs} "$@"
|
||||
'';
|
||||
|
||||
@@ -100,7 +100,7 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [ xorg.xinit ];
|
||||
environment.systemPackages = with pkgs; [ xinit ];
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ in
|
||||
~/.config/sx/sxrc file containing session startup commands, see
|
||||
{manpage}`sx(1)`. This is not automatically generated from the desktopManager
|
||||
and windowManager settings. sx doesn't have a way to directly set
|
||||
X server flags, but it can be done by overriding its xorgserver
|
||||
X server flags, but it can be done by overriding its xorg-server
|
||||
dependency.
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -83,7 +83,7 @@ let
|
||||
};
|
||||
};
|
||||
|
||||
xkb_patched = pkgs.xorg.xkeyboardconfig_custom {
|
||||
xkb_patched = pkgs.xkeyboard-config_custom {
|
||||
layouts = config.services.xserver.xkb.extraLayouts;
|
||||
};
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ let
|
||||
Option "TapButton2" "0"
|
||||
Option "TapButton3" "0"
|
||||
'';
|
||||
pkg = pkgs.xorg.xf86inputsynaptics;
|
||||
pkg = pkgs.xf86-input-synaptics;
|
||||
etcFile = "X11/xorg.conf.d/70-synaptics.conf";
|
||||
in
|
||||
{
|
||||
|
||||
@@ -29,11 +29,11 @@
|
||||
description = "Terminal Server";
|
||||
|
||||
path = [
|
||||
pkgs.xorg.xorgserver.out
|
||||
pkgs.xorg-server.out
|
||||
pkgs.gawk
|
||||
pkgs.which
|
||||
pkgs.openssl
|
||||
pkgs.xorg.xauth
|
||||
pkgs.xauth
|
||||
pkgs.net-tools
|
||||
pkgs.shadow
|
||||
pkgs.procps
|
||||
|
||||
@@ -28,12 +28,12 @@ in
|
||||
services.xserver.windowManager.session = singleton {
|
||||
name = "twm";
|
||||
start = ''
|
||||
${pkgs.xorg.twm}/bin/twm &
|
||||
${pkgs.tab-window-manager}/bin/twm &
|
||||
waitPID=$!
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = [ pkgs.xorg.twm ];
|
||||
environment.systemPackages = [ pkgs.tab-window-manager ];
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ let
|
||||
--set XMONAD_GHC "${xmonadEnv}/bin/ghc" \
|
||||
''
|
||||
+ ''
|
||||
--set XMONAD_XMESSAGE "${pkgs.xorg.xmessage}/bin/xmessage"
|
||||
--set XMONAD_XMESSAGE "${pkgs.xmessage}/bin/xmessage"
|
||||
''
|
||||
);
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ in
|
||||
description = "X Font Server";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ pkgs.xorg.xfs ];
|
||||
path = [ pkgs.xfs ];
|
||||
script = "xfs -config ${configFile}";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -12,23 +12,88 @@ let
|
||||
|
||||
# Abbreviations.
|
||||
cfg = config.services.xserver;
|
||||
xorg = pkgs.xorg;
|
||||
|
||||
knownVideoDriverPackages = {
|
||||
inherit (pkgs)
|
||||
xf86-video-amdgpu
|
||||
xf86-video-apm
|
||||
xf86-video-ark
|
||||
xf86-video-ast
|
||||
xf86-video-ati
|
||||
xf86-video-chips
|
||||
xf86-video-cirrus
|
||||
xf86-video-dummy
|
||||
xf86-video-fbdev
|
||||
xf86-video-geode
|
||||
xf86-video-i128
|
||||
xf86-video-i740
|
||||
xf86-video-intel
|
||||
xf86-video-mga
|
||||
xf86-video-neomagic
|
||||
xf86_video_nested
|
||||
xf86-video-nouveau
|
||||
xf86-video-nv
|
||||
xf86-video-omap
|
||||
xf86-video-openchrome
|
||||
xf86-video-qxl
|
||||
xf86-video-r128
|
||||
xf86-video-s3virge
|
||||
xf86-video-savage
|
||||
xf86-video-siliconmotion
|
||||
xf86-video-sis
|
||||
xf86-video-sisusb
|
||||
xf86-video-suncg6
|
||||
xf86-video-sunffb
|
||||
xf86-video-sunleo
|
||||
xf86-video-tdfx
|
||||
xf86-video-trident
|
||||
xf86-video-v4l
|
||||
xf86-video-vbox
|
||||
xf86-video-vesa
|
||||
xf86-video-vmware
|
||||
xf86-video-voodoo
|
||||
;
|
||||
};
|
||||
|
||||
# Map video driver names to driver packages. FIXME: move into card-specific modules.
|
||||
knownVideoDrivers = {
|
||||
videoDrivers =
|
||||
mapAttrs' (name: value: {
|
||||
name = removePrefix "xf86-video-" value.pname;
|
||||
value = {
|
||||
modules = [ value ];
|
||||
};
|
||||
}) knownVideoDriverPackages
|
||||
// videoDriverAliases
|
||||
// videoDriverOverrides;
|
||||
|
||||
videoDriverOverrides = {
|
||||
# Override the driver name of vbox is "vboxvideo".
|
||||
vbox = {
|
||||
driverName = "vboxvideo";
|
||||
modules = [ knownVideoDriverPackages.xf86-video-vbox ];
|
||||
};
|
||||
};
|
||||
|
||||
videoDriverAliases = {
|
||||
# Alias so people can keep using "virtualbox" instead of "vboxvideo".
|
||||
virtualbox = {
|
||||
modules = [ xorg.xf86videovboxvideo ];
|
||||
modules = [ knownVideoDriverPackages.xf86-video-vbox ];
|
||||
driverName = "vboxvideo";
|
||||
};
|
||||
|
||||
# Alias so people can keep using "vboxvideo" instead of "vbox".
|
||||
vboxvideo = {
|
||||
modules = [ knownVideoDriverPackages.xf86-video-vbox ];
|
||||
driverName = "vboxvideo";
|
||||
};
|
||||
|
||||
# Alias so that "radeon" uses the xf86-video-ati driver.
|
||||
radeon = {
|
||||
modules = [ xorg.xf86videoati ];
|
||||
modules = [ knownVideoDriverPackages.xf86-video-ati ];
|
||||
driverName = "ati";
|
||||
};
|
||||
|
||||
# modesetting does not have a xf86videomodesetting package as it is included in xorgserver
|
||||
# modesetting does not have a xf86-video-modesetting package as it is included in xorg-server
|
||||
modesetting = { };
|
||||
};
|
||||
|
||||
@@ -42,8 +107,8 @@ let
|
||||
# old non-fontconfig applications. (Possibly this could be done
|
||||
# better using a fontconfig rule.)
|
||||
[
|
||||
pkgs.xorg.fontadobe100dpi
|
||||
pkgs.xorg.fontadobe75dpi
|
||||
pkgs.font-adobe-100dpi
|
||||
pkgs.font-adobe-75dpi
|
||||
];
|
||||
|
||||
xrandrOptions = {
|
||||
@@ -165,7 +230,7 @@ let
|
||||
# If not running a fancy desktop environment, the cursor is likely set to
|
||||
# the default `cursor.pcf` bitmap font. This is 17px wide, so it's very
|
||||
# small and almost invisible on 4K displays.
|
||||
fontcursormisc_hidpi = pkgs.xorg.fontxfree86type1.overrideAttrs (
|
||||
fontcursormisc_hidpi = pkgs.font-xfree86-type1.overrideAttrs (
|
||||
old:
|
||||
let
|
||||
# The scaling constant is 230/96: the scalable `left_ptr` glyph at
|
||||
@@ -399,19 +464,11 @@ in
|
||||
"nvidia"
|
||||
"amdgpu"
|
||||
];
|
||||
# TODO(@oxij): think how to easily add the rest, like those nvidia things
|
||||
relatedPackages = concatLists (
|
||||
mapAttrsToList (
|
||||
n: v:
|
||||
optional (hasPrefix "xf86video" n) {
|
||||
path = [
|
||||
"xorg"
|
||||
n
|
||||
];
|
||||
title = removePrefix "xf86video" n;
|
||||
}
|
||||
) pkgs.xorg
|
||||
);
|
||||
relatedPackages = mapAttrsToList (name: value: {
|
||||
path = [ name ];
|
||||
title = removePrefix "xf86-video-" value.pname;
|
||||
}) knownVideoDriverPackages;
|
||||
|
||||
description = ''
|
||||
The names of the video drivers the configuration
|
||||
supports. They will be tried in order until one that
|
||||
@@ -777,19 +834,14 @@ in
|
||||
# FIXME: somehow check for unknown driver names.
|
||||
services.xserver.drivers = flip concatMap cfg.videoDrivers (
|
||||
name:
|
||||
let
|
||||
driver = attrByPath [ name ] (
|
||||
if xorg ? ${"xf86video" + name} then { modules = [ xorg.${"xf86video" + name} ]; } else null
|
||||
) knownVideoDrivers;
|
||||
in
|
||||
optional (driver != null) (
|
||||
lib.optional (videoDrivers ? name) (
|
||||
{
|
||||
inherit name;
|
||||
modules = [ ];
|
||||
driverName = name;
|
||||
display = true;
|
||||
}
|
||||
// driver
|
||||
// videoDrivers.${name}
|
||||
)
|
||||
);
|
||||
|
||||
@@ -825,27 +877,27 @@ in
|
||||
cfgPath = "X11/xorg.conf.d/10-evdev.conf";
|
||||
in
|
||||
{
|
||||
${cfgPath}.source = xorg.xf86inputevdev.out + "/share/" + cfgPath;
|
||||
${cfgPath}.source = pkgs.xf86-input-evdev.out + "/share/" + cfgPath;
|
||||
}
|
||||
);
|
||||
|
||||
environment.systemPackages =
|
||||
utils.removePackagesByName [
|
||||
xorg.xorgserver.out
|
||||
xorg.xrandr
|
||||
xorg.xrdb
|
||||
xorg.setxkbmap
|
||||
xorg.iceauth # required for KDE applications (it's called by dcopserver)
|
||||
xorg.xlsclients
|
||||
xorg.xset
|
||||
xorg.xsetroot
|
||||
xorg.xinput
|
||||
xorg.xprop
|
||||
xorg.xauth
|
||||
pkgs.xorg-server.out
|
||||
pkgs.xrandr
|
||||
pkgs.xrdb
|
||||
pkgs.setxkbmap
|
||||
pkgs.iceauth # required for KDE applications (it's called by dcopserver)
|
||||
pkgs.xlsclients
|
||||
pkgs.xset
|
||||
pkgs.xsetroot
|
||||
pkgs.xinput
|
||||
pkgs.xprop
|
||||
pkgs.xauth
|
||||
pkgs.xterm
|
||||
xorg.xf86inputevdev.out # get evdev.4 man page
|
||||
pkgs.xf86-input-evdev.out # get evdev.4 man page
|
||||
] config.services.xserver.excludePackages
|
||||
++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;
|
||||
++ optional (elem "virtualbox" cfg.videoDrivers) pkgs.xrefresh;
|
||||
|
||||
environment.pathsToLink = [ "/share/X11" ];
|
||||
|
||||
@@ -869,8 +921,8 @@ in
|
||||
++ optional cfg.terminateOnReset "-terminate";
|
||||
|
||||
services.xserver.modules = concatLists (catAttrs "modules" cfg.drivers) ++ [
|
||||
xorg.xorgserver.out
|
||||
xorg.xf86inputevdev.out
|
||||
pkgs.xorg-server.out
|
||||
pkgs.xf86-input-evdev.out
|
||||
];
|
||||
|
||||
system.checks = singleton (
|
||||
@@ -995,7 +1047,7 @@ in
|
||||
'';
|
||||
|
||||
fonts.packages = [
|
||||
(if cfg.upscaleDefaultCursor then fontcursormisc_hidpi else pkgs.xorg.fontcursormisc)
|
||||
(if cfg.upscaleDefaultCursor then fontcursormisc_hidpi else pkgs.font-cursor-misc)
|
||||
pkgs.font-misc-misc
|
||||
pkgs.font-alias
|
||||
];
|
||||
|
||||
@@ -214,7 +214,7 @@ in
|
||||
];
|
||||
|
||||
# `xwininfo' is used by the test driver to query open windows.
|
||||
environment.systemPackages = [ pkgs.xorg.xwininfo ];
|
||||
environment.systemPackages = [ pkgs.xwininfo ];
|
||||
|
||||
# Log everything to the serial console.
|
||||
services.journald.extraConfig = ''
|
||||
|
||||
@@ -18,7 +18,6 @@ let
|
||||
types
|
||||
;
|
||||
cfg = config.virtualisation.vmware.guest;
|
||||
xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
@@ -94,7 +93,7 @@ in
|
||||
environment.etc.vmware-tools.source = "${cfg.package}/etc/vmware-tools/*";
|
||||
|
||||
services.xserver = mkIf (!cfg.headless) {
|
||||
modules = optionals pkgs.stdenv.hostPlatform.isx86 [ xf86inputvmmouse ];
|
||||
modules = optionals pkgs.stdenv.hostPlatform.isx86 [ pkgs.xf86-input-vmmouse ];
|
||||
|
||||
config = optionalString (pkgs.stdenv.hostPlatform.isx86) ''
|
||||
Section "InputClass"
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
docbook5
|
||||
libxml2
|
||||
docbook_xsl_ns
|
||||
xorg.lndir
|
||||
lndir
|
||||
documentation-highlighter
|
||||
perlPackages.ConfigIniFiles
|
||||
];
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ let
|
||||
stdenvNoCC
|
||||
texinfo
|
||||
unionfs-fuse
|
||||
xorg.lndir
|
||||
lndir
|
||||
|
||||
# These are used in the configure-from-userdata tests
|
||||
# for EC2. Httpd and valgrind are requested by the
|
||||
|
||||
@@ -740,7 +740,7 @@ let
|
||||
switch-to-configuration-ng
|
||||
texinfo
|
||||
unionfs-fuse
|
||||
xorg.lndir
|
||||
lndir
|
||||
shellcheck-minimal
|
||||
|
||||
# Only the out output is included here, which is what is
|
||||
|
||||
@@ -118,7 +118,7 @@ import ./make-test-python.nix (
|
||||
switch-to-configuration-ng
|
||||
texinfo
|
||||
unionfs-fuse
|
||||
xorg.lndir
|
||||
lndir
|
||||
shellcheck-minimal
|
||||
|
||||
# Only the out output is included here, which is what is
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.kitty
|
||||
pkgs.xorg.xwininfo
|
||||
pkgs.xwininfo
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ makeTest {
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
tigervnc # for Xvnc
|
||||
xorg.xwininfo
|
||||
xwininfo
|
||||
imagemagickBig # for display with working label: support
|
||||
];
|
||||
networking.firewall.allowedTCPPorts = [ 5901 ];
|
||||
|
||||
@@ -19,7 +19,12 @@
|
||||
pulseaudio,
|
||||
wrapGAppsHook3,
|
||||
xdg-utils,
|
||||
xorg,
|
||||
libxcb-util,
|
||||
libxcb-wm,
|
||||
libxtst,
|
||||
libxcursor,
|
||||
libx11,
|
||||
libxcb,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
@@ -41,7 +46,7 @@ stdenv.mkDerivation rec {
|
||||
dontBuild = true;
|
||||
dontWrapGApps = true; # we only want $gappsWrapperArgs here
|
||||
|
||||
buildInputs = with xorg; [
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
cairo
|
||||
freetype
|
||||
@@ -53,15 +58,15 @@ stdenv.mkDerivation rec {
|
||||
# libjpeg8 is required for converting jpeg's to colour palettes
|
||||
libjpeg
|
||||
libxcb
|
||||
libXcursor
|
||||
libX11
|
||||
libXtst
|
||||
libxcursor
|
||||
libx11
|
||||
libxtst
|
||||
libxkbcommon
|
||||
pipewire
|
||||
pulseaudio
|
||||
(lib.getLib stdenv.cc.cc)
|
||||
xcbutil
|
||||
xcbutilwm
|
||||
libxcb-util
|
||||
libxcb-wm
|
||||
zlib
|
||||
];
|
||||
|
||||
|
||||
@@ -26,7 +26,12 @@
|
||||
wrapGAppsHook3,
|
||||
xcb-imdkit,
|
||||
xdg-utils,
|
||||
xorg,
|
||||
libxcb-util,
|
||||
libxcb-wm,
|
||||
libxtst,
|
||||
libxcursor,
|
||||
libx11,
|
||||
libxcb,
|
||||
zlib,
|
||||
}:
|
||||
|
||||
@@ -64,10 +69,10 @@ stdenv.mkDerivation rec {
|
||||
# libjpeg8 is required for converting jpeg's to colour palettes
|
||||
libjpeg
|
||||
libnghttp2
|
||||
xorg.libxcb
|
||||
xorg.libXcursor
|
||||
xorg.libX11
|
||||
xorg.libXtst
|
||||
libxcb
|
||||
libxcursor
|
||||
libx11
|
||||
libxtst
|
||||
libxkbcommon
|
||||
libudev-zero
|
||||
pango
|
||||
@@ -75,8 +80,8 @@ stdenv.mkDerivation rec {
|
||||
(lib.getLib stdenv.cc.cc)
|
||||
vulkan-loader
|
||||
xcb-imdkit
|
||||
xorg.xcbutil
|
||||
xorg.xcbutilwm
|
||||
libxcb-util
|
||||
libxcb-wm
|
||||
zlib
|
||||
];
|
||||
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
lv2,
|
||||
lv2lint,
|
||||
sord,
|
||||
xorg,
|
||||
libxext,
|
||||
libx11,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
@@ -41,8 +42,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libvterm-neovim
|
||||
lv2
|
||||
sord
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
libx11
|
||||
libxext
|
||||
glew
|
||||
lv2lint
|
||||
];
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
wrapGAppsHook3,
|
||||
gdk-pixbuf,
|
||||
librsvg,
|
||||
xorg,
|
||||
lndir,
|
||||
shared-mime-info,
|
||||
}:
|
||||
|
||||
@@ -16,7 +16,7 @@ stdenvNoCC.mkDerivation {
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook3
|
||||
xorg.lndir
|
||||
lndir
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
|
||||
@@ -70,7 +70,8 @@
|
||||
runCommand,
|
||||
wayland,
|
||||
xkeyboard_config,
|
||||
xorg,
|
||||
libsm,
|
||||
libice,
|
||||
zlib,
|
||||
makeDesktopItem,
|
||||
tiling_wm, # if we are using a tiling wm, need to set _JAVA_AWT_WM_NONREPARENTING in wrapper
|
||||
@@ -175,8 +176,8 @@ let
|
||||
xcbutilkeysyms
|
||||
xcbutilimage
|
||||
xcbutilcursor
|
||||
xorg.libICE
|
||||
xorg.libSM
|
||||
libice
|
||||
libsm
|
||||
libxkbfile
|
||||
libXcomposite
|
||||
libXcursor
|
||||
|
||||
@@ -24,8 +24,8 @@ let
|
||||
sha256Hash = "sha256-KHvWVIxNzwdgl9kdqXD5Cpvz58r8pWs2VRyPV3VrJH0=";
|
||||
};
|
||||
latestVersion = {
|
||||
version = "2025.3.1.4"; # "Android Studio Panda 1 | 2025.3.1 Canary 4"
|
||||
sha256Hash = "sha256-5ymB/HKSmi32AWV39+HYmfY11frkNxf2dq8Ld4f9qfA=";
|
||||
version = "2025.3.1.5"; # "Android Studio Panda 1 | 2025.3.1 Canary 5"
|
||||
sha256Hash = "sha256-CmM619Itz/0qVSUz6ztZTR93FmEVoUzMJawHwc+Nf8o=";
|
||||
};
|
||||
in
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
libSM,
|
||||
libX11,
|
||||
dotnetCorePackages,
|
||||
xorg,
|
||||
libxcb-keysyms,
|
||||
expat,
|
||||
libxml2,
|
||||
xz,
|
||||
@@ -64,7 +64,7 @@ in
|
||||
musl
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [
|
||||
xorg.xcbutilkeysyms
|
||||
libxcb-keysyms
|
||||
]
|
||||
++ lib.optionals (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch) [
|
||||
expat
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
maven,
|
||||
p7zip,
|
||||
pkg-config,
|
||||
xorg,
|
||||
libx11,
|
||||
}:
|
||||
{
|
||||
version,
|
||||
@@ -97,7 +97,7 @@ let
|
||||
];
|
||||
buildInputs = [
|
||||
glib
|
||||
xorg.libX11
|
||||
libx11
|
||||
libdbusmenu
|
||||
];
|
||||
inherit src;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
fetchurl,
|
||||
lib,
|
||||
stdenv,
|
||||
xorg,
|
||||
libx11,
|
||||
glib,
|
||||
glibcLocales,
|
||||
gtk3,
|
||||
@@ -47,7 +47,7 @@ let
|
||||
arch = if stdenv.hostPlatform.system == "i686-linux" then "x32" else "x64";
|
||||
|
||||
libPath = lib.makeLibraryPath [
|
||||
xorg.libX11
|
||||
libx11
|
||||
glib
|
||||
gtk3
|
||||
cairo
|
||||
|
||||
@@ -9,7 +9,8 @@
|
||||
fetchurl,
|
||||
stdenv,
|
||||
lib,
|
||||
xorg,
|
||||
libxtst,
|
||||
libx11,
|
||||
glib,
|
||||
libglvnd,
|
||||
glibcLocales,
|
||||
@@ -49,8 +50,8 @@ let
|
||||
versionFile = toString ./packages.nix;
|
||||
|
||||
neededLibraries = [
|
||||
xorg.libX11
|
||||
xorg.libXtst
|
||||
libx11
|
||||
libxtst
|
||||
glib
|
||||
libglvnd
|
||||
openssl_1_1
|
||||
|
||||
@@ -6909,12 +6909,12 @@ final: prev: {
|
||||
|
||||
indent-tools-nvim = buildVimPlugin {
|
||||
pname = "indent-tools.nvim";
|
||||
version = "0.5.1-unstable-2023-10-28";
|
||||
version = "0.5.2-unstable-2026-01-23";
|
||||
src = fetchFromGitHub {
|
||||
owner = "arsham";
|
||||
repo = "indent-tools.nvim";
|
||||
rev = "31b839d65aa04b568fabe5e100a63cc44ef3f5d5";
|
||||
hash = "sha256-F0Q7UvvOGulkLce1JiT9GvB+itCtwnJLzMpETm+Sg28=";
|
||||
rev = "9b6a33be70c72da562c83d1e741ebe1ce6c20a3c";
|
||||
hash = "sha256-jJOG6t18egq1uDGegDKvbz9NGmqiuHg7b2EyJZh3TMM=";
|
||||
};
|
||||
meta.homepage = "https://github.com/arsham/indent-tools.nvim/";
|
||||
meta.hydraPlatforms = [ ];
|
||||
@@ -7561,14 +7561,13 @@ final: prev: {
|
||||
|
||||
leap-nvim = buildVimPlugin {
|
||||
pname = "leap.nvim";
|
||||
version = "0-unstable-2025-12-08";
|
||||
src = fetchFromGitHub {
|
||||
owner = "ggandor";
|
||||
repo = "leap.nvim";
|
||||
rev = "f19d43590c4b6d31188ee1ea2954d2b7558a9e11";
|
||||
hash = "sha256-u8G8aGqZ5ovUCV+yaaj+zy6emz9h59lVBhzsxEFcPhg=";
|
||||
version = "0-unstable-2026-01-25";
|
||||
src = fetchgit {
|
||||
url = "https://codeberg.org/andyg/leap.nvim/";
|
||||
rev = "572fbcfd2cca5f7b3e56b1ac1d720861f2a4db78";
|
||||
hash = "sha256-k9Uj6VOGc+LWyec6yk7tiCg+gVHjBMifxg/G3nxzT6g=";
|
||||
};
|
||||
meta.homepage = "https://github.com/ggandor/leap.nvim/";
|
||||
meta.homepage = "https://codeberg.org/andyg/leap.nvim/";
|
||||
meta.hydraPlatforms = [ ];
|
||||
};
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
xdg-utils,
|
||||
xdotool,
|
||||
xkb-switch,
|
||||
xorg,
|
||||
xwininfo,
|
||||
xxd,
|
||||
ycmd,
|
||||
zathura,
|
||||
@@ -3404,7 +3404,7 @@ assertNoAdditions {
|
||||
postPatch = ''
|
||||
substituteInPlace lua/stylish/common/mouse_hover_handler.lua --replace-fail xdotool ${xdotool}/bin/xdotool
|
||||
substituteInPlace lua/stylish/components/menu.lua --replace-fail xdotool ${xdotool}/bin/xdotool
|
||||
substituteInPlace lua/stylish/components/menu.lua --replace-fail xwininfo ${xorg.xwininfo}/bin/xwininfo
|
||||
substituteInPlace lua/stylish/components/menu.lua --replace-fail xwininfo ${xwininfo}/bin/xwininfo
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
@@ -580,7 +580,7 @@ https://github.com/swaits/lazyjj.nvim/,HEAD,
|
||||
https://github.com/Julian/lean.nvim/,,
|
||||
https://github.com/leanprover/lean.vim/,,
|
||||
https://github.com/ggandor/leap-ast.nvim/,HEAD,
|
||||
https://github.com/ggandor/leap.nvim/,HEAD,
|
||||
https://codeberg.org/andyg/leap.nvim/,HEAD,
|
||||
https://github.com/kawre/leetcode.nvim/,HEAD,
|
||||
https://github.com/mrjones2014/legendary.nvim/,HEAD,
|
||||
https://github.com/camspiers/lens.vim/,,
|
||||
|
||||
@@ -6,8 +6,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
|
||||
mktplcRef = {
|
||||
name = "vscode-wakatime";
|
||||
publisher = "WakaTime";
|
||||
version = "25.4.0";
|
||||
hash = "sha256-furuRhQPcK9r4G878WKD9BiQuiwRbn+pJpNWAbpIgOw=";
|
||||
version = "25.5.1";
|
||||
hash = "sha256-4wdY8cmKWfp/ua39lcD8ibxoy8W0zyX97vMyDEZu2o4=";
|
||||
};
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -15,7 +15,14 @@
|
||||
libgbm,
|
||||
nss,
|
||||
nspr,
|
||||
xorg,
|
||||
libxrandr,
|
||||
libxfixes,
|
||||
libxext,
|
||||
libxdamage,
|
||||
libxcomposite,
|
||||
libx11,
|
||||
libxkbfile,
|
||||
libxcb,
|
||||
systemdLibs,
|
||||
fontconfig,
|
||||
imagemagick,
|
||||
@@ -118,13 +125,13 @@ stdenv.mkDerivation (
|
||||
cups
|
||||
expat
|
||||
libxkbcommon
|
||||
xorg.libX11
|
||||
xorg.libXcomposite
|
||||
xorg.libXdamage
|
||||
xorg.libxcb
|
||||
xorg.libXext
|
||||
xorg.libXfixes
|
||||
xorg.libXrandr
|
||||
libx11
|
||||
libxcomposite
|
||||
libxdamage
|
||||
libxcb
|
||||
libxext
|
||||
libxfixes
|
||||
libxrandr
|
||||
cairo
|
||||
pango
|
||||
alsa-lib
|
||||
@@ -243,7 +250,7 @@ stdenv.mkDerivation (
|
||||
nspr
|
||||
systemdLibs
|
||||
webkitgtk_4_1
|
||||
xorg.libxkbfile
|
||||
libxkbfile
|
||||
];
|
||||
|
||||
runtimeDependencies = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
|
||||
@@ -2,7 +2,8 @@
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
mkLibretroCore,
|
||||
xorg,
|
||||
libxext,
|
||||
libx11,
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "bsnes-hd-beta";
|
||||
@@ -16,8 +17,8 @@ mkLibretroCore {
|
||||
};
|
||||
|
||||
extraBuildInputs = [
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
libx11
|
||||
libxext
|
||||
];
|
||||
|
||||
makefile = "GNUmakefile";
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
libpcap,
|
||||
libGLU,
|
||||
libGL,
|
||||
xorg,
|
||||
libx11,
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "desmume";
|
||||
@@ -23,7 +23,7 @@ mkLibretroCore {
|
||||
libpcap
|
||||
libGLU
|
||||
libGL
|
||||
xorg.libX11
|
||||
libx11
|
||||
];
|
||||
|
||||
makeFlags =
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
libpcap,
|
||||
libGLU,
|
||||
libGL,
|
||||
xorg,
|
||||
libx11,
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "desmume2015";
|
||||
@@ -23,7 +23,7 @@ mkLibretroCore {
|
||||
libpcap
|
||||
libGLU
|
||||
libGL
|
||||
xorg.libX11
|
||||
libx11
|
||||
];
|
||||
|
||||
makeFlags =
|
||||
|
||||
@@ -13,7 +13,16 @@
|
||||
pkg-config,
|
||||
sfml,
|
||||
udev,
|
||||
xorg,
|
||||
libxcb-util,
|
||||
libxxf86vm,
|
||||
libxrandr,
|
||||
libxi,
|
||||
libxinerama,
|
||||
libxext,
|
||||
libx11,
|
||||
libsm,
|
||||
libpthread-stubs,
|
||||
libxcb,
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "dolphin";
|
||||
@@ -40,16 +49,16 @@ mkLibretroCore {
|
||||
pcre
|
||||
sfml
|
||||
udev
|
||||
xorg.libSM
|
||||
xorg.libX11
|
||||
xorg.libXext
|
||||
xorg.libXi
|
||||
xorg.libXinerama
|
||||
xorg.libXrandr
|
||||
xorg.libXxf86vm
|
||||
xorg.libpthreadstubs
|
||||
xorg.libxcb
|
||||
xorg.xcbutil
|
||||
libsm
|
||||
libx11
|
||||
libxext
|
||||
libxi
|
||||
libxinerama
|
||||
libxrandr
|
||||
libxxf86vm
|
||||
libpthread-stubs
|
||||
libxcb
|
||||
libxcb-util
|
||||
];
|
||||
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
libpng,
|
||||
mkLibretroCore,
|
||||
nasm,
|
||||
xorg,
|
||||
libx11,
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "mupen64plus-next";
|
||||
@@ -50,7 +50,7 @@ mkLibretroCore {
|
||||
libGLU
|
||||
libGL
|
||||
libpng
|
||||
xorg.libX11
|
||||
libx11
|
||||
];
|
||||
makefile = "Makefile";
|
||||
makeFlags = [
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
libGLU,
|
||||
mkLibretroCore,
|
||||
openssl,
|
||||
xorg,
|
||||
libx11,
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "play";
|
||||
@@ -32,7 +32,7 @@ mkLibretroCore {
|
||||
icu
|
||||
libGL
|
||||
libGLU
|
||||
xorg.libX11
|
||||
libx11
|
||||
];
|
||||
extraNativeBuildInputs = [ cmake ];
|
||||
makefile = "Makefile";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
pkg-config,
|
||||
python3,
|
||||
snappy,
|
||||
xorg,
|
||||
libx11,
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "ppsspp";
|
||||
@@ -33,7 +33,7 @@ mkLibretroCore {
|
||||
libGL
|
||||
libzip
|
||||
snappy
|
||||
xorg.libX11
|
||||
libx11
|
||||
];
|
||||
makefile = "Makefile";
|
||||
cmakeFlags = [
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
mkLibretroCore,
|
||||
portaudio,
|
||||
python3,
|
||||
xorg,
|
||||
libx11,
|
||||
}:
|
||||
mkLibretroCore {
|
||||
core = "same_cdi";
|
||||
@@ -45,7 +45,7 @@ mkLibretroCore {
|
||||
libGL
|
||||
libGLU
|
||||
portaudio
|
||||
xorg.libX11
|
||||
libx11
|
||||
];
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -127,7 +127,7 @@ stdenv.mkDerivation (
|
||||
++ lib.optional fontconfigSupport pkgs.fontconfig
|
||||
++ lib.optional alsaSupport pkgs.alsa-lib
|
||||
++ lib.optional pulseaudioSupport pkgs.libpulseaudio
|
||||
++ lib.optional (xineramaSupport && x11Support) pkgs.xorg.libXinerama
|
||||
++ lib.optional (xineramaSupport && x11Support) pkgs.libxinerama
|
||||
++ lib.optional udevSupport pkgs.udev
|
||||
++ lib.optional vulkanSupport (
|
||||
if stdenv.hostPlatform.isDarwin then moltenvk else pkgs.vulkan-loader
|
||||
@@ -163,17 +163,17 @@ stdenv.mkDerivation (
|
||||
pkgs.libdrm
|
||||
]
|
||||
++ lib.optionals x11Support (
|
||||
with pkgs.xorg;
|
||||
with pkgs;
|
||||
[
|
||||
libX11
|
||||
libXcomposite
|
||||
libXcursor
|
||||
libXext
|
||||
libXfixes
|
||||
libXi
|
||||
libXrandr
|
||||
libXrender
|
||||
libXxf86vm
|
||||
libx11
|
||||
libxcomposite
|
||||
libxcursor
|
||||
libxext
|
||||
libxfixes
|
||||
libxi
|
||||
libxrandr
|
||||
libxrender
|
||||
libxxf86vm
|
||||
]
|
||||
)
|
||||
++ lib.optionals waylandSupport (
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
gettext,
|
||||
makeWrapper,
|
||||
gtk-doc,
|
||||
xorg,
|
||||
libxpm,
|
||||
glib-networking,
|
||||
libmypaint,
|
||||
gexiv2,
|
||||
@@ -202,7 +202,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libwebp
|
||||
libheif
|
||||
libexif
|
||||
xorg.libXpm
|
||||
libxpm
|
||||
glib-networking
|
||||
libmypaint
|
||||
mypaint-brushes1
|
||||
|
||||
@@ -49,7 +49,8 @@
|
||||
perl,
|
||||
appstream,
|
||||
desktop-file-utils,
|
||||
xorg,
|
||||
libxpm,
|
||||
libxmu,
|
||||
glib-networking,
|
||||
json-glib,
|
||||
libmypaint,
|
||||
@@ -188,8 +189,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libheif
|
||||
python
|
||||
libexif
|
||||
xorg.libXpm
|
||||
xorg.libXmu
|
||||
libxpm
|
||||
libxmu
|
||||
glib-networking
|
||||
libmypaint
|
||||
mypaint-brushes1
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv,
|
||||
fetchurl,
|
||||
libX11,
|
||||
libXinerama,
|
||||
libxinerama,
|
||||
imlib2,
|
||||
}:
|
||||
|
||||
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
|
||||
buildInputs = [
|
||||
libX11
|
||||
imlib2
|
||||
libXinerama
|
||||
libxinerama
|
||||
];
|
||||
|
||||
buildPhase = ''
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
qt6,
|
||||
xorg,
|
||||
libxtst,
|
||||
libx11,
|
||||
cmake,
|
||||
ninja,
|
||||
libcprime,
|
||||
@@ -29,8 +30,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
buildInputs = [
|
||||
qt6.qtbase
|
||||
xorg.libXtst
|
||||
xorg.libX11
|
||||
libxtst
|
||||
libx11
|
||||
libcprime
|
||||
libcsys
|
||||
];
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
kdePackages,
|
||||
xorg,
|
||||
libxcomposite,
|
||||
cmake,
|
||||
ninja,
|
||||
libcprime,
|
||||
@@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
buildInputs = [
|
||||
kdePackages.qtbase
|
||||
kdePackages.kglobalaccel
|
||||
xorg.libXcomposite
|
||||
libxcomposite
|
||||
libcprime
|
||||
libcsys
|
||||
];
|
||||
|
||||
@@ -11,7 +11,9 @@
|
||||
wf-recorder,
|
||||
libdbusmenu,
|
||||
playerctl,
|
||||
xorg,
|
||||
libxdamage,
|
||||
xrandr,
|
||||
xinput,
|
||||
iio-sensor-proxy,
|
||||
inotify-tools,
|
||||
bluez,
|
||||
@@ -58,9 +60,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
grim
|
||||
wf-recorder
|
||||
playerctl
|
||||
xorg.xrandr
|
||||
xorg.xinput
|
||||
xorg.libXdamage
|
||||
xrandr
|
||||
xinput
|
||||
libxdamage
|
||||
iio-sensor-proxy
|
||||
inotify-tools
|
||||
bluez
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
pcre,
|
||||
util-linux,
|
||||
wayland,
|
||||
xorg,
|
||||
libxtst,
|
||||
libxdmcp,
|
||||
|
||||
cmake,
|
||||
doxygen,
|
||||
@@ -49,8 +50,8 @@ mkDerivation {
|
||||
pcre
|
||||
util-linux
|
||||
wayland
|
||||
xorg.libXdmcp
|
||||
xorg.libXtst
|
||||
libxdmcp
|
||||
libxtst
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
||||
@@ -43,7 +43,8 @@
|
||||
tinyxml,
|
||||
util-linux,
|
||||
wxGTK32,
|
||||
xorg,
|
||||
libxtst,
|
||||
libxdmcp,
|
||||
xz,
|
||||
}:
|
||||
|
||||
@@ -119,8 +120,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
libselinux
|
||||
libsepol
|
||||
util-linux
|
||||
xorg.libXdmcp
|
||||
xorg.libXtst
|
||||
libxdmcp
|
||||
libxtst
|
||||
]
|
||||
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [
|
||||
elfutils
|
||||
|
||||
@@ -19,7 +19,9 @@
|
||||
icu,
|
||||
freetype,
|
||||
pugixml,
|
||||
xorg,
|
||||
libxrandr,
|
||||
libxinerama,
|
||||
libxcursor,
|
||||
nix-update-script,
|
||||
}:
|
||||
|
||||
@@ -79,9 +81,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
icu
|
||||
freetype
|
||||
pugixml
|
||||
xorg.libXrandr
|
||||
xorg.libXinerama
|
||||
xorg.libXcursor
|
||||
libxrandr
|
||||
libxinerama
|
||||
libxcursor
|
||||
];
|
||||
|
||||
# Yes, this is PRE configure. The configure phase uses cmake
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
qhull,
|
||||
onetbb,
|
||||
wxGTK32,
|
||||
xorg,
|
||||
libx11,
|
||||
libbgcode,
|
||||
heatshrink,
|
||||
catch2_3,
|
||||
@@ -127,7 +127,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qhull
|
||||
onetbb
|
||||
wxGTK-override'
|
||||
xorg.libX11
|
||||
libx11
|
||||
libbgcode
|
||||
heatshrink
|
||||
catch2_3
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user