From c9692d70eb8aa32a45da12d388493e32e0cfd81f Mon Sep 17 00:00:00 2001 From: James Walker Date: Fri, 16 Feb 2024 11:50:50 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20add=20homestar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flake.lock | 1796 ++++++++++++++++++++++++++++++++- flake.nix | 9 +- hosts/epicurus/homebrew.nix | 3 +- hosts/plato/configuration.nix | 11 + services/homestar.nix | 85 ++ 5 files changed, 1855 insertions(+), 49 deletions(-) create mode 100644 services/homestar.nix diff --git a/flake.lock b/flake.lock index 12b0f89..ef90151 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,165 @@ { "nodes": { + "HTTP": { + "flake": false, + "locked": { + "lastModified": 1451647621, + "narHash": "sha256-oHIyw3x0iKBexEo49YeUDV1k74ZtyYKGR2gNJXXRxts=", + "owner": "phadej", + "repo": "HTTP", + "rev": "9bc0996d412fef1787449d841277ef663ad9a915", + "type": "github" + }, + "original": { + "owner": "phadej", + "repo": "HTTP", + "type": "github" + } + }, + "advisory-db": { + "flake": false, + "locked": { + "lastModified": 1703184318, + "narHash": "sha256-vx2/goSpegxiFc7e1jKNHzBkhnsIQjriV4GZLaVe17M=", + "owner": "rustsec", + "repo": "advisory-db", + "rev": "a5fb72de318a74eb69a2c241c0e46705684a35d0", + "type": "github" + }, + "original": { + "owner": "rustsec", + "repo": "advisory-db", + "type": "github" + } + }, + "cabal-32": { + "flake": false, + "locked": { + "lastModified": 1603716527, + "narHash": "sha256-X0TFfdD4KZpwl0Zr6x+PLxUt/VyKQfX7ylXHdmZIL+w=", + "owner": "haskell", + "repo": "cabal", + "rev": "48bf10787e27364730dd37a42b603cee8d6af7ee", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.2", + "repo": "cabal", + "type": "github" + } + }, + "cabal-34": { + "flake": false, + "locked": { + "lastModified": 1645834128, + "narHash": "sha256-wG3d+dOt14z8+ydz4SL7pwGfe7SiimxcD/LOuPCV6xM=", + "owner": "haskell", + "repo": "cabal", + "rev": "5ff598c67f53f7c4f48e31d722ba37172230c462", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.4", + "repo": "cabal", + "type": "github" + } + }, + "cabal-36": { + "flake": false, + "locked": { + "lastModified": 1669081697, + "narHash": "sha256-I5or+V7LZvMxfbYgZATU4awzkicBwwok4mVoje+sGmU=", + "owner": "haskell", + "repo": "cabal", + "rev": "8fd619e33d34924a94e691c5fea2c42f0fc7f144", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "3.6", + "repo": "cabal", + "type": "github" + } + }, + "cardano-shell": { + "flake": false, + "locked": { + "lastModified": 1608537748, + "narHash": "sha256-PulY1GfiMgKVnBci3ex4ptk2UNYMXqGjJOxcPy2KYT4=", + "owner": "input-output-hk", + "repo": "cardano-shell", + "rev": "9392c75087cb9a3d453998f4230930dea3a95725", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "cardano-shell", + "type": "github" + } + }, + "crane": { + "inputs": { + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1703439018, + "narHash": "sha256-VT+06ft/x3eMZ1MJxWzQP3zXFGcrxGo5VR2rB7t88hs=", + "owner": "ipetkov", + "repo": "crane", + "rev": "afdcd41180e3dfe4dac46b5ee396e3b12ccc967a", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "crane_2": { + "inputs": { + "flake-compat": "flake-compat_6", + "flake-utils": [ + "fission", + "homestar", + "nixify", + "nix-log", + "nixify", + "flake-utils" + ], + "nixpkgs": [ + "fission", + "homestar", + "nixify", + "nix-log", + "nixify", + "nixpkgs" + ], + "rust-overlay": [ + "fission", + "homestar", + "nixify", + "nix-log", + "nixify", + "rust-overlay" + ] + }, + "locked": { + "lastModified": 1679255352, + "narHash": "sha256-nkGwGuNkhNrnN33S4HIDV5NzkzMLU5mNStRn9sZwq8c=", + "owner": "rvolosatovs", + "repo": "crane", + "rev": "cec65880599a4ec6426186e24342e663464f5933", + "type": "github" + }, + "original": { + "owner": "rvolosatovs", + "ref": "feat/wit", + "repo": "crane", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -7,11 +167,11 @@ ] }, "locked": { - "lastModified": 1706833576, - "narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=", + "lastModified": 1707707289, + "narHash": "sha256-YuDt/eSTXMEHv8jS8BEZJgqCcG8Tr3cyqaZjJFXZHsw=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7", + "rev": "44f50a5ecaab72a61d5fd8e5c5717bc4bf9c25dd", "type": "github" }, "original": { @@ -30,11 +190,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1704875591, - "narHash": "sha256-eWRLbqRcrILgztU/m/k7CYLzETKNbv0OsT2GjkaNm8A=", + "lastModified": 1708091384, + "narHash": "sha256-dTGGw2y8wvfjr+J9CjQbfdulOq72hUG17HXVNxpH1yE=", "owner": "serokell", "repo": "deploy-rs", - "rev": "1776009f1f3fb2b5d236b84d9815f2edee463a9b", + "rev": "0a0187794ac7f7a1e62cda3dabf8dc041f868790", "type": "github" }, "original": { @@ -72,6 +232,151 @@ "type": "github" } }, + "fenix": { + "inputs": { + "nixpkgs": [ + "fission", + "homestar", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src" + }, + "locked": { + "lastModified": 1705645424, + "narHash": "sha256-bSw0GDnWBvMSvW4oxdFMyhs7i3rNN0LAcreFDJmw3ks=", + "owner": "nix-community", + "repo": "fenix", + "rev": "e514ed523707ec423d34f0748e6e6f18adadf42d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "fenix_2": { + "inputs": { + "nixpkgs": [ + "fission", + "homestar", + "nixify", + "nixpkgs-nixos" + ], + "rust-analyzer-src": "rust-analyzer-src_2" + }, + "locked": { + "lastModified": 1703485398, + "narHash": "sha256-eJkxehEmQjSLD/UwPCXlHxH6g41R66fY7Hw9AOSsQA8=", + "owner": "nix-community", + "repo": "fenix", + "rev": "57a533b99ebe646449b71718e43ca29b550bd254", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "fenix_3": { + "inputs": { + "nixpkgs": [ + "fission", + "homestar", + "nixify", + "nix-log", + "nixify", + "nixpkgs" + ], + "rust-analyzer-src": "rust-analyzer-src_3" + }, + "locked": { + "lastModified": 1679552560, + "narHash": "sha256-L9Se/F1iLQBZFGrnQJO8c9wE5z0Mf8OiycPGP9Y96hA=", + "owner": "nix-community", + "repo": "fenix", + "rev": "fb49a9f5605ec512da947a21cc7e4551a3950397", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "fenix", + "type": "github" + } + }, + "fission": { + "inputs": { + "fission": "fission_2", + "fission-server": "fission-server", + "flake-compat": "flake-compat_4", + "flake-utils": "flake-utils_3", + "homestar": "homestar", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1708019865, + "narHash": "sha256-2SqewjfLsD04YVioMdB0WqqERAx+zVM2mMewGIlF6+A=", + "owner": "fission-codes", + "repo": "nix-overlay", + "rev": "ec0f48099e9f745a6b5d611b074e2e884859cfa8", + "type": "github" + }, + "original": { + "owner": "fission-codes", + "repo": "nix-overlay", + "type": "github" + } + }, + "fission-server": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_2", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1708019020, + "narHash": "sha256-LJQ7MjRgMi9e1/wpjiZcAXKQUV3hq4t/SALSwAefDOY=", + "owner": "fission-codes", + "repo": "fission-server", + "rev": "394de877fad021260c69fdb1edd7bb4b2f98108c", + "type": "github" + }, + "original": { + "owner": "fission-codes", + "repo": "fission-server", + "type": "github" + } + }, + "fission_2": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils", + "haskellNix": "haskellNix", + "nixpkgs": [ + "fission", + "fission", + "haskellNix", + "nixpkgs-2305" + ] + }, + "locked": { + "lastModified": 1707949101, + "narHash": "sha256-vTed5vRYfeS+6Y+QbwyCc9LohsfsWsEA0+5kAgJg7Yc=", + "owner": "fission-codes", + "repo": "fission", + "rev": "16f4562ee31cf9458efd2a6f9db3849a91e2b079", + "type": "github" + }, + "original": { + "owner": "fission-codes", + "ref": "walkah/haskell-nix", + "repo": "fission", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -105,6 +410,23 @@ } }, "flake-compat_3": { + "flake": false, + "locked": { + "lastModified": 1672831974, + "narHash": "sha256-z9k3MfslLjWQfnjBtEtJZdq3H7kyi2kQtUThfTgdRk0=", + "owner": "input-output-hk", + "repo": "flake-compat", + "rev": "45f2638735f8cdc40fe302742b79f248d23eb368", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "hkm/gitlab-fix", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1696426674, @@ -120,7 +442,71 @@ "type": "github" } }, - "flake-compat_4": { + "flake-compat_5": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_6": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_7": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_8": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_9": { "flake": false, "locked": { "lastModified": 1696426674, @@ -154,10 +540,82 @@ "type": "github" } }, + "flake-utils_10": { + "inputs": { + "systems": "systems_10" + }, + "locked": { + "lastModified": 1694529238, + "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flake-utils_2": { "inputs": { "systems": "systems_3" }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_4" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_5" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_5": { + "inputs": { + "systems": "systems_6" + }, "locked": { "lastModified": 1701680307, "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", @@ -172,16 +630,13 @@ "type": "github" } }, - "flake-utils_3": { - "inputs": { - "systems": "systems_4" - }, + "flake-utils_6": { "locked": { - "lastModified": 1694529238, - "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=", + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", "owner": "numtide", "repo": "flake-utils", - "rev": "ff7b65b44d01cf9ba6a71320833626af21126384", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", "type": "github" }, "original": { @@ -190,6 +645,114 @@ "type": "github" } }, + "flake-utils_7": { + "inputs": { + "systems": "systems_7" + }, + "locked": { + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_8": { + "inputs": { + "systems": "systems_8" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_9": { + "inputs": { + "systems": "systems_9" + }, + "locked": { + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "ghc-8.6.5-iohk": { + "flake": false, + "locked": { + "lastModified": 1600920045, + "narHash": "sha256-DO6kxJz248djebZLpSzTGD6s8WRpNI9BTwUeOf5RwY8=", + "owner": "input-output-hk", + "repo": "ghc", + "rev": "95713a6ecce4551240da7c96b6176f980af75cae", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "release/8.6.5-iohk", + "repo": "ghc", + "type": "github" + } + }, + "ghc98X": { + "flake": false, + "locked": { + "lastModified": 1696643148, + "narHash": "sha256-E02DfgISH7EvvNAu0BHiPvl1E5FGMDi0pWdNZtIBC9I=", + "ref": "ghc-9.8", + "rev": "443e870d977b1ab6fc05f47a9a17bc49296adbd6", + "revCount": 61642, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "ref": "ghc-9.8", + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, + "ghc99": { + "flake": false, + "locked": { + "lastModified": 1701580282, + "narHash": "sha256-drA01r3JrXnkKyzI+owMZGxX0JameMzjK0W5jJE/+V4=", + "ref": "refs/heads/master", + "rev": "f5eb0f2982e9cf27515e892c4bdf634bcfb28459", + "revCount": 62197, + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + }, + "original": { + "submodules": true, + "type": "git", + "url": "https://gitlab.haskell.org/ghc/ghc" + } + }, "gitignore": { "inputs": { "nixpkgs": [ @@ -211,16 +774,205 @@ "type": "github" } }, - "home-manager": { + "hackage": { + "flake": false, + "locked": { + "lastModified": 1707870123, + "narHash": "sha256-pOvz6uuPYw3CiPgi63QhNYumoKeyzDh9JOkLDngGWsE=", + "owner": "input-output-hk", + "repo": "hackage.nix", + "rev": "75345eba5d4159e6f54cbdc38785d1e0d0e655e0", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "hackage.nix", + "type": "github" + } + }, + "haskellNix": { "inputs": { - "nixpkgs": "nixpkgs" + "HTTP": "HTTP", + "cabal-32": "cabal-32", + "cabal-34": "cabal-34", + "cabal-36": "cabal-36", + "cardano-shell": "cardano-shell", + "flake-compat": "flake-compat_3", + "ghc-8.6.5-iohk": "ghc-8.6.5-iohk", + "ghc98X": "ghc98X", + "ghc99": "ghc99", + "hackage": "hackage", + "hls-1.10": "hls-1.10", + "hls-2.0": "hls-2.0", + "hls-2.2": "hls-2.2", + "hls-2.3": "hls-2.3", + "hls-2.4": "hls-2.4", + "hls-2.5": "hls-2.5", + "hls-2.6": "hls-2.6", + "hpc-coveralls": "hpc-coveralls", + "hydra": "hydra", + "iserv-proxy": "iserv-proxy", + "nix-tools-static": "nix-tools-static", + "nixpkgs": [ + "fission", + "fission", + "haskellNix", + "nixpkgs-unstable" + ], + "nixpkgs-2003": "nixpkgs-2003", + "nixpkgs-2105": "nixpkgs-2105", + "nixpkgs-2111": "nixpkgs-2111", + "nixpkgs-2205": "nixpkgs-2205", + "nixpkgs-2211": "nixpkgs-2211", + "nixpkgs-2305": "nixpkgs-2305", + "nixpkgs-2311": "nixpkgs-2311", + "nixpkgs-unstable": "nixpkgs-unstable", + "old-ghc-nix": "old-ghc-nix", + "stackage": "stackage" }, "locked": { - "lastModified": 1707672157, - "narHash": "sha256-dzfGf+R+ECFKe4rw42vUn5mV0hMSGQRVJlhjRHs3cvM=", + "lastModified": 1707876653, + "narHash": "sha256-hsj9chw/cy9h8XuxQkxnfFR22Ek8xEm33aON2+TcUaI=", + "owner": "input-output-hk", + "repo": "haskell.nix", + "rev": "d1a608f84c9ed00ceca8571b253e79f67a1ae2d6", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "haskell.nix", + "type": "github" + } + }, + "hls-1.10": { + "flake": false, + "locked": { + "lastModified": 1680000865, + "narHash": "sha256-rc7iiUAcrHxwRM/s0ErEsSPxOR3u8t7DvFeWlMycWgo=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b08691db779f7a35ff322b71e72a12f6e3376fd9", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "1.10.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.0": { + "flake": false, + "locked": { + "lastModified": 1687698105, + "narHash": "sha256-OHXlgRzs/kuJH8q7Sxh507H+0Rb8b7VOiPAjcY9sM1k=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "783905f211ac63edf982dd1889c671653327e441", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.0.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.2": { + "flake": false, + "locked": { + "lastModified": 1693064058, + "narHash": "sha256-8DGIyz5GjuCFmohY6Fa79hHA/p1iIqubfJUTGQElbNk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "b30f4b6cf5822f3112c35d14a0cba51f3fe23b85", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.2.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.3": { + "flake": false, + "locked": { + "lastModified": 1695910642, + "narHash": "sha256-tR58doOs3DncFehHwCLczJgntyG/zlsSd7DgDgMPOkI=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "458ccdb55c9ea22cd5d13ec3051aaefb295321be", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.3.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.4": { + "flake": false, + "locked": { + "lastModified": 1699862708, + "narHash": "sha256-YHXSkdz53zd0fYGIYOgLt6HrA0eaRJi9mXVqDgmvrjk=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "54507ef7e85fa8e9d0eb9a669832a3287ffccd57", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.4.0.1", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.5": { + "flake": false, + "locked": { + "lastModified": 1701080174, + "narHash": "sha256-fyiR9TaHGJIIR0UmcCb73Xv9TJq3ht2ioxQ2mT7kVdc=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "27f8c3d3892e38edaef5bea3870161815c4d014c", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.5.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "hls-2.6": { + "flake": false, + "locked": { + "lastModified": 1705325287, + "narHash": "sha256-+P87oLdlPyMw8Mgoul7HMWdEvWP/fNlo8jyNtwME8E8=", + "owner": "haskell", + "repo": "haskell-language-server", + "rev": "6e0b342fa0327e628610f2711f8c3e4eaaa08b1e", + "type": "github" + }, + "original": { + "owner": "haskell", + "ref": "2.6.0.0", + "repo": "haskell-language-server", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": "nixpkgs_6" + }, + "locked": { + "lastModified": 1708031129, + "narHash": "sha256-EH20hJfNnc1/ODdDVat9B7aKm0B95L3YtkIRwKLvQG8=", "owner": "nix-community", "repo": "home-manager", - "rev": "a09cfdbaf11c821340cff24d9ad1c264708ee12e", + "rev": "3d6791b3897b526c82920a2ab5f61d71985b3cf8", "type": "github" }, "original": { @@ -229,7 +981,370 @@ "type": "github" } }, + "homestar": { + "inputs": { + "fenix": "fenix", + "flake-compat": "flake-compat_5", + "flake-utils": "flake-utils_4", + "nixify": "nixify", + "nixlib": "nixlib_3", + "nixpkgs": "nixpkgs_5", + "rust-overlay": "rust-overlay_4", + "wit-deps": "wit-deps" + }, + "locked": { + "lastModified": 1705776780, + "narHash": "sha256-5o2/ln2sunmfhN0DnGGdVvimjh76bKTnYERbjBib5VM=", + "owner": "ipvm-wg", + "repo": "homestar", + "rev": "f29d4d45ae8838c705dc169a5dbf71ce976fefa3", + "type": "github" + }, + "original": { + "owner": "ipvm-wg", + "ref": "homestar-runtime-v0.1.1", + "repo": "homestar", + "type": "github" + } + }, + "hpc-coveralls": { + "flake": false, + "locked": { + "lastModified": 1607498076, + "narHash": "sha256-8uqsEtivphgZWYeUo5RDUhp6bO9j2vaaProQxHBltQk=", + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "rev": "14df0f7d229f4cd2e79f8eabb1a740097fdfa430", + "type": "github" + }, + "original": { + "owner": "sevanspowell", + "repo": "hpc-coveralls", + "type": "github" + } + }, + "hydra": { + "inputs": { + "nix": "nix", + "nixpkgs": [ + "fission", + "fission", + "haskellNix", + "hydra", + "nix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1671755331, + "narHash": "sha256-hXsgJj0Cy0ZiCiYdW2OdBz5WmFyOMKuw4zyxKpgUKm4=", + "owner": "NixOS", + "repo": "hydra", + "rev": "f48f00ee6d5727ae3e488cbf9ce157460853fea8", + "type": "github" + }, + "original": { + "id": "hydra", + "type": "indirect" + } + }, + "iserv-proxy": { + "flake": false, + "locked": { + "lastModified": 1691634696, + "narHash": "sha256-MZH2NznKC/gbgBu8NgIibtSUZeJ00HTLJ0PlWKCBHb0=", + "ref": "hkm/remote-iserv", + "rev": "43a979272d9addc29fbffc2e8542c5d96e993d73", + "revCount": 14, + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + }, + "original": { + "ref": "hkm/remote-iserv", + "type": "git", + "url": "https://gitlab.haskell.org/hamishmack/iserv-proxy.git" + } + }, + "lowdown-src": { + "flake": false, + "locked": { + "lastModified": 1633514407, + "narHash": "sha256-Dw32tiMjdK9t3ETl5fzGrutQTzh2rufgZV4A/BbxuD4=", + "owner": "kristapsdz", + "repo": "lowdown", + "rev": "d2c2b44ff6c27b936ec27358a2653caaef8f73b8", + "type": "github" + }, + "original": { + "owner": "kristapsdz", + "repo": "lowdown", + "type": "github" + } + }, + "macos-sdk": { + "flake": false, + "locked": { + "lastModified": 1693509154, + "narHash": "sha256-TEvVJy+NMPyzgWSk/6S29ZMQR+ICFxSdS3tw247uhFc=", + "type": "tarball", + "url": "https://github.com/roblabla/MacOSX-SDKs/releases/download/macosx14.0/MacOSX14.0.sdk.tar.xz" + }, + "original": { + "type": "tarball", + "url": "https://github.com/roblabla/MacOSX-SDKs/releases/download/macosx14.0/MacOSX14.0.sdk.tar.xz" + } + }, + "nix": { + "inputs": { + "lowdown-src": "lowdown-src", + "nixpkgs": "nixpkgs", + "nixpkgs-regression": "nixpkgs-regression" + }, + "locked": { + "lastModified": 1661606874, + "narHash": "sha256-9+rpYzI+SmxJn+EbYxjGv68Ucp22bdFUSy/4LkHkkDQ=", + "owner": "NixOS", + "repo": "nix", + "rev": "11e45768b34fdafdcf019ddbd337afa16127ff0f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "2.11.0", + "repo": "nix", + "type": "github" + } + }, + "nix-filter": { + "locked": { + "lastModified": 1701697642, + "narHash": "sha256-L217WytWZHSY8GW9Gx1A64OnNctbuDbfslaTEofXXRw=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "c843418ecfd0344ecb85844b082ff5675e02c443", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, + "nix-filter_2": { + "locked": { + "lastModified": 1678109515, + "narHash": "sha256-C2X+qC80K2C1TOYZT8nabgo05Dw2HST/pSn6s+n6BO8=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "aa9ff6ce4a7f19af6415fb3721eaa513ea6c763c", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, + "nix-flake-tests": { + "locked": { + "lastModified": 1677844186, + "narHash": "sha256-ErJZ/Gs1rxh561CJeWP5bohA2IcTq1rDneu1WT6CVII=", + "owner": "antifuchs", + "repo": "nix-flake-tests", + "rev": "bbd9216bd0f6495bb961a8eb8392b7ef55c67afb", + "type": "github" + }, + "original": { + "owner": "antifuchs", + "repo": "nix-flake-tests", + "type": "github" + } + }, + "nix-flake-tests_2": { + "locked": { + "lastModified": 1677844186, + "narHash": "sha256-ErJZ/Gs1rxh561CJeWP5bohA2IcTq1rDneu1WT6CVII=", + "owner": "antifuchs", + "repo": "nix-flake-tests", + "rev": "bbd9216bd0f6495bb961a8eb8392b7ef55c67afb", + "type": "github" + }, + "original": { + "owner": "antifuchs", + "repo": "nix-flake-tests", + "type": "github" + } + }, + "nix-log": { + "inputs": { + "nix-flake-tests": "nix-flake-tests", + "nixify": "nixify_2", + "nixlib": "nixlib_2" + }, + "locked": { + "lastModified": 1681933283, + "narHash": "sha256-phDsQdaoUEI4DUTErR6Tz7lS0y3kXvDwwbqtxpzd0eo=", + "owner": "rvolosatovs", + "repo": "nix-log", + "rev": "833d31e3c1a677eac81ba87e777afa5076071d66", + "type": "github" + }, + "original": { + "owner": "rvolosatovs", + "repo": "nix-log", + "type": "github" + } + }, + "nix-log_2": { + "inputs": { + "nix-flake-tests": "nix-flake-tests_2", + "nixify": [ + "fission", + "homestar", + "wit-deps", + "nixify" + ], + "nixlib": [ + "fission", + "homestar", + "wit-deps", + "nixlib" + ] + }, + "locked": { + "lastModified": 1681933283, + "narHash": "sha256-phDsQdaoUEI4DUTErR6Tz7lS0y3kXvDwwbqtxpzd0eo=", + "owner": "rvolosatovs", + "repo": "nix-log", + "rev": "833d31e3c1a677eac81ba87e777afa5076071d66", + "type": "github" + }, + "original": { + "owner": "rvolosatovs", + "repo": "nix-log", + "type": "github" + } + }, + "nix-tools-static": { + "flake": false, + "locked": { + "lastModified": 1706266250, + "narHash": "sha256-9t+GRk3eO9muCtKdNAwBtNBZ5dH1xHcnS17WaQyftwA=", + "owner": "input-output-hk", + "repo": "haskell-nix-example", + "rev": "580cb6db546a7777dad3b9c0fa487a366c045c4e", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "ref": "nix", + "repo": "haskell-nix-example", + "type": "github" + } + }, + "nixify": { + "inputs": { + "advisory-db": "advisory-db", + "crane": "crane", + "fenix": "fenix_2", + "flake-utils": "flake-utils_5", + "macos-sdk": "macos-sdk", + "nix-filter": "nix-filter", + "nix-log": "nix-log", + "nixlib": [ + "fission", + "homestar", + "nixlib" + ], + "nixpkgs-darwin": "nixpkgs-darwin", + "nixpkgs-jshon": "nixpkgs-jshon", + "nixpkgs-nixos": "nixpkgs-nixos", + "rust-overlay": "rust-overlay_3" + }, + "locked": { + "lastModified": 1703580151, + "narHash": "sha256-ZuDDix6PzSee+ppvp3rIaI9Zzg6OXxH3xDeR3IVZQbY=", + "owner": "rvolosatovs", + "repo": "nixify", + "rev": "32f1b8bdd67b7c312779a2d4e49cc4c8163a4576", + "type": "github" + }, + "original": { + "owner": "rvolosatovs", + "repo": "nixify", + "type": "github" + } + }, + "nixify_2": { + "inputs": { + "crane": "crane_2", + "fenix": "fenix_3", + "flake-utils": "flake-utils_6", + "nix-filter": "nix-filter_2", + "nixlib": "nixlib", + "nixpkgs": "nixpkgs_4", + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1679748566, + "narHash": "sha256-yA4yIJjNCOLoUh0py9S3SywwbPnd/6NPYbXad+JeOl0=", + "owner": "rvolosatovs", + "repo": "nixify", + "rev": "80e823959511a42dfec4409fef406a14ae8240f3", + "type": "github" + }, + "original": { + "owner": "rvolosatovs", + "repo": "nixify", + "type": "github" + } + }, "nixlib": { + "locked": { + "lastModified": 1679187309, + "narHash": "sha256-H8udmkg5wppL11d/05MMzOMryiYvc403axjDNZy1/TQ=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "44214417fe4595438b31bdb9469be92536a61455", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixlib_2": { + "locked": { + "lastModified": 1679791877, + "narHash": "sha256-tTV1Mf0hPWIMtqyU16Kd2JUBDWvfHlDC9pF57vcbgpQ=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "cc060ddbf652a532b54057081d5abd6144d01971", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixlib_3": { + "locked": { + "lastModified": 1705193289, + "narHash": "sha256-oL5EAaZHiA3ABLdyKag/DgT+457vmELv8A+eaox2xsI=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "da839f74dc77c9826fa333b1bc2c8258fd6ffcbe", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixlib_4": { "locked": { "lastModified": 1693701915, "narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=", @@ -246,17 +1361,17 @@ }, "nixos-generators": { "inputs": { - "nixlib": "nixlib", + "nixlib": "nixlib_4", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1707405218, - "narHash": "sha256-ZQ366Oo8WJbCqXAZET7N0Sz6RQ3G2IbqVtxQRSa3SXc=", + "lastModified": 1707873059, + "narHash": "sha256-simzllUEmzVqmQogcGCorfIbJpodAhgGSr6vuFtd4XQ=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "843e2f04c716092797ffa4ce14c446adce2f09ef", + "rev": "0aa24e93f75370454f0e03747b6836ac2a2c9fca", "type": "github" }, "original": { @@ -267,11 +1382,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1707211557, - "narHash": "sha256-LTKTzZ6fM5j8XWXf51IMBzDaOaJg9kYWLUZxoIhzRN8=", + "lastModified": 1708091350, + "narHash": "sha256-o28BJYi68qqvHipT7V2jkWxDiMS1LF9nxUsou+eFUPQ=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "6e5cc385fc8cf5ca6495d70243074ccdea9f64c7", + "rev": "106d3fec43bcea19cb2e061ca02531d54b542ce3", "type": "github" }, "original": { @@ -283,20 +1398,196 @@ }, "nixpkgs": { "locked": { - "lastModified": 1707092692, - "narHash": "sha256-ZbHsm+mGk/izkWtT4xwwqz38fdlwu7nUUKXTOmm4SyE=", + "lastModified": 1657693803, + "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "faf912b086576fd1a15fca610166c98d47bc667e", + "rev": "365e1b3a859281cf11b94f87231adeabbdd878a2", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-unstable", + "ref": "nixos-22.05-small", "repo": "nixpkgs", "type": "github" } }, + "nixpkgs-2003": { + "locked": { + "lastModified": 1620055814, + "narHash": "sha256-8LEHoYSJiL901bTMVatq+rf8y7QtWuZhwwpKE2fyaRY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1db42b7fe3878f3f5f7a4f2dc210772fd080e205", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-20.03-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2105": { + "locked": { + "lastModified": 1659914493, + "narHash": "sha256-lkA5X3VNMKirvA+SUzvEhfA7XquWLci+CGi505YFAIs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "022caabb5f2265ad4006c1fa5b1ebe69fb0c3faf", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2111": { + "locked": { + "lastModified": 1659446231, + "narHash": "sha256-hekabNdTdgR/iLsgce5TGWmfIDZ86qjPhxDg/8TlzhE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "eabc38219184cc3e04a974fe31857d8e0eac098d", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-21.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2205": { + "locked": { + "lastModified": 1685573264, + "narHash": "sha256-Zffu01pONhs/pqH07cjlF10NnMDLok8ix5Uk4rhOnZQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "380be19fbd2d9079f677978361792cb25e8a3635", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2211": { + "locked": { + "lastModified": 1688392541, + "narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2305": { + "locked": { + "lastModified": 1701362232, + "narHash": "sha256-GVdzxL0lhEadqs3hfRLuj+L1OJFGiL/L7gCcelgBlsw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d2332963662edffacfddfad59ff4f709dde80ffe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.05-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-2311": { + "locked": { + "lastModified": 1701386440, + "narHash": "sha256-xI0uQ9E7JbmEy/v8kR9ZQan6389rHug+zOtZeZFiDJk=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "293822e55ec1872f715a66d0eda9e592dc14419f", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-23.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-darwin": { + "locked": { + "lastModified": 1703361334, + "narHash": "sha256-mFg2LtgFLEh5qY0RVrHcLLM0X87eWFUzaaU4ckh1nto=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4d644e746a64e03cae79645287b1f7d19145f152", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-23.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-jshon": { + "locked": { + "lastModified": 1701781644, + "narHash": "sha256-z6MHVdvNM6PnwxofjyCTXYrDCRB6dXs82lMyAxfK2ik=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "89023fc074c2333ec5f1d28075602c94341655d2", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "rev": "89023fc074c2333ec5f1d28075602c94341655d2", + "type": "github" + } + }, + "nixpkgs-nixos": { + "locked": { + "lastModified": 1703200384, + "narHash": "sha256-q5j06XOsy0qHOarsYPfZYJPWbTbc8sryRxianlEPJN0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "0b3d618173114c64ab666f557504d6982665d328", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-regression": { + "locked": { + "lastModified": 1643052045, + "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1704874635, @@ -329,13 +1620,44 @@ "type": "github" } }, - "nixpkgs_2": { + "nixpkgs-unstable": { "locked": { - "lastModified": 1707588924, - "narHash": "sha256-0e1ce6X5ghapv6cAF9rxLZKeNyFHHXsLbGxN2cQQE8U=", + "lastModified": 1694822471, + "narHash": "sha256-6fSDCj++lZVMZlyqOe9SIOL8tYSBz1bI8acwovRwoX8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "10b813040df67c4039086db0f6eaf65c536886c6", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "47585496bcb13fb72e4a90daeea2f434e2501998", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1707347730, + "narHash": "sha256-0etC/exQIaqC9vliKhc3eZE2Mm2wgLa0tj93ZF/egvM=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6832d0d99649db3d65a0e15fa51471537b2c56a6", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "ref": "nixos-23.11", + "type": "indirect" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1702539185, + "narHash": "sha256-KnIRG5NMdLIpEkZTnN5zovNYc0hhXjAgv6pfd5Z4c7U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "aa9d4729cbc99dabacb50e3994dcefb3ea0f7447", "type": "github" }, "original": { @@ -345,10 +1667,91 @@ "type": "github" } }, + "nixpkgs_4": { + "locked": { + "lastModified": 1679577639, + "narHash": "sha256-7u7bsNP0ApBnLgsHVROQ5ytoMqustmMVMgtaFS/P7EU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "8f1bcd72727c5d4cd775545595d068be410f2a7e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-22.11-darwin", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1705666311, + "narHash": "sha256-VYdSQm7zq3AStyHhRr3SBCTA8fVzrl6WtIlXTs2Wlts=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a455c5fb3ee513e2f443838a0e84d52b035adb67", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_6": { + "locked": { + "lastModified": 1707268954, + "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_7": { + "locked": { + "lastModified": 1708001613, + "narHash": "sha256-woOmAXW05XnqlLn7dKzCkRAEOSOdA/Z2ndVvKcjid94=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "085589047343aad800c4d305cf7b98e8a3d51ae2", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "old-ghc-nix": { + "flake": false, + "locked": { + "lastModified": 1631092763, + "narHash": "sha256-sIKgO+z7tj4lw3u6oBZxqIhDrzSkvpHtv0Kki+lh9Fg=", + "owner": "angerman", + "repo": "old-ghc-nix", + "rev": "af48a7a7353e418119b6dfe3cd1463a657f342b8", + "type": "github" + }, + "original": { + "owner": "angerman", + "ref": "master", + "repo": "old-ghc-nix", + "type": "github" + } + }, "pre-commit-hooks": { "inputs": { - "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_2", + "flake-compat": "flake-compat_8", + "flake-utils": "flake-utils_9", "gitignore": "gitignore", "nixpkgs": [ "nixpkgs" @@ -356,11 +1759,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1707297608, - "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", + "lastModified": 1708018599, + "narHash": "sha256-M+Ng6+SePmA8g06CmUZWi1AjG2tFBX9WCXElBHEKnyM=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", + "rev": "5df5a70ad7575f6601d91f0efec95dd9bc619431", "type": "github" }, "original": { @@ -374,17 +1777,181 @@ "darwin": "darwin", "deploy-rs": "deploy-rs", "dotfiles": "dotfiles", - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils", + "fission": "fission", + "flake-compat": "flake-compat_7", + "flake-utils": "flake-utils_8", "home-manager": "home-manager", "nixos-generators": "nixos-generators", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_7", "pre-commit-hooks": "pre-commit-hooks", "sops-nix": "sops-nix", "workon": "workon" } }, + "rust-analyzer-src": { + "flake": false, + "locked": { + "lastModified": 1705592412, + "narHash": "sha256-jhqkrAhd+lTLmnszaYHKf3Fr/fNXXdeVDwvsPwmmlD8=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "3f4c6dac3d5e34ccf56587419c2077aec799e60c", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "rust-analyzer-src_2": { + "flake": false, + "locked": { + "lastModified": 1703421399, + "narHash": "sha256-GRRhRsZvVgH/Rx2zic0c1Rxt7VumRPqsan6sqculRvU=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "85fb463fc586594925f05fc8e285b1568f98f41a", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "rust-analyzer-src_3": { + "flake": false, + "locked": { + "lastModified": 1679520343, + "narHash": "sha256-AJGSGWRfoKWD5IVTu1wEsR990wHbX0kIaolPqNMEh0c=", + "owner": "rust-lang", + "repo": "rust-analyzer", + "rev": "eb791f31e688ae00908eb75d4c704ef60c430a92", + "type": "github" + }, + "original": { + "owner": "rust-lang", + "ref": "nightly", + "repo": "rust-analyzer", + "type": "github" + } + }, + "rust-overlay": { + "inputs": { + "flake-utils": [ + "fission", + "fission-server", + "flake-utils" + ], + "nixpkgs": [ + "fission", + "fission-server", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1707444620, + "narHash": "sha256-P8kRkiJLFttN+hbAOlm11wPxUrQZqKle+QtVCqFiGXY=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "78503e9199010a4df714f29a4f9c00eb2ccae071", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_2": { + "inputs": { + "flake-utils": [ + "fission", + "homestar", + "nixify", + "nix-log", + "nixify", + "flake-utils" + ], + "nixpkgs": [ + "fission", + "homestar", + "nixify", + "nix-log", + "nixify", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1679537973, + "narHash": "sha256-R6borgcKeyMIjjPeeYsfo+mT8UdS+OwwbhhStdCfEjg=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "fbc7ae3f14d32e78c0e8d7865f865cc28a46b232", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_3": { + "inputs": { + "flake-utils": [ + "fission", + "homestar", + "nixify", + "flake-utils" + ], + "nixpkgs": [ + "fission", + "homestar", + "nixify", + "nixpkgs-nixos" + ] + }, + "locked": { + "lastModified": 1703470538, + "narHash": "sha256-NVFMSr99F0TIqVWBwDqMH6lWoM4PVyzMtI+CPGRIscg=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "f2b937756343365f9b1ba66ec7a1ca489aef745c", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_4": { + "inputs": { + "flake-utils": "flake-utils_7", + "nixpkgs": [ + "fission", + "homestar", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1705696331, + "narHash": "sha256-jTWF4EIjwdsiL0W1vwK5fyFrpJjMKYMGXz7OHkAyq8I=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "d20edfd8d4f053f3466c7bb5ca53ed2e70a0bc35", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "sops-nix": { "inputs": { "nixpkgs": [ @@ -393,11 +1960,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1707620614, - "narHash": "sha256-gfAoB9dGzBu62NoAoM945aok7+6M+LFu+nvnGwAsTp4=", + "lastModified": 1707842202, + "narHash": "sha256-3dTBbCzHJBinwhsisGJHW1HLBsLbj91+a5ZDXt7ttW0=", "owner": "Mic92", "repo": "sops-nix", - "rev": "2eb7c4ba3aa75e2660fd217eb1ab64d5b793608e", + "rev": "48afd3264ec52bee85231a7122612e2c5202fa74", "type": "github" }, "original": { @@ -406,6 +1973,22 @@ "type": "github" } }, + "stackage": { + "flake": false, + "locked": { + "lastModified": 1707782972, + "narHash": "sha256-kJMGCvGbkYUM1XYubcYpeOTvsNSW2UAU+5xtR3mSV3A=", + "owner": "input-output-hk", + "repo": "stackage.nix", + "rev": "e9080d9ae6b8f5bd5e1a3981cfa214fc3c36fe16", + "type": "github" + }, + "original": { + "owner": "input-output-hk", + "repo": "stackage.nix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -421,6 +2004,21 @@ "type": "github" } }, + "systems_10": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1681028828, @@ -466,6 +2064,81 @@ "type": "github" } }, + "systems_5": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_6": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "utils": { "inputs": { "systems": "systems" @@ -484,10 +2157,39 @@ "type": "github" } }, + "wit-deps": { + "inputs": { + "nix-log": "nix-log_2", + "nixify": [ + "fission", + "homestar", + "nixify" + ], + "nixlib": [ + "fission", + "homestar", + "nixlib" + ] + }, + "locked": { + "lastModified": 1700564022, + "narHash": "sha256-1vU6go1MLuFIB1up2jn6hlIHSfaRr+7/Yf0Cj4hShAU=", + "owner": "bytecodealliance", + "repo": "wit-deps", + "rev": "5c24e323fc57314f98f69ca5c417f565993a8bb1", + "type": "github" + }, + "original": { + "owner": "bytecodealliance", + "ref": "v0.3.5", + "repo": "wit-deps", + "type": "github" + } + }, "workon": { "inputs": { - "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_3", + "flake-compat": "flake-compat_9", + "flake-utils": "flake-utils_10", "nixpkgs": [ "nixpkgs" ] diff --git a/flake.nix b/flake.nix index 743f3d0..84e8dfa 100644 --- a/flake.nix +++ b/flake.nix @@ -37,6 +37,12 @@ inputs.nixpkgs.follows = "nixpkgs"; }; + # Fission packages + fission = { + url = "github:fission-codes/nix-overlay"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + # My stuff dotfiles = { url = "github:walkah/dotfiles"; @@ -54,7 +60,7 @@ }; }; - outputs = { self, nixpkgs, flake-utils, deploy-rs, pre-commit-hooks, workon, ... }@inputs: + outputs = { self, nixpkgs, flake-utils, deploy-rs, pre-commit-hooks, fission, workon, ... }@inputs: flake-utils.lib.eachDefaultSystem (system: let @@ -71,6 +77,7 @@ // { hosts = import ./nix/hosts.nix; overlays.default = nixpkgs.lib.composeManyExtensions [ + fission.overlay workon.overlays.default ]; diff --git a/hosts/epicurus/homebrew.nix b/hosts/epicurus/homebrew.nix index 9df67db..898bfa7 100644 --- a/hosts/epicurus/homebrew.nix +++ b/hosts/epicurus/homebrew.nix @@ -6,9 +6,10 @@ _: "homebrew/cask" "homebrew/cask-fonts" "homebrew/services" + "fission-codes/fission" ]; - brews = [ "code-server" "coreutils" "mosh" ]; + brews = [ "code-server" "coreutils" "homestar" "mosh" ]; casks = [ "1password" diff --git a/hosts/plato/configuration.nix b/hosts/plato/configuration.nix index a4778b2..6473442 100644 --- a/hosts/plato/configuration.nix +++ b/hosts/plato/configuration.nix @@ -19,6 +19,8 @@ in ../../modules/postgresql ../../modules/sops ../../modules/traefik + + ../../services/homestar.nix ]; boot = { binfmt.emulatedSystems = [ "aarch64-linux" ]; @@ -129,6 +131,15 @@ in compression = "auto,lzma"; startAt = "daily"; }; + + homestar = { + enable = true; + settings = { + node.network.rpc = { + port = 9820; + }; + }; + }; grafana = { enable = true; settings = { diff --git a/services/homestar.nix b/services/homestar.nix new file mode 100644 index 0000000..fb1b394 --- /dev/null +++ b/services/homestar.nix @@ -0,0 +1,85 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.homestar; + + format = pkgs.formats.toml { }; + configFile = format.generate "homestar.toml" cfg.settings; +in +{ + options.services.homestar = { + enable = mkEnableOption "homestar"; + + package = mkPackageOption pkgs "homestar" { }; + + settings = mkOption { + inherit ((pkgs.formats.json { })) type; + default = { }; + description = "Homestar settings"; + }; + + user = mkOption { + type = types.str; + default = "homestar"; + description = "User under which the Homestar daemon runs"; + }; + + group = mkOption { + type = types.str; + default = "homestar"; + description = "Group under which the Homestar daemon runs"; + }; + + dataDir = mkOption { + type = types.path; + default = "/var/lib/homestar"; + description = "Homestar data directory"; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + networking.firewall = { + allowPing = true; + allowedTCPPorts = [ + 1337 + 3030 + 4000 + 7001 + ]; + allowedUDPPorts = [ + 7001 + ]; + }; + + users.users = mkIf (cfg.user == "homestar") { + homestar = { + inherit (cfg) group; + home = cfg.dataDir; + createHome = true; + isSystemUser = true; + description = "Homestar daemon user"; + }; + }; + + users.groups = mkIf (cfg.group == "homestar") { + homestar = { }; + }; + + systemd.services.homestar = { + description = "Homestar daemon"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = "${cfg.package}/bin/homestar start --config ${configFile}"; + Restart = "always"; + User = cfg.user; + Group = cfg.group; + WorkingDirectory = cfg.dataDir; + }; + }; + }; +} +