me like nix
1# Edit this configuration file to define what should be installed on
2# your system. Help is available in the configuration.nix(5) man page
3# and in the NixOS manual (accessible by running ‘nixos-help’).
4
5{ pkgs, ... }:
6
7{
8 imports = [
9 # Include the results of the hardware scan.
10 ./hardware-configuration.nix
11 ../common/common.nix
12 ];
13
14 boot.initrd.luks.devices."luks-ee306bda-c450-4a56-b4fe-537899e38e0d".device =
15 "/dev/disk/by-uuid/ee306bda-c450-4a56-b4fe-537899e38e0d";
16 networking.hostName = "framework16"; # Define your hostname.
17
18 # Framework 16 specific configuration
19 # Disable ABM (Active Backlight Management) to maintain color accuracy
20 boot.kernelParams = [ "amdgpu.abmlevel=0" ];
21
22 # Enable QEMU emulation for aarch64 (for building Pi images)
23 boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
24
25 # nixos-raspberrypi binary cache (pre-built Pi 5 kernel, kodi, etc.)
26 nix.settings.extra-substituters = [ "https://nixos-raspberrypi.cachix.org" ];
27 nix.settings.extra-trusted-public-keys = [ "nixos-raspberrypi.cachix.org-1:4iMO9LXa8BqhU+Rpg6LQKiGa2lsNh/j2oiYLNOQ5sPI=" ];
28 nix.settings.trusted-users = [ "root" "sean" ];
29
30 # Use power-profiles-daemon instead of TLP (recommended for AMD Framework)
31 services.power-profiles-daemon.enable = true;
32
33 # Disable keyboard/touchpad wake from suspend (prevents wake in bags)
34 services.udev.extraRules = ''
35 # Framework Laptop 16 - Disable wakeup for internal keyboard to prevent wake in bags
36 ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTR{power/wakeup}="disabled"
37 '';
38 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
39
40 # Configure network proxy if necessary
41 # networking.proxy.default = "http://user:password@proxy:port/";
42 # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
43
44 # Enable touchpad support (enabled default in most desktopManager).
45 # services.xserver.libinput.enable = true;
46
47 # List packages installed in system profile. To search, run:
48 # $ nix search wget
49 environment.systemPackages = with pkgs; [
50 brightnessctl
51 gdm
52 ];
53
54 # Some programs need SUID wrappers, can be configured further or are
55 # started in user sessions.
56 # programs.mtr.enable = true;
57 # programs.gnupg.agent = {
58 # enable = true;
59 # enableSSHSupport = true;
60 # };
61
62 # List services that you want to enable:
63
64 services.openssh = {
65 enable = true;
66 settings = {
67 PasswordAuthentication = false;
68 KbdInteractiveAuthentication = false;
69 PermitRootLogin = "no";
70 AllowUsers = [ "sean" ];
71 };
72 };
73
74 users.users.sean.openssh.authorizedKeys.keys = [
75 "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDCIqgZ7kedxo+mOW7YG73Vp3zel3h180y3GKvHtRsXfGlpIIvRDy7pgCBQ4AGXYD4y78URQmFohYSAPqCPOPaWcU2un3XG9KvCzEsHmsbskPonitUmCiKvrKkb6oW4jCBtd7AEtBn+AiajAQFtPZ7NN2Df3AmTypvR6Irg7R+nxnfc9NTIHmGvxSDyWcbb4pguL20sctUSqGL6xGh8q/bqhdOThSimM+z9bEUNxK/5rPhwkNniMrp4pJcUrUiAh5/4DiRFG6KT+oeg+/myoz/Z1sPvAs7u/8JDQI4RshRD8Hu0oTkRBN6Hxj478q2SXbeBUZlD6IdjP3RhGpmSecoDdtWqKbpuV3eVRtQtba3KL86GBeV/bugaOdJ1Aud+1SOFJreAAuvxzMMKT+cdQZk6oOPP148DA/No+mDm/2S43lcdCXh79wA6YRAmKQ8jmZxTCtPutrvuZK1rguvvUlEoG/vhdNHh7eDa4Td07V6bjCRPUl8qk/e4M0E3pwsTlZc="
76 "no-touch-required sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAILdilHXHdAP/V8Zq28EzHKtLAMMaFPu4+1det2N50QfhAAAABHNzaDo= sean@framework16"
77 ];
78
79 # Open ports in the firewall.
80 # networking.firewall.allowedTCPPorts = [
81 # 3000
82 # ];
83 networking.firewall.allowedUDPPorts = [
84 ];
85 # Or disable the firewall altogether.
86 networking.firewall.enable = false;
87
88 # This value determines the NixOS release from which the default
89 # settings for stateful data, like file locations and database versions
90 # on your system were taken. It‘s perfectly fine and recommended to leave
91 # this value at the release version of the first install of this system.
92 # Before changing this value read the documentation for this option
93 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
94 system.stateVersion = "25.05"; # Did you read the comment?
95
96}