158 lines
3.2 KiB
Nix
158 lines
3.2 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
inputs,
|
|
config,
|
|
...
|
|
}: let
|
|
sshKeys = import ../../crypto/ssh-keys.nix;
|
|
in {
|
|
imports = [
|
|
# Defaults
|
|
./hardware-configuration.nix
|
|
../../common/base.nix
|
|
../../common/full-install.nix
|
|
|
|
# Localization
|
|
../../common/locales/en.nix
|
|
../../common/locales/fr-keymap.nix
|
|
|
|
# Hardware
|
|
../../common/hardware/intel-cpu.nix
|
|
../../common/hardware/tpm2.nix
|
|
../../common/hardware/wireless.nix
|
|
../../common/hardware/nvidia-gpu.nix
|
|
../../common/hardware/nvidia-gpu-offload.nix
|
|
../../common/hardware/ssd.nix
|
|
../../common/hardware/btrfs.nix
|
|
|
|
# Software components
|
|
../../common/components/de/sddm.nix
|
|
../../common/components/de/plasma6.nix
|
|
# ../../common/components/de/hyprland.nix
|
|
|
|
# Programs
|
|
../../common/programs/steam.nix
|
|
|
|
# Services
|
|
../../common/services/auditd.nix
|
|
../../common/services/nix-gc.nix
|
|
../../common/services/adguardhome.nix
|
|
../../common/services/syncthing.nix
|
|
../../common/services/usbguard.nix
|
|
../../common/services/autoupgrade.nix
|
|
|
|
# Home-manager
|
|
../../home/tasia/home.nix
|
|
|
|
# Personal modules
|
|
# ../../modules/nixos/tildefriends.nix
|
|
];
|
|
|
|
# RGB Keyboard backight
|
|
boot.extraModulePackages = with config.boot.kernelPackages; [hid-ite8291r3];
|
|
|
|
services.udev.extraRules = ''
|
|
ACTION=="add", SUBSYSTEM=="leds", DEVPATH=="*:kbd_backlight", TEST=="color", ATTR{color}="fc4f05"
|
|
'';
|
|
|
|
# Nvidia GPU
|
|
hardware.nvidia.prime = {
|
|
intelBusId = "PCI:1:0:0";
|
|
nvidiaBusId = "PCI:0:2:0";
|
|
};
|
|
|
|
networking = {
|
|
hostName = "yaseen";
|
|
|
|
firewall = {
|
|
allowedTCPPorts = [
|
|
# 8080 # ?
|
|
# 8008 # ssb
|
|
# 12345 # tildefriends
|
|
# 13378 # audiobookshelf
|
|
];
|
|
allowedUDPPorts = [
|
|
# 8080 # ?
|
|
];
|
|
};
|
|
};
|
|
|
|
users.users.tasia.openssh.authorizedKeys.keys = [
|
|
sshKeys.tasia.yaseen
|
|
];
|
|
|
|
virtualisation.docker.enable = true;
|
|
services.flatpak.enable = true;
|
|
|
|
services.syncthing = {
|
|
user = "tasia";
|
|
dataDir = lib.mkForce "/home/tasia/Sync/data";
|
|
configDir = lib.mkForce "/home/tasia/Sync/configuration";
|
|
};
|
|
|
|
# Needed to build enry
|
|
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
inputs.tildefriends.packages.${system}.default
|
|
|
|
osu-lazer-bin
|
|
prismlauncher
|
|
|
|
sherlock
|
|
whois
|
|
android-tools
|
|
];
|
|
|
|
programs.adb.enable = true;
|
|
|
|
|
|
services.grafana = {
|
|
enable = false;
|
|
settings.server = {
|
|
domain = "grafana.enry";
|
|
http_port = 2342;
|
|
http_addr = "0.0.0.0";
|
|
};
|
|
};
|
|
|
|
services.prometheus = {
|
|
enable = false;
|
|
port = 9000;
|
|
retentionTime = "60d";
|
|
|
|
exporters = {
|
|
node = {
|
|
enable = false;
|
|
enabledCollectors = ["systemd"];
|
|
port = 9002;
|
|
};
|
|
};
|
|
|
|
scrapeConfigs = [
|
|
{
|
|
job_name = "enry";
|
|
static_configs = [
|
|
{
|
|
targets = ["127.0.0.1:${toString config.services.prometheus.exporters.node.port}"];
|
|
}
|
|
];
|
|
}
|
|
|
|
{
|
|
job_name = "monitor";
|
|
static_configs = [
|
|
{
|
|
targets = ["127.0.0.1:8080"];
|
|
}
|
|
];
|
|
}
|
|
];
|
|
};
|
|
|
|
|
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
system.stateVersion = "23.11";
|
|
}
|