127 lines
3 KiB
Nix
127 lines
3 KiB
Nix
{
|
||
inputs,
|
||
outputs,
|
||
config,
|
||
lib,
|
||
pkgs,
|
||
overlays,
|
||
modulesPath,
|
||
...
|
||
}: {
|
||
|
||
imports = [
|
||
./configuration.nix
|
||
];
|
||
|
||
boot.kernelParams = [
|
||
"mitigations=off"
|
||
"quiet"
|
||
"loglevel=3"
|
||
"systemd.show_status=auto"
|
||
"rd.udev.log_level=3"
|
||
"vt.global_cursor_default=0"
|
||
];
|
||
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
||
boot.initrd.kernelModules = ["dm-snapshot"];
|
||
boot.kernelModules = ["iwlwifi" "kvm-intel"];
|
||
boot.extraModulePackages = [pkgs.linuxPackages.system76-scheduler];
|
||
boot.kernelPackages = pkgs.linuxPackages;
|
||
|
||
fileSystems."/boot" = {
|
||
device = "/dev/disk/by-uuid/1C5C-8FF4";
|
||
fsType = "vfat";
|
||
};
|
||
|
||
fileSystems."/" = {
|
||
device = "/dev/mapper/nix-os";
|
||
fsType = "ext4";
|
||
};
|
||
|
||
fileSystems."/home" = {
|
||
device = "/dev/mapper/nix-home";
|
||
fsType = "ext4";
|
||
};
|
||
|
||
swapDevices = [];
|
||
|
||
boot.loader.systemd-boot.configurationLimit = 2;
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
# boot.plymouth.enable = true;
|
||
|
||
networking.useDHCP = lib.mkDefault true;
|
||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||
services.power-profiles-daemon.enable = false;
|
||
services.tlp.enable = true;
|
||
|
||
environment.sessionVariables = rec {
|
||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=5";
|
||
EDITOR = "hx";
|
||
};
|
||
|
||
virtualisation = {
|
||
podman = {
|
||
enable = true;
|
||
dockerCompat = true;
|
||
defaultNetwork.settings.dns_enabled = true;
|
||
};
|
||
};
|
||
|
||
|
||
services.xserver.videoDrivers = ["i915"];
|
||
programs.xwayland.enable = true;
|
||
|
||
# systemd.services."com.system76.Scheduler" = {
|
||
# wantedBy = ["multi-user.target"];
|
||
# description = "the system76 process scheduler";
|
||
# serviceConfig = {
|
||
# Type = "dbus";
|
||
# ExecStart = ''${pkgs.system76-scheduler}/bin/system76-scheduler daemon'';
|
||
# ExecReload = ''${pkgs.system76-scheduler}/bin/system76-scheduler daemon reload'';
|
||
# BusName = "com.system76.Scheduler";
|
||
# };
|
||
# };
|
||
|
||
services.dbus.packages = [
|
||
pkgs.linuxPackages.system76-scheduler
|
||
];
|
||
|
||
systemd.packages = [
|
||
pkgs.linuxPackages.system76-scheduler
|
||
];
|
||
|
||
environment.etc = {
|
||
"system76-scheduler".source = "${pkgs.linuxPackages.system76-scheduler}/etc/system76-scheduler";
|
||
};
|
||
|
||
xdg.portal = {
|
||
enable = true;
|
||
wlr = {
|
||
enable = true;
|
||
# settings = {
|
||
# screencast = {
|
||
# output_name = "DP-1";
|
||
# max_fps = 60;
|
||
# chooser_type = "simple";
|
||
# chooser_nvidia = "${pkgs.slurp}/bin/slurp -f %o -or";
|
||
# };
|
||
# };
|
||
};
|
||
extraPortals = with pkgs; [
|
||
xdg-desktop-portal-gtk
|
||
];
|
||
};
|
||
|
||
environment.systemPackages = with pkgs; [
|
||
openrgb
|
||
wl-clipboard
|
||
wl-clipboard-x11
|
||
xclip
|
||
];
|
||
|
||
networking.hostName = "adrift"; # Define your hostname.
|
||
users.users.plank = {
|
||
isNormalUser = true;
|
||
extraGroups = ["wheel"]; # Enable ‘sudo’ for the user.
|
||
};
|
||
}
|