72 lines
2.0 KiB
Nix
72 lines
2.0 KiB
Nix
# Edit this configuration file to define what should be installed on
|
||
# your system. Help is available in the configuration.nix(5) man page
|
||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||
|
||
{ config, pkgs, ... }:
|
||
|
||
{
|
||
imports = [
|
||
../../common
|
||
|
||
./hardware-configuration.nix
|
||
./plex.nix
|
||
./smb.nix
|
||
./zrepl.nix
|
||
];
|
||
|
||
# Use the systemd-boot EFI boot loader.
|
||
boot.loader.systemd-boot.enable = true;
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
boot.supportedFilesystems = [ "zfs" ];
|
||
boot.kernelParams = [ "nomodeset" ];
|
||
|
||
services.prometheus.exporters.node.enable = true;
|
||
|
||
virtualisation.docker = {
|
||
enable = true;
|
||
storageDriver = "zfs";
|
||
};
|
||
systemd.services."docker" = {
|
||
path = [ pkgs.zfs ];
|
||
};
|
||
|
||
virtualisation.libvirtd.enable = true;
|
||
services.nfs.server.enable = true;
|
||
services.nfs.server.exports = ''
|
||
/data 0.0.0.0/0(insecure,rw,sync,all_squash,anonuid=1000,anongid=996)
|
||
'';
|
||
security.sudo.wheelNeedsPassword = false;
|
||
|
||
networking.hostName = "itsuki"; # Define your hostname.
|
||
networking.hostId = "4d64f279";
|
||
networking.useDHCP = false;
|
||
networking.interfaces.enp2s0.useDHCP = true;
|
||
networking.interfaces.wlp3s0.useDHCP = true;
|
||
services.openssh.enable = true;
|
||
networking.firewall.enable = false;
|
||
system.stateVersion = "21.05"; # Did you read the comment?
|
||
|
||
environment.systemPackages = with pkgs; [ docker-compose ];
|
||
|
||
services.tailscale.enable = true;
|
||
|
||
services.nginx = {
|
||
enable = true;
|
||
virtualHosts."itsuki.shark-harmonic.ts.net" = {
|
||
forceSSL = true;
|
||
locations."/" = {
|
||
proxyPass = "http://127.0.0.1:32400";
|
||
proxyWebsockets = true;
|
||
};
|
||
locations."/transmission" = {
|
||
proxyPass = "http://127.0.0.1:9091";
|
||
proxyWebsockets = true;
|
||
};
|
||
sslCertificate = "/srv/within/certs/itsuki.shark-harmonic.ts.net.crt";
|
||
sslCertificateKey = "/srv/within/certs/itsuki.shark-harmonic.ts.net.key";
|
||
};
|
||
};
|
||
|
||
within.users.enableSystem = true;
|
||
}
|