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 # Use power-profiles-daemon instead of TLP (recommended for AMD Framework)
23 services.power-profiles-daemon.enable = true;
24
25 # Disable keyboard/touchpad wake from suspend (prevents wake in bags)
26 services.udev.extraRules = ''
27 # Framework Laptop 16 - Disable wakeup for internal keyboard to prevent wake in bags
28 ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="32ac", ATTR{power/wakeup}="disabled"
29 '';
30 # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
31
32 # Configure network proxy if necessary
33 # networking.proxy.default = "http://user:password@proxy:port/";
34 # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
35
36 # Enable touchpad support (enabled default in most desktopManager).
37 # services.xserver.libinput.enable = true;
38
39 # List packages installed in system profile. To search, run:
40 # $ nix search wget
41 environment.systemPackages = with pkgs; [
42 brightnessctl
43 gdm
44 ];
45
46 # Some programs need SUID wrappers, can be configured further or are
47 # started in user sessions.
48 # programs.mtr.enable = true;
49 # programs.gnupg.agent = {
50 # enable = true;
51 # enableSSHSupport = true;
52 # };
53
54 # List services that you want to enable:
55
56 services.openssh = {
57 enable = true;
58 settings = {
59 PasswordAuthentication = false;
60 KbdInteractiveAuthentication = false;
61 PermitRootLogin = "no";
62 AllowUsers = [ "sean" ];
63 };
64 };
65
66 users.users.sean.openssh.authorizedKeys.keys = [
67 "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDCIqgZ7kedxo+mOW7YG73Vp3zel3h180y3GKvHtRsXfGlpIIvRDy7pgCBQ4AGXYD4y78URQmFohYSAPqCPOPaWcU2un3XG9KvCzEsHmsbskPonitUmCiKvrKkb6oW4jCBtd7AEtBn+AiajAQFtPZ7NN2Df3AmTypvR6Irg7R+nxnfc9NTIHmGvxSDyWcbb4pguL20sctUSqGL6xGh8q/bqhdOThSimM+z9bEUNxK/5rPhwkNniMrp4pJcUrUiAh5/4DiRFG6KT+oeg+/myoz/Z1sPvAs7u/8JDQI4RshRD8Hu0oTkRBN6Hxj478q2SXbeBUZlD6IdjP3RhGpmSecoDdtWqKbpuV3eVRtQtba3KL86GBeV/bugaOdJ1Aud+1SOFJreAAuvxzMMKT+cdQZk6oOPP148DA/No+mDm/2S43lcdCXh79wA6YRAmKQ8jmZxTCtPutrvuZK1rguvvUlEoG/vhdNHh7eDa4Td07V6bjCRPUl8qk/e4M0E3pwsTlZc="
68 ];
69
70 # Open ports in the firewall.
71 # networking.firewall.allowedTCPPorts = [
72 # 3000
73 # ];
74 networking.firewall.allowedUDPPorts = [
75 ];
76 # Or disable the firewall altogether.
77 networking.firewall.enable = false;
78
79 # This value determines the NixOS release from which the default
80 # settings for stateful data, like file locations and database versions
81 # on your system were taken. It‘s perfectly fine and recommended to leave
82 # this value at the release version of the first install of this system.
83 # Before changing this value read the documentation for this option
84 # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
85 system.stateVersion = "25.05"; # Did you read the comment?
86
87}