Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a695aa408b | ||
|
|
c5b6c7a809 |
4 changed files with 497 additions and 440 deletions
8
flake.lock
generated
8
flake.lock
generated
|
|
@ -373,11 +373,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1788095523,
|
||||
"narHash": "sha256-UwtknsxJg5tGtEeCBLPkjeQgbREf9FiPrruzz9RxGC4=",
|
||||
"lastModified": 1788113629,
|
||||
"narHash": "sha256-8aJW0wQK4zKA0XmpJQ8wNZNV5yiT1xuNI2ZR8wkdQqc=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "1e4399d49e86fa46a4ccc073af83097dd3e08508",
|
||||
"revCount": 4045,
|
||||
"rev": "f14056996e7317953145814a523b26dd3df6ce1c",
|
||||
"revCount": 4073,
|
||||
"type": "git",
|
||||
"url": "https://forge.darkest.space/hyperhive/hyperhive.git"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2,10 +2,12 @@
|
|||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
device,
|
||||
...
|
||||
}:
|
||||
{
|
||||
config = {
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
home.packages = with pkgs; [
|
||||
xwayland-satellite
|
||||
|
|
@ -433,5 +435,41 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
# lpt2's keyboard is flaky, so give it an on-screen keyboard.
|
||||
# squeekboard auto-shows on focused text fields via the input-method
|
||||
# protocol, but that doesn't catch every app, so Mod+K force-toggles it
|
||||
# over D-Bus (sm.puri.OSK0), which is squeekboard's own control interface.
|
||||
(
|
||||
let
|
||||
squeekboard-toggle = pkgs.writeShellApplication {
|
||||
name = "squeekboard-toggle";
|
||||
runtimeInputs = [ pkgs.systemd ];
|
||||
text = ''
|
||||
dest=sm.puri.OSK0
|
||||
path=/sm/puri/OSK0
|
||||
iface=sm.puri.OSK0
|
||||
current=$(busctl --user get-property "$dest" "$path" "$iface" Visible | cut -d' ' -f2)
|
||||
if [ "$current" = "true" ]; then
|
||||
busctl --user call "$dest" "$path" "$iface" SetVisible b false
|
||||
else
|
||||
busctl --user call "$dest" "$path" "$iface" SetVisible b true
|
||||
fi
|
||||
'';
|
||||
};
|
||||
in
|
||||
lib.mkIf (device == "muede-lpt2") {
|
||||
home.packages = [ pkgs.squeekboard ];
|
||||
|
||||
programs.niri.settings = {
|
||||
spawn-at-startup = [
|
||||
{ command = [ (lib.getExe' pkgs.squeekboard "squeekboard") ]; }
|
||||
];
|
||||
|
||||
binds."Mod+K".action.spawn = lib.getExe squeekboard-toggle;
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./containers.nix
|
||||
./hardware.nix
|
||||
];
|
||||
|
||||
config =
|
||||
let
|
||||
gw = config.services.hyperhive.gateway;
|
||||
old = "forge.pr1ma.darkest.space";
|
||||
new = "forge.constellation.darkest.space";
|
||||
in
|
||||
config = lib.mkMerge [
|
||||
{
|
||||
my = {
|
||||
# keep-sorted start
|
||||
|
|
@ -67,22 +67,46 @@
|
|||
];
|
||||
|
||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
}
|
||||
|
||||
(
|
||||
let
|
||||
old = "forge.pr1ma.darkest.space";
|
||||
new = "forge.constellation.darkest.space";
|
||||
in
|
||||
{
|
||||
my.constellation-swarm = {
|
||||
enable = true;
|
||||
hiveName = "pr1ma";
|
||||
};
|
||||
services.hyperhive.enableAllLocalDefaults = true;
|
||||
services.nginx.enable = true;
|
||||
services.hyperhive = {
|
||||
deploy = {
|
||||
singleHostSwarm = true;
|
||||
forgejo.ci = {
|
||||
enable = true;
|
||||
concurrency = 2;
|
||||
};
|
||||
};
|
||||
|
||||
# DNS: the hive's resolver must still answer for the old name, or
|
||||
# nothing ever reaches the redirect. The forge module drops it from
|
||||
# this list the moment you change `swarm.forge.domain`.
|
||||
services.hyperhive.gateway.localNames = [ old ];
|
||||
gateway.localNames = [ old ];
|
||||
};
|
||||
services.nginx.enable = true;
|
||||
|
||||
services.nginx.virtualHosts.${old} = (gw.lib.tlsFor old) // {
|
||||
services.nginx.virtualHosts.${old} =
|
||||
let
|
||||
gw = config.services.hyperhive.gateway;
|
||||
in
|
||||
(gw.lib.tlsFor old)
|
||||
// {
|
||||
listen = gw.lib.listen;
|
||||
locations."/".return = "301 https://${new}$request_uri";
|
||||
};
|
||||
};
|
||||
|
||||
#containers.swarm-authelia.config.services.authelia.instances.swarm.settings.log.level =lib.mkForce "debug";
|
||||
}
|
||||
)
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,11 +36,6 @@ in
|
|||
swarm = {
|
||||
name = "constellation";
|
||||
domain = "constellation.darkest.space";
|
||||
enableRequiredServices = true;
|
||||
forge.ci = {
|
||||
enable = true;
|
||||
concurrency = 2;
|
||||
};
|
||||
matrix = {
|
||||
# not default - both still on hive domain
|
||||
gatewayHost = "matrix.pr1ma.darkest.space";
|
||||
|
|
|
|||
Loading…
Reference in a new issue