diff --git a/flake.lock b/flake.lock index 423b329..8bc63cf 100644 --- a/flake.lock +++ b/flake.lock @@ -128,11 +128,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1699291058, - "narHash": "sha256-5ggduoaAMPHUy4riL+OrlAZE14Kh7JWX4oLEs22ZqfU=", + "lastModified": 1696983906, + "narHash": "sha256-L7GyeErguS7Pg4h8nK0wGlcUTbfUMDu+HMf1UcyP72k=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "41de143fda10e33be0f47eab2bfe08a50f234267", + "rev": "bd1cde45c77891214131cbbea5b1203e485a9d51", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f89408f..c9aada9 100644 --- a/flake.nix +++ b/flake.nix @@ -89,14 +89,7 @@ [ agenix.nixosModules.default home-manager.nixosModules.default - { - nixpkgs = { - overlays = shared_overlays; - config.permittedInsecurePackages = [ - "zotero-6.0.26" - ]; - }; - } + {nixpkgs.overlays = shared_overlays;} ] ++ (nixpkgs.lib.attrValues self.nixosModules); in { diff --git a/overlays/chrysalis/default.nix b/overlays/chrysalis/default.nix new file mode 100644 index 0000000..ab21b0e --- /dev/null +++ b/overlays/chrysalis/default.nix @@ -0,0 +1,37 @@ +final: prev: { + chrysalis = let + pname = "chrysalis"; + version = "0.12.0"; + name = "${pname}-${version}-binary"; + in + prev.appimageTools.wrapAppImage rec { + inherit name; + + src = prev.appimageTools.extract { + inherit name; + src = prev.fetchurl { + url = "https://github.com/keyboardio/${pname}/releases/download/v${version}/${pname}-${version}.AppImage"; + sha256 = "sha256-sQoEO1UII4Gbp7UbHCCyejsd94lkBbi93TH325EamFc="; + }; + }; + + multiPkgs = null; + extraPkgs = p: + (prev.appimageTools.defaultFhsEnvArgs.multiPkgs p) + ++ [ + p.glib + ]; + + # Also expose the udev rules here, so it can be used as: + # services.udev.packages = [ pkgs.chrysalis ]; + # to allow non-root modifications to the keyboards. + + extraInstallCommands = '' + mv $out/bin/${name} $out/bin/${pname} + mkdir -p $out/lib/udev/rules.d + ln -s \ + --target-directory=$out/lib/udev/rules.d \ + ${src}/resources/static/udev/60-kaleidoscope.rules + ''; + }; +} diff --git a/overlays/default.nix b/overlays/default.nix index a11d035..daf02d0 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -1,3 +1,4 @@ { + chrysalis = import ./chrysalis; hugin = import ./hugin; }