Files
nixos/devices/tuxedo/configuration.nix
2025-10-10 16:24:42 +01:00

102 lines
2.9 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
{ inputs, pkgs, ... }:
{
imports =
[
../../configuration
# Include the results of the hardware scan.
./hardware-configuration.nix
inputs.disko.nixosModules.default
./disk-config.nix
inputs.home-manager.nixosModules.default
../../configuration/modules/laptop.nix
../../configuration/modules/virtualisation.nix
../../configuration/modules/gaming.nix
../../configuration/modules/kde.nix
];
networking.hostName = "tuxedo"; # Define your hostname.
# fairly sure this isnt needed anymore
# boot.extraModprobeConfig = ''
# options iwlwifi 11n_disable=8 power_save=0
# options iwlmvm power_scheme=1
# '';
# TODO remove ntsync if this becomes stable
# options iwlmvm power_scheme=1 https://wireless.docs.kernel.org/en/latest/en/users/drivers/iwlwifi.html#features
# options iwlwifi 11n_disable=4 https://wiki.gentoo.org/wiki/Iwlwifi#Network_crashes_under_heavy_load
boot.extraModprobeConfig = ''
ntsync
options iwlmvm power_scheme=1
options iwlwifi 11n_disable=4
'';
services.hardware.openrgb.enable = true;
fileSystems."/mnt/HDD2" = {
fsType = "ext4";
label = "HDD2";
options = [
# If you don't have this options attribute, it'll default to "defaults"
# boot options for fstab. Search up fstab mount options you can use
"users" # Allows any user to mount and unmount
"nofail" # Prevent system from failing if this drive doesn't mount
"exec" # Permit execution of binaries and other executable files
];
};
# hardware.tuxedo-drivers.enable = true;
programs.wireshark = {
enable = true;
package = pkgs.wireshark;
dumpcap.enable = true;
};
programs.gpu-screen-recorder.enable = true; # For promptless recording on both CLI and GUI
# programs.obs-studio = {
# enable = true;
# enableVirtualCamera = true;
# };
environment.systemPackages = with pkgs;[
distrobox
gpu-screen-recorder-gtk
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".lsfg-vk
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".lsfg-vk-ui
];
# Define a user account. Don't forget to set a password with passwd.
users.users.worble = {
initialPassword = "password";
isNormalUser = true;
extraGroups = [
"wheel"
"gamemode"
"docker"
"podman"
"cdrom"
"wireshark"
]; # Enable sudo for the user.
linger = true;
};
home-manager = {
useGlobalPkgs = true;
extraSpecialArgs = { inherit inputs; };
sharedModules = [
inputs.nix-index-database.homeModules.nix-index
];
users = {
"worble" = import ./home.nix;
};
};
}