diff --git a/flake.lock b/flake.lock index 7e9fd60..0a23ce8 100644 --- a/flake.lock +++ b/flake.lock @@ -19,11 +19,11 @@ ] }, "locked": { - "lastModified": 1760971495, - "narHash": "sha256-IwnNtbNVrlZIHh7h4Wz6VP0Furxg9Hh0ycighvL5cZc=", + "lastModified": 1777487137, + "narHash": "sha256-TuvKVBX60mqyMT6OB5JqVEh1YIWtFMR/igLCaCdC9tw=", "owner": "cachix", "repo": "cachix", - "rev": "c5bfd933d1033672f51a863c47303fc0e093c2d2", + "rev": "a66a440c321d35f7193472c317f42a55ccd1cb93", "type": "github" }, "original": { @@ -33,21 +33,42 @@ "type": "github" } }, + "crate2nix": { + "flake": false, + "locked": { + "lastModified": 1772186516, + "narHash": "sha256-8s28pzmQ6TOIUzznwFibtW1CMieMUl1rYJIxoQYor58=", + "owner": "rossng", + "repo": "crate2nix", + "rev": "ba5dd398e31ee422fbe021767eb83b0650303a6e", + "type": "github" + }, + "original": { + "owner": "rossng", + "repo": "crate2nix", + "rev": "ba5dd398e31ee422fbe021767eb83b0650303a6e", + "type": "github" + } + }, "devenv": { "inputs": { "cachix": "cachix", + "crate2nix": "crate2nix", "flake-compat": "flake-compat", "flake-parts": "flake-parts", + "ghostty": "ghostty", "git-hooks": "git-hooks", "nix": "nix", - "nixpkgs": "nixpkgs" + "nixd": "nixd", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1763136231, - "narHash": "sha256-QVtIjPSQ/xVhuXSSENYOYZPfrjjc/W/djuxcJyKxGTw=", + "lastModified": 1783538213, + "narHash": "sha256-jNjKlmrejUrBgVAeiavlMLlkmC7ZEv1D9nhfuwMW5Q8=", "owner": "cachix", "repo": "devenv", - "rev": "4b8c2bbdb4e01ef8c4093ee1224fe21ed5ea1a5e", + "rev": "d1fb321e73048d0e1e2b523580268ebb3df2ae90", "type": "github" }, "original": { @@ -59,11 +80,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": { @@ -80,11 +101,11 @@ ] }, "locked": { - "lastModified": 1760948891, - "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", "type": "github" }, "original": { @@ -98,11 +119,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1762980239, - "narHash": "sha256-8oNVE8TrD19ulHinjaqONf9QWCKK+w4url56cdStMpM=", + "lastModified": 1782949081, + "narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "52a2caecc898d0b46b2b905f058ccc5081f842da", + "rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e", "type": "github" }, "original": { @@ -111,24 +132,39 @@ "type": "github" } }, + "ghostty": { + "flake": false, + "locked": { + "lastModified": 1782866021, + "narHash": "sha256-BOLtzL5iAHmtCOg9/DXtcfw+K86QWol088K72chJB04=", + "owner": "ghostty-org", + "repo": "ghostty", + "rev": "e1d31deaaed21aa9225afca78d778fb373c95852", + "type": "github" + }, + "original": { + "owner": "ghostty-org", + "repo": "ghostty", + "type": "github" + } + }, "git-hooks": { "inputs": { "flake-compat": [ "devenv", "flake-compat" ], - "gitignore": "gitignore", "nixpkgs": [ "devenv", "nixpkgs" ] }, "locked": { - "lastModified": 1760663237, - "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", + "lastModified": 1782908218, + "narHash": "sha256-wLMOrPgVyeF3XmP+qfYcLqnVdTxikdcSvbIY7rA9jTA=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", + "rev": "9f7e99119ece7705299595299f3b031f39356de1", "type": "github" }, "original": { @@ -137,28 +173,6 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "devenv", - "git-hooks", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "kamid": { "flake": false, "locked": { @@ -201,27 +215,56 @@ ] }, "locked": { - "lastModified": 1761648602, - "narHash": "sha256-H97KSB/luq/aGobKRuHahOvT1r7C03BgB6D5HBZsbN8=", + "lastModified": 1782407171, + "narHash": "sha256-xem+4ncdQCTFJsQ4PrVuyVmi3j4w/Yqg298hBUzVejA=", "owner": "cachix", "repo": "nix", - "rev": "3e5644da6830ef65f0a2f7ec22830c46285bfff6", + "rev": "782ac1b155679b065ec945ae50d0fa1d495883b7", "type": "github" }, "original": { "owner": "cachix", - "ref": "devenv-2.30.6", + "ref": "devenv-2.34", "repo": "nix", "type": "github" } }, + "nixd": { + "inputs": { + "flake-parts": [ + "devenv", + "flake-parts" + ], + "nixpkgs": [ + "devenv", + "nixpkgs" + ], + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1780381423, + "narHash": "sha256-S1BIJiQF4lRtJUKak0e97JwNvbe69/LW78YJJuB18Qk=", + "owner": "nix-community", + "repo": "nixd", + "rev": "0e07c08c448a2995e7793d1098437b29bbe80b02", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixd", + "type": "github" + } + }, "nixpkgs": { + "inputs": { + "nixpkgs-src": "nixpkgs-src" + }, "locked": { - "lastModified": 1761313199, - "narHash": "sha256-wCIACXbNtXAlwvQUo1Ed++loFALPjYUA3dpcUJiXO44=", + "lastModified": 1782132010, + "narHash": "sha256-ZnAVHdVrotp80iIMm5CSR1fdxPlw7Uwmwxb+O/wsgZ8=", "owner": "cachix", "repo": "devenv-nixpkgs", - "rev": "d1c30452ebecfc55185ae6d1c983c09da0c274ff", + "rev": "12866ae2dddbc0ab8b329915f8072bb9c75bde89", "type": "github" }, "original": { @@ -233,11 +276,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1761765539, - "narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=", + "lastModified": 1782614948, + "narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "719359f4562934ae99f5443f20aa06c2ffff91fc", + "rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c", "type": "github" }, "original": { @@ -246,13 +289,30 @@ "type": "github" } }, + "nixpkgs-src": { + "flake": false, + "locked": { + "lastModified": 1781607440, + "narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "3e41b24abd260e8f71dbe2f5737d24122f972158", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { - "lastModified": 1763191728, - "narHash": "sha256-esRhOS0APE6k40Hs/jjReXg+rx+J5LkWw7cuWFKlwYA=", + "lastModified": 1783475452, + "narHash": "sha256-3S92fSuv32mjJz2Qb2F4405c21J55F4NIphz5K6hxco=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1d4c88323ac36805d09657d13a5273aea1b34f0c", + "rev": "05988b07fb05cbcb50be6bce197b4b5f75b5e61b", "type": "github" }, "original": { @@ -271,6 +331,27 @@ "systems": "systems" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "devenv", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1782875958, + "narHash": "sha256-5eqDcnBjb1424HRQdnhuhNOBZguq1Z2tqSa2OMF/m2c=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "13139aefa973f3d96c60c0fbab801de058ae25ca", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -285,6 +366,28 @@ "repo": "default", "type": "github" } + }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "devenv", + "nixd", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1780220602, + "narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "db947814a175b7ca6ded66e21383d938df01c227", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 8d11c1d..9b0fe37 100644 --- a/flake.nix +++ b/flake.nix @@ -24,6 +24,7 @@ perSystem = {pkgs, ...}: let kamid = pkgs.callPackage ./nix/kamid { inherit inputs; }; + _9pfs = pkgs.callPackage ./nix/_9pfs { }; in { formatter = pkgs.alejandra; @@ -34,7 +35,7 @@ devenv.shells.default = { languages.erlang.enable = true; - packages = [ kamid pkgs._9pfs ]; + packages = [ kamid _9pfs ]; # env.ERL_FLAGS = '' # -kernel logger_level debug diff --git a/nix/_9pfs/default.nix b/nix/_9pfs/default.nix new file mode 100644 index 0000000..a4b157b --- /dev/null +++ b/nix/_9pfs/default.nix @@ -0,0 +1,48 @@ +# This have been removed from Nixpkgs because of removal of FUSE2 form Nixpkgs, +# but macFUSE still works with it, so I keep it as is for now. +{ + lib, + stdenv, + fetchFromGitHub, + pkg-config, + fuse, + gitUpdater, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "9pfs"; + version = "0.6"; + + src = fetchFromGitHub { + owner = "ftrvxmtrx"; + repo = "9pfs"; + tag = finalAttrs.version; + sha256 = "sha256-zJ1H5UfnTqGWCPt24Pi+Fr3K04wUiPVUmx1AH2sjXmM="; + }; + + postPatch = '' + substituteInPlace Makefile --replace-fail "pkg-config" "$PKG_CONFIG" + ''; + + makeFlags = [ + "BIN=$(out)/bin" + "MAN=$(out)/share/man/man1" + ]; + nativeBuildInputs = [ pkg-config ]; + buildInputs = [ fuse ]; + enableParallelBuilding = true; + + passthru.updateScript = gitUpdater { }; + + meta = { + homepage = "https://github.com/ftrvxmtrx/9pfs"; + description = "FUSE-based client of the 9P network filesystem protocol"; + mainProgram = "9pfs"; + maintainers = [ ]; + platforms = lib.platforms.unix; + license = with lib.licenses; [ + lpl-102 + bsd2 + ]; + }; +})