ssh3: init packages

This commit is contained in:
Rouven Seifert 2023-12-19 22:42:38 +01:00
parent ea48055ebb
commit dab85522ba
Signed by: rouven.seifert
GPG key ID: B95E8FE6B11C4D09
10 changed files with 101 additions and 33 deletions

View file

@ -179,11 +179,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1702735279, "lastModified": 1702937117,
"narHash": "sha256-SztEzDOE/6bDNnWWvnRbSHPVrgewLwdSei1sxoZFejM=", "narHash": "sha256-4GjkL2D01bDg00UZN/SeGrnBZrDVOFeZTbQx6U702Vc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "e9b9ecef4295a835ab073814f100498716b05a96", "rev": "e8aaced73ebaf6bfa8e3c6ab0a19cb184bc4d798",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -214,11 +214,11 @@
}, },
"impermanence": { "impermanence": {
"locked": { "locked": {
"lastModified": 1697303681, "lastModified": 1702984171,
"narHash": "sha256-caJ0rXeagaih+xTgRduYtYKL1rZ9ylh06CIrt1w5B4g=", "narHash": "sha256-reIUBrUXibohXmvXRsgpvtlCE0QQSvWSA+qQCKohgR0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "impermanence", "repo": "impermanence",
"rev": "0f317c2e9e56550ce12323eb39302d251618f5b5", "rev": "123e94200f63952639492796b8878e588a4a2851",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -280,11 +280,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1702291765, "lastModified": 1702864432,
"narHash": "sha256-kfxavgLKPIZdYVPUPcoDZyr5lleymrqbr5G9PVfQ2NY=", "narHash": "sha256-xR5Igg2hnm979W3YgMDrSjErHFhHo4rbMboF6DC0mbc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "45d82e0a8b9dd6c5dd9da835ac0c072239af7785", "rev": "4605ccd764fac78b9e4b5b058698cb9f04430b91",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -295,11 +295,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1702312524, "lastModified": 1702830618,
"narHash": "sha256-gkZJRDBUCpTPBvQk25G0B7vfbpEYM5s5OZqghkjZsnE=", "narHash": "sha256-lvhwIvRwhOLgzbRuYkqHy4M5cQHYs4ktL6/hyuBS6II=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a9bf124c46ef298113270b1f84a164865987a91c", "rev": "91a00709aebb3602f172a0bf47ba1ef013e34835",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -67,6 +67,8 @@
gnome-break-timer = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/gnome-break-timer { }; gnome-break-timer = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/gnome-break-timer { };
hashcash-milter = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/hashcash-milter { }; hashcash-milter = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/hashcash-milter { };
ianny = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/ianny { }; ianny = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/ianny { };
ssh3 = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/ssh3/client.nix { };
ssh3-server = nixpkgs.legacyPackages.x86_64-linux.callPackage ./pkgs/ssh3/server.nix { };
}; };
hydraJobs = self.packages; hydraJobs = self.packages;
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt; formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt;

View file

@ -62,14 +62,17 @@
phpEnv."PATH" = lib.makeBinPath [ pkgs.php ]; phpEnv."PATH" = lib.makeBinPath [ pkgs.php ];
}; };
networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.firewall.allowedTCPPorts = [ 80 443 ];
networking.firewall.allowedUDPPorts = [ 443 ];
services.nginx = { services.nginx = {
enable = true; enable = true;
package = pkgs.nginxQuic;
recommendedTlsSettings = true; recommendedTlsSettings = true;
recommendedProxySettings = true; recommendedProxySettings = true;
recommendedGzipSettings = true; recommendedGzipSettings = true;
recommendedOptimisation = true; recommendedOptimisation = true;
virtualHosts."${config.networking.domain}" = { virtualHosts."${config.networking.domain}" = {
quic = true;
http3 = true;
enableACME = true; enableACME = true;
forceSSL = true; forceSSL = true;
root = "/srv/web/${config.networking.domain}"; root = "/srv/web/${config.networking.domain}";

View file

@ -16,6 +16,7 @@ in
}); });
pww = callPackage ../pkgs/pww { }; pww = callPackage ../pkgs/pww { };
ianny = callPackage ../pkgs/ianny { };
river = prev.river.overrideAttrs (_: { river = prev.river.overrideAttrs (_: {
patches = [ patches = [

30
pkgs/ssh3/client.nix Normal file
View file

@ -0,0 +1,30 @@
{ lib, buildGoModule, makeWrapper, fetchFromGitHub, playerctl }:
buildGoModule rec {
pname = "ssh3";
version = "0.1.4";
src = fetchFromGitHub {
owner = "francoismichel";
repo = "ssh3";
rev = "v${version}";
hash = "sha256-0bd2hdvgapTGEGM7gdpVwxelN5BRbmdcgANbRHZ/nRw=";
};
subPackages = [ "cli/client" ];
vendorHash = "sha256-ZtKxAKNyMnZ8v96GUUm4EukdIJD+ITDW9kHOez7nYmg=";
postInstall = ''
mv $out/bin/client $out/bin/ssh3
'';
meta = with lib; {
description = "Faster and rich secure shell using HTTP/3";
homepage = "https://github.com/francoismichel/ssh3";
license = licenses.asl20;
maintainers = with maintainers; [ therealr5 ];
mainProgram = "ssh3";
platforms = platforms.all;
};
}

32
pkgs/ssh3/server.nix Normal file
View file

@ -0,0 +1,32 @@
{ lib, buildGoModule, libxcrypt, makeWrapper, fetchFromGitHub, playerctl }:
buildGoModule rec {
pname = "ssh3-server";
version = "0.1.4";
src = fetchFromGitHub {
owner = "francoismichel";
repo = "ssh3";
rev = "v${version}";
hash = "sha256-0bd2hdvgapTGEGM7gdpVwxelN5BRbmdcgANbRHZ/nRw=";
};
subPackages = [ "cli/server" ];
buildInputs = [ libxcrypt ];
vendorHash = "sha256-ZtKxAKNyMnZ8v96GUUm4EukdIJD+ITDW9kHOez7nYmg=";
postInstall = ''
mv $out/bin/server $out/bin/ssh3-server
'';
meta = with lib; {
description = "Faster and rich secure shell using HTTP/3";
homepage = "https://github.com/francoismichel/ssh3";
license = licenses.asl20;
maintainers = with maintainers; [ therealr5 ];
mainProgram = "ssh3";
platforms = platforms.all;
};
}

View file

@ -39,9 +39,9 @@
# messaging # messaging
discord discord
tdesktop tdesktop
element-desktop
mattermost-desktop
gajim gajim
gomuks
fractal
# games # games
prismlauncher prismlauncher
@ -70,6 +70,7 @@
gcc gcc
nodejs_20 nodejs_20
gnumake gnumake
go
# libs # libs
libyubikey libyubikey

View file

@ -49,6 +49,15 @@ in
"quitte" = { "quitte" = {
hostname = "quitte.ifsr.de"; hostname = "quitte.ifsr.de";
user = "root"; user = "root";
extraOptions = {
RequestTTY = "yes";
RemoteCommand = "zsh -i";
};
};
"quitte-notty" = {
hostname = "quitte.ifsr.de";
user = "root";
}; };
"durian" = { "durian" = {
hostname = "durian.ifsr.de"; hostname = "durian.ifsr.de";

View file

@ -1,27 +1,16 @@
{ pkgs, lib, ... }: { pkgs, lib, ... }:
{ {
systemd.user = { systemd.user = {
services.breaktimer = { services.ianny = {
Unit = { Unit = {
Description = "Simple notification to take a break"; Description = "Ianny break timer";
After = [ "graphical-session-pre.target" ];
PartOf = [ "graphical-session.target" ];
}; };
Service = { Service = {
Type = "oneshot"; ExecStart = "${pkgs.ianny}/bin/ianny";
ExecStart = ''${lib.getExe pkgs.libnotify} -i clock -e "It's time for a break" "Relax your eyes"'';
}; };
}; Install = { WantedBy = [ "graphical-session.target" ]; };
timers.breaktimer = {
Unit = {
Description = "Timer for the break notification";
};
Timer = {
OnCalendar = "*:0/20";
Unit = "breaktimer.service";
};
Install = {
WantedBy = [ "timers.target" ];
};
}; };
}; };
} }

View file

@ -51,7 +51,8 @@
riverctl map-pointer normal Super BTN_RIGHT resize-view riverctl map-pointer normal Super BTN_RIGHT resize-view
riverctl map normal Alt Space spawn "${pkgs.fuzzel}/bin/fuzzel -w 50" riverctl map normal Alt Space spawn "${pkgs.fuzzel}/bin/fuzzel"
riverctl map normal Alt A spawn "${pkgs.wofi-emoji}/bin/wofi-emoji";
riverctl map normal Super Space toggle-float riverctl map normal Super Space toggle-float
for i in $(seq 1 9) for i in $(seq 1 9)