From f85c24ac79449789187dfc8db0cb05f227e75e21 Mon Sep 17 00:00:00 2001 From: 141CJ <141cj+prod@proton.me> Date: Mon, 14 Sep 2026 16:55:43 -0400 Subject: [PATCH 1/2] feat: add nix flake for installation via home manager --- default.nix | 16 ++++++++++++++ flake.nix | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 default.nix create mode 100644 flake.nix diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..8c3d85a --- /dev/null +++ b/default.nix @@ -0,0 +1,16 @@ +{ + pkgs ? import { }, +}: +let + manifest = (pkgs.lib.importTOML ./Cargo.toml).package; +in +pkgs.rustPlatform.buildRustPackage { + pname = manifest.name; + version = manifest.version; + cargoLock.lockFile = ./Cargo.lock; + nativeCheckInputs = [ + pkgs.git + ]; + doCheck = true; + src = pkgs.lib.cleanSource ./.; +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..b88447c --- /dev/null +++ b/flake.nix @@ -0,0 +1,62 @@ +{ + description = "a fast terminal card for your project, git state, and machine"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = + { + self, + nixpkgs, + home-manager, + }: + let + supportedSystems = [ "x86_64-linux" ]; + forAllSystems = nixpkgs.lib.genAttrs supportedSystems; + pkgsFor = nixpkgs.legacyPackages; + in + { + packages = forAllSystems (system: { + default = pkgsFor.${system}.callPackage ./. { }; + }); + + apps = forAllSystems (system: { + default = { + type = "app"; + program = "${self.packages.${system}.default}/bin/mew"; + }; + }); + + homeManagerModules.default = + { + config, + lib, + pkgs, + ... + }: + let + cfg = config.programs.mew; + in + { + options.programs.mew = { + enable = lib.mkEnableOption "mew"; + + package = lib.mkOption { + type = lib.types.package; + default = self.packages.${pkgs.system}.default; + description = "the mew package"; + }; + }; + + config = lib.mkIf cfg.enable { + home.packages = [ cfg.package ]; + }; + }; + }; +} From f253e715da0d97b68ac19cc80d022d5a414f6066 Mon Sep 17 00:00:00 2001 From: 141CJ <151769534+141CJ@users.noreply.github.com> Date: Mon, 14 Sep 2026 16:56:59 -0400 Subject: [PATCH 2/2] chore: update README to include nix installation instructions --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index bb7fee6..7500d76 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,28 @@ or: cargo install mew-cli ``` +nix: +```nix +# flake +{ + inputs = { + mew.url = "github:programmersd21/mew"; + }; + + outputs = { nixpkgs, mew, ...}: + { + homeConfigurations."username" = home-manager.lib.homeManagerConfiguration { + modules = [ mew.homeManagerModules.default ]; + }; + }; +} + +# home manager +{ + programs.mew.enable = true; +} +``` + ## usage ```bash