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

127 lines
2.9 KiB
Nix
Raw Normal View History

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
2023-08-28 22:53:55 +02:00
./disko-syncoid.nix
2023-04-29 23:29:05 +02:00
./packages.nix
2023-05-12 11:17:58 +02:00
./network-wireguard.nix
2023-05-05 22:33:05 +02:00
./network-tinc.nix
2023-10-20 08:46:57 +02:00
./network-tinc-retiolum.nix # make sure no service is open for this vpn!
2023-05-05 22:33:05 +02:00
./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
2023-11-18 12:51:14 +01:00
./taskwarrior-autotag.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-11-18 12:51:14 +01:00
#./media-tdarr.nix
2023-05-05 22:33:05 +02:00
./media-jellyfin.nix
2023-08-02 06:01:22 +02:00
./media-youtube.nix
2023-08-03 11:50:39 +02:00
./media-castget.nix
2023-10-20 08:01:09 +02:00
./media-curl.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
./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-10-05 16:30:34 +02:00
./services-s3.nix
2023-06-01 08:21:55 +02:00
#./kiosk.nix
2023-05-15 18:35:35 +02:00
./trilium.nix
2023-07-08 03:15:18 +02:00
./gitea.nix
2023-09-08 09:46:41 +02:00
#./atuin.nix
2023-05-12 23:47:19 +02:00
2023-06-09 01:24:53 +02:00
./cache.nix
2023-04-29 23:29:05 +02:00
];
2023-07-01 00:20:03 +02:00
components.gui.enable = false;
2023-08-25 11:33:25 +02:00
components.mainUser.enable = true;
2023-11-08 09:26:34 +01:00
components.media.tts-server.enable = false;
2023-06-01 11:38:39 +02:00
components.network.enable = true;
components.network.wifi.enable = false;
2023-08-25 11:33:25 +02:00
components.terminal.enable = true;
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
2023-11-20 09:49:34 +01:00
# nixpkgs.config.packageOverrides = pkgs: {
# vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
# };
hardware.opengl = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver # LIBVA_DRIVER_NAME=iHD
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
vaapiVdpau
libvdpau-va-gl
];
};
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;
#};
}