72 lines
1.7 KiB
Nix
72 lines
1.7 KiB
Nix
{
|
|
description = "Wishlist: Your SSH directory."
|
|
|
|
inputs = {
|
|
|
|
};
|
|
|
|
outputs = {
|
|
self
|
|
}: let
|
|
nixosModule = {
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
options.services.wishlist = {
|
|
enable = lib.mkEnableOption "Your SSH directory.";
|
|
|
|
port = lib.mkOption {
|
|
type = lib.types.port;
|
|
default = 22;
|
|
description = "Port to listen on";
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf config.services.wishlist.enable {
|
|
# configure the systemd service
|
|
systemd.services.wishlist = {
|
|
description = "Your SSH directory.";
|
|
wantedBy = [ "multi-user.target" ];
|
|
after = [ "network.target" ];
|
|
serviceConfig = {
|
|
ExecStart = "${self.packages.${pkgs.system}.default}/bin/wishlist";
|
|
Restart = "always";
|
|
Type = "simple";
|
|
DynamicUser = "yes";
|
|
};
|
|
# environment variables
|
|
environment = {
|
|
|
|
};
|
|
};
|
|
};
|
|
};
|
|
in
|
|
(flake-utils.lib.eachDefaultSystem (system: let
|
|
gopkg = go-nixpkgs.legacyPackages.${system};
|
|
in {
|
|
packages.default = gopkg.buildGoModule ############################
|
|
}))
|
|
buildGoModule rec { # is rec necessary?
|
|
pname = "wishlist";
|
|
version = "0.15.1"
|
|
|
|
src = fetchFromGithub {
|
|
owner = "charmbracelet";
|
|
repo = "wishlist";
|
|
rev = "v${version}";
|
|
hash = "0c9g1s8j9znzd1mw61d0klc6sqri0wx6hljibxdwzi3cabfy3ld6";
|
|
};
|
|
|
|
vendorSha256 = lib.fakeSha256;
|
|
|
|
meta = with lib; {
|
|
homepage = "https://github.com/charmbracelet/wishlist";
|
|
description = "Your SSH directory.";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ caarlos0 ];
|
|
};
|
|
};
|
|
}
|