This repository contains a reproducible NixOS setup for the Framework 13 AMD laptop. It includes hardware support, system configuration, and customizations for optimal performance and usability. Use this as a starting point or reference for your own NixOS installation on this device.
- 📦 Imports
- 🔧 Bootloader
- 🐧 Linux Kernel
- 💤 Sleep Configuration
- 🌐 Networking
- 🌍 Localization
- 🖥️ X11 Windowing System
- 🖱️ Input Devices
- 🔊 Sound
- 🔋 Power Management
- 📱 Bluetooth
- 🖨️ Printing
- 🔤 Fonts
- 👤 User Configuration
- 📦 System Packages
- 🔒 Security
- 🗑️ Garbage Collection
- 📅 System State Version
- 🖥️ Hardware Configuration
- 🚀 Unstable Packages
- Customized configuration for Framework 13 AMD laptop
- Hardware scan results
- Unstable packages from the unstable channel
- Uses
systemd-boot - EFI variables enabled
- Pinned to Linux kernel version 6.16
- Sleep support with kernel parameters:
mem_sleep_default=s2idle,amdgpu.dcdebugmask=0x10,pcie_aspm=off
- Kernel parameters for better suspend support
- Configured to suspend on lid close in all power states
- Hostname:
diameno - NetworkManager enabled
- Wireless regulatory database enabled
- Firewall disabled for local services
- Tailscale enabled for secure networking
- Time zone: America/New_York
- Locale: en_US.UTF-8
- Extra locale settings for various LC categories
- X11 enabled
- OpenGL support enabled
- Wayland disabled
- LightDM with mini greeter (custom themed)
- i3 window manager enabled
- GNOME desktop environment disabled
- Touchpad support enabled
- Custom keymap configuration
- Pipewire enabled for sound
- PulseAudio disabled
- RTKit enabled
- Light utility for backlight control
- auto-cpufreq enabled with battery/charger profiles
- TLP and power-profiles-daemon disabled in favor of auto-cpufreq
- Automatic USB device mounting via devmon, gvfs, and udisks2
- Bluetooth hardware support enabled
- Automatic power-on at boot
- Blueman GUI manager enabled
- CUPS printing service enabled
- Maple Mono Nerd Fonts (Normal and NF variants)
- Hack Nerd Font
- JetBrains Mono Nerd Font
- Monaspace Nerd Font
- Roboto Mono Nerd Font
- User:
gkapfham - Groups: networkmanager, wheel, video, input
- Terminal Emulators: alacritty, gnome-terminal, kitty
- CLI Tools: abook, atuin, bat, bluetuith, bmon, borgbackup, borgmatic, bore-cli, cloc, croc, dig, eva, eza, fasd, fastfetch, fd, flyctl, gh, gron, gum, ijq, imagemagick, jless, jq, lesspipe, miniserve, mupdf, neofetch, netscanner, pandoc, pastel, pkg-config, powerstat, powertop, qrencode, ripgrep, ripgrep-all, rm-improved, starship, stow, stress-ng, systemctl-tui, tealdeer, tmuxinator, tokei, trippy, unzip, urlscan, vlc, yazi, yq-go, zathura
- Browsers: brave, chromium, discord, firefox, floorp, lynx, qutebrowser, w3m, weylus
- Desktop Utilities: clipmenu, dmenu, dunst, feh, i3wsr, j4-dmenu-desktop, maim, polybar, rofi, rofimoji, xbanish, xbindkeys
- Development: mise (dev environment manager)
- Mail Clients: aerc, gettext, himalaya, inetutils, isync, msmtp, mutt, mutt-wizard, neomutt, pass
- Themes: adwaita-qt, fluent-gtk-theme
- Databases: duckdb
- AI/LLMs: ollama
- Development Tools: android-tools, clippy, gcc, gcc-unwrapped, git, git-extras, gnumake, go, lua5_3_compat, luajitPackages.tiktoken_core, nodejs_22, openjdk, maven, mise, pipx, prettierd, R, texlab, texlive.combined.scheme-full, universal-ctags, zulu
- Language Servers: copilot-language-server, gopls, lua-language-server, marksman, nil, pyright, rust-analyzer, statix, vscode-langservers-extracted, yaml-language-server
- System Utilities: acpi, arandr, aspell (with dictionaries), bibtool, bottom, csvlens, curl, dua, du-dust, evince, fwupd, fw-ectool, gdu, ghostscript, highlight-pointer, htop, iotop, killall, libgit2, libnotify, lm_sensors, manix, microcode-amd, networkmanagerapplet, nix-search-cli, nix-tree, nmap, numlockx, nvme-cli, pavucontrol, pciutils, pngquant, poppler, poppler_utils, procs, pstree, pulseaudioFull, rclone, rng-tools, sct, sesh, sqlite, sshfs, tmux, tree, unar, upower, wavemon, wget, wirelesstools, wmctrl, wordnet, xclip, xcape, xdotool, zenith, zk, zsh, zsh-autocomplete
- Window Manager & Desktop: adwaita-icon-theme, feh, gimp, hsetroot, i3, i3lock-fancy-rapid, iw, iwd, lightdm-mini-greeter, litemdview, lxappearance, phinger-cursors, pinentry-all, seahorse, themechanger, xorg packages (xbacklight, xcursorthemes, xev, xinit, xrdb, xwininfo)
- File Management: file, glow, mdcat, mdl, unar, xsel, zip, zlib
- GPG agent enabled with pinentry-gnome3
- SSH agent enabled
- Gnome keyring enabled
- Fingerprint reader (fprintd) enabled
- i3lock with fingerprint authentication support
- Automatic garbage collection enabled
- Weekly cleanup of old generations
- Imports hardware scan results
- Kernel modules for NVMe, USB, Thunderbolt, and storage
- AMD KVM module enabled
- Root filesystem on ext4
- Boot filesystem on vfat
- LUKS encryption for root filesystem
- DHCP enabled for networking
- AMD microcode updates enabled
- Python 3.12: Custom installation with packages including:
bibtexparser,cairosvg,cryptography,csscompressor,distrohtmlmin,ipython,ipykernel,jupyter-client,jupyterlab,jupyterlab-gitpillow,pip,pipx,plotly,pnglatex,poetry-coreprompt-toolkit,pydocstyle,pynvim,pyperclip,python-dotenvpyudev,pyyaml,requests,rich,rjsmin,systemd
- Quarto: Stable version with custom Python packages integration
- Neovim: Unstable version with Lua (magick) and Python packages for plugins
- Development Tools: ast-grep, cargo, copilot-language-server, deskflow, decktape, harper, rustc, rustfmt, uv, ty
- Utilities: fzf, fzy, i3status, jupyter, opencode, poetry, poppler, pyrefly, tree-sitter, ruff, picom, zoxide