95 lines
2.3 KiB
Nix
95 lines
2.3 KiB
Nix
{ inputs, lib, pkgs, ... }: {
|
|
boot.loader = {
|
|
systemd-boot.enable = true;
|
|
efi.canTouchEfiVariables = true;
|
|
};
|
|
|
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
"osu-lazer-bin"
|
|
"unrar"
|
|
"steam"
|
|
"steam-original"
|
|
"corefonts"
|
|
"vista-fonts"
|
|
"steam-unwrapped"
|
|
];
|
|
|
|
nixpkgs.config.permittedInsecurePackages = [
|
|
"jitsi-meet-1.0.8043"
|
|
"electron-28.3.3"
|
|
"electron-27.3.11"
|
|
];
|
|
|
|
documentation = {
|
|
enable = true;
|
|
doc.enable = true;
|
|
info.enable = true;
|
|
man.enable = true;
|
|
dev.enable = true;
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
man-pages
|
|
man-pages-posix
|
|
];
|
|
|
|
nix = {
|
|
settings = {
|
|
# hardlink duplicate files in the nix store
|
|
auto-optimise-store = true;
|
|
};
|
|
|
|
extraOptions = ''
|
|
experimental-features = nix-command flakes
|
|
|
|
# keep intermediary deps alive (no redownloading to rebuild after gc)
|
|
keep-outputs = true
|
|
keep-derivations = true
|
|
|
|
builders-use-substitutes = true
|
|
'';
|
|
|
|
# flake registries are used by the new nix commands.
|
|
# this binds the nixpkgs registry to the one in `flake.nix`.
|
|
registry = {
|
|
nixpkgs.flake = inputs.nixpkgs;
|
|
stable.flake = inputs.stable;
|
|
};
|
|
|
|
# the nix path is used to discover channels for the old nix commands.
|
|
# this binds the nix path to the channels following `flake.nix` declared below.
|
|
nixPath = [
|
|
"nixpkgs=/etc/nix/inputs/nixpkgs"
|
|
"stable=/etc/nix/inputs/stable"
|
|
];
|
|
|
|
distributedBuilds = true;
|
|
buildMachines = [ {
|
|
hostName = "192.168.2.1";
|
|
system = "x86_64-linux";
|
|
protocol = "ssh-ng";
|
|
supportedFeatures = [ "big-parallel" "kvm" "nixos-test" "benchmark" ];
|
|
speedFactor = 100;
|
|
maxJobs = 16;
|
|
sshUser = "nix-remote-build";
|
|
sshKey = "/root/.ssh/id_build_server";
|
|
} ];
|
|
};
|
|
|
|
# add entries for `nixPath` above.
|
|
environment.etc = {
|
|
"nix/inputs/nixpkgs".source = inputs.nixpkgs.outPath;
|
|
"nix/inputs/stable".source = inputs.stable.outPath;
|
|
};
|
|
|
|
# allow processes to request scheduling priority
|
|
security.rtkit.enable = true;
|
|
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
jack.enable = true;
|
|
};
|
|
}
|