2023-04-29 23:29:05 +02:00
|
|
|
{ config, pkgs, lib, ... }: {
|
|
|
|
|
|
|
|
imports = [
|
|
|
|
|
2023-07-01 00:20:03 +02:00
|
|
|
../../components
|
|
|
|
|
2023-04-29 23:29:05 +02:00
|
|
|
./hardware-configuration.nix
|
|
|
|
../../system/server
|
|
|
|
./disko-config.nix
|
|
|
|
./packages.nix
|
|
|
|
|
2023-05-12 11:17:58 +02:00
|
|
|
./network-wireguard.nix
|
2023-05-05 22:33:05 +02:00
|
|
|
./network-tinc.nix
|
|
|
|
|
|
|
|
./hass.nix
|
|
|
|
./hass-zigbee2mqtt.nix
|
|
|
|
./hass-mqtt.nix
|
2023-06-01 08:21:55 +02:00
|
|
|
#./hass-wifi.nix
|
2023-05-05 22:33:05 +02:00
|
|
|
|
|
|
|
#./mail-fetcher.nix
|
2023-04-29 23:29:05 +02:00
|
|
|
|
|
|
|
#./borg.nix
|
|
|
|
#./taskwarrior-pushover.nix
|
2023-05-04 20:59:26 +02:00
|
|
|
|
2023-05-05 22:33:05 +02:00
|
|
|
./media-share.nix
|
2023-05-28 22:52:03 +02:00
|
|
|
./media-audiobookshelf.nix
|
2023-05-05 22:33:05 +02:00
|
|
|
./media-tdarr.nix
|
|
|
|
./media-jellyfin.nix
|
2023-05-04 20:59:26 +02:00
|
|
|
|
2023-04-29 23:29:05 +02:00
|
|
|
# logging
|
|
|
|
./loki.nix
|
|
|
|
./loki-promtail.nix
|
|
|
|
./prometheus.nix
|
|
|
|
./grafana.nix
|
|
|
|
./telegraf.nix
|
2023-05-15 09:30:42 +02:00
|
|
|
./telegraf-smart.nix
|
2023-04-29 23:29:05 +02:00
|
|
|
|
|
|
|
#./home-display.nix
|
|
|
|
|
2023-05-02 21:02:16 +02:00
|
|
|
./rbackup.nix
|
2023-05-04 10:12:52 +02:00
|
|
|
./sync-torrent.nix
|
2023-05-04 19:35:15 +02:00
|
|
|
./sync-script.nix
|
2023-05-12 11:17:58 +02:00
|
|
|
./syncthing.nix
|
2023-05-01 21:36:46 +02:00
|
|
|
|
2023-06-01 08:21:55 +02:00
|
|
|
#./kiosk.nix
|
2023-05-15 18:35:35 +02:00
|
|
|
./trilium.nix
|
2023-05-12 23:47:19 +02:00
|
|
|
|
2023-06-09 01:24:53 +02:00
|
|
|
./cache.nix
|
2023-06-21 08:34:43 +02:00
|
|
|
./tts.nix
|
2023-06-09 01:24:53 +02:00
|
|
|
|
2023-04-29 23:29:05 +02:00
|
|
|
];
|
|
|
|
|
2023-07-01 00:20:03 +02:00
|
|
|
components.terminal.enable = true;
|
|
|
|
components.mainUser.enable = true;
|
|
|
|
components.gui.enable = false;
|
|
|
|
|
2023-06-01 11:38:39 +02:00
|
|
|
components.network.enable = true;
|
|
|
|
components.network.wifi.enable = false;
|
2023-04-29 23:29:05 +02:00
|
|
|
|
2023-06-01 14:02:57 +02:00
|
|
|
services.printing.enable = false;
|
|
|
|
|
2023-04-29 23:29:05 +02:00
|
|
|
boot.loader.systemd-boot.enable = true;
|
|
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
2023-06-30 11:02:05 +02:00
|
|
|
boot.tmp.useTmpfs = true; # make /tmp a tmpfs (performance!)
|
2023-04-29 23:29:05 +02:00
|
|
|
|
|
|
|
boot.supportedFilesystems = [ "zfs" ];
|
|
|
|
# head -c4 /dev/urandom | od -A none -t x4
|
|
|
|
networking.hostId = "e439b116";
|
2023-05-02 19:15:30 +02:00
|
|
|
services.zfs.autoSnapshot.enable = true;
|
2023-04-29 23:29:05 +02:00
|
|
|
|
2023-05-05 09:49:58 +02:00
|
|
|
#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
|
|
|
|
|
2023-04-29 23:29:05 +02:00
|
|
|
sops.defaultSopsFile = ../../secrets/chungus.yaml;
|
|
|
|
|
|
|
|
networking.hostName = "chungus";
|
|
|
|
|
|
|
|
users.users.root.shell = pkgs.zsh;
|
|
|
|
|
|
|
|
# todo : rename to component.init.ssh
|
2023-04-30 00:47:46 +02:00
|
|
|
# todo : make tor optional
|
2023-05-01 15:46:51 +02:00
|
|
|
configuration.init-ssh = {
|
|
|
|
enable = "enabled";
|
|
|
|
kernelModules = [ "e1000e" ];
|
|
|
|
};
|
2023-04-29 23:29:05 +02:00
|
|
|
|
|
|
|
# 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;
|
|
|
|
#};
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|