68 lines
1.5 KiB
Nix
68 lines
1.5 KiB
Nix
|
{ inputs, pkgs, ... }: {
|
||
|
boot.loader = {
|
||
|
systemd-boot.enable = true;
|
||
|
efi.canTouchEfiVariables = true;
|
||
|
};
|
||
|
|
||
|
nixpkgs.config.allowUnfree = true;
|
||
|
|
||
|
nix = {
|
||
|
# hardlink duplicate files in the nix store
|
||
|
settings.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
|
||
|
'';
|
||
|
|
||
|
# 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;
|
||
|
};
|
||
|
|
||
|
# 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"
|
||
|
];
|
||
|
};
|
||
|
|
||
|
# add entries for `nixPath` above.
|
||
|
environment.etc = {
|
||
|
"nix/inputs/nixpkgs".source = inputs.nixpkgs.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;
|
||
|
};
|
||
|
|
||
|
networking = {
|
||
|
networkmanager = {
|
||
|
enable = true;
|
||
|
dns = "systemd-resolved";
|
||
|
};
|
||
|
|
||
|
nameservers = [ "9.9.9.9" ];
|
||
|
};
|
||
|
|
||
|
services.resolved = {
|
||
|
enable = true;
|
||
|
dnssec = "true";
|
||
|
fallbackDns = [ "9.9.9.9" ];
|
||
|
extraConfig = ''
|
||
|
DNSOverTLS=yes
|
||
|
'';
|
||
|
};
|
||
|
}
|