diff --git a/README.md b/README.md index 3e730d46f5ea906d2c01f4fa83288debe06d1de0..d67f5cdda3c88122edf39ee25d8a865af37b3c06 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,13 @@ # jolheiser NUR |Package|Version| |-------|-------| +|[git-age](https://git.jojodev.com/jolheiser/git-age)|`0.0.2`| +|[gomodinit](https://git.jojodev.com/jolheiser/gomodinit)|`0.1.1`| +|[imp](https://git.jojodev.com/jolheiser/imp)|`0.0.8`| +|[kv](https://git.jojodev.com/jolheiser/kv)|`0.0.4`| +|[tclip](https://github.com/tailscale-dev/tclip)|`2c99626eb040cb9a54cdf4015c5d2bfd0a7be038`| +|[templ](https://github.com/a-h/templ)|`0.2.334`| +|[tmpl](https://git.jojodev.com/jolheiser/tmpl)|`0.4.0`| |[opengist](https://github.com/thomiceli/opengist)|`1.6.1`| |[prospect-mail](https://github.com/julian-alarcon/prospect-mail)|`0a85d2a0136fc0d3312c3ba59d8e5d864e601db5`| diff --git a/default.nix b/default.nix index caba69d79ba33c9a256779d4decd88d5b6d472c1..6d61e2b54ab09d7d5bd4063de563c766393d2b12 100644 --- a/default.nix +++ b/default.nix @@ -12,7 +12,19 @@ modules = import ./modules; # NixOS modules overlays = import ./overlays; # nixpkgs overlays # This file describes your repository contents. +# nix-build -A mypackage + git-age = pkgs.callPackage ./pkgs/git-age {}; + gomodinit = pkgs.callPackage ./pkgs/gomodinit {}; + imp = pkgs.callPackage ./pkgs/imp {}; + kv = pkgs.callPackage ./pkgs/kv {}; + tmpl = pkgs.callPackage ./pkgs/tmpl {}; + + # Other projects +# This file describes your repository contents. # It should NOT import . Instead, you should take pkgs as an argument. # This file describes your repository contents. +# Having pkgs default to is fine though, and it lets you use short + tclip = pkgs.callPackage ./pkgs/tclip {}; +# It should return a set of nix derivations # Having pkgs default to is fine though, and it lets you use short } diff --git a/pkgs/git-age/default.nix b/pkgs/git-age/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..001fa401fa62d8ccb5554e077eef220d039524ad --- /dev/null +++ b/pkgs/git-age/default.nix @@ -0,0 +1,28 @@ +{ + buildGoModule, + fetchFromGitea, + lib, + ... +}: +buildGoModule rec { + pname = "git-age"; + version = "0.0.2"; + + src = fetchFromGitea { + domain = "git.jojodev.com"; + owner = "jolheiser"; + repo = "git-age"; + rev = "v${version}"; + sha256 = "sha256-qTXRtQUlwTy1nMxwZaQ2PFpkFCmL/nO0jQ/P4JNSIAE="; + }; + + vendorSha256 = "sha256-L/dm1AA4fMgkHnubvayZkw3YizZJYy6lnKdPbyuMGnc="; + + ldflags = ["-s" "-w" "-X=go.jolheiser.com/git-age/cmd.version=${version}"]; + + meta = with lib; { + description = "git-crypt, but with age"; + homepage = "https://git.jojodev.com/jolheiser/git-age"; + license = licenses.mit; + }; +} diff --git a/pkgs/gomodinit/default.nix b/pkgs/gomodinit/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..5e1307258f5a19a83f25cdb7126249bc53406c50 --- /dev/null +++ b/pkgs/gomodinit/default.nix @@ -0,0 +1,24 @@ +{ buildGoModule, fetchFromGitea, lib, ... }: +buildGoModule rec { + pname = "gomodinit"; + version = "0.1.1"; + + src = fetchFromGitea { + domain = "git.jojodev.com"; + owner = "jolheiser"; + repo = "gomodinit"; + rev = "v${version}"; + sha256 = "sha256-+9HrNqJwOcU0IYEFUHA6ShLATh6qFG/V9wIpcX8E6Cg="; + }; + + vendorSha256 = "sha256-7RMTRFHYgzQD7K5JDdjV7ABg6BpCZbQXS9gSRlm27X8="; + + ldflags = [ "-s" "-w" "-X=main.Version=${version}" ]; + + meta = with lib; { + description = "go mod init"; + homepage = "https://git.jojodev.com/jolheiser/gomodinit"; + license = licenses.mit; + }; +} + diff --git a/pkgs/imp/default.nix b/pkgs/imp/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..15014323e27a6a543721c0159d8f3f863dcbaecc --- /dev/null +++ b/pkgs/imp/default.nix @@ -0,0 +1,28 @@ +{ + buildGoModule, + fetchFromGitea, + lib, + ... +}: +buildGoModule rec { + pname = "imp"; + version = "0.0.8"; + + src = fetchFromGitea { + domain = "git.jojodev.com"; + owner = "jolheiser"; + repo = "imp"; + rev = "v${version}"; + sha256 = "sha256-5peg7jRYH3TsC1h1G7qbCMmLJ06j0VMsQR2SIsUEcoM="; + }; + + vendorSha256 = "sha256-1az96BTJrkj6tigca5YNwEB9fX+BZX2A+aBttOQfo9g="; + + ldflags = ["-s" "-w" "-X=main.Version=${version}"]; + + meta = with lib; { + description = "Opinionated import formatter"; + homepage = "https://git.jojodev.com/jolheiser/imp"; + license = licenses.mit; + }; +} diff --git a/pkgs/kv/default.nix b/pkgs/kv/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..af5774e7c089a2af864db88756955bc5b065a06c --- /dev/null +++ b/pkgs/kv/default.nix @@ -0,0 +1,33 @@ +{ + buildGoModule, + fetchFromGitea, + lib, + ... +}: +buildGoModule rec { + pname = "kv"; + version = "0.0.4"; + + src = fetchFromGitea { + domain = "git.jojodev.com"; + owner = "jolheiser"; + repo = "kv"; + rev = "v${version}"; + sha256 = "sha256-VkFzb44FiuV0LMxXwjoEaFvfc5ExHIUcjrjN7yxXnHo="; + }; + + vendorSha256 = "sha256-COA/YSyJanoxvYG3LFmp9eCwVJuqI9PZV1fLOs4MSPo="; + + ldflags = ["-s" "-w" "-X=main.Version=${version}"]; + + postInstall = '' + mkdir -p $out/share + cp -vr ./contrib/kv-completions.nu $out/share/kv-completions.nu + ''; + + meta = with lib; { + description = "Key/Value store"; + homepage = "https://git.jojodev.com/jolheiser/kv"; + license = licenses.mit; + }; +} diff --git a/pkgs/tclip/default.nix b/pkgs/tclip/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..78d31287c0cf4ca53af613f155c55c2648021d91 --- /dev/null +++ b/pkgs/tclip/default.nix @@ -0,0 +1,30 @@ +{ + buildGoModule, + fetchFromGitHub, + lib, + ... +}: +buildGoModule rec { + pname = "tclip"; + version = "2c99626eb040cb9a54cdf4015c5d2bfd0a7be038"; + + src = fetchFromGitHub { + owner = "tailscale-dev"; + repo = "tclip"; + rev = version; + sha256 = "sha256-quSaM5LzBNdl2cx+1oRcavg1Z0IXZSBk58IBqUgK/4o="; + }; + + vendorSha256 = "sha256-uTgoZmy8w/NbTi6jcPP7wS0GtvTmecNLWb2iYu3PH30="; + + ldflags = ["-s" "-w"]; + + subPackages = "cmd/tclip"; + + meta = with lib; { + description = "tclip client"; + homepage = "https://github.com/tailscale-dev/tclip"; + license = licenses.bsd3; + mainProgram = "tclip"; + }; +} diff --git a/pkgs/templ/default.nix b/pkgs/templ/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..e1376e0d8fc293b2a6d430e058efc78b04361779 --- /dev/null +++ b/pkgs/templ/default.nix @@ -0,0 +1,30 @@ +{ + buildGoModule, + fetchFromGitHub, + lib, + ... +}: +buildGoModule rec { + pname = "templ"; + version = "0.2.334"; + + src = fetchFromGitHub { + owner = "a-h"; + repo = "templ"; + rev = "v${version}"; + sha256 = "sha256-liELstdoh0/KaOY8TnjCmTgp2CYWk9rZnMuK1RUb3OM="; + }; + + vendorSha256 = "sha256-7QYF8BvLpTcDstkLWxR0BgBP0NUlJ20IqW/nNqMSBn4="; + + ldflags = ["-s" "-w" "-X=github.com/a-h/templ.Version=${version}"]; + + subPackages = ["cmd/templ"]; + + meta = with lib; { + description = "A language for writing HTML user interfaces in Go. "; + homepage = "https://github.com/a-h/templ"; + license = licenses.mit; + mainProgram = "templ"; + }; +} diff --git a/pkgs/tmpl/default.nix b/pkgs/tmpl/default.nix new file mode 100644 index 0000000000000000000000000000000000000000..bd16cec5d4bb24ca708a98842ead0d81f8470135 --- /dev/null +++ b/pkgs/tmpl/default.nix @@ -0,0 +1,33 @@ +{ + buildGoModule, + fetchFromGitea, + lib, + ... +}: +buildGoModule rec { + pname = "tmpl"; + version = "0.4.0"; + + src = fetchFromGitea { + domain = "git.jojodev.com"; + owner = "jolheiser"; + repo = "tmpl"; + rev = "v${version}"; + sha256 = "sha256-+7ovltRNhM8+STv629CC3fk9FaQDrClW6r1YcnV7Vqo="; + }; + + vendorSha256 = "sha256-PmguDbjTSz0jzj1pwUNZrO1aAFNkWSo/FAef29TjsGI="; + + ldflags = ["-s" "-w" "-X=go.jolheiser.com/tmpl/cmd.Version=${version}"]; + + postInstall = '' + mkdir -p $out/share + cp -vr ./contrib/tmpl-completions.nu $out/share/tmpl-completions.nu + ''; + + meta = with lib; { + description = "Template automation for bootstrapping projects"; + homepage = "https://git.jojodev.com/jolheiser/tmpl"; + license = licenses.mit; + }; +}