nixos-config/nixos/machines/chungus/configuration.nix

105 lines
2.2 KiB
Nix

{ config, pkgs, lib, ... }: {
imports = [
../../components
./hardware-configuration.nix
../../system/server
./disko-config.nix
./packages.nix
./network-wireguard.nix
./network-tinc.nix
./hass.nix
./hass-zigbee2mqtt.nix
./hass-mqtt.nix
#./hass-wifi.nix
#./mail-fetcher.nix
#./borg.nix
#./taskwarrior-pushover.nix
./media-share.nix
./media-audiobookshelf.nix
./media-tdarr.nix
./media-jellyfin.nix
# logging
./loki.nix
./loki-promtail.nix
./prometheus.nix
./grafana.nix
./telegraf.nix
./telegraf-smart.nix
#./home-display.nix
./rbackup.nix
./sync-torrent.nix
./sync-script.nix
./syncthing.nix
#./kiosk.nix
./trilium.nix
./cache.nix
./tts.nix
];
components.terminal.enable = true;
components.mainUser.enable = true;
components.gui.enable = false;
components.network.enable = true;
components.network.wifi.enable = false;
services.printing.enable = false;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.tmp.useTmpfs = true; # make /tmp a tmpfs (performance!)
boot.supportedFilesystems = [ "zfs" ];
# head -c4 /dev/urandom | od -A none -t x4
networking.hostId = "e439b116";
services.zfs.autoSnapshot.enable = true;
#virtualisation.containers.storage.settings = {
# # fixes: Error: 'overlay' is not supported over zfs, a mount_program is required: backing file system is unsupported for this graph driver
# storage.options.mount_program = "${pkgs.fuse-overlayfs}/bin/fuse-overlayfs";
#};
virtualisation.podman.extraPackages = [ pkgs.zfs ]; # make sure /var/lib/containers/storage is a zfs dataset
sops.defaultSopsFile = ../../secrets/chungus.yaml;
networking.hostName = "chungus";
users.users.root.shell = pkgs.zsh;
# todo : rename to component.init.ssh
# todo : make tor optional
configuration.init-ssh = {
enable = "enabled";
kernelModules = [ "e1000e" ];
};
# just enable lan
#networking.dhcpcd.allowInterfaces = [ "enp0s25" ];
# nix-shell -p speedtest_cli --run speedtest
#configuration.fireqos = {
# enable = false;
# interface = "enp0s25";
# input = 200000;
# output = 2000;
# balance = false;
#};
}