summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxrelkd <46590321+xrelkd@users.noreply.github.com>2023-08-30 22:18:24 +0800
committerGitHub <noreply@github.com>2023-08-30 10:18:24 -0400
commit4c2f3ac69303e3b0b7c6ad90e1902604f6e88d20 (patch)
tree12c83484ce4eec5b7151ab66cb078a28aa0904c0
parentcec05cb504fbe72a7a4aa9c191f54dd3bbce8903 (diff)
Install shell completions in `Nix Flake` (#421)
* update `flake.lock` Flake lock file updates: • Updated input 'devenv': 'github:cachix/devenv/8d6d129b666778538b76bcb069ab82f813094e5c' (2023-05-30) → 'github:cachix/devenv/3654eb5d47218cfa2d12280ba5ac1ace0a9dd225' (2023-08-30) • Updated input 'devenv/pre-commit-hooks': 'github:cachix/pre-commit-hooks.nix/fb58866e20af98779017134319b5663b8215d912' (2023-04-27) → 'github:cachix/pre-commit-hooks.nix/5843cf069272d92b60c3ed9e55b7a8989c01d4c7' (2023-06-29) • Updated input 'devenv/pre-commit-hooks/flake-utils': 'github:numtide/flake-utils/5aed5285a952e0b949eb3ba02c12fa4fcfef535f' (2022-11-02) → 'github:numtide/flake-utils/a1720a10a6cfe8234c0e93907ffe81be440f4cef' (2023-05-31) • Added input 'devenv/pre-commit-hooks/flake-utils/systems': 'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09) • Updated input 'devenv/pre-commit-hooks/nixpkgs-stable': 'github:NixOS/nixpkgs/9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8' (2023-03-15) → 'github:NixOS/nixpkgs/c37ca420157f4abc31e26f436c1145f8951ff373' (2023-06-03) • Updated input 'fenix': 'github:nix-community/fenix/9ea56d5de762971f6a7319711bae0532ca454dc9' (2023-05-30) → 'github:nix-community/fenix/76e468cd74a08edcbabb14ce1698ebd2f5fad9d2' (2023-08-29) • Updated input 'fenix/rust-analyzer-src': 'github:rust-lang/rust-analyzer/bc8295255c5bcc293251d47590dcbfd320eaab87' (2023-05-29) → 'github:rust-lang/rust-analyzer/62268e474e9165de0cdb08d3794eec4b6ef1c6cd' (2023-08-28) • Updated input 'flake-parts': 'github:hercules-ci/flake-parts/80717d11615b6f42d1ad2e18ead51193fc15de69' (2023-05-30) → 'github:hercules-ci/flake-parts/59cf3f1447cfc75087e7273b04b31e689a8599fb' (2023-08-01) • Updated input 'flake-parts/nixpkgs-lib': 'github:NixOS/nixpkgs/da45bf6ec7bbcc5d1e14d3795c025199f28e0de0?dir=lib' (2023-04-30) → 'github:NixOS/nixpkgs/9e1960bc196baf6881340d53dccb203a951745a2?dir=lib' (2023-08-01) • Updated input 'flake-root': 'github:srid/flake-root/f1c0b93d05bdbea6c011136ba1a135c80c5b326c' (2023-04-08) → 'github:srid/flake-root/d9a70d9c7a5fd7f3258ccf48da9335e9b47c3937' (2023-08-22) • Updated input 'mission-control': 'github:Platonic-Systems/mission-control/a0c93bd764a3c25e6999397e9f5f119c1b124e38' (2023-05-09) → 'github:Platonic-Systems/mission-control/9d25d9f8d610916fc144f6afc1f064392fbeec1c' (2023-07-28) • Updated input 'nix2container': 'github:nlewo/nix2container/2e0a633344489b3171afe136b820b4602f9d1807' (2023-05-16) → 'github:nlewo/nix2container/ab381a7d714ebf96a83882264245dbd34f0a7ec8' (2023-07-09) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce' (2023-05-29) → 'github:NixOS/nixpkgs/3efb0f6f404ec8dae31bdb1a9b17705ce0d6986e' (2023-08-28) • Updated input 'treefmt-nix': 'github:numtide/treefmt-nix/3d352b2b1a46164443aa114bd29d8d208d8a9bd0' (2023-05-30) → 'github:numtide/treefmt-nix/6befd3b6b8544952e0261f054cf16769294bacba' (2023-08-28) • Updated input 'treefmt-nix/nixpkgs': 'github:nixos/nixpkgs/d9f759f2ea8d265d974a6e1259bd510ac5844c5d' (2023-04-08) → 'github:nixos/nixpkgs/ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e' (2023-08-10) * install shell completions in `Nix Flake` * add GitHub Actions workflow for checking `Nix Flake`
-rw-r--r--.github/workflows/nix.yaml24
-rw-r--r--flake.lock104
-rw-r--r--nix/default.nix10
3 files changed, 95 insertions, 43 deletions
diff --git a/.github/workflows/nix.yaml b/.github/workflows/nix.yaml
new file mode 100644
index 0000000..fbc848e
--- /dev/null
+++ b/.github/workflows/nix.yaml
@@ -0,0 +1,24 @@
+name: "Nix Flakes"
+
+on:
+ push:
+ branches: [dev, main]
+
+ pull_request:
+ branches: [dev, main]
+
+jobs:
+ build-nix-flake:
+ name: Build Nix Flake
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Install Nix
+ uses: cachix/install-nix-action@v22
+
+ - name: Build Nix Flake
+ run: nix build
+
+ - name: Test executable
+ run: ./result/bin/joshuto version
diff --git a/flake.lock b/flake.lock
index cac9530..bc35852 100644
--- a/flake.lock
+++ b/flake.lock
@@ -8,11 +8,11 @@
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
- "lastModified": 1685458650,
- "narHash": "sha256-QbhHZ13NM5YjEOT9FxVP1mZON5OvZr80/BNKaVqoRRo=",
+ "lastModified": 1693363254,
+ "narHash": "sha256-le4CbQz8rKheEkGZcZzmx1ycCQ4tjFMAkcpu3Uq+tEk=",
"owner": "cachix",
"repo": "devenv",
- "rev": "8d6d129b666778538b76bcb069ab82f813094e5c",
+ "rev": "3654eb5d47218cfa2d12280ba5ac1ace0a9dd225",
"type": "github"
},
"original": {
@@ -29,11 +29,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
- "lastModified": 1685427675,
- "narHash": "sha256-fWvqK8RhC6LABuUM7JL+loHhoRFcJx8rkAXGroVeKKw=",
+ "lastModified": 1693290084,
+ "narHash": "sha256-BMN2Sf1yuv5pw2koZZdMCCaghUYyo0hOtxY/v2zmiL8=",
"owner": "nix-community",
"repo": "fenix",
- "rev": "9ea56d5de762971f6a7319711bae0532ca454dc9",
+ "rev": "76e468cd74a08edcbabb14ce1698ebd2f5fad9d2",
"type": "github"
},
"original": {
@@ -63,11 +63,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
- "lastModified": 1685457039,
- "narHash": "sha256-bEFtQm+YyLxQjKQAaBHJyPN1z2wbhBnr2g1NJWSYjwM=",
+ "lastModified": 1690933134,
+ "narHash": "sha256-ab989mN63fQZBFrkk4Q8bYxQCktuHmBIBqUG1jl6/FQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "80717d11615b6f42d1ad2e18ead51193fc15de69",
+ "rev": "59cf3f1447cfc75087e7273b04b31e689a8599fb",
"type": "github"
},
"original": {
@@ -77,11 +77,11 @@
},
"flake-root": {
"locked": {
- "lastModified": 1680964220,
- "narHash": "sha256-dIdTYcf+KW9a4pKHsEbddvLVSfR1yiAJynzg2x0nfWg=",
+ "lastModified": 1692742795,
+ "narHash": "sha256-f+Y0YhVCIJ06LemO+3Xx00lIcqQxSKJHXT/yk1RTKxw=",
"owner": "srid",
"repo": "flake-root",
- "rev": "f1c0b93d05bdbea6c011136ba1a135c80c5b326c",
+ "rev": "d9a70d9c7a5fd7f3258ccf48da9335e9b47c3937",
"type": "github"
},
"original": {
@@ -91,12 +91,15 @@
}
},
"flake-utils": {
+ "inputs": {
+ "systems": "systems"
+ },
"locked": {
- "lastModified": 1667395993,
- "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
+ "lastModified": 1685518550,
+ "narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
+ "rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
@@ -160,11 +163,11 @@
},
"mission-control": {
"locked": {
- "lastModified": 1683658484,
- "narHash": "sha256-JkGnWyYZxOnyOhztrxLSqaod6+O/3rRypq0dAqA/zn0=",
+ "lastModified": 1690573269,
+ "narHash": "sha256-9NSmHRQvzBzfuKD3zHE2fM5xPa+hHSy7xcWQqZaCjFw=",
"owner": "Platonic-Systems",
"repo": "mission-control",
- "rev": "a0c93bd764a3c25e6999397e9f5f119c1b124e38",
+ "rev": "9d25d9f8d610916fc144f6afc1f064392fbeec1c",
"type": "github"
},
"original": {
@@ -220,11 +223,11 @@
]
},
"locked": {
- "lastModified": 1684252411,
- "narHash": "sha256-4T89zvNljrrErlsiWG/u9/AY3qj6KXeiaa/Mpx0SEsk=",
+ "lastModified": 1688922987,
+ "narHash": "sha256-RnQwrCD5anqWfyDAVbfFIeU+Ha6cwt5QcIwIkaGRzQw=",
"owner": "nlewo",
"repo": "nix2container",
- "rev": "2e0a633344489b3171afe136b820b4602f9d1807",
+ "rev": "ab381a7d714ebf96a83882264245dbd34f0a7ec8",
"type": "github"
},
"original": {
@@ -252,11 +255,11 @@
"nixpkgs-lib": {
"locked": {
"dir": "lib",
- "lastModified": 1682879489,
- "narHash": "sha256-sASwo8gBt7JDnOOstnps90K1wxmVfyhsTPPNTGBPjjg=",
+ "lastModified": 1690881714,
+ "narHash": "sha256-h/nXluEqdiQHs1oSgkOOWF+j8gcJMWhwnZ9PFabN6q0=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "da45bf6ec7bbcc5d1e14d3795c025199f28e0de0",
+ "rev": "9e1960bc196baf6881340d53dccb203a951745a2",
"type": "github"
},
"original": {
@@ -285,27 +288,27 @@
},
"nixpkgs-stable": {
"locked": {
- "lastModified": 1678872516,
- "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=",
+ "lastModified": 1685801374,
+ "narHash": "sha256-otaSUoFEMM+LjBI1XL/xGB5ao6IwnZOXc47qhIgJe8U=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8",
+ "rev": "c37ca420157f4abc31e26f436c1145f8951ff373",
"type": "github"
},
"original": {
"owner": "NixOS",
- "ref": "nixos-22.11",
+ "ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
- "lastModified": 1685383865,
- "narHash": "sha256-3uQytfnotO6QJv3r04ajSXbEFMII0dUtw0uqYlZ4dbk=",
+ "lastModified": 1693250523,
+ "narHash": "sha256-y3up5gXMTbnCsXrNEB5j+7TVantDLUYyQLu/ueiXuyg=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "5e871d8aa6f57cc8e0dc087d1c5013f6e212b4ce",
+ "rev": "3efb0f6f404ec8dae31bdb1a9b17705ce0d6986e",
"type": "github"
},
"original": {
@@ -317,11 +320,11 @@
},
"nixpkgs_3": {
"locked": {
- "lastModified": 1680945546,
- "narHash": "sha256-8FuaH5t/aVi/pR1XxnF0qi4WwMYC+YxlfdsA0V+TEuQ=",
+ "lastModified": 1691654369,
+ "narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=",
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "d9f759f2ea8d265d974a6e1259bd510ac5844c5d",
+ "rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e",
"type": "github"
},
"original": {
@@ -346,11 +349,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
- "lastModified": 1682596858,
- "narHash": "sha256-Hf9XVpqaGqe/4oDGr30W8HlsWvJXtMsEPHDqHZA6dDg=",
+ "lastModified": 1688056373,
+ "narHash": "sha256-2+SDlNRTKsgo3LBRiMUcoEUb6sDViRNQhzJquZ4koOI=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
- "rev": "fb58866e20af98779017134319b5663b8215d912",
+ "rev": "5843cf069272d92b60c3ed9e55b7a8989c01d4c7",
"type": "github"
},
"original": {
@@ -375,11 +378,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
- "lastModified": 1685378411,
- "narHash": "sha256-Ufkqek5m8GzV3cz3Mw7bc0hO1d5hN0cO5BoTAK303K8=",
+ "lastModified": 1693248848,
+ "narHash": "sha256-TIroiasNKgsVHEjO4y8fBPHgFON1t91DMmOaXNLixXM=",
"owner": "rust-lang",
"repo": "rust-analyzer",
- "rev": "bc8295255c5bcc293251d47590dcbfd320eaab87",
+ "rev": "62268e474e9165de0cdb08d3794eec4b6ef1c6cd",
"type": "github"
},
"original": {
@@ -389,16 +392,31 @@
"type": "github"
}
},
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
"treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs_3"
},
"locked": {
- "lastModified": 1685455340,
- "narHash": "sha256-yv72jHfXgSLrq/gDPZQfDmKJLEibz2wbCeimr6b4NF4=",
+ "lastModified": 1693247164,
+ "narHash": "sha256-M6qZo8H8fBFnipCy6q6RlpSXF3sDvfTEtyFwdAP7juM=",
"owner": "numtide",
"repo": "treefmt-nix",
- "rev": "3d352b2b1a46164443aa114bd29d8d208d8a9bd0",
+ "rev": "6befd3b6b8544952e0261f054cf16769294bacba",
"type": "github"
},
"original": {
diff --git a/nix/default.nix b/nix/default.nix
index 60e1981..ca449c8 100644
--- a/nix/default.nix
+++ b/nix/default.nix
@@ -1,6 +1,7 @@
{ lib
, stdenv
, rustPlatform
+, installShellFiles
, darwin
, version ? "git"
}:
@@ -22,6 +23,15 @@ rustPlatform.buildRustPackage rec {
darwin.apple_sdk.frameworks.Foundation
];
+ nativeBuildInputs = [ installShellFiles ];
+
+ postInstall = ''
+ installShellCompletion --cmd joshuto \
+ --bash <($out/bin/joshuto completions bash) \
+ --zsh <($out/bin/joshuto completions zsh) \
+ --fish <($out/bin/joshuto completions fish)
+ '';
+
patchPhase = ''
sed -i 's/env!("CARGO_PKG_VERSION")/\"${version}\"/g' src/main.rs
'';