114 lines
3.3 KiB
Nix
114 lines
3.3 KiB
Nix
# Edit this configuration file to define what should be installed on
|
||
# your system. Help is available in the configuration.nix(5) man page
|
||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||
|
||
{ config, fetchpatch, pkgs, ... }:
|
||
{
|
||
imports =
|
||
[ # Include the results of the hardware scan.
|
||
./hardware-configuration.nix
|
||
];
|
||
|
||
nix.settings.system-features = [
|
||
"gccarch-icelake-client"
|
||
"kvm"
|
||
"big-parallel"
|
||
"benchmark"
|
||
"nixos-test"
|
||
];
|
||
|
||
# Bootloader.
|
||
boot = {
|
||
loader.systemd-boot.enable = true;
|
||
loader.efi.canTouchEfiVariables = true;
|
||
kernelParams = [ "quiet" "intel_iommu=on" "iommu=force" "pcie_acs_override=downstream" "pcie_aspm=off" ]; # "vfio-pci.ids=10de:1aeb,10de:2191,10de:1aed,10de:1aec" ];
|
||
kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_drm" "kvm-intel" "vfio_virqfd" "vfio_pci" "vfio_iommu_type1" "vfio" "i2c-dev" ];
|
||
kernelPackages = pkgs.linuxPackages_zen;
|
||
};
|
||
|
||
# Enable flatpaks
|
||
|
||
services.flatpak.enable = true;
|
||
chaotic.mesa-git.enable = true;
|
||
services.ddccontrol.enable = true;
|
||
powerManagement.scsiLinkPolicy = "min_power";
|
||
hardware.i2c.enable = true;
|
||
|
||
grimmShared = {
|
||
enable = true;
|
||
locale = true;
|
||
printing = true;
|
||
portals = true;
|
||
network = true;
|
||
tooling = {
|
||
enable = true;
|
||
};
|
||
sound = true;
|
||
graphical = true;
|
||
gaming = true;
|
||
firefox = {
|
||
enable = true;
|
||
plugins = {
|
||
"uBlock0@raymondhill.net" = "ublock-origin";
|
||
"gdpr@cavi.au.dk" = "consent-o-matic";
|
||
"{41f9e51d-35e4-4b29-af66-422ff81c8b41}" = "disable-javascript";
|
||
"{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}" = "styl-us";
|
||
"wappalyzer@crunchlabz.com" = "wappalyzer";
|
||
"{b9db16a4-6edc-47ec-a1f4-b86292ed211d}" = "video-downloadhelper";
|
||
"{1526fba1-ac33-4dfc-99d8-163e6129f7b9}" = "reveye-ris";
|
||
};
|
||
};
|
||
sway = {
|
||
enable = true;
|
||
populateDefaultConfig = true;
|
||
};
|
||
};
|
||
|
||
qt = {
|
||
enable = true;
|
||
style = "breeze";
|
||
platformTheme = "kde";
|
||
};
|
||
|
||
age.identityPaths = [ "/home/grimmauld/.ssh/id_rsa" ];
|
||
|
||
networking.hostName = "grimmauld-nixos";
|
||
|
||
environment.sessionVariables = {
|
||
NIXPKGS_ALLOW_UNFREE="1";
|
||
OMP_NUM_THREADS = "12";
|
||
MOZ_ENABLE_WAYLAND="1";
|
||
# QT_QPA_PLATFORM="wayland-egl";
|
||
OCI_CLI_RC_FILE="/home/grimmauld/.oci/config";
|
||
};
|
||
|
||
# Allow unfree packages
|
||
nixpkgs.config.allowUnfree = true;
|
||
|
||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||
|
||
# Some programs need SUID wrappers, can be configured further or are
|
||
# started in user sessions.
|
||
# programs.mtr.enable = true;
|
||
# programs.gnupg.agent = {
|
||
# enable = true;
|
||
# enableSSHSupport = true;
|
||
# };
|
||
|
||
# List services that you want to enable:
|
||
|
||
# Enable the OpenSSH daemon.
|
||
# services.openssh.enable = true;
|
||
|
||
# This value determines the NixOS release from which the default
|
||
# settings for stateful data, like file locations and database versions
|
||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||
# this value at the release version of the first install of this system.
|
||
# Before changing this value read the documentation for this option
|
||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||
system.stateVersion = "23.05"; # "23.05"; # Did you read the comment?
|
||
|
||
programs.dconf.enable = true;
|
||
|
||
}
|