mirror of
https://git.sr.ht/~rouven/nixos-config
synced 2025-01-18 17:11:39 +01:00
ssh3: init packages
This commit is contained in:
parent
ea48055ebb
commit
dab85522ba
10 changed files with 101 additions and 33 deletions
24
flake.lock
24
flake.lock
|
@ -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": {
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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}";
|
||||||
|
|
|
@ -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
30
pkgs/ssh3/client.nix
Normal 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
32
pkgs/ssh3/server.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue