2023-01-16 17:16:20 +00:00
|
|
|
{ pkgs, lib, ... }:
|
2021-01-27 04:18:30 +00:00
|
|
|
|
2023-08-04 04:54:49 +00:00
|
|
|
{
|
2021-04-07 03:56:19 +00:00
|
|
|
imports = [
|
2022-11-26 18:38:23 +00:00
|
|
|
./hardware-configuration.nix
|
2024-08-31 15:27:36 +00:00
|
|
|
./mopidy.nix
|
2021-04-07 03:56:19 +00:00
|
|
|
];
|
2021-01-27 04:18:30 +00:00
|
|
|
|
2023-08-02 17:03:35 +00:00
|
|
|
beatific.hostName = "catacomb";
|
2024-04-30 04:51:26 +00:00
|
|
|
beatific.defaults.tvbSync = false;
|
2023-08-02 17:03:35 +00:00
|
|
|
|
2021-01-27 04:18:30 +00:00
|
|
|
boot = {
|
|
|
|
loader = {
|
2022-11-26 18:38:23 +00:00
|
|
|
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
|
2021-01-27 04:18:30 +00:00
|
|
|
grub.enable = false;
|
2022-11-26 18:38:23 +00:00
|
|
|
# Enables the generation of /boot/extlinux/extlinux.conf
|
|
|
|
generic-extlinux-compatible.enable = true;
|
2021-01-27 04:18:30 +00:00
|
|
|
};
|
|
|
|
};
|
2022-11-26 18:38:23 +00:00
|
|
|
|
|
|
|
system.stateVersion = "22.11"; # Read the usual warning
|
|
|
|
|
2021-01-27 04:18:30 +00:00
|
|
|
swapDevices = [ { device = "/swap"; size = 1024; } ];
|
2022-11-26 18:38:23 +00:00
|
|
|
|
2023-12-27 05:17:57 +00:00
|
|
|
environment.systemPackages = with pkgs; [
|
2024-08-31 14:51:28 +00:00
|
|
|
lsof # list open files
|
|
|
|
mpv # cli media player
|
2024-01-04 19:53:53 +00:00
|
|
|
smartmontools # provides smartctl
|
2024-08-31 14:51:28 +00:00
|
|
|
usbutils # provides lsusb
|
2021-01-27 04:18:30 +00:00
|
|
|
];
|
2022-11-26 18:38:23 +00:00
|
|
|
|
2021-01-27 04:18:30 +00:00
|
|
|
networking = {
|
2024-01-04 19:54:31 +00:00
|
|
|
hostId = "beeeeee5"; # this must be consistent for ZFS
|
2021-01-27 04:18:30 +00:00
|
|
|
firewall = {
|
|
|
|
enable = true;
|
2024-08-31 15:27:36 +00:00
|
|
|
allowedTCPPorts = [ 80 139 445 ];
|
2021-01-27 04:18:30 +00:00
|
|
|
allowedUDPPorts = [ 137 138 ];
|
|
|
|
};
|
2024-08-30 02:02:44 +00:00
|
|
|
wireless = {
|
|
|
|
enable = true;
|
2024-12-02 02:30:18 +00:00
|
|
|
networks."mysterious humming noise".pskRaw = "ext:MHN_PSK";
|
|
|
|
secretsFile = "/root/wifi.env";
|
2024-08-30 02:02:44 +00:00
|
|
|
};
|
2021-01-27 04:18:30 +00:00
|
|
|
};
|
2022-11-26 18:38:23 +00:00
|
|
|
|
2024-08-31 14:51:28 +00:00
|
|
|
services.pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
alsa.support32Bit = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
# To avoid needing an active user session, run a single system instance
|
|
|
|
systemWide = true;
|
|
|
|
};
|
|
|
|
|
2023-09-17 03:23:54 +00:00
|
|
|
services.openssh.settings.PasswordAuthentication = true;
|
2021-01-27 04:18:30 +00:00
|
|
|
|
|
|
|
services.rsyncd.enable = true;
|
|
|
|
|
2024-08-31 15:27:36 +00:00
|
|
|
services.nginx = {
|
|
|
|
enable = true;
|
|
|
|
recommendedProxySettings = true;
|
|
|
|
virtualHosts = {
|
|
|
|
default = {
|
|
|
|
default = true;
|
|
|
|
locations."/".return = "444";
|
|
|
|
};
|
|
|
|
"mopidy.home.ktvb.site" = {
|
|
|
|
listen = [
|
|
|
|
{ addr = "10.22.20.2"; }
|
|
|
|
{ addr = "catacomb.lan"; }
|
|
|
|
];
|
|
|
|
locations."/" = {
|
|
|
|
proxyWebsockets = true;
|
2024-08-31 22:07:02 +00:00
|
|
|
proxyPass = "http://localhost:6680";
|
2024-08-31 15:27:36 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2021-01-27 04:18:30 +00:00
|
|
|
users.users.tvb = {
|
|
|
|
uid = 1001;
|
2024-08-31 14:51:28 +00:00
|
|
|
extraGroups = [
|
|
|
|
"pipewire"
|
|
|
|
];
|
2023-09-17 03:24:22 +00:00
|
|
|
packages = [
|
|
|
|
(pkgs.writeShellScriptBin "yt-dlp" ''
|
2023-11-22 19:05:15 +00:00
|
|
|
exec $HOME/.env/bin/yt-dlp "$@"
|
2023-09-17 03:24:22 +00:00
|
|
|
'')
|
|
|
|
];
|
2021-01-27 04:18:30 +00:00
|
|
|
};
|
|
|
|
|
2023-04-29 23:12:58 +00:00
|
|
|
users.users.katydid = {
|
|
|
|
isNormalUser = true;
|
|
|
|
uid = 1002;
|
|
|
|
};
|
|
|
|
|
2022-11-26 18:38:23 +00:00
|
|
|
nix.settings.cores = 4;
|
2021-01-27 04:18:30 +00:00
|
|
|
}
|