mirror of
https://github.com/Nexoniarz/nexoniarz-config-nixos-laptop.git
synced 2026-11-03 04:24:27 +00:00
The laptop was still on the Hyprland-era Pantheon commit while the desktop moved to KDE Plasma 6 + Limine and split system.nix into focused modules. This brings over everything that isn't hardware, unchanged, so both machines stay diffable: - Plasma 6 on Wayland with SDDM, Konsole, gruvbox icons, KDE MIME defaults (replaces Pantheon/LightDM; libreoffice-qt6 replaces the GTK build) - Limine bootloader with the gruvbox theme, replacing systemd-boot - system.nix split into boot/networking/locale/nix-settings/security - flakes + nix-command, sysctl hardening extras (yama, tcp_timestamps), geoclue off, captive-portal probe off - package parity: obs-studio, lmms, go, qemu, KDE utilities, lean SDR++ and rtl_433 overrides with hardware.rtl-sdr Hardware and power are adapted rather than copied: - hardware.nix keeps the AMD 680M + RTX 4050 PRIME offload setup, asusd and supergfxd, v4l2loopback webcam and the DualSense ERTM fix; OpenRGB and the desktop's single-GPU block are dropped, keyboard lighting is asusctl - power.nix is new: power-profiles-daemon for Plasma's profile switcher, lid-close handling via the current logind.settings.Login spelling, powertop/acpi, notes on asusctl charge limits - no acpi_enforce_resources=lax, ACPI owns the EC asusd drives here - touchpad defaults, and firewall openings so the hotspot script's shared connection can hand out DHCP/DNS - pinentry-qt instead of the desktop's leftover pinentry-rofi, blueman dropped in favour of Plasma's bluedevil hardware-configuration.nix stays tracked here (unlike the desktop, which gitignores it) since it's the only record of this machine's disk layout. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
116 lines
2.4 KiB
Nix
116 lines
2.4 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
let
|
|
|
|
# Both SDR++ and rtl_433 default to supporting every radio ever made, which
|
|
# drags in UHD (USRP firmware), BladeRF and LimeSuite — ~1.5 GB for
|
|
# hardware we don't own. These two overrides cut that down to the RTL-SDR paths.
|
|
|
|
soapysdrLean = pkgs.soapysdr.override {
|
|
extraPackages = with pkgs; [
|
|
soapyrtlsdr
|
|
soapyremote
|
|
];
|
|
};
|
|
|
|
rtl433Lean = pkgs.rtl_433.override {
|
|
soapysdr-with-plugins = soapysdrLean;
|
|
};
|
|
|
|
# Leaves the RTL-SDR, rtl_tcp, file and network sources on.
|
|
sdrppLean = pkgs.sdrpp.override {
|
|
soapy_source = false;
|
|
bladerf_source = false;
|
|
limesdr_source = false;
|
|
plutosdr_source = false;
|
|
airspy_source = false;
|
|
airspyhf_source = false;
|
|
hermes_source = false;
|
|
rfspace_source = false;
|
|
dragonlabs_source = false;
|
|
spectran_http_source = false;
|
|
};
|
|
|
|
in
|
|
{
|
|
users.users."nexoniarz".packages = with pkgs; [
|
|
|
|
tumbler
|
|
brightnessctl # Backlight on the internal panel
|
|
ddcutil # DDC/CI brightness on an external monitor
|
|
lm_sensors # sensors-detect also helps ddcutil find its I2C buses
|
|
networkmanager # nmcli, for the Wi-Fi hotspot script
|
|
xdg-user-dirs
|
|
|
|
# Apps
|
|
blender
|
|
gimp
|
|
inkscape
|
|
vesktop
|
|
tor-browser
|
|
ffmpeg-full
|
|
vlc
|
|
filezilla
|
|
chromium
|
|
obs-studio
|
|
sdrppLean
|
|
rtl433Lean
|
|
lmms
|
|
|
|
# Games
|
|
prismlauncher
|
|
osu-lazer-bin
|
|
|
|
# Dev
|
|
glibc
|
|
musl
|
|
cmake
|
|
gnumake
|
|
gcc
|
|
python3
|
|
openjdk25
|
|
go
|
|
claude-code
|
|
];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
git
|
|
gh
|
|
vim
|
|
fastfetch
|
|
gparted
|
|
efibootmgr
|
|
firejail
|
|
gnupg
|
|
lmstudio
|
|
kdePackages.ark
|
|
p7zip
|
|
unzip
|
|
unrar
|
|
kdePackages.gwenview
|
|
kdePackages.kate
|
|
kdePackages.qqc2-desktop-style
|
|
linphonePackages.linphone-desktop
|
|
kdePackages.kcalc
|
|
kdePackages.okular
|
|
kdePackages.elisa
|
|
kdePackages.konsole
|
|
kdePackages.dolphin
|
|
kdePackages.plasma-systemmonitor
|
|
qt5.qtwayland
|
|
qt6.qtwayland
|
|
qemu
|
|
file
|
|
];
|
|
|
|
# Lets non-Nix binaries (e.g. the Tor Browser bundle) find an FHS linker.
|
|
programs.nix-ld.enable = true;
|
|
programs.nix-ld.libraries = with pkgs; [
|
|
glib gtk3 gdk-pixbuf pango cairo atk
|
|
dbus dbus-glib fontconfig freetype
|
|
libx11 libxext libxrender libxtst
|
|
libxi libxcomposite libxdamage libxfixes
|
|
libxrandr libxcursor libxcb libxkbcommon
|
|
alsa-lib mesa zlib stdenv.cc.cc
|
|
];
|
|
}
|