Compare commits

...

2 commits

2 changed files with 51 additions and 12 deletions

View file

@ -1,11 +1,8 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
inherit (lib) mkIf mkOption types; inherit (lib) mkIf mkMerge mkOption types;
cfg = config.qenya.base-graphical; cfg = config.qenya.base-graphical;
isGnome = cfg.desktop == "gnome";
isPlasma6 = cfg.desktop == "plasma6";
in in
{ {
options.qenya.base-graphical.desktop = mkOption { options.qenya.base-graphical.desktop = mkOption {
@ -15,12 +12,24 @@ in
description = "Which display manager and desktop manager to use."; description = "Which display manager and desktop manager to use.";
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable (mkMerge [
services.xserver.displayManager.gdm.enable = isGnome; (mkIf (cfg.desktop == "gnome") {
services.xserver.desktopManager.gnome.enable = isGnome; services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.displayManager.sddm.enable = isPlasma6; # TODO: agree on this with randomcat as it affects her too, since for some reason this is system-wide
services.displayManager.sddm.wayland.enable = isPlasma6; # environment.gnome.excludePackages = with pkgs.gnome; [
services.desktopManager.plasma6.enable = isPlasma6; # pkgs.gnome-tour
}; # epiphany # GNOME Web
# geary
# gnome-calendar
# gnome-contacts
# gnome-music
# ];
})
(mkIf (cfg.desktop == "plasma6") {
services.displayManager.sddm.enable = true;
services.displayManager.sddm.wayland.enable = true;
services.desktopManager.plasma6.enable = true;
})
]);
} }

View file

@ -22,6 +22,36 @@
privateKeyFile = config.age.secrets.wireguard-peer-yevaud.path; privateKeyFile = config.age.secrets.wireguard-peer-yevaud.path;
}; };
services.bind = {
# enable = true;
cacheNetworks = [ "10.127.0.0/16" "fd70:81ca:0f8f::/48" ];
forwarders = [ ];
listenOn = [ config.birdsong.hosts.yevaud.ipv4 ];
listenOnIpv6 = [ config.birdsong.hosts.yevaud.ipv6 ];
zones = {
"birdsong.internal" = {
master = true;
# TODO: pick better email address for SOA record
file = pkgs.writeText "birdsong.internal.zone" ''
$TTL 60
$ORIGIN birdsong.internal.
birdsong.internal. IN SOA ns.birdsong.internal. accounts.katherina.rocks. ( 2024080401 7200 3600 1209600 3600 )
birdsong.internal. IN NS ns.birdsong.internal.
yevaud.c.birdsong.internal. IN A 10.127.1.1
yevaud.c.birdsong.internal. IN AAAA fd70:81ca:0f8f:1::1
ns.birdsong.internal. IN A 10.127.1.1
ns.birdsong.internal. IN AAAA fd70:81ca:0f8f:1::1
'';
};
};
};
networking.resolvconf.useLocalResolver = false;
networking.firewall.allowedTCPPorts = [ 53 ];
networking.firewall.allowedUDPPorts = [ 53 ];
qenya.services.forgejo = { qenya.services.forgejo = {
enable = true; enable = true;
domain = "git.qenya.tel"; domain = "git.qenya.tel";