mirror of
https://github.com/Nexoniarz/nexoniarz-config-nixos.git
synced 2026-11-03 04:24:27 +00:00
Switch desktop from Budgie to KDE Plasma; OpenRGB support and misc packages
Budgie's Wayland session had been broken; Plasma 6 replaces it with SDDM still handling the Wayland greeter. Since the KDE apps in apps.nix were already installed as GTK/MATE replacements, Budgie's exclude-package list is no longer needed under native Plasma. Also: OpenRGB service + udev rule, RTL-SDR/system tweaks, lmms, qemu, qt5/qt6 qtwayland, nix flakes enabled.
This commit is contained in:
parent
33bf94bd4c
commit
095e869faa
4 changed files with 48 additions and 37 deletions
|
|
@ -1,14 +1,21 @@
|
|||
{ 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.
|
||||
# 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 ];
|
||||
extraPackages = with pkgs; [
|
||||
soapyrtlsdr
|
||||
soapyremote
|
||||
];
|
||||
};
|
||||
|
||||
rtl433Lean = pkgs.rtl_433.override { soapysdr-with-plugins = soapysdrLean; };
|
||||
rtl433Lean = pkgs.rtl_433.override {
|
||||
soapysdr-with-plugins = soapysdrLean;
|
||||
};
|
||||
|
||||
# Leaves the RTL-SDR, rtl_tcp, file and network sources on.
|
||||
sdrppLean = pkgs.sdrpp.override {
|
||||
|
|
@ -23,15 +30,17 @@ let
|
|||
dragonlabs_source = false;
|
||||
spectran_http_source = false;
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
users.users."nexoniarz".packages = with pkgs; [
|
||||
|
||||
tumbler
|
||||
brightnessctl
|
||||
ddcutil
|
||||
lm_sensors # sensors-detect helps ddcutil find the I2C buses
|
||||
lm_sensors
|
||||
networkmanager
|
||||
xdg-user-dirs # Resolves localized folder names (Obrazy, not Pictures)
|
||||
xdg-user-dirs
|
||||
|
||||
# Apps
|
||||
blender
|
||||
|
|
@ -46,6 +55,8 @@ in
|
|||
obs-studio
|
||||
sdrppLean
|
||||
rtl433Lean
|
||||
lmms
|
||||
openrgb
|
||||
|
||||
# Games
|
||||
prismlauncher
|
||||
|
|
@ -86,5 +97,8 @@ in
|
|||
kdePackages.konsole
|
||||
kdePackages.dolphin
|
||||
kdePackages.plasma-systemmonitor
|
||||
qt5.qtwayland
|
||||
qt6.qtwayland
|
||||
qemu
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Budgie ships only a Wayland session here (labwc); xserver stays on for
|
||||
# Xwayland and for the xkb layout below.
|
||||
# Plasma ships a proper Wayland session (KWin) with solid Xwayland
|
||||
# support; xserver stays on for that Xwayland layer and for the xkb
|
||||
# layout below, not because the session itself needs it.
|
||||
services.xserver.enable = true;
|
||||
services.desktopManager.budgie.enable = true;
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
|
||||
# SDDM replaces lightdm: Qt, and it actually launches Wayland sessions.
|
||||
# Its own greeter runs on weston, not kwin, so no KDE compositor tags along.
|
||||
# SDDM is KDE's own greeter — Qt-based, and launches Wayland sessions
|
||||
# natively, Plasma included.
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
|
|
@ -26,28 +27,11 @@
|
|||
# xserver.nix installs xterm unconditionally; Konsole is the terminal here.
|
||||
services.xserver.excludePackages = [ pkgs.xterm ];
|
||||
|
||||
# Budgie's module installs GTK/MATE apps that duplicate the Qt ones in
|
||||
# apps.nix. Excluding gnome-terminal also flips programs.gnome-terminal.enable
|
||||
# off — the module gates that on this same list.
|
||||
environment.budgie.excludePackages = with pkgs; [
|
||||
nemo # -> dolphin
|
||||
gnome-terminal # -> konsole
|
||||
eom # -> gwenview
|
||||
pluma # -> kate
|
||||
atril # -> okular
|
||||
engrampa # -> ark
|
||||
mate-calc # -> kcalc
|
||||
mate-system-monitor # -> plasma-systemmonitor
|
||||
];
|
||||
|
||||
# Icon/cursor theme packages. Plasma has no gsettings-style declarative
|
||||
# knob for this the way Budgie did — pick them in System Settings, or
|
||||
# bring in plasma-manager later for a fully declarative setup.
|
||||
environment.systemPackages = [
|
||||
pkgs.gruvbox-plus-icons
|
||||
pkgs.bibata-cursors
|
||||
];
|
||||
|
||||
services.desktopManager.budgie.extraGSettingsOverrides = ''
|
||||
[org.gnome.desktop.interface]
|
||||
icon-theme='Gruvbox-Plus-Dark'
|
||||
cursor-theme='Bibata-Modern-Classic'
|
||||
'';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
};
|
||||
boot.kernelPackages = pkgs.linuxPackages;
|
||||
boot.supportedFilesystems = [ "fuse" ];
|
||||
|
||||
networking.hostName = "nixos";
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
|
|
@ -59,7 +58,7 @@
|
|||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
|
||||
|
||||
console.keyMap = "pl2";
|
||||
|
||||
security.rtkit.enable = true;
|
||||
|
|
@ -85,6 +84,11 @@
|
|||
};
|
||||
};
|
||||
|
||||
services.udev.extraRules = ''
|
||||
# OpenRGB
|
||||
SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660"
|
||||
'';
|
||||
|
||||
services.blueman.enable = true;
|
||||
|
||||
programs.firejail = {
|
||||
|
|
@ -133,6 +137,8 @@
|
|||
];
|
||||
environment.systemPackages = [ pkgs.file ];
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
|
||||
# --- Hardening ---
|
||||
|
||||
# zram instead of disk swap: nothing sensitive is written to disk in
|
||||
|
|
@ -140,7 +146,7 @@
|
|||
# old swap partition regardless of swapDevices, hence the kernel param.
|
||||
zramSwap.enable = true;
|
||||
swapDevices = lib.mkForce [ ];
|
||||
boot.kernelParams = [ "systemd.gpt_auto=0" ];
|
||||
boot.kernelParams = [ "systemd.gpt_auto=0" "acpi_enforce_resources=lax" ];
|
||||
|
||||
boot.kernel.sysctl = {
|
||||
"kernel.kptr_restrict" = 2;
|
||||
|
|
@ -160,6 +166,10 @@
|
|||
|
||||
systemd.coredump.enable = false;
|
||||
security.protectKernelImage = true;
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"L+ /var/lib/flatpak/exports/share/applications - - - - /var/lib/flatpak/app/com.usebottles.bottles/current/active/export/share/applications"
|
||||
];
|
||||
|
||||
networking.nameservers = [ "1.1.1.1#cloudflare-dns.com" "9.9.9.9#dns.quad9.net" ];
|
||||
services.resolved = {
|
||||
|
|
@ -182,6 +192,9 @@
|
|||
uri = "";
|
||||
interval = 0;
|
||||
};
|
||||
|
||||
services.hardware.openrgb = {
|
||||
enable = true;
|
||||
motherboard = "amd";
|
||||
};
|
||||
services.geoclue2.enable = false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue