# # Specific system configuration settings for desktop # # flake.nix # ├─ ./hosts # │ └─ ./desktop # │ ├─ default.nix * # │ └─ hardware-configuration.nix # └─ ./modules # ├─ ./desktop # │ ├─ ./hyprland # │ │ └─ default.nix # │ └─ ./virtualisation # │ └─ default.nix # ├─ ./programs # │ └─ games.nix # └─ ./hardware # └─ default.nix # { pkgs, lib, user, ... }: { imports = # For now, if applying to other system, swap files [(import ./hardware-configuration.nix)] ++ # Current system hardware config @ /etc/nixos/hardware-configuration.nix [(import ../../modules/programs/games.nix)] ++ # Gaming [(import ../../modules/programs/flatpak.nix)] ++ # Gaming [(import ../../modules/desktop/hyprland/default.nix)] ++ # Window Manager [(import ../../modules/hardware/dslr.nix)] ++ # Temp Fix DSLR Webcam (import ../../modules/desktop/virtualisation) ++ # Virtual Machines & VNC (import ../../modules/hardware); # Hardware devices boot = { # Boot options kernelPackages = pkgs.linuxPackages_latest; initrd.kernelModules = [ "amdgpu" ]; # Video drivers loader = { # For legacy boot: systemd-boot = { enable = true; configurationLimit = 5; # Limit the amount of configurations }; efi.canTouchEfiVariables = true; timeout = 1; # Grub auto select time }; }; hardware = { sane = { # Used for scanning with Xsane enable = true; extraBackends = [ pkgs.sane-airscan ]; }; opengl = { enable = true; extraPackages = with pkgs; [ #intel-media-driver # iGPU #vaapiIntel # rocm-opencl-icd # AMD # rocm-opencl-runtime amdvlk ]; extraPackages32 = with pkgs; [ driversi686Linux.amdvlk ]; driSupport = true; driSupport32Bit = true; }; }; environment = { # Packages installed system wide systemPackages = with pkgs; [ # This is because some options need to be configured. discord #plex simple-scan x11vnc wacomtablet clinfo ]; #variables = { # LIBVA_DRIVER_NAME = "i965"; #}; }; services = { blueman.enable = true; # Bluetooth samba = { # File Sharing over local network enable = true; # Don't forget to set a password: $ smbpasswd -a shares = { share = { "path" = "/home/${user}"; "guest ok" = "yes"; "read only" = "no"; }; }; openFirewall = true; }; }; nixpkgs.overlays = [ # This overlay will pull the latest version of Discord (self: super: { discord = super.discord.overrideAttrs ( _: { src = builtins.fetchTarball { url = "https://discord.com/api/download?platform=linux&format=tar.gz"; sha256 = "1z980p3zmwmy29cdz2v8c36ywrybr7saw8n0w7wlb74m63zb9gpi"; };} ); }) ]; }