nixfleet/hosts/pc/configuration.nix
Andrea Ciceri 3411b09ab0
Things
- lockfile updated
- Working with Hydra
- Emacs packages
- Workaround for nix/git
2022-06-05 14:51:20 +02:00

89 lines
2.2 KiB
Nix

{ config, lib, pkgs, profiles, ... }:
{
imports = with profiles; [ mount-nas sshd dbus avahi printing xdg docker adb syncthing qmk-udev ];
system.stateVersion = "22.05";
boot = {
initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" "snd-aloop" "v4l2loopback" ];
extraModulePackages = with config.boot.kernelPackages; [
v4l2loopback
pkgs.v4l2loopback-dc
];
extraModprobeConfig = ''
options v42loopback exclusive_caps=1 max_buffers=2
'';
binfmt.emulatedSystems = [ "aarch64-linux" ];
loader.grub = pkgs.lib.mkForce {
enable = true;
version = 2;
device = "/dev/sda";
};
};
sound.enable = true;
hardware = {
opengl.enable = true;
pulseaudio = {
enable = true;
package = pkgs.pulseaudioFull;
};
};
fileSystems."/" =
{
device = "/dev/disk/by-label/nixos";
fsType = "ext4";
};
fileSystems."/home" =
{
device = "/dev/disk/by-label/home";
fsType = "ext4";
};
swapDevices =
[{ device = "/dev/disk/by-label/swap"; }];
nix = {
gc = {
automatic = lib.mkForce false; # Temporarily disabled, TODO: re-enable
options = "--delete-older-than 3d";
};
# package = pkgs.nixFromMaster;
package = pkgs.nix;
extraOptions = lib.mkForce ''
experimental-features = ca-derivations nix-command flakes
keep-outputs = true
keep-derivations = true
'';
};
systemd.services.nix-daemon.serviceConfig = {
LimitNOFILE = lib.mkForce "Infinity"; # 131072; # should help with fds errors due to experimental feature `ca-derivations`
};
networking.firewall = {
enable = true;
allowPing = true;
};
services.hydra = {
enable = true;
hydraURL = "http://localhost:3000"; # externally visible URL
notificationSender = "hydra@localhost"; # e-mail of hydra service
# a standalone hydra will require you to unset the buildMachinesFiles list to avoid using a nonexistant /etc/nix/machines
buildMachinesFiles = [ ];
# you will probably also want, otherwise *everything* will be built from scratch
useSubstitutes = true;
};
}