Move hosts to a dedicated folder

This commit is contained in:
Paul-Henri Froidmont 2023-03-20 22:35:11 +01:00
parent cf27e1ad6a
commit b08fc5a41e
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
14 changed files with 310 additions and 207 deletions

View file

@ -0,0 +1,32 @@
{ pkgs, config, lib, ... }:
{
imports = [
./hardware-configuration.nix
../../profiles/base.nix
../../users
];
home-manager.users.froidmpa = { pkgs, config, ... }: {
services.network-manager-applet.enable = true;
services.blueman-applet.enable = true;
services.grobi = {
enable = true;
executeAfter = [ "${pkgs.systemd}/bin/systemctl --user restart stalonetray" "${pkgs.feh}/bin/feh --bg-fill ~/.wallpaper.png" ];
rules = [
{
name = "External HDMI";
outputs_connected = [ "HDMI-1" ];
configure_single = "HDMI-1";
primary = true;
atomic = true;
}
{
name = "Primary";
configure_single = "eDP";
}
];
};
};
system.stateVersion = "21.05";
}

View file

@ -0,0 +1,68 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd.availableKernelModules = [ "nvme" "xhci_pci" "sdhci_pci" ];
initrd.kernelModules = [ "dm-snapshot" ];
kernelModules = [ "kvm-amd" ];
# Required, otherwise the kernel freezes on boot
kernelParams = [ "amd_iommu=on" "iommu=pt" "pci=noats" ];
extraModulePackages = [ ];
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
initrd.luks.devices."crypted".device = "/dev/disk/by-uuid/1e900b2e-daea-4558-b18f-3d3a5843de61";
};
hardware.cpu.amd.updateMicrocode = true;
fileSystems."/" =
{
device = "/dev/disk/by-uuid/a8abad9b-5615-4887-8431-3d80b78d073e";
fsType = "ext4";
};
fileSystems."/boot" =
{
device = "/dev/disk/by-uuid/077C-758A";
fsType = "vfat";
};
swapDevices =
[{ device = "/dev/disk/by-uuid/bb8fa9ef-9b8f-413d-913a-6c891649a954"; }];
zramSwap.enable = true;
hardware = {
bluetooth = {
enable = true;
# Enable A2DP Sink
settings = {
General = {
Enable = "Source,Sink,Media,Socket";
};
};
};
pulseaudio = {
enable = true;
# Use full build to have Bluetooth support
package = pkgs.pulseaudioFull;
};
};
networking.networkmanager.enable = true;
# Enable touchpad support.
services.xserver.libinput.enable = true;
services.blueman.enable = true;
services.logind.lidSwitch = "ignore";
}

View file

@ -0,0 +1,13 @@
{ pkgs, config, lib, ... }:
{
imports = [
./hardware-configuration.nix
../../profiles/base.nix
../../users
];
# Allow to externally control MPD
networking.firewall.allowedTCPPorts = [ 6600 ];
system.stateVersion = "19.09";
}

View file

@ -0,0 +1,61 @@
{ config, lib, pkgs, modulesPath, ... }:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot = {
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "sd_mod" ];
initrd.kernelModules = [ "amdgpu" ];
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ];
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
};
fileSystems."/" =
{
device = "/dev/disk/by-uuid/f1e21558-88e6-413e-b56a-04e0b25e9ddd";
fsType = "ext4";
};
fileSystems."/boot" =
{
device = "/dev/disk/by-uuid/CCD1-0415";
fsType = "vfat";
};
fileSystems."/home/froidmpa/Nextcloud" = {
device = "/dev/disk/by-uuid/a4ba8b21-ea33-4487-b6f6-9bb7470a0acb";
fsType = "ext4";
};
swapDevices =
[{ device = "/dev/disk/by-uuid/f714775c-b5af-4c0c-8330-999b43db4794"; }];
zramSwap.enable = true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
nix.settings.max-jobs = lib.mkDefault 16;
networking.useNetworkd = true;
networking.interfaces.enp31s0.useDHCP = true;
services.xserver.videoDrivers = [ "amdgpu" ];
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [
rocm-opencl-icd
rocm-opencl-runtime
];
};
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.video.hidpi.enable = lib.mkDefault true;
services.resolved.dnssec = "false";
}

71
hosts/rpi3/default.nix Normal file
View file

@ -0,0 +1,71 @@
{ pkgs, config, lib, ... }:
{
boot.loader.grub.enable = false;
boot.loader.generic-extlinux-compatible.enable = true;
boot.kernelParams = [ "cma=256M" ];
fileSystems."/" =
{
device = "/dev/disk/by-label/NIXOS_SD";
fsType = "ext4";
};
swapDevices = [{ device = "/swapfile"; size = 1024; }];
services.openssh.enable = true;
users.users.root.openssh.authorizedKeys.keyFiles = [
../../ssh_keys/phfroidmont-desktop.pub
../../ssh_keys/phfroidmont-laptop.pub
];
services.adguardhome = {
enable = true;
host = "0.0.0.0";
port = 80;
openFirewall = true;
mutableSettings = false;
settings = {
auth_attempts = 5;
block_auth_min = 15;
dns = {
bind_host = "0.0.0.0";
port = 53;
statistics_interval = 90;
querylog_enabled = true;
querylog_interval = "2160h";
upstream_dns = [
"tls://doh.mullvad.net"
"[/lan/]192.168.1.1"
"[//]192.168.1.1"
];
local_ptr_upstreams = [ "192.168.1.1" ];
use_private_ptr_resolvers = true;
resolve_clients = true;
bootstrap_dns = [ "9.9.9.10" ];
rewrites = [
{
domain = "rpi3";
answer = "192.168.1.2";
}
{
domain = "rpi3.lan";
answer = "192.168.1.2";
}
];
};
};
};
networking.firewall.allowedTCPPorts = [ 53 ];
networking.firewall.allowedUDPPorts = [ 53 ];
environment.systemPackages = with pkgs; [
htop
];
system.stateVersion = "22.05";
}