# 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`). { pkgs, namespace, ... }: let # Displays display = { input = "eDP-1"; resolution = "3456x2234"; refreshRate = "60.00000"; }; in { imports = [ ./boot.nix ./hardware-configuration.nix ./networking.nix ./services.nix ]; hardware.asahi = { enable = true; useExperimentalGPUDriver = true; peripheralFirmwareDirectory = ./firmware; setupAsahiSound = true; }; ${namespace} = { desktop = { hyprland = { enable = true; primaryDisplay = "eDP-1"; display1 = { input = "eDP-1"; resolution = "3456x2234"; refreshRate = "60.00000"; }; wallpaper = [ "${display.input}, /run/wallpaper.jpg" ]; monitor = [ "${display.input},${display.resolution}@${display.refreshRate},0x0,1.25,bitdepth,10,cm,hdr,sdrbrightness,1.2,sdrsaturation,0.98" ]; workspace = [ "name:firefox, monitor:${display.input}, default:false, special, class:(.*firefox.*)" "name:discord, monitor:${display.input}, default:true, special, title:(.*vesktop.*), title:(.*Apple Music.*)" "name:steam, monitor:${display.input}, default:false, special, class:(.*[Ss]team.*)" ]; windowRule = [ "size 2160 3356, tag:horizonrdp" ]; }; }; network = { hostName = "macbook-pro-nixos"; }; }; nixpkgs.config.allowUnsupportedSystem = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.matt = { isNormalUser = true; extraGroups = [ "wheel" "keys" "networkmanager" "ratbagd" "input" "scanner" "lp" "video" "i2c" ]; # Enable ‘sudo’ for the user. shell = pkgs.zsh; packages = with pkgs; [ firefox tree git box64 prismlauncher distrobox ]; }; virtualisation = { containers.enable = true; podman.enable = true; }; # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ aria asahi-bless asahi-btsync asahi-nvram asahi-wifisync cabextract micro unzip vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. wget ]; environment.sessionVariables = { DBX_CONTAINER_MANAGER = "podman"; GSK_RENDERER = "opengl"; }; }