Files
nix-config/systems/aarch64-linux/macbook-pro-nixos/default.nix
mjallen18 63173a6262 upd
2025-11-10 09:10:58 -06:00

136 lines
3.3 KiB
Nix
Executable File

# 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
./hardware-configuration.nix
# ./networking.nix - moved to modules/nixos/network
./services.nix
];
hardware.asahi = {
enable = true;
peripheralFirmwareDirectory = ./firmware;
setupAsahiSound = true;
};
${namespace} = {
impermanence.enable = true;
user = {
name = "matt";
extraGroups = [
"ratbagd"
"input"
"scanner"
"lp"
"video"
"i2c"
];
packages = with pkgs; [
firefox
tree
git
box64
prismlauncher
distrobox
];
};
desktop = {
hyprland = {
enable = true;
wallpaperSource = "bing";
};
gnome.enable = false;
};
# programs = {
# 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";
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 = {
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
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";
};
}