nixnew/modules/core/default.nix

71 lines
1.7 KiB
Nix
Raw Normal View History

2023-06-20 04:08:11 +00:00
{ inputs, pkgs, ... }: {
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
nixpkgs.config.allowUnfree = true;
2024-01-02 05:15:39 +00:00
nixpkgs.config.permittedInsecurePackages = [
"electron-24.8.6"
"electron-25.9.0"
];
2023-06-29 14:00:16 +00:00
documentation = {
enable = true;
doc.enable = true;
2024-02-17 06:00:01 +00:00
info.enable = true;
2023-06-29 14:00:16 +00:00
man.enable = true;
dev.enable = true;
};
2024-02-17 06:00:01 +00:00
environment.systemPackages = with pkgs; [
man-pages
man-pages-posix
];
2023-06-20 04:08:11 +00:00
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;
2023-09-07 10:24:09 +00:00
stable.flake = inputs.stable;
2023-06-20 04:08:11 +00:00
};
# 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"
2023-09-07 10:24:09 +00:00
"stable=/etc/nix/inputs/stable"
2023-06-20 04:08:11 +00:00
];
};
# add entries for `nixPath` above.
environment.etc = {
"nix/inputs/nixpkgs".source = inputs.nixpkgs.outPath;
2023-09-07 10:24:09 +00:00
"nix/inputs/stable".source = inputs.stable.outPath;
2023-06-20 04:08:11 +00:00
};
# 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;
};
}