diff options
| author | Akshay Nair <phenax5@gmail.com> | 2024-01-12 19:15:21 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2024-01-12 19:15:21 +0530 |
| commit | f8c843475febec17faf275e49726ca470b82acab (patch) | |
| tree | a95890d37a40dc9297ace1e54025e499973e8a76 /hardware | |
| parent | 9e4ff5220a4816c29c76ef130e6dc03268334aa9 (diff) | |
| download | nixos-config-f8c843475febec17faf275e49726ca470b82acab.tar.gz nixos-config-f8c843475febec17faf275e49726ca470b82acab.zip | |
config changes
Diffstat (limited to 'hardware')
| -rw-r--r-- | hardware/backup-config.nix | 115 | ||||
| -rw-r--r-- | hardware/backup-hw-config.nix | 42 | ||||
| -rw-r--r-- | hardware/ideapad-v14/hardware-configuration.nix | 88 | ||||
| -rw-r--r-- | hardware/thinkpad-e14/hardware-configuration.nix | 114 |
4 files changed, 359 insertions, 0 deletions
diff --git a/hardware/backup-config.nix b/hardware/backup-config.nix new file mode 100644 index 0000000..2c23eeb --- /dev/null +++ b/hardware/backup-config.nix @@ -0,0 +1,115 @@ +# 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`). + +{ config, lib, pkgs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # networking.hostName = "nixos"; # Define your hostname. + # Pick only one of the below networking options. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + # Set your time zone. + time.timeZone = "Asia/Kolkata"; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Select internationalisation properties. + # i18n.defaultLocale = "en_US.UTF-8"; + # console = { + # font = "Lat2-Terminus16"; + # keyMap = "us"; + # useXkbConfig = true; # use xkb.options in tty. + # }; + + # Enable the X11 windowing system. + # services.xserver.enable = true; + + + + + # Configure keymap in X11 + # services.xserver.xkb.layout = "us"; + # services.xserver.xkb.options = "eurosign:e,caps:escape"; + + # Enable CUPS to print documents. + # services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + # hardware.pulseaudio.enable = true; + + # Enable touchpad support (enabled default in most desktopManager). + # services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.imsohexy = { + isNormalUser = true; + extraGroups = [ "wheel" "networkmanager" ]; # Enable ‘sudo’ for the user. + }; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + vim + wget + curl + git + ]; + + # 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; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + + # This option defines the first version of NixOS you have installed on this particular machine, + # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. + # + # Most users should NEVER change this value after the initial install, for any reason, + # even if you've upgraded your system to a new NixOS release. + # + # This value does NOT affect the Nixpkgs version your packages and OS are pulled from, + # so changing it will NOT upgrade your system. + # + # This value being lower than the current NixOS release does NOT mean your system is + # out of date, out of support, or vulnerable. + # + # Do NOT change this value unless you have manually inspected all the changes it would make to your configuration, + # and migrated your data accordingly. + # + # For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion . + system.stateVersion = "23.11"; # Did you read the comment? + +} + diff --git a/hardware/backup-hw-config.nix b/hardware/backup-hw-config.nix new file mode 100644 index 0000000..fb90032 --- /dev/null +++ b/hardware/backup-hw-config.nix @@ -0,0 +1,42 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/915343d9-6024-43ea-8d11-fe8ce4069a19"; + fsType = "ext4"; + }; + + boot.initrd.luks.devices."crypted".device = "/dev/disk/by-uuid/17ac9757-d710-4456-9a94-7b6086a35638"; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/2E46-5427"; + fsType = "vfat"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/67196de6-5520-41d7-8a81-2173d28688c1"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hardware/ideapad-v14/hardware-configuration.nix b/hardware/ideapad-v14/hardware-configuration.nix new file mode 100644 index 0000000..b4e9a58 --- /dev/null +++ b/hardware/ideapad-v14/hardware-configuration.nix @@ -0,0 +1,88 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + # 2-Sep-2023, Bug: https://nixpk.gs/pr-tracker.html?pr=252605 + boot.kernelPackages = pkgs.linuxPackages_5_10; + boot.initrd = { + availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" ]; + kernelModules = [ ]; + }; + boot.kernelModules = [ + "kvm-intel" + "rtw88_8822ce" + "sd_mod" + "snd-seq" + "snd-rawmidi" + "uinput" + "v4l2loopback" + ]; + boot.kernelParams = [ + "i8042.nopnp=1" + "pci=nocrs" + "i915.enable_dpcd_backlight=1" + "acpi_backlight=vendor" + ]; + boot.extraModprobeConfig = '' + options snd slots=snd-hda-intel + options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" + ''; + boot.supportedFilesystems = [ "ntfs" ]; + boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + + services.udev = { + packages = [ + pkgs.android-udev-rules + pkgs.platformio-core.udev + ]; + + extraRules = '' + # DualShock 4 over bluetooth hidraw + KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0666" + ''; + }; + + hardware = { + enableAllFirmware = true; + cpu.intel.updateMicrocode = true; + firmware = with pkgs; [ wireless-regdb rtw88-firmware ]; # rtlwifi_new-firmware + }; + # hardware.opengl = { + # enable = true; + # driSupport = true; + # }; + + # Bootloader + boot.loader = { + systemd-boot = { + enable = true; + configurationLimit = 30; + }; + timeout = 1; + efi.canTouchEfiVariables = true; + }; + + # File system + boot.initrd.luks.devices."nixos".device = "/dev/disk/by-uuid/1b40e7b9-b261-4555-8e84-348668345687"; + fileSystems = { + "/" = { + device = "/dev/mapper/nixos"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-label/boot"; + fsType = "vfat"; + }; + }; + swapDevices = [{ device = "/dev/disk/by-label/swap"; }]; + + powerManagement = { + enable = true; + cpuFreqGovernor = lib.mkDefault "powersave"; + }; +} diff --git a/hardware/thinkpad-e14/hardware-configuration.nix b/hardware/thinkpad-e14/hardware-configuration.nix new file mode 100644 index 0000000..ae0d6fe --- /dev/null +++ b/hardware/thinkpad-e14/hardware-configuration.nix @@ -0,0 +1,114 @@ +{ config, lib, pkgs, modulesPath, ... }: +{ + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + services.fwupd.enable = true; + + # 2-Sep-2023, Bug: https://nixpk.gs/pr-tracker.html?pr=252605 + boot.kernelPackages = pkgs.linuxPackages_6_6; + boot.initrd = { + availableKernelModules = [ + "xhci_pci" + "ahci" + "nvme" + "usb_storage" + "thunderbolt" + "sd_mod" + ]; + kernelModules = [ ]; + }; + boot.kernelModules = [ + "kvm-intel" + "rtw88_8822ce" + "sd_mod" + "snd-seq" + "snd-rawmidi" + "uinput" + "v4l2loopback" + "acpi_call" + ]; + boot.extraModulePackages = with config.boot.kernelPackages; [ + acpi_call + ]; + boot.kernelParams = [ + "i8042.nopnp=1" + "pci=nocrs" + "acpi_backlight=native" + "i915.enable_dpcd_backlight=1" + "i915.force_probe=46a8" + ]; + boot.extraModprobeConfig = '' + options snd slots=snd-hda-intel + options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" + ''; + boot.supportedFilesystems = [ "ntfs" ]; + # boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; + + services.throttled.enable = true; + + services.udev = { + packages = [ + pkgs.android-udev-rules + pkgs.platformio-core.udev + ]; + }; + + hardware = { + enableAllFirmware = true; + cpu.intel.updateMicrocode = true; + # firmware = with pkgs; [ wireless-regdb rtw88-firmware ]; + }; + + nixpkgs.config.packageOverrides = pkgs: { + vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; }; + }; + hardware.opengl = { + enable = true; + driSupport = true; + driSupport32Bit = true; + extraPackages = with pkgs; [ + intel-media-driver + vaapiIntel + vaapiVdpau + libvdpau-va-gl + # intel-ocl + # intel-media-driver + # intel-gmmlib + vulkan-tools + mesa.drivers + ]; + }; + + # Bootloader + boot.loader = { + systemd-boot = { + enable = true; + configurationLimit = 30; + }; + timeout = 1; + efi.canTouchEfiVariables = true; + }; + + # File system + boot.initrd.luks.devices."crypted".device = "/dev/disk/by-uuid/17ac9757-d710-4456-9a94-7b6086a35638"; + fileSystems = { + "/" = { + device = "/dev/mapper/crypted"; + fsType = "ext4"; + }; + "/boot" = { + device = "/dev/disk/by-label/boot"; + fsType = "vfat"; + }; + }; + swapDevices = [{ device = "/dev/disk/by-label/swap"; }]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + networking.useDHCP = lib.mkDefault true; + powerManagement = { + enable = true; + cpuFreqGovernor = lib.mkDefault "powersave"; + }; +} |
