diff --git a/README.md b/README.md index cac98f4..4cf4e13 100644 --- a/README.md +++ b/README.md @@ -42,3 +42,33 @@ Add the following to your nix configuration: ``` ## Modules + +### helium-sync + +#### NixOS +```nix +{ + inputs.imnyang.url = "git+https://git.mizuki.guru/imnyang/nix-packages.git"; + outputs = { self, nixpkgs, imnyang }: { + nixosConfigurations.my-host = nixpkgs.lib.nixosSystem { + modules = [ + imnyang.nixosModules.helium-sync + ]; + }; + }; +} +``` + +#### Home Manager +```nix +{ + inputs.imnyang.url = "git+https://git.mizuki.guru/imnyang/nix-packages.git"; + outputs = { self, home-manager, imnyang, ... }: { + homeConfigurations.my-user = home-manager.lib.homeManagerConfiguration { + modules = [ + imnyang.homeManagerModules.helium-sync + ]; + }; + }; +} +``` diff --git a/flake.nix b/flake.nix index 2d68e32..bb164b2 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,7 @@ xcursor-mizuki = final.callPackage ./pkgs/xcursor-mizuki/default.nix { }; pjsk-cursor = final.callPackage ./pkgs/pjsk-cursor/default.nix { }; helium = final.callPackage ./pkgs/helium/default.nix { }; + helium-sync = final.callPackage ./pkgs/helium-sync/default.nix { }; vscode-insiders = final.callPackage ./pkgs/vscode-insiders/default.nix { }; }; @@ -26,13 +27,19 @@ in { overlays.default = overlay; + nixosModules.helium-sync = import ./modules/helium-sync.nix; + homeManagerModules.helium-sync = import ./modules/helium-sync-hm.nix; + packages.${system} = { inherit (pkgs) waterfox-bin xcursor-mizuki pjsk-cursor helium + helium-sync vscode-insiders; + + default = pkgs.helium; # 예시로 하나를 기본값으로 지정 }; nixConfig = { diff --git a/pkgs/helium-sync/default.nix b/pkgs/helium-sync/default.nix new file mode 100644 index 0000000..db06a38 --- /dev/null +++ b/pkgs/helium-sync/default.nix @@ -0,0 +1,27 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, +}: +buildGoModule rec { + pname = "helium-sync"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "imnyang"; + repo = "helium-sync"; + rev = "v${version}"; + hash = "sha256-ARd2S9c5iFVvSwFTyZjEB2w1l54vvYBXKZTESWpCqvw="; + }; + + vendorHash = "sha256-sWi8QV1uMjfgRMATjXb/qCp6IvBQojtLI3Gr2BHS9Hs="; + + subPackages = [ "cmd/helium-sync" ]; + + meta = { + description = "Synchronize selected Helium browser profile data across devices using Amazon S3"; + homepage = "https://github.com/imnyang/helium-sync"; + license = lib.licenses.mit; + mainProgram = "helium-sync"; + }; +}