mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-07 07:54:08 +09:00
Compare commits
51
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ee1ce9c0b | ||
|
|
28620c1d03 | ||
|
|
1971108a7f | ||
|
|
849e79e124 | ||
|
|
057c3cc5a3 | ||
|
|
6cb15f3a54 | ||
|
|
99132ef43f | ||
|
|
d40b5b4b00 | ||
|
|
4487c38f0b | ||
|
|
873223cb78 | ||
|
|
3022acb412 | ||
|
|
18d30bd490 | ||
|
|
f2d9eafefa | ||
|
|
85a4458376 | ||
|
|
b60a840a3d | ||
|
|
e1c9beb362 | ||
|
|
45957d0b40 | ||
|
|
455512ec8a | ||
|
|
754af0a68a | ||
|
|
475b1432d0 | ||
|
|
e51480e692 | ||
|
|
e09d2d525f | ||
|
|
6ec1f5762a | ||
|
|
ac6d333af8 | ||
|
|
ad8d66cde1 | ||
|
|
b2283ba328 | ||
|
|
1e38d17dba | ||
|
|
e67dd6a791 | ||
|
|
0c6b2f41b9 | ||
|
|
1091e790db | ||
|
|
6c053486a7 | ||
|
|
60b64c89b9 | ||
|
|
f264649782 | ||
|
|
5370e864e1 | ||
|
|
9302d1e50f | ||
|
|
8616aacd7f | ||
|
|
21947ba06a | ||
|
|
d75528c712 | ||
|
|
afcbe77e98 | ||
|
|
4ff5ae8883 | ||
|
|
166b6f2492 | ||
|
|
703e24fcdf | ||
|
|
04622b921f | ||
|
|
0d2aaa8569 | ||
|
|
0a685ce028 | ||
|
|
39beedefc8 | ||
|
|
4606041d4f | ||
|
|
7f47448980 | ||
|
|
b5c49ffa79 | ||
|
|
c5c56fde83 | ||
|
|
54d49c64d3 |
@@ -0,0 +1,260 @@
|
||||
name: Update Flake Input
|
||||
description: Update one GitHub-backed Nix flake input and create a pull request
|
||||
inputs:
|
||||
input-name:
|
||||
description: Name of the flake input to update
|
||||
required: true
|
||||
github-token:
|
||||
description: Token used to query GitHub, push the update branch, and manage the pull request
|
||||
required: true
|
||||
base-branch:
|
||||
description: Branch targeted by the pull request
|
||||
required: false
|
||||
default: main
|
||||
minimum-release-age-days:
|
||||
description: Minimum age of the target commit in days
|
||||
required: false
|
||||
default: "3"
|
||||
skip-delay:
|
||||
description: Update to the latest revision without applying the minimum age
|
||||
required: false
|
||||
default: "false"
|
||||
auto-merge:
|
||||
description: Enable squash auto-merge on the pull request
|
||||
required: false
|
||||
default: "true"
|
||||
pr-labels:
|
||||
description: Comma-separated labels to add when they already exist in the repository
|
||||
required: false
|
||||
default: dependencies,automated
|
||||
outputs:
|
||||
updated:
|
||||
description: Whether flake.lock changed
|
||||
value: ${{ steps.update.outputs.updated }}
|
||||
current-version:
|
||||
description: Previous locked revision
|
||||
value: ${{ steps.update.outputs.current_version }}
|
||||
new-version:
|
||||
description: New locked revision
|
||||
value: ${{ steps.update.outputs.new_version }}
|
||||
pr-url:
|
||||
description: URL of the created or updated pull request
|
||||
value: ${{ steps.pull-request.outputs.pr_url }}
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- name: Update flake input
|
||||
id: update
|
||||
shell: bash
|
||||
env:
|
||||
GH_TOKEN: ${{ inputs.github-token }}
|
||||
INPUT_NAME: ${{ inputs.input-name }}
|
||||
MINIMUM_RELEASE_AGE_DAYS: ${{ inputs.minimum-release-age-days }}
|
||||
SKIP_DELAY: ${{ inputs.skip-delay }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
if [[ ! "$MINIMUM_RELEASE_AGE_DAYS" =~ ^[0-9]+$ ]]; then
|
||||
echo "::error::minimum-release-age-days must be a non-negative integer"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
node_key="$(
|
||||
jq -er --arg input "$INPUT_NAME" '
|
||||
.nodes.root.inputs[$input]
|
||||
| if type == "array" then .[0] else . end
|
||||
' flake.lock
|
||||
)"
|
||||
input_type="$(jq -r --arg node "$node_key" '.nodes[$node].locked.type // ""' flake.lock)"
|
||||
input_owner="$(jq -r --arg node "$node_key" '.nodes[$node].locked.owner // ""' flake.lock)"
|
||||
input_repo="$(jq -r --arg node "$node_key" '.nodes[$node].locked.repo // ""' flake.lock)"
|
||||
input_ref="$(jq -r --arg node "$node_key" '.nodes[$node].original.ref // ""' flake.lock)"
|
||||
current_rev="$(jq -er --arg node "$node_key" '.nodes[$node].locked.rev' flake.lock)"
|
||||
|
||||
if [ "$input_type" != "github" ] || [ -z "$input_owner" ] || [ -z "$input_repo" ]; then
|
||||
echo "::error::${INPUT_NAME} is not a GitHub-backed flake input"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Input: $INPUT_NAME"
|
||||
echo "Repository: ${input_owner}/${input_repo}"
|
||||
echo "Current revision: $current_rev"
|
||||
|
||||
if [ "$SKIP_DELAY" = "true" ]; then
|
||||
nix flake update "$INPUT_NAME"
|
||||
else
|
||||
cutoff="$(date --utc --date="${MINIMUM_RELEASE_AGE_DAYS} days ago" +%Y-%m-%dT%H:%M:%SZ)"
|
||||
api_args=(
|
||||
--method GET
|
||||
"repos/${input_owner}/${input_repo}/commits"
|
||||
-f "until=$cutoff"
|
||||
-f per_page=1
|
||||
)
|
||||
if [ -n "$input_ref" ]; then
|
||||
api_args+=(-f "sha=$input_ref")
|
||||
fi
|
||||
|
||||
echo "Selecting the newest commit no later than $cutoff"
|
||||
target_data="$(gh api "${api_args[@]}" --jq '.[0] | {sha: .sha, date: .commit.committer.date}')"
|
||||
target_rev="$(jq -er '.sha' <<< "$target_data")"
|
||||
target_date="$(jq -er '.date' <<< "$target_data")"
|
||||
|
||||
if [ "$target_rev" = "$current_rev" ]; then
|
||||
echo "The input is already at the newest eligible revision"
|
||||
{
|
||||
echo "updated=false"
|
||||
echo "current_version=$current_rev"
|
||||
echo "new_version=$current_rev"
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
current_date="$(
|
||||
gh api "repos/${input_owner}/${input_repo}/commits/${current_rev}" \
|
||||
--jq '.commit.committer.date'
|
||||
)"
|
||||
current_timestamp="$(date --date="$current_date" +%s)"
|
||||
target_timestamp="$(date --date="$target_date" +%s)"
|
||||
|
||||
if [ "$target_timestamp" -lt "$current_timestamp" ]; then
|
||||
echo "The newest eligible revision is older than the current revision; skipping"
|
||||
{
|
||||
echo "updated=false"
|
||||
echo "current_version=$current_rev"
|
||||
echo "new_version=$current_rev"
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
nix flake update "$INPUT_NAME" \
|
||||
--override-input "$INPUT_NAME" "github:${input_owner}/${input_repo}/${target_rev}"
|
||||
fi
|
||||
|
||||
if git diff --quiet -- flake.lock; then
|
||||
echo "No lock file changes were produced"
|
||||
{
|
||||
echo "updated=false"
|
||||
echo "current_version=$current_rev"
|
||||
echo "new_version=$current_rev"
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
new_node_key="$(
|
||||
jq -er --arg input "$INPUT_NAME" '
|
||||
.nodes.root.inputs[$input]
|
||||
| if type == "array" then .[0] else . end
|
||||
' flake.lock
|
||||
)"
|
||||
new_rev="$(jq -er --arg node "$new_node_key" '.nodes[$node].locked.rev' flake.lock)"
|
||||
|
||||
echo "New revision: $new_rev"
|
||||
{
|
||||
echo "updated=true"
|
||||
echo "current_version=$current_rev"
|
||||
echo "new_version=$new_rev"
|
||||
echo "input_owner=$input_owner"
|
||||
echo "input_repo=$input_repo"
|
||||
} >> "$GITHUB_OUTPUT"
|
||||
- name: Create or update pull request
|
||||
id: pull-request
|
||||
if: steps.update.outputs.updated == 'true'
|
||||
shell: bash
|
||||
env:
|
||||
GH_TOKEN: ${{ inputs.github-token }}
|
||||
INPUT_NAME: ${{ inputs.input-name }}
|
||||
BASE_BRANCH: ${{ inputs.base-branch }}
|
||||
CURRENT_REV: ${{ steps.update.outputs.current_version }}
|
||||
NEW_REV: ${{ steps.update.outputs.new_version }}
|
||||
INPUT_OWNER: ${{ steps.update.outputs.input_owner }}
|
||||
INPUT_REPO: ${{ steps.update.outputs.input_repo }}
|
||||
MINIMUM_RELEASE_AGE_DAYS: ${{ inputs.minimum-release-age-days }}
|
||||
SKIP_DELAY: ${{ inputs.skip-delay }}
|
||||
AUTO_MERGE: ${{ inputs.auto-merge }}
|
||||
PR_LABELS: ${{ inputs.pr-labels }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
branch_suffix="$(tr -c 'A-Za-z0-9._-' '-' <<< "$INPUT_NAME" | sed 's/-$//')"
|
||||
branch="update-flake-${branch_suffix}"
|
||||
current_short="${CURRENT_REV:0:8}"
|
||||
new_short="${NEW_REV:0:8}"
|
||||
title="chore(nix): update ${INPUT_NAME} to ${new_short}"
|
||||
|
||||
if [ "$SKIP_DELAY" = "true" ]; then
|
||||
age_note="The minimum release age check was skipped for this manually requested update."
|
||||
else
|
||||
age_note="The target commit is at least ${MINIMUM_RELEASE_AGE_DAYS} days old."
|
||||
fi
|
||||
|
||||
body="$(
|
||||
printf '%s\n' \
|
||||
"Automated update of the \`${INPUT_NAME}\` flake input." \
|
||||
"" \
|
||||
"- Previous revision: [\`${current_short}\`](https://github.com/${INPUT_OWNER}/${INPUT_REPO}/commit/${CURRENT_REV})" \
|
||||
"- New revision: [\`${new_short}\`](https://github.com/${INPUT_OWNER}/${INPUT_REPO}/commit/${NEW_REV})" \
|
||||
"- Changes: [compare](https://github.com/${INPUT_OWNER}/${INPUT_REPO}/compare/${CURRENT_REV}...${NEW_REV})" \
|
||||
"" \
|
||||
"$age_note"
|
||||
)"
|
||||
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git add flake.lock
|
||||
git switch -C "$branch"
|
||||
git commit -m "$title"
|
||||
|
||||
git fetch origin "refs/heads/${branch}:refs/remotes/origin/${branch}" || true
|
||||
git push --force-with-lease origin "HEAD:refs/heads/${branch}"
|
||||
|
||||
label_args=()
|
||||
available_labels="$(gh label list --limit 100 --json name --jq '.[].name')"
|
||||
IFS=',' read -ra requested_labels <<< "$PR_LABELS"
|
||||
for label in "${requested_labels[@]}"; do
|
||||
label="$(xargs <<< "$label")"
|
||||
if [ -n "$label" ] && grep -Fxq "$label" <<< "$available_labels"; then
|
||||
label_args+=(--add-label "$label")
|
||||
elif [ -n "$label" ]; then
|
||||
echo "::warning::Skipping missing pull request label: $label"
|
||||
fi
|
||||
done
|
||||
|
||||
pr_number="$(
|
||||
gh pr list \
|
||||
--state open \
|
||||
--head "$branch" \
|
||||
--json number \
|
||||
--jq '.[0].number // empty'
|
||||
)"
|
||||
|
||||
if [ -n "$pr_number" ]; then
|
||||
gh pr edit "$pr_number" \
|
||||
--title "$title" \
|
||||
--body "$body" \
|
||||
"${label_args[@]}"
|
||||
else
|
||||
gh pr create \
|
||||
--base "$BASE_BRANCH" \
|
||||
--head "$branch" \
|
||||
--title "$title" \
|
||||
--body "$body"
|
||||
pr_number="$(
|
||||
gh pr list \
|
||||
--state open \
|
||||
--head "$branch" \
|
||||
--json number \
|
||||
--jq '.[0].number'
|
||||
)"
|
||||
if [ "${#label_args[@]}" -gt 0 ]; then
|
||||
gh pr edit "$pr_number" "${label_args[@]}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$AUTO_MERGE" = "true" ]; then
|
||||
gh pr merge "$pr_number" --auto --squash ||
|
||||
echo "::warning::Auto-merge could not be enabled; check the repository merge settings"
|
||||
fi
|
||||
|
||||
pr_url="$(gh pr view "$pr_number" --json url --jq '.url')"
|
||||
echo "pr_url=$pr_url" >> "$GITHUB_OUTPUT"
|
||||
echo "Pull request: $pr_url"
|
||||
@@ -1,70 +0,0 @@
|
||||
name: NixOS build
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- ".github/workflows/nixos-build.yml"
|
||||
- "flake.lock"
|
||||
- "flake.nix"
|
||||
- "flake/**"
|
||||
- "hosts/**"
|
||||
- "modules/**"
|
||||
- "overlays/**"
|
||||
- "profiles/**"
|
||||
- "shells/**"
|
||||
- ".sops.yaml"
|
||||
- "secrets/**"
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: read
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
discover-hosts:
|
||||
name: Discover NixOS hosts
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
hosts: ${{ steps.hosts.outputs.hosts }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
accept-flake-config = true
|
||||
access-tokens = github.com=${{ github.token }}
|
||||
- name: Evaluate NixOS hosts
|
||||
id: hosts
|
||||
run: |
|
||||
set -euo pipefail
|
||||
hosts_json=$(nix eval --json '.#nixosConfigurations' --apply 'configs: builtins.attrNames configs')
|
||||
echo "hosts=${hosts_json}" >> "$GITHUB_OUTPUT"
|
||||
echo "Discovered hosts: ${hosts_json}"
|
||||
build-host:
|
||||
name: Build ${{ matrix.host }}
|
||||
needs: discover-hosts
|
||||
if: ${{ needs.discover-hosts.outputs.hosts != '[]' }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
host: ${{ fromJSON(needs.discover-hosts.outputs.hosts) }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
accept-flake-config = true
|
||||
access-tokens = github.com=${{ github.token }}
|
||||
- name: Build NixOS system
|
||||
run: |
|
||||
set -euo pipefail
|
||||
nix build ".#nixosConfigurations.${{ matrix.host }}.config.system.build.toplevel" \
|
||||
--print-build-logs
|
||||
@@ -0,0 +1,150 @@
|
||||
name: NixOS CI
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: read
|
||||
concurrency:
|
||||
group: nixos-ci-${{ github.event.pull_request.number || github.run_id }}
|
||||
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
||||
jobs:
|
||||
validate:
|
||||
name: Validate flake
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
outputs:
|
||||
hosts: ${{ steps.hosts.outputs.hosts }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
|
||||
with:
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
accept-flake-config = true
|
||||
access-tokens = github.com=${{ github.token }}
|
||||
- name: Check flake and evaluate all outputs
|
||||
run: nix flake check --all-systems --no-build --show-trace
|
||||
- name: Discover NixOS hosts
|
||||
id: hosts
|
||||
run: |
|
||||
hosts=$(nix eval --json '.#nixosConfigurations' --apply 'configs: builtins.attrNames configs')
|
||||
echo "hosts=$hosts" >> "$GITHUB_OUTPUT"
|
||||
echo "Discovered hosts: $hosts"
|
||||
build:
|
||||
name: Build ${{ matrix.host }}
|
||||
needs: validate
|
||||
if: ${{ needs.validate.outputs.hosts != '[]' }}
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 120
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
host: ${{ fromJSON(needs.validate.outputs.hosts) }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
|
||||
with:
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
accept-flake-config = true
|
||||
access-tokens = github.com=${{ github.token }}
|
||||
- name: Build NixOS system
|
||||
run: |
|
||||
nix build ".#nixosConfigurations.${{ matrix.host }}.config.system.build.toplevel" \
|
||||
--no-link \
|
||||
--print-build-logs \
|
||||
--show-trace
|
||||
report-main-status:
|
||||
name: Report main status
|
||||
needs:
|
||||
- validate
|
||||
- build
|
||||
if: ${{ always() && !cancelled() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
permissions:
|
||||
contents: read
|
||||
issues: write
|
||||
env:
|
||||
CI_FAILED: ${{ needs.validate.result == 'failure' || needs.build.result == 'failure' }}
|
||||
JOB_RESULTS: ${{ toJSON(needs) }}
|
||||
steps:
|
||||
- name: Create or resolve failure issue
|
||||
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9
|
||||
with:
|
||||
script: |
|
||||
const owner = context.repo.owner;
|
||||
const repo = context.repo.repo;
|
||||
const title = "NixOS CI is failing on main";
|
||||
const marker = "<!-- nixos-ci-main-failure -->";
|
||||
const failed = process.env.CI_FAILED === "true";
|
||||
const jobs = JSON.parse(process.env.JOB_RESULTS);
|
||||
const failedJobs = Object.entries(jobs)
|
||||
.filter(([, job]) => job.result === "failure")
|
||||
.map(([name]) => `\`${name}\``)
|
||||
.join(", ");
|
||||
const runUrl = `${context.serverUrl}/${owner}/${repo}/actions/runs/${context.runId}`;
|
||||
const commitUrl = `${context.serverUrl}/${owner}/${repo}/commit/${context.sha}`;
|
||||
const issues = await github.paginate(github.rest.issues.listForRepo, {
|
||||
owner,
|
||||
repo,
|
||||
state: "open",
|
||||
per_page: 100,
|
||||
});
|
||||
const existing = issues.find(
|
||||
(issue) => !issue.pull_request && issue.title === title && issue.body?.includes(marker),
|
||||
);
|
||||
|
||||
if (failed) {
|
||||
const body = [
|
||||
marker,
|
||||
"The NixOS CI workflow failed after a push to `main`.",
|
||||
"",
|
||||
`- Failed jobs: ${failedJobs || "unknown"}`,
|
||||
`- Commit: [\`${context.sha.slice(0, 7)}\`](${commitUrl})`,
|
||||
`- Workflow run: [${context.runId}](${runUrl})`,
|
||||
"",
|
||||
"This issue is updated on subsequent failures and closed automatically after CI recovers.",
|
||||
].join("\n");
|
||||
|
||||
if (existing) {
|
||||
await github.rest.issues.update({
|
||||
owner,
|
||||
repo,
|
||||
issue_number: existing.number,
|
||||
body,
|
||||
});
|
||||
} else {
|
||||
await github.rest.issues.create({ owner, repo, title, body });
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (existing) {
|
||||
await github.rest.issues.createComment({
|
||||
owner,
|
||||
repo,
|
||||
issue_number: existing.number,
|
||||
body: `CI recovered in [workflow run ${context.runId}](${runUrl}).`,
|
||||
});
|
||||
await github.rest.issues.update({
|
||||
owner,
|
||||
repo,
|
||||
issue_number: existing.number,
|
||||
state: "closed",
|
||||
state_reason: "completed",
|
||||
});
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
name: NixOS eval
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- ".github/workflows/nixos-eval.yml"
|
||||
- "flake.lock"
|
||||
- "flake.nix"
|
||||
- "flake/**"
|
||||
- "hosts/**"
|
||||
- "modules/**"
|
||||
- "overlays/**"
|
||||
- "profiles/**"
|
||||
- "shells/**"
|
||||
- ".sops.yaml"
|
||||
- "secrets/**"
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: read
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
discover-hosts:
|
||||
name: Discover NixOS hosts
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
hosts: ${{ steps.hosts.outputs.hosts }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
accept-flake-config = true
|
||||
access-tokens = github.com=${{ github.token }}
|
||||
- name: Evaluate NixOS hosts
|
||||
id: hosts
|
||||
run: |
|
||||
set -euo pipefail
|
||||
hosts_json=$(nix eval --json '.#nixosConfigurations' --apply 'configs: builtins.attrNames configs')
|
||||
echo "hosts=${hosts_json}" >> "$GITHUB_OUTPUT"
|
||||
echo "Discovered hosts: ${hosts_json}"
|
||||
eval-host:
|
||||
name: Eval ${{ matrix.host }}
|
||||
needs: discover-hosts
|
||||
if: ${{ needs.discover-hosts.outputs.hosts != '[]' }}
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
host: ${{ fromJSON(needs.discover-hosts.outputs.hosts) }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
with:
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
accept-flake-config = true
|
||||
access-tokens = github.com=${{ github.token }}
|
||||
- name: Evaluate NixOS system derivation
|
||||
run: |
|
||||
set -euo pipefail
|
||||
nix eval ".#nixosConfigurations.${{ matrix.host }}.config.system.build.toplevel.drvPath"
|
||||
@@ -0,0 +1,31 @@
|
||||
name: Renovate
|
||||
on:
|
||||
schedule:
|
||||
# Every day at 03:00 JST (18:00 UTC on the previous day).
|
||||
- cron: "0 18 * * *"
|
||||
workflow_dispatch:
|
||||
permissions:
|
||||
contents: read
|
||||
concurrency:
|
||||
group: renovate
|
||||
cancel-in-progress: false
|
||||
jobs:
|
||||
renovate:
|
||||
name: Update GitHub Actions dependencies
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
persist-credentials: false
|
||||
# Use a PAT or GitHub App token so Renovate PRs trigger the other workflows.
|
||||
- name: Run Renovate
|
||||
uses: renovatebot/github-action@3064367f740a1a91cca218698a63902689cce200 # v46.1.20
|
||||
with:
|
||||
renovate-version: 43.262.1
|
||||
token: ${{ secrets.RENOVATE_TOKEN }}
|
||||
env:
|
||||
LOG_LEVEL: info
|
||||
RENOVATE_PLATFORM: github
|
||||
RENOVATE_REPOSITORIES: ${{ github.repository }}
|
||||
@@ -0,0 +1,106 @@
|
||||
name: Update Flake Inputs
|
||||
on:
|
||||
schedule:
|
||||
# Every day at 03:30 JST (18:30 UTC on the previous day).
|
||||
- cron: "30 18 * * *"
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
input:
|
||||
description: Update only this flake input (empty updates all inputs)
|
||||
required: false
|
||||
type: string
|
||||
skip-delay:
|
||||
description: Update to the latest revision without the three-day delay
|
||||
required: false
|
||||
default: false
|
||||
type: boolean
|
||||
auto-merge:
|
||||
description: Enable auto-merge after required checks pass
|
||||
required: false
|
||||
default: true
|
||||
type: boolean
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
concurrency:
|
||||
group: update-flake-inputs
|
||||
cancel-in-progress: false
|
||||
jobs:
|
||||
discover:
|
||||
name: Discover flake inputs
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
outputs:
|
||||
matrix: ${{ steps.inputs.outputs.matrix }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Build update matrix
|
||||
id: inputs
|
||||
env:
|
||||
REQUESTED_INPUT: ${{ inputs.input }}
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
github_inputs="$(
|
||||
jq -c '
|
||||
. as $lock
|
||||
| [
|
||||
$lock.nodes.root.inputs
|
||||
| to_entries[]
|
||||
| .key as $name
|
||||
| (
|
||||
.value
|
||||
| if type == "array" then .[0] else . end
|
||||
) as $node
|
||||
| select($lock.nodes[$node].locked.type == "github")
|
||||
| $name
|
||||
]
|
||||
| sort
|
||||
' flake.lock
|
||||
)"
|
||||
|
||||
if [ -n "$REQUESTED_INPUT" ]; then
|
||||
if ! jq -e --arg input "$REQUESTED_INPUT" 'index($input) != null' <<< "$github_inputs" >/dev/null; then
|
||||
echo "::error::Unknown or unsupported flake input: $REQUESTED_INPUT"
|
||||
exit 1
|
||||
fi
|
||||
matrix="$(jq -cn --arg input "$REQUESTED_INPUT" '{input: [$input]}')"
|
||||
else
|
||||
matrix="$(jq -cn --argjson inputs "$github_inputs" '{input: $inputs}')"
|
||||
fi
|
||||
|
||||
echo "matrix=$matrix" >> "$GITHUB_OUTPUT"
|
||||
echo "Update matrix: $matrix"
|
||||
update:
|
||||
name: Update ${{ matrix.input }}
|
||||
needs: discover
|
||||
if: ${{ needs.discover.outputs.matrix != '{"input":[]}' }}
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 30
|
||||
strategy:
|
||||
fail-fast: false
|
||||
max-parallel: 4
|
||||
matrix: ${{ fromJSON(needs.discover.outputs.matrix) }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
with:
|
||||
fetch-depth: 0
|
||||
token: ${{ secrets.RENOVATE_TOKEN }}
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0
|
||||
with:
|
||||
extra_nix_config: |
|
||||
experimental-features = nix-command flakes
|
||||
accept-flake-config = true
|
||||
access-tokens = github.com=${{ secrets.RENOVATE_TOKEN }}
|
||||
- name: Update input
|
||||
uses: ./.github/actions/update-flake-input
|
||||
with:
|
||||
input-name: ${{ matrix.input }}
|
||||
github-token: ${{ secrets.RENOVATE_TOKEN }}
|
||||
skip-delay: ${{ github.event_name == 'workflow_dispatch' && inputs.skip-delay }}
|
||||
auto-merge: ${{ github.event_name != 'workflow_dispatch' || inputs.auto-merge }}
|
||||
@@ -6,6 +6,7 @@
|
||||
!AGENTS.md
|
||||
|
||||
!.github/
|
||||
!.gitea/
|
||||
|
||||
!.envrc
|
||||
|
||||
@@ -13,6 +14,7 @@
|
||||
|
||||
!/flake.nix
|
||||
!/flake.lock
|
||||
!/renovate.json
|
||||
|
||||
!shells/
|
||||
!hosts/
|
||||
|
||||
Generated
+256
-249
@@ -88,11 +88,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1782772816,
|
||||
"narHash": "sha256-s9BuFv0mRuZx9C1MF8qPHRdcAK14ONi0A5m6E2wqOoM=",
|
||||
"lastModified": 1784665499,
|
||||
"narHash": "sha256-9BMxlTxCCDAeoNLtb1a/st7udtTIJep+wpUzquA29VU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "bun2nix",
|
||||
"rev": "5a39d717029e94163ac223aee8d5c9946cafed1c",
|
||||
"rev": "0f2a1f0b6f42cebe3b149bf62d38754c5e0e9729",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -104,16 +104,14 @@
|
||||
"codex-desktop-linux": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
]
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1784007208,
|
||||
"narHash": "sha256-bAJLOSNhVmIAnqTeNrVgc/Gi+3UdxGFBIU+xZ2+zlVg=",
|
||||
"lastModified": 1784823421,
|
||||
"narHash": "sha256-/EM7Cr2Ai0VjNbKv+eIW0+iXT/NBW6WbPkCbf9w+u/o=",
|
||||
"owner": "ilysenko",
|
||||
"repo": "codex-desktop-linux",
|
||||
"rev": "0883c4ebc6028b3f2492f850ab16158eac7d850a",
|
||||
"rev": "efcf40b5ab41323c8fa8eef5526c6a50c45fd8cd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -124,11 +122,11 @@
|
||||
},
|
||||
"crane": {
|
||||
"locked": {
|
||||
"lastModified": 1783203018,
|
||||
"narHash": "sha256-G6R9IT/xwFuu+CYBWDUAok6AdC4ERC4ZfPPFtEpxnZE=",
|
||||
"lastModified": 1784407669,
|
||||
"narHash": "sha256-gcFMcRjw0ZSn380Rx2QLlU1goUQeSrKX/DF12omI6+o=",
|
||||
"owner": "ipetkov",
|
||||
"repo": "crane",
|
||||
"rev": "80db5bdc391be8a1794f6d8a2d56e3a84ebcede2",
|
||||
"rev": "1316b7d278ad77a16aec024b71d971366e123bec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -160,11 +158,11 @@
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1779670703,
|
||||
"narHash": "sha256-UdfMivNMwCCqQsYDg5pSz8X2IOaOrIZLIIy+Bg3CO2o=",
|
||||
"lastModified": 1782007937,
|
||||
"narHash": "sha256-PbnJr+eB+9Czol3ReI83dUgEhcn0sDK6TSy6ODTQm88=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "942159e73e40bf785816f7f1f5feed9ef3d7c8f9",
|
||||
"rev": "981bd332015397fb1ca033fa982bd61635160c78",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -176,11 +174,11 @@
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1761588595,
|
||||
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
||||
"lastModified": 1767039857,
|
||||
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -321,11 +319,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778716662,
|
||||
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
|
||||
"lastModified": 1782949081,
|
||||
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
|
||||
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -372,17 +370,17 @@
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"systems": "systems_2",
|
||||
"zig": "zig",
|
||||
"zon2nix": "zon2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783580960,
|
||||
"narHash": "sha256-41eBs4g66qLFEa6esgaCAs1hp1et5551Tqs/jriyI3c=",
|
||||
"lastModified": 1784868212,
|
||||
"narHash": "sha256-DvPf4hVaD8iEeSfqhPCfAtD9kWkBAODqvxp9rmEBgPo=",
|
||||
"owner": "moons-14",
|
||||
"repo": "ghostty",
|
||||
"rev": "6260e9da0baba6c94c3e8f537558bc69085229b9",
|
||||
"rev": "4c725242b7dbe8c77c6e227ef1f9540c5ef17921",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -394,14 +392,14 @@
|
||||
"git-hooks-nix": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783008725,
|
||||
"narHash": "sha256-jGiy6+sxjNWXSjp25uoJuNfyH9zBK1PEDY0lVoL4ibQ=",
|
||||
"lastModified": 1784288435,
|
||||
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "bca82caa46d5ec0f5d422c61fb1e30bc51313cbe",
|
||||
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -413,18 +411,20 @@
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1767737596,
|
||||
"narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=",
|
||||
"host": "gitlab.gnome.org",
|
||||
"lastModified": 1776175984,
|
||||
"narHash": "sha256-RJFlFW8GiMei6oqUGrMkGEvVqOH8U7Q8abc1yK4VKD8=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||
"type": "github"
|
||||
"rev": "e0fdc4c13250e9a9b8ea9594c83925274f4a5dca",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"host": "gitlab.gnome.org",
|
||||
"owner": "GNOME",
|
||||
"ref": "50.1",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "ef02db02bf0ff342734d525b5767814770d85b49",
|
||||
"type": "github"
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
@@ -435,11 +435,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770586272,
|
||||
"narHash": "sha256-Ucci8mu8QfxwzyfER2DQDbvW9t1BnTUJhBmY7ybralo=",
|
||||
"lastModified": 1782657028,
|
||||
"narHash": "sha256-PHTCpYZCMzJYS3phhywqRAZphKVr2zjvlGYa+H20ZZ4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "b1f916ba052341edc1f80d4b2399f1092a4873ca",
|
||||
"rev": "4ad9aaae70c9aaab504127f926c0fa9cfbc2b365",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -455,11 +455,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783740085,
|
||||
"narHash": "sha256-qajyHfZY29G2oEQk+uHxmsJcRoBUBXP9maTpFlwP/dI=",
|
||||
"lastModified": 1784350909,
|
||||
"narHash": "sha256-ZWyzLbS1yKUTeFJLmdVuWNnHttL333/ldJbEE+KzCrM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "3cd22efe6471dc7365c822bd9ad73a21e55f38fb",
|
||||
"rev": "4ce190229c73d44536caa7072f6308fb2d8feeb3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -500,11 +500,11 @@
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783496806,
|
||||
"narHash": "sha256-6B6CQUk1dPc8l/+otaGiYbuX8qeX/0VmSUQ+qSn0/uA=",
|
||||
"lastModified": 1784568171,
|
||||
"narHash": "sha256-t17AqLEhPG6m27ipkp8mJd8Ug0XkdANFDVsgyIFBZcQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "lanzaboote",
|
||||
"rev": "6183ac79eadb079a1e72fa2c60915601be669100",
|
||||
"rev": "f4b0aef3dba28677a5ca4b3416827aade60b5a0b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -517,18 +517,16 @@
|
||||
"inputs": {
|
||||
"bun2nix": "bun2nix",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
],
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"systems": "systems_3",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1784012825,
|
||||
"narHash": "sha256-lbdkOH57StVOFMEpFASzEmi+GlK3iX6Uu7Y2zGUgVFE=",
|
||||
"lastModified": 1785008781,
|
||||
"narHash": "sha256-8/sqtedCCZGZwQQYwvR2LcT+viE99rFOKrU0tcC/HLk=",
|
||||
"owner": "numtide",
|
||||
"repo": "llm-agents.nix",
|
||||
"rev": "5c73869318afcf796a7a465b4b5e31b27f0819d4",
|
||||
"rev": "cef1a33548bebe53824e7216fe1766a6a79eed97",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -541,17 +539,17 @@
|
||||
"inputs": {
|
||||
"niri-stable": "niri-stable",
|
||||
"niri-unstable": "niri-unstable",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783896799,
|
||||
"narHash": "sha256-eXIwrSxH79I3WgRg2q0zLEi6+fyEsd2PisHv2FaR0Po=",
|
||||
"lastModified": 1784874881,
|
||||
"narHash": "sha256-u4jhSIf/Un0qZB+Cn3hTTaHSI20XeAxYbA5o4faqdJs=",
|
||||
"owner": "sodiboo",
|
||||
"repo": "niri-flake",
|
||||
"rev": "9d808f1bb6e86239780039bc18abb64e5415cb23",
|
||||
"rev": "ef7a2a3d719af46b906c22a3ebfb7d65627b2cd2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -580,11 +578,11 @@
|
||||
"niri-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1783522755,
|
||||
"narHash": "sha256-dI0HkX1djETia7cD/Y64h8BNIsSOfTRMzfNum2J6UhE=",
|
||||
"lastModified": 1784570726,
|
||||
"narHash": "sha256-9EMn69JBcFWFgUM7f0VBAX+jBby5b9H3M59U75+5yI4=",
|
||||
"owner": "YaLTeR",
|
||||
"repo": "niri",
|
||||
"rev": "0777769e719b7c9b7c980d4ea66288bfbb4da5b3",
|
||||
"rev": "7f26c3ee804fb6ed458ef7fb0e3c794f14e0b3bc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -621,11 +619,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783864904,
|
||||
"narHash": "sha256-BQxN5UMg9FOevAsgBRwPxfxlh51Puj+dNn/8Dsi3sPM=",
|
||||
"lastModified": 1784440659,
|
||||
"narHash": "sha256-Q5kNLlWngt7TaIIZoxDKWMHjiSaNRVqr70FqWCRRfr4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "1111b9bc836afb7e31a7014e8d1272de9b1c917d",
|
||||
"rev": "4f8d52a3598b0dc7db7a5e7b419e3edd9d1ecfdb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -636,14 +634,14 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783792734,
|
||||
"narHash": "sha256-50rvY9GdFvpYDcMLcD/4cWSi0hVxArT5wsGlVsHy8eY=",
|
||||
"lastModified": 1784723954,
|
||||
"narHash": "sha256-1CfD8ZUjCkTgjsneLZ/lxCHhgDfqxxE7/GX0MmsgiqA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "8efb4337e857949f4cfac86d12ef1066f417f31f",
|
||||
"rev": "a017f5b72210026af5b3ac5949f08d94380a6fbd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -656,14 +654,14 @@
|
||||
"nixos-wsl": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783897948,
|
||||
"narHash": "sha256-wusXpttNJn7SvUMvGLpNuJgcwIIkMwlWNnasPPxpftg=",
|
||||
"lastModified": 1784642409,
|
||||
"narHash": "sha256-hcbDqFuySAJawljt5r0sKBCJKYnbtGD0T/ZIozH1Dq0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NixOS-WSL",
|
||||
"rev": "7348d3f38ab1bd6abe156a923fab6f43656b168f",
|
||||
"rev": "eaeb18da90024448a60eb1ec7132eafa4003404e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -674,15 +672,18 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1770537093,
|
||||
"narHash": "sha256-XV30uo8tXuxdzuV8l3sojmlPRLd/8tpMsOp4lNzLGUo=",
|
||||
"rev": "fef9403a3e4d31b0a23f0bacebbec52c248fbb51",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre942631.fef9403a3e4d/nixexprs.tar.xz"
|
||||
"lastModified": 1772773019,
|
||||
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
@@ -734,11 +735,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1783915482,
|
||||
"narHash": "sha256-FmieJB8/OUvNxbkboi7+IGfIuSXY3nF/hZQm8kD0r50=",
|
||||
"lastModified": 1784835677,
|
||||
"narHash": "sha256-99n/+kX5HRtEouTsNNyz5pMfIpNMp4Um/6nCEDQ9YDs=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "6cdc7fc76e8bf7fde9fa43a849fcaaa70e230dee",
|
||||
"rev": "d4221905ef70b7f4a40701ce98e3e25c3d95d082",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -748,100 +749,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1782918843,
|
||||
"narHash": "sha256-ETYnV9U7Sr+A45dohzZdfCZKOss4qrTkO+wgNZNvEc0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e8273b29fe1390ec8d4603f2477357555291432e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1783776592,
|
||||
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1767892417,
|
||||
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
||||
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1783224372,
|
||||
"narHash": "sha256-8i/87eeoqiGE4yOTjwSA3Eh/ziJRQEmd/unYU+K27sk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d407951447dcd00442e97087bf374aad70c04cea",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1783856661,
|
||||
"narHash": "sha256-ZGP04e+Q6WyQJGA9ZvI5CL6+heGQldbAG9U1T9NGvmU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "569d578509928497eddc3fdbf94a799027050be4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-26.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1770107345,
|
||||
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1772542754,
|
||||
"narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=",
|
||||
@@ -857,7 +765,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"nixpkgs_11": {
|
||||
"locked": {
|
||||
"lastModified": 1778869304,
|
||||
"narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=",
|
||||
@@ -873,6 +781,128 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1782545840,
|
||||
"narHash": "sha256-CAi8oAZaE6pTkcYQBnnOlvmfMgG/p1AO0FohKKN3J7I=",
|
||||
"rev": "3d46470bb3030020f7e1361f33514854f5bfa86d",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1023445.3d46470bb303/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1782918843,
|
||||
"narHash": "sha256-ETYnV9U7Sr+A45dohzZdfCZKOss4qrTkO+wgNZNvEc0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e8273b29fe1390ec8d4603f2477357555291432e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1784555310,
|
||||
"narHash": "sha256-/FCliTPgiuV1owejZFNx3Ch9irdvkOfOFl+HHZ+DrtM=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "421eebfd0ec7bccd4abe826ce62d7e6e83129493",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1784796856,
|
||||
"narHash": "sha256-wWFrV5/Qbm+lyt5x20E/bSbfJiGKMo4RCxZV8cl/WZI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e2587caef70cea85dd97d7daab492899902dbf5d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1767892417,
|
||||
"narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=",
|
||||
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1783776592,
|
||||
"narHash": "sha256-UgCQzxeWI75XM8G+hPrPh+MKzEPjG3SpAj7dtqSbksA=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "e7a3ca8092b61ff85b6a45bf863ea2b2d6a661b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1784923315,
|
||||
"narHash": "sha256-2e5BnQ0YLJMIRII1BdGsLiBcJ1fRVauvZypwZIR2JLw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d2f1d98be0573ebf42b96630bc8d7001ff62af43",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-26.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1770107345,
|
||||
"narHash": "sha256-tbS0Ebx2PiA1FRW8mt8oejR0qMXmziJmPaU1d4kYY9g=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4533d9293756b63904b7238acb84ac8fe4c8c2c4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
@@ -903,11 +933,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1784013028,
|
||||
"narHash": "sha256-5omqKdhva8yt7/pXKeJUNJMaoCLOXFz5WT5AXP/C/pE=",
|
||||
"lastModified": 1784917398,
|
||||
"narHash": "sha256-lBVMJgBWbC3H6UGlCYiu8pbgUJqWWyJ70n/xIljk/1I=",
|
||||
"owner": "noctalia-dev",
|
||||
"repo": "noctalia",
|
||||
"rev": "c22405c3c8f8e64ddfff3a737a7f22eb25425f69",
|
||||
"rev": "0cd9b22e19fb71455c950a70c11324b7e245a790",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -928,11 +958,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780281641,
|
||||
"narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=",
|
||||
"lastModified": 1783439237,
|
||||
"narHash": "sha256-WUr8JF2v3n4Y30E5dxv4sAgNJXpVDBoCQNoQ/V4+n4o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01",
|
||||
"rev": "b70bb66c7bcd162642f3a609bc16843c7059f503",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -950,11 +980,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783008725,
|
||||
"narHash": "sha256-jGiy6+sxjNWXSjp25uoJuNfyH9zBK1PEDY0lVoL4ibQ=",
|
||||
"lastModified": 1784288435,
|
||||
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "bca82caa46d5ec0f5d422c61fb1e30bc51313cbe",
|
||||
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -978,7 +1008,7 @@
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixos-wsl": "nixos-wsl",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nixvim": "nixvim",
|
||||
"noctalia": "noctalia",
|
||||
@@ -999,11 +1029,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783488441,
|
||||
"narHash": "sha256-jmWf+H3iC/0z7/mmvTovaJx1E/LME1QyHkyk+AFfJPk=",
|
||||
"lastModified": 1784438913,
|
||||
"narHash": "sha256-NYF7ZM5ip0u+w1pBFDpIGEbrbgN/wpnLFAmBkWkYMXw=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "7dc3a177a239ed879c5581a80f6dc246c7e102f1",
|
||||
"rev": "afacd6819d3765a05814ee8e3de74c77d42ac799",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1014,11 +1044,11 @@
|
||||
},
|
||||
"services-flake": {
|
||||
"locked": {
|
||||
"lastModified": 1783213527,
|
||||
"narHash": "sha256-yIVKacNpTvEY+xQf2MzNn6jerRrazrkXxTwmwTK4N7M=",
|
||||
"lastModified": 1784799366,
|
||||
"narHash": "sha256-aK4fmqmGbk0J2sUhex79NAZTd1002DNWNsfubO6aic0=",
|
||||
"owner": "juspay",
|
||||
"repo": "services-flake",
|
||||
"rev": "1c9142a3d74abc53aed62687106ee15e873dc3ff",
|
||||
"rev": "eed1ab55413afbb8fd7bc929076c73894e5104e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1049,7 +1079,7 @@
|
||||
},
|
||||
"soulver-cpp": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"nixpkgs": "nixpkgs_11",
|
||||
"nixpkgs-libxml2": "nixpkgs-libxml2"
|
||||
},
|
||||
"locked": {
|
||||
@@ -1086,11 +1116,11 @@
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783358511,
|
||||
"narHash": "sha256-/F85cBWvU8b2hpawuCog464065ZTJtdMgVPWwJ9yHjE=",
|
||||
"lastModified": 1784676123,
|
||||
"narHash": "sha256-ndyanKzw90yX2nUVFmTuYqXidUNymtMfgmIHyNdhht0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "stylix",
|
||||
"rev": "14814ef555d8148ab82eba5054e654cd9eae3a1f",
|
||||
"rev": "66714e5ce44269ecc58c20d9196da8dbe1b27a31",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1239,11 +1269,11 @@
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1777806186,
|
||||
"narHash": "sha256-PDF0/wObw4nIsSBeXVYLsloXOiphXCgIdsrNcVXguKs=",
|
||||
"lastModified": 1781968807,
|
||||
"narHash": "sha256-yYO3Vw2M0y3TAUqt+9+Mj0zwP3XDTF5/PXcPhhFQ1ZM=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "0c94645546f4f3ddac77a1a5fce54eb95bf50795",
|
||||
"rev": "2ccef2f4b22e3cab5a9292811f7133a07eeba4a7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1255,11 +1285,11 @@
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1778379944,
|
||||
"narHash": "sha256-wPDFzMGSlARlw0Sfsn48Q2+jPSfk6N0Ng6BC/d+7Q24=",
|
||||
"lastModified": 1782012462,
|
||||
"narHash": "sha256-2iDiD8DQLwS1lGuD9TS8WlvNyDoTs6krWntJbtB2zGo=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "fe0203a198690e71a5ff11e08812a4673de3678d",
|
||||
"rev": "8c4e750f738a742bd73377ee41d3dadedebedef4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1271,11 +1301,11 @@
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1778378178,
|
||||
"narHash": "sha256-OXPXRIQgGwV77HjYRryOHguh4ALX96jkg+tseLkGgHA=",
|
||||
"lastModified": 1782009766,
|
||||
"narHash": "sha256-VUhBjpGvWqHI7rWeyMYb/u87YJSXHKfVV6S+IelWeO8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "9cd816033ff969415b190722cddf134e78a5665f",
|
||||
"rev": "5e8350bcd354e3241ab681a265fa6ef060c40be1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1292,11 +1322,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780220602,
|
||||
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||
"lastModified": 1784369104,
|
||||
"narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||
"rev": "df3c0640565d04a0261253cdd89fce78ec50168a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1307,14 +1337,14 @@
|
||||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_7"
|
||||
"nixpkgs": "nixpkgs_9"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780220602,
|
||||
"narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=",
|
||||
"lastModified": 1784369104,
|
||||
"narHash": "sha256-47cxbcZODibHv3rELFQ9vZly0vUNkND/atn/U7HLeb0=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "db947814a175b7ca6ded66e21383d938df01c227",
|
||||
"rev": "df3c0640565d04a0261253cdd89fce78ec50168a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1325,16 +1355,16 @@
|
||||
},
|
||||
"vicinae": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs": "nixpkgs_10",
|
||||
"soulver-cpp": "soulver-cpp",
|
||||
"systems": "systems_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783972265,
|
||||
"narHash": "sha256-wALYzewjUgVZrxl9FQji4ZzBAT5CGTVlR+cFCD0G11U=",
|
||||
"lastModified": 1784839524,
|
||||
"narHash": "sha256-B87U5HDB/6JPxSnNQwnIiwtqUWvyxzqs7lV/GPzva68=",
|
||||
"owner": "vicinaehq",
|
||||
"repo": "vicinae",
|
||||
"rev": "94f9570f096a407d27e18073d1b01dae13c4d064",
|
||||
"rev": "632ca79e9f8fc9721384921f28ec069ff48aaf53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1353,11 +1383,11 @@
|
||||
"vicinae": "vicinae_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1783009133,
|
||||
"narHash": "sha256-Non+frT3WG0TN60zCq63m8+d7yNmCCMaI363kZaDmPM=",
|
||||
"lastModified": 1784504910,
|
||||
"narHash": "sha256-fzPBEJZiRvc/FNMdpbdcfaZzF01U4IQenHW9IQFzhos=",
|
||||
"owner": "vicinaehq",
|
||||
"repo": "extensions",
|
||||
"rev": "afb84fe4b5253777ff82db8e19e6cc0c9b7f811f",
|
||||
"rev": "ca74eede9a778a9373c8f5fd221b0a5026dcd1ef",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1411,11 +1441,11 @@
|
||||
"xwayland-satellite-unstable": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1783895132,
|
||||
"narHash": "sha256-Dl0Gvrig3EpE962hzF3ETPhUztlfuRhcmlpd8ioHN54=",
|
||||
"lastModified": 1784679892,
|
||||
"narHash": "sha256-Mb7jpqnrcYCfNSItIkkHpuR3YxWFxPuIBfcwNKlRBkk=",
|
||||
"owner": "Supreeeme",
|
||||
"repo": "xwayland-satellite",
|
||||
"rev": "a2b5c635d8c8c99b286967658d0d177044887eb8",
|
||||
"rev": "8d135d3b2854b30fd01ea6cd6c27e523dd50a839",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1440,11 +1470,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1776789209,
|
||||
"narHash": "sha256-G6B7Q4TXn7MZ1mB+f9rymjsYF5PLWoSvmbxijb/99bw=",
|
||||
"lastModified": 1782609341,
|
||||
"narHash": "sha256-OfCPJFS/2Z2ZyjE4adR7PL+ZEqvDQFi2XNI1L8s6wKU=",
|
||||
"owner": "mitchellh",
|
||||
"repo": "zig-overlay",
|
||||
"rev": "14fe971844e841297ddd2ce9783d6892b467af39",
|
||||
"rev": "5386fea92c45b154bbeb52d14ef5504f82eda86c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -1453,42 +1483,19 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zig_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"zon2nix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777234348,
|
||||
"narHash": "sha256-fKw44a4qbUuI5eTG8k0gPbqMV5TOrjYF35PBzsYgd2U=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "2c781c0609ecda600ab98f98cca417bbd981bd53",
|
||||
"revCount": 1677,
|
||||
"type": "git",
|
||||
"url": "https://codeberg.org/jcollie/zig-overlay.git"
|
||||
},
|
||||
"original": {
|
||||
"type": "git",
|
||||
"url": "https://codeberg.org/jcollie/zig-overlay.git"
|
||||
}
|
||||
},
|
||||
"zon2nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"ghostty",
|
||||
"nixpkgs"
|
||||
],
|
||||
"zig": "zig_2"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777314365,
|
||||
"narHash": "sha256-eLxQaD0wc96Neqkln8wHS0rNq/chPODifFkhwrwilEU=",
|
||||
"lastModified": 1784117571,
|
||||
"narHash": "sha256-Hvnmnuu0VpHiZl+8z+UkMoxC7JZJvRYBqu2Asb0ZJOE=",
|
||||
"owner": "jcollie",
|
||||
"repo": "zon2nix",
|
||||
"rev": "a5a1d412ad1ab6305511997bbc92b3a9dd6cb784",
|
||||
"rev": "0ce628fb78309cdb13d098ae9c6fdbf87c75d25b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -78,12 +78,10 @@
|
||||
# LLM agents
|
||||
llm-agents = {
|
||||
url = "github:numtide/llm-agents.nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
};
|
||||
|
||||
codex-desktop-linux = {
|
||||
url = "github:ilysenko/codex-desktop-linux";
|
||||
inputs.nixpkgs.follows = "nixpkgs-unstable";
|
||||
};
|
||||
|
||||
# Index / Search
|
||||
|
||||
+11
-3
@@ -47,9 +47,8 @@ let
|
||||
;
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
flake.nixosConfigurations = {
|
||||
|
||||
nixosConfigurations = {
|
||||
nix-example = mkSystem {
|
||||
host = "nix-example";
|
||||
system = "x86_64-linux";
|
||||
@@ -102,4 +101,13 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
flake = {
|
||||
inherit nixosConfigurations;
|
||||
|
||||
checks.x86_64-linux = lib.mapAttrs' (
|
||||
name: nixos: lib.nameValuePair "nixos-${name}" nixos.config.system.build.toplevel
|
||||
) nixosConfigurations;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
|
||||
];
|
||||
|
||||
boot.zfs.forceImportRoot = false;
|
||||
|
||||
networking = {
|
||||
hostName = "nixos-installer";
|
||||
|
||||
|
||||
@@ -31,12 +31,14 @@
|
||||
./slack.nix
|
||||
./ssh
|
||||
./swayidle.nix
|
||||
./swaylock
|
||||
./tailscale.nix
|
||||
./vicinae.nix
|
||||
./vim
|
||||
./vscode
|
||||
./wayland.nix
|
||||
./yazi.nix
|
||||
./zed
|
||||
./zellij
|
||||
./zoom.nix
|
||||
./zoxide.nix
|
||||
|
||||
@@ -15,6 +15,7 @@ in
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
git # Distributed version control system
|
||||
gh # GitHub CLI
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,6 +6,10 @@
|
||||
}:
|
||||
let
|
||||
cfg = config.my.applications.grok;
|
||||
|
||||
grok = pkgs.llm-agents.grok.overrideAttrs (_old: {
|
||||
versionCheckProgram = "${placeholder "out"}/libexec/grok/grok-launcher";
|
||||
});
|
||||
in
|
||||
{
|
||||
options.my.applications.grok = {
|
||||
@@ -14,7 +18,7 @@ in
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
pkgs.llm-agents.grok # Grok AI CLI
|
||||
grok
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -123,12 +123,10 @@ in
|
||||
};
|
||||
"Mod+L" = {
|
||||
action.spawn = [
|
||||
"noctalia"
|
||||
"msg"
|
||||
"session"
|
||||
"lock"
|
||||
(lib.getExe' pkgs.systemd "loginctl")
|
||||
"lock-session"
|
||||
];
|
||||
hotkey-overlay.title = "Lock the Screen: noctalia";
|
||||
hotkey-overlay.title = "Lock the Screen";
|
||||
};
|
||||
"Mod+V" = {
|
||||
action.spawn = [
|
||||
|
||||
@@ -54,6 +54,10 @@ in
|
||||
};
|
||||
};
|
||||
desktop_widgets.enabled = false;
|
||||
lockscreen = {
|
||||
enabled = false;
|
||||
fingerprint = false;
|
||||
};
|
||||
widget = {
|
||||
cpu = {
|
||||
type = "sysmon";
|
||||
|
||||
@@ -2,25 +2,18 @@
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.applications.swayidle;
|
||||
|
||||
noctaliaPkg = inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default;
|
||||
|
||||
noctalia = lib.getExe noctaliaPkg;
|
||||
brightnessctl = lib.getExe pkgs.brightnessctl;
|
||||
niri = lib.getExe pkgs.niri;
|
||||
rm = "${pkgs.coreutils}/bin/rm";
|
||||
systemctl = lib.getExe' pkgs.systemd "systemctl";
|
||||
|
||||
brightnessState = "$XDG_RUNTIME_DIR/swayidle-brightness";
|
||||
|
||||
noctaliaMsg = command: "${noctalia} msg ${command}";
|
||||
|
||||
lockCmd = noctaliaMsg "session lock";
|
||||
|
||||
# AC 接続中は何もしない。
|
||||
# つまり、以下のアイドル処理をバッテリー駆動時のみにする。
|
||||
skipIfOnAC = ''
|
||||
@@ -49,10 +42,10 @@ let
|
||||
fi
|
||||
'';
|
||||
|
||||
lockAndSuspend = pkgs.writeShellScript "swayidle-lock-and-suspend" ''
|
||||
suspendOnBattery = pkgs.writeShellScript "swayidle-suspend-on-battery" ''
|
||||
${skipIfOnAC}
|
||||
|
||||
${noctaliaMsg "session lock-and-suspend"}
|
||||
exec ${systemctl} suspend
|
||||
'';
|
||||
|
||||
afterResume = pkgs.writeShellScript "swayidle-after-resume" ''
|
||||
@@ -83,13 +76,11 @@ in
|
||||
}
|
||||
{
|
||||
timeout = 360;
|
||||
command = "${lockAndSuspend}";
|
||||
command = "${suspendOnBattery}";
|
||||
}
|
||||
];
|
||||
|
||||
events = {
|
||||
lock = lockCmd;
|
||||
before-sleep = lockCmd;
|
||||
after-resume = "${afterResume}";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.applications.swaylock;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./home.nix
|
||||
./system.nix
|
||||
];
|
||||
|
||||
options.my.applications.swaylock = {
|
||||
enable = lib.mkEnableOption "swaylock screen locker";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.applications.swaylock.system.enable = lib.mkDefault true;
|
||||
my.applications.swaylock.homeManager.enable = lib.mkDefault true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.applications.swaylock;
|
||||
hmCfg = config.my.applications.swaylock.homeManager;
|
||||
in
|
||||
{
|
||||
options.my.applications.swaylock.homeManager = {
|
||||
enable = lib.mkEnableOption "swaylock home-manager configuration";
|
||||
};
|
||||
|
||||
config.home-manager.sharedModules = [
|
||||
(
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
config = lib.mkIf (cfg.enable && hmCfg.enable) {
|
||||
home.packages = with pkgs; [
|
||||
swaylock # Wayland screen locker using ext-session-lock-v1
|
||||
];
|
||||
|
||||
# systemd-lock-handler holds a sleep inhibitor until this service is
|
||||
# ready. swaylock forks only after the compositor confirms the lock.
|
||||
systemd.user.services.swaylock = {
|
||||
Unit = {
|
||||
Description = "Screen locker for Wayland";
|
||||
Documentation = [ "man:swaylock(1)" ];
|
||||
OnSuccess = [ "unlock.target" ];
|
||||
PartOf = [ "lock.target" ];
|
||||
Before = [ "lock.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
Type = "forking";
|
||||
ExecStart = "${lib.getExe pkgs.swaylock} -f -i %h/.wallpapers/28.jpg";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 0;
|
||||
};
|
||||
|
||||
Install.WantedBy = [ "lock.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.applications.swaylock.system;
|
||||
in
|
||||
{
|
||||
options.my.applications.swaylock.system = {
|
||||
enable = lib.mkEnableOption "swaylock system configuration";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.systemd-lock-handler.enable = true;
|
||||
|
||||
security.pam.services.swaylock.fprintAuth = true;
|
||||
|
||||
# PAM authentication is serial. Let a supplied password succeed before
|
||||
# starting fprintd, whose scan otherwise blocks password verification until
|
||||
# its timeout expires. Submit an empty password to start fingerprint
|
||||
# authentication in upstream swaylock.
|
||||
security.pam.services.swaylock.rules.auth.fprintd.order =
|
||||
config.security.pam.services.swaylock.rules.auth.unix.order + 50;
|
||||
};
|
||||
}
|
||||
@@ -53,6 +53,11 @@ in
|
||||
extensions = with inputs.vicinae-extensions.packages.${pkgs.stdenv.hostPlatform.system}; [
|
||||
nix
|
||||
power-profile
|
||||
niri
|
||||
zoxide-recent-directories
|
||||
ssh
|
||||
port-killer
|
||||
noctalia-shell-wallpaper-selector
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,19 +19,13 @@ in
|
||||
# modules do not each append their own portal backends.
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gnome
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-wlr
|
||||
];
|
||||
xdgOpenUsePortal = true;
|
||||
config = {
|
||||
common.default = [ "gtk" ];
|
||||
niri.default = lib.mkForce [
|
||||
"wlr"
|
||||
"gtk"
|
||||
];
|
||||
gnome.default = [
|
||||
"gnome"
|
||||
"gtk"
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.applications.zed;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./home.nix
|
||||
];
|
||||
|
||||
options.my.applications.zed = {
|
||||
enable = lib.mkEnableOption "Zed code editor";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.applications.zed.homeManager.enable = lib.mkDefault true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.applications.zed.homeManager;
|
||||
in
|
||||
{
|
||||
options.my.applications.zed.homeManager = {
|
||||
enable = lib.mkEnableOption "Zed home-manager configuration";
|
||||
};
|
||||
|
||||
config.home-manager.sharedModules = [
|
||||
{
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.zed-editor = {
|
||||
enable = true;
|
||||
extensions = [
|
||||
"catppuccin"
|
||||
"nix"
|
||||
];
|
||||
mutableUserSettings = false;
|
||||
|
||||
userSettings = {
|
||||
agent = {
|
||||
flexible = true;
|
||||
favorite_models = [ ];
|
||||
model_parameters = [ ];
|
||||
};
|
||||
|
||||
project_panel.dock = "left";
|
||||
|
||||
telemetry = {
|
||||
diagnostics = false;
|
||||
metrics = false;
|
||||
};
|
||||
|
||||
vim_mode = true;
|
||||
|
||||
agent_servers = {
|
||||
github-copilot-cli.type = "registry";
|
||||
codex-acp.type = "registry";
|
||||
claude-acp.type = "registry";
|
||||
};
|
||||
|
||||
icon_theme = {
|
||||
mode = "dark";
|
||||
light = "Zed (Default)";
|
||||
dark = "Zed (Default)";
|
||||
};
|
||||
|
||||
ui_font_size = 16;
|
||||
buffer_font_size = 16;
|
||||
|
||||
theme = {
|
||||
mode = "dark";
|
||||
light = "Catppuccin Latte";
|
||||
dark = "Catppuccin Mocha";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
}
|
||||
@@ -1,19 +1,10 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.applications.zoom;
|
||||
zoomX11 = pkgs.zoom-us.overrideAttrs (old: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ pkgs.makeWrapper ];
|
||||
|
||||
postFixup = (old.postFixup or "") + ''
|
||||
wrapProgram $out/bin/zoom \
|
||||
--set QT_QPA_PLATFORM xcb
|
||||
'';
|
||||
});
|
||||
in
|
||||
{
|
||||
options.my.applications.zoom = {
|
||||
@@ -21,12 +12,6 @@ in
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
zoomX11 # Video conferencing application with XWayland startup for GNOME stability
|
||||
];
|
||||
}
|
||||
];
|
||||
programs.zoom-us.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ in
|
||||
unzip # Tool For Handling .zip Files
|
||||
unrar # Tool For Handling .rar Files
|
||||
ripgrep # Fast Search Tool
|
||||
jq # Lightweight JSON processor
|
||||
nurl # CLI tool for generating Nix fetcher calls from URLs
|
||||
eza # ls alternative
|
||||
bat # cat alternative
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
./agent.nix
|
||||
./arduino.nix
|
||||
./bun.nix
|
||||
./dns.nix
|
||||
./drawio.nix
|
||||
./java.nix
|
||||
./nix.nix
|
||||
./python.nix
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.features.dev.dns;
|
||||
in
|
||||
{
|
||||
options.my.features.dev.dns = {
|
||||
enable = lib.mkEnableOption "DNS development tools (dig)";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
bind # DNS lookup utilities (dig, host, nslookup)
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.my.features.dev.drawio;
|
||||
in
|
||||
{
|
||||
options.my.features.dev.drawio = {
|
||||
enable = lib.mkEnableOption "Draw.io diagram editor";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
drawio # Diagram editor
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -12,6 +12,24 @@ in
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home-manager.sharedModules = [
|
||||
{
|
||||
xdg.userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
desktop = "$HOME/Desktop";
|
||||
documents = "$HOME/Documents";
|
||||
download = "$HOME/Downloads";
|
||||
music = "$HOME/Music";
|
||||
pictures = "$HOME/Pictures";
|
||||
projects = "$HOME/Projects";
|
||||
publicShare = "$HOME/Public";
|
||||
templates = "$HOME/Templates";
|
||||
videos = "$HOME/Videos";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
my.applications = {
|
||||
gnome.enable = true;
|
||||
gtk.enable = true;
|
||||
@@ -20,6 +38,7 @@ in
|
||||
ly.enable = true;
|
||||
noctalia.enable = true;
|
||||
swayidle.enable = true;
|
||||
swaylock.enable = true;
|
||||
vicinae.enable = true;
|
||||
};
|
||||
my.system = {
|
||||
|
||||
@@ -4,10 +4,13 @@ let
|
||||
in
|
||||
{
|
||||
options.my.features.gui.editor = {
|
||||
enable = lib.mkEnableOption "GUI code editor (VSCode)";
|
||||
enable = lib.mkEnableOption "GUI code editors (VSCode and Zed)";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
my.applications.vscode.enable = true;
|
||||
my.applications = {
|
||||
vscode.enable = true;
|
||||
zed.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ in
|
||||
security.pam.services.polkit-1.fprintAuth = true;
|
||||
|
||||
security.pam.services = {
|
||||
login.fprintAuth = true;
|
||||
login.fprintAuth = false;
|
||||
sudo.fprintAuth = true;
|
||||
greetd.fprintAuth = lib.mkForce false;
|
||||
ly.fprintAuth = lib.mkForce false;
|
||||
|
||||
@@ -7,6 +7,7 @@ _: {
|
||||
"https://noctalia.cachix.org"
|
||||
"https://vicinae.cachix.org"
|
||||
"https://cache.numtide.com"
|
||||
"https://codex-desktop-linux.cachix.org"
|
||||
];
|
||||
|
||||
extra-trusted-public-keys = [
|
||||
@@ -16,6 +17,7 @@ _: {
|
||||
"noctalia.cachix.org-1:pCOR47nnMEo5thcxNDtzWpOxNFQsBRglJzxWPp3dkU4="
|
||||
"vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc="
|
||||
"niks3.numtide.com-1:DTx8wZduET09hRmMtKdQDxNNthLQETkc/yaX7M4qK0g="
|
||||
"codex-desktop-linux.cachix.org-1:nX/xy6AdK9hQE24A8ALGjkCKj2ObFmcnemiL5Cid4nk="
|
||||
];
|
||||
|
||||
experimental-features = [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ inputs, ... }:
|
||||
{
|
||||
flake.overlays = {
|
||||
default = inputs.llm-agents.overlays.shared-nixpkgs;
|
||||
flake.overlays.default = final: {
|
||||
llm-agents = inputs.llm-agents.packages.${final.stdenv.hostPlatform.system};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
nix.enable = true;
|
||||
python.enable = true;
|
||||
bun.enable = true;
|
||||
dns.enable = true;
|
||||
drawio.enable = true;
|
||||
java.enable = true;
|
||||
};
|
||||
gui.editor.enable = true;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": ["config:recommended", "helpers:pinGitHubActionDigests"],
|
||||
"enabledManagers": ["github-actions"],
|
||||
|
||||
"prHourlyLimit": 0,
|
||||
|
||||
"prCreation": "immediate",
|
||||
|
||||
"semanticCommits": "enabled",
|
||||
"semanticCommitType": "chore",
|
||||
"semanticCommitScope": "deps"
|
||||
}
|
||||
Reference in New Issue
Block a user