# 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, ... }: { imports = [ ./boot.nix ./filesystems.nix ./hardware-configuration.nix ./services.nix ]; nix.settings.extra-platforms = [ "x86_64-linux" ]; boot.binfmt.emulatedSystems = [ "x86_64-linux" ]; hardware.asahi = { enable = true; peripheralFirmwareDirectory = ./firmware; setupAsahiSound = true; }; ${namespace} = { impermanence = { enable = true; extraDirectories = [ { directory = "/var/cache/ccache"; user = "nobody"; group = "nobody"; mode = "u=rwx,g=rwx,o=rx"; } ]; }; user = { name = "matt"; extraGroups = [ "scanner" "lp" "video" "i2c" ]; packages = with pkgs; [ firefox tree git box64 prismlauncher distrobox ]; }; desktop = { hyprland = { enable = true; wallpaperSource = "bing"; }; gnome.enable = false; }; hardware = { battery = { enable = true; battery = " /sys/class/power_supply/macsmc-battery/charge_control_end_threshold"; }; }; network = { hostName = "macbook-pro-nixos"; networkmanager.enable = false; iwd = { enable = true; settings = { General = { EnableNetworkConfiguration = true; }; Rank = { BandModifier2_4GHz = 1.0; BandModifier5GHz = 5.0; BandModifier6GHz = 10.0; }; Network = { AutoConnect = true; }; }; }; extraFirewallCommands = '' iptables -I INPUT -m pkttype --pkt-type multicast -j ACCEPT iptables -A INPUT -m pkttype --pkt-type multicast -j ACCEPT iptables -I INPUT -p udp -m udp --match multiport --dports 1990,2021 -j ACCEPT ''; }; }; nixpkgs.config.allowUnsupportedSystem = true; virtualisation = { libvirtd.enable = true; # efi = { # OVMF = (pkgs.OVMF.override { # secureBoot = true; # }); # }; waydroid.enable = false; # - CONFIG_ANDROID_BINDER_IPC is not enabled! # - CONFIG_ANDROID_BINDERFS is not enabled }; # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ apfs-fuse apfsprogs aria2 asahi-bless asahi-btsync asahi-nvram asahi-wifisync cabextract erofs-utils fex light micro muvm squashfuse squashfsTools unzip vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. virt-manager wget (pkgs.OVMF.override { secureBoot = true; }) ]; environment.sessionVariables = { DBX_CONTAINER_MANAGER = "podman"; GSK_RENDERER = "opengl"; }; }