nixos-config/systems/PC-Fixe/configuration.nix

121 lines
3.9 KiB
Nix
Raw Normal View History

2018-10-31 00:42:58 +01:00
# 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 =
[
./hardware-configuration.nix
2019-10-04 22:01:49 +02:00
../common-cli.nix
../common-gui.nix
2018-10-31 00:42:58 +01:00
];
2022-10-10 22:25:14 +02:00
nix.settings.trusted-users = [ "root" "paul" ];
2021-12-28 22:56:26 +01:00
2018-10-31 00:42:58 +01:00
boot.loader.efi.canTouchEfiVariables = true;
2019-10-15 21:38:23 +02:00
boot.loader.grub = {
efiSupport = true;
device = "nodev";
zfsSupport = true;
2020-04-21 02:39:01 +02:00
memtest86.enable = true;
2020-10-06 00:19:43 +02:00
fontSize = 32;
2019-10-15 21:38:23 +02:00
};
2021-10-14 13:01:23 +02:00
boot.kernelParams = [
"acpi_enforce_resources=lax"
"zfs.zfs_arc_max=2147483648"
];
2023-08-16 20:47:28 +02:00
boot.tmp.useTmpfs = false;
2019-10-15 21:38:23 +02:00
boot.supportedFilesystems = [ "zfs" ];
2024-07-29 20:20:22 +02:00
boot.extraModprobeConfig = ''
options hid_apple fnmode=2
'';
2018-10-31 00:42:58 +01:00
2021-10-14 13:01:23 +02:00
virtualisation.podman.enable = true;
2020-10-06 00:20:54 +02:00
2019-11-21 02:13:25 +01:00
services.zfs = {
2021-10-14 13:01:23 +02:00
trim = {
2023-06-08 21:34:28 +02:00
enable = false;
2021-10-14 13:01:23 +02:00
interval = "monthly";
};
autoScrub = {
2023-06-08 21:34:28 +02:00
enable = false;
2021-10-14 13:01:23 +02:00
interval = "monthly";
};
2019-11-21 02:13:25 +01:00
autoSnapshot = {
enable = true;
monthly = 6;
};
2021-10-14 13:01:23 +02:00
autoReplication = {
enable = true;
host = "nyanlout.re";
username = "zfspaulfixe";
identityFilePath = "/var/lib/zfs-replication/id_rsa";
localFilesystem = "fastaf/home";
remoteFilesystem = "loutrepool/zfs-replicate/paul-fixe";
};
2019-11-21 02:13:25 +01:00
};
2019-01-24 18:58:13 +01:00
hardware.bluetooth.enable = true;
2019-10-06 18:25:00 +02:00
# Logitech G920
2023-08-16 20:47:28 +02:00
hardware.usb-modeswitch.enable = true;
2019-10-06 18:25:00 +02:00
2018-10-31 00:42:58 +01:00
services.udev.packages = with pkgs; [
2018-12-12 23:42:02 +01:00
usb-modeswitch-data # Logitech G920
2018-10-31 00:42:58 +01:00
];
services.udev.extraRules = ''
2019-10-06 18:25:00 +02:00
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0664", GROUP="dialout"
'';
2019-10-04 22:01:49 +02:00
networking.hostName = "paul-fixe";
2019-10-15 21:38:23 +02:00
networking.hostId = "3a1f739e";
2018-10-31 00:42:58 +01:00
2021-10-14 13:01:23 +02:00
networking.hosts = {
"10.30.0.1" = ["emby.nyanlout.re" "nyanlout.re"];
};
2018-10-31 00:42:58 +01:00
environment.systemPackages = with pkgs; [
2022-05-18 19:43:52 +02:00
usb-modeswitch
2022-11-29 21:10:45 +01:00
esphome
2018-10-31 00:42:58 +01:00
];
programs.wireshark.enable = true;
programs.wireshark.package = pkgs.wireshark;
networking.firewall.enable = false;
2024-07-08 20:58:18 +02:00
services.displayManager.autoLogin.user = "paul";
2018-10-31 00:42:58 +01:00
users.users.paul = {
isNormalUser = true;
2020-10-06 00:20:54 +02:00
extraGroups = [ "wheel" "networkmanager" "wireshark" "input" "dialout" "libvirtd" "vboxusers" ];
2018-10-31 00:42:58 +01:00
uid = 1000;
2019-10-06 18:25:00 +02:00
openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDstFRwMoTEip5IBSYE4dUj3miO0LsKrnUKQJmp7d5QYo3VhXk43jU6VUU0tVAegkzWLlQ3ohoFns+8bZyf7hj7roftrDfoC9bbbx4ihhWrZTlF0gzoH4t52yetFO5eC/tV2sm/zFoa+3IWLokOEFmAoknAVag1MmVLXTQ6WPoTPD4UsX/D3lyE4dbSKxHpMOIjqIdqSEgO0BeTdnHe5afvGXXO1VYTvPsGDHT9w8EHwQV9JXIPn7KVOp3qin7OwvFFrrB3QbiEVTJvGiH2hrfxcARTN/+TxGtf+aOFeuQykURG9Wz/aBK60EWE0wGrzuIymxtNdOR1NhmnNrUZ976Tb9WdR7FC+yM6+/kdfICy+sGQmmn8TLsGvcJTT/pl4Pa9uRAKjRJuLIEgYY6W/ms9lCRyf484yRkDlq+V0BPuN9Jy6Eb7x+tmZNkpEtkqso7wfXD8sf5BIwv2K69SVMpfTswydHGmDwHZ0zaDKGlyCiyJ1QGqUhCTXqtYVq+kQ3AcjKcysMwVEmwx/ySu0XFuV8oUkl9XK/RUoc++sMEd0EbHcn8uwCmBARNX+GLQ03vxwyMW3HyneP8EAxoqtSepZXbTdVP/0i+l7EUUeA7zsaWfU2a82ktZWpVPFGfxkuo0l3zLF19EsXPKZNqlRfkOWjSgp+qWihAkQIQk3GoduQ== openpgp:0x75EE3375"
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3fEmkmrhccW8NegIk/Ubu6Yw80VCQ1ttG419e+1V1wkJPXFAqcIhffwrIlz81dJ47T+H+zeptpAX8U1Gbk1B5ZH4DW8OcqU6ymM+j6g/gICpvrjJUOpdgyA3GIOjuBJGijGQGggDw1k2SdopAVV1H38YUAJ33RGDvjLJO6VREYLDYLF4oaDp8ann7Wn8BpX2T7cRvhrzqcwbEGaw1f/xrLE5KklOb6pOHRWFJMxW83d8OKiLkQvM4vFGlvvG0/AKGZaZWHDXS7ldoyAv+vnN8DrIxmWEQjdNLfAwYDBHp6XqE0slde4dqBjVHji5+ajFr7eJnrzc4IXsHJ1jM9xGB paul@loutreos"
];
2018-10-31 00:42:58 +01:00
};
2019-10-06 18:25:00 +02:00
services.openssh.enable = true;
2023-08-16 20:47:28 +02:00
services.openssh.settings = {
PasswordAuthentication = false;
X11Forwarding = true;
};
2019-10-06 18:25:00 +02:00
2024-07-08 20:58:18 +02:00
services.xserver.deviceSection = ''
Option "metamodes" "DP-4: 3440x1440_144 +0+0 {AllowGSYNCCompatible=On}"
'';
2022-07-20 15:29:20 +02:00
services.printing.enable = true;
services.printing.drivers = [ pkgs.hplip ];
2024-07-08 14:09:46 +02:00
systemd.services = {
zfs-replication.serviceConfig.StateDirectory = "zfs-replication";
2020-10-06 00:22:19 +02:00
};
2019-11-21 02:12:58 +01:00
2019-10-15 21:38:23 +02:00
system.stateVersion = "20.03";
2018-10-31 00:42:58 +01:00
}