grimm-nixos-laptop/configuration.nix

101 lines
2.7 KiB
Nix
Raw Normal View History

2023-11-28 23:24:43 +01:00
# 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, ... }:
2023-11-28 23:24:43 +01:00
{
imports =
[ # Include the results of the hardware scan.
2024-03-24 16:59:47 +01:00
./modules/fonts.nix
./modules/tabletdriver.nix
2023-11-28 23:24:43 +01:00
];
# Bootloader.
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
2024-03-24 10:16:04 +01:00
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;
};
2023-11-28 23:24:43 +01:00
# Enable flatpaks
2023-11-28 23:24:43 +01:00
services.flatpak.enable = true;
2024-03-02 23:15:51 +01:00
chaotic.mesa-git.enable = true;
2024-03-24 10:16:04 +01:00
services.ddccontrol.enable = true;
powerManagement.scsiLinkPolicy = "min_power";
hardware.i2c.enable = true;
2023-11-28 23:24:43 +01:00
2024-03-16 18:28:01 +01:00
grimmShared = {
enable = true;
locale = true;
printing = true;
portals = true;
network = true;
tooling = {
enable = true;
};
sound = true;
graphical = true;
2024-03-17 11:28:47 +01:00
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";
};
};
2024-03-18 00:40:44 +01:00
sway = {
enable = true;
populateDefaultConfig = true;
};
2024-03-26 10:36:33 +01:00
cloudSync = {
enable = true;
username = "Grimmauld";
server = "cloud.grimmauld.de";
passwordFile = config.age.secrets.nextcloud_pass.path;
paths = {
grimmauld = [
{ remote = "3d"; }
{ remote = "Pictures"; }
{ remote = "Documents"; }
{ remote = "Videos"; }
];
};
};
};
age.secrets.nextcloud_pass = {
file = ./secrets/nextcloud_pass.age;
mode = "777";
2024-03-18 00:40:44 +01:00
};
qt = {
enable = true;
style = "breeze";
platformTheme = "kde";
2024-03-16 18:28:01 +01:00
};
2023-11-28 23:24:43 +01:00
environment.sessionVariables = {
NIXPKGS_ALLOW_UNFREE="1";
MOZ_ENABLE_WAYLAND="1";
# QT_QPA_PLATFORM="wayland-egl";
OCI_CLI_RC_FILE="/home/grimmauld/.oci/config";
2023-11-28 23:24:43 +01:00
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
programs.dconf.enable = true;
}