several improvements for desktop system

This commit is contained in:
Thilo Billerbeck 2025-01-18 01:26:04 +01:00
parent ccd3923daf
commit 9975ca27e2
6 changed files with 157 additions and 81 deletions

View file

@ -9,51 +9,47 @@
}: }:
{ {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
boot = {
initrd = {
availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"uas"
"usb_storage"
"sd_mod"
]; ];
kernelModules = [ ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/7b55546f-7bd5-4b46-b5b1-1c81fdd8509c";
fsType = "ext4";
}; };
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ]; fileSystems."/boot" =
{
device = "/dev/disk/by-uuid/5A04-0844";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
}; };
fileSystems = { fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/34eb30d5-5faa-409f-81ee-7b996d37534a";
fsType = "btrfs";
options = [ "subvol=@" ];
};
"/data" = { "/data" = {
device = "/dev/disk/by-uuid/91f64815-1d3c-4032-960f-0a53eb3b01ab"; device = "/dev/disk/by-uuid/a13a2cfa-12af-463d-ae5c-d46c881fcdd6";
fsType = "btrfs"; fsType = "btrfs";
}; options = [ "nofail" ];
"/boot" = {
device = "/dev/disk/by-uuid/0EB3-BFB0";
fsType = "vfat";
}; };
}; };
swapDevices = [ ]; swapDevices =
[ { device = "/dev/disk/by-uuid/da98aab4-f3a5-439b-aab5-b78624c219d3"; }
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction # still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp8s0.useDHCP = lib.mkDefault true; # networking.interfaces.enp6s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View file

@ -1,6 +1,7 @@
{ inputs { inputs
, pkgs , pkgs
, config , config
, lib
, ... , ...
}: }:
@ -31,22 +32,12 @@
}; };
*/ */
home.sessionVariables = {
LD_LIBRARY_PATH = "${pkgs.libGL}/lib";
};
nix = { nix = {
package = pkgs.lix; package = lib.mkDefault pkgs.lix;
};
qt = {
enable = true;
platformTheme.name = "kde";
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
lix lix
papirus-icon-theme
]; ];
}; };
}; };

View file

@ -1,7 +1,7 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ pkgs, ... }: { pkgs, options, ... }:
{ {
imports = [ imports = [
@ -16,13 +16,13 @@
loader = { loader = {
systemd-boot = { systemd-boot = {
enable = true; enable = true;
extraInstallCommands = '' # extraInstallCommands = ''
${pkgs.gnused}/bin/sed -i "/default/c\default @saved" /boot/loader/loader.conf # ${pkgs.gnused}/bin/sed -i "/default/c\default @saved" /boot/loader/loader.conf
''; # '';
}; };
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
kernelPackages = pkgs.linuxPackages_latest; # kernelPackages = pkgs.linuxPackages_latest;
binfmt.registrations.appimage = { binfmt.registrations.appimage = {
wrapInterpreterInShell = false; wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run"; interpreter = "${pkgs.appimage-run}/bin/appimage-run";
@ -37,25 +37,121 @@
# Enable the X11 windowing system. # Enable the X11 windowing system.
services = { services = {
xserver = { xserver.enable = true;
enable = true;
displayManager.sddm.enable = true; displayManager.sddm.enable = true;
displayManager.sddm.wayland.enable = true; desktopManager.plasma6.enable = true;
xkb = { xserver.xkb = {
variant = "";
layout = "us"; layout = "us";
}; variant = "";
}; };
ollama = { ollama = {
enable = false; enable = false;
acceleration = "rocm"; acceleration = "rocm";
}; };
desktopManager.plasma6.enable = true;
blueman.enable = true; blueman.enable = true;
}; };
programs.kdeconnect.enable = true; programs.kdeconnect.enable = true;
programs.nix-ld.enable = true; programs.nix-ld = {
enable = true;
libraries = (pkgs.steam-run.args.multiPkgs pkgs) ++ (with pkgs; [
nss
sane-backends
nspr
zlib
libglvnd
qt5.qtbase
qt5.qtsvg
qt5.qtdeclarative
qt5.qtwayland
pkcs11helper
stdenv.cc.cc
freetype
stdenv.cc.cc
openssl
xorg.libXcomposite
xorg.libXtst
xorg.libXrandr
xorg.libXext
xorg.libX11
xorg.libXfixes
libGL
libva
xorg.libxcb
xorg.libXdamage
xorg.libxshmfence
xorg.libXxf86vm
libelf
glib
gtk3
bzip2
xorg.libXinerama
xorg.libXcursor
xorg.libXrender
xorg.libXScrnSaver
xorg.libXi
xorg.libSM
xorg.libICE
gnome2.GConf
nspr
nss
cups
libcap
SDL2
libusb1
dbus-glib
ffmpeg
libudev0-shim
xorg.libXt
xorg.libXmu
libogg
libvorbis
SDL
SDL2_image
glew110
libidn
tbb
flac
freeglut
libjpeg
libpng
libpng12
libsamplerate
libmikmod
libtheora
libtiff
pixman
speex
SDL_image
SDL_ttf
SDL_mixer
SDL2_ttf
SDL2_mixer
libappindicator-gtk2
libdbusmenu-gtk2
libindicator-gtk2
libcaca
libcanberra
libgcrypt
libvpx
librsvg
xorg.libXft
libvdpau
pango
cairo
atk
gdk-pixbuf
fontconfig
freetype
dbus
alsa-lib
expat
libdrm
mesa
libxkbcommon
]);
};
hardware.opengl = { hardware.opengl = {
extraPackages = with pkgs; [ extraPackages = with pkgs; [
@ -66,7 +162,7 @@
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
programs.steam.gamescopeSession = { programs.steam.gamescopeSession = {
enable = true; enable = false;
env = { env = {
WLR_RENDERER = "vulkan"; WLR_RENDERER = "vulkan";
DXVK_HDR = "1"; DXVK_HDR = "1";
@ -89,7 +185,5 @@
]; ];
}; };
nixpkgs.config.permittedInsecurePackages = [ "nix-2.16.2" ]; system.stateVersion = "24.11";
system.stateVersion = "23.05";
} }

View file

@ -96,6 +96,8 @@ in
php php
(lib.hiPrio phpPackages.composer) (lib.hiPrio phpPackages.composer)
nixfmt-rfc-style
] ]
++ ( ++ (
if (!config.machine.isGeneric) then if (!config.machine.isGeneric) then
@ -120,22 +122,22 @@ in
++ ( ++ (
if (config.machine.isGraphical && !config.machine.isGeneric) then if (config.machine.isGraphical && !config.machine.isGeneric) then
[ [
jetbrains.webstorm # jetbrains.webstorm
jetbrains.phpstorm # jetbrains.phpstorm
jetbrains.rust-rover # jetbrains.rust-rover
jetbrains.goland # jetbrains.goland
element-desktop element-desktop
ludusavi ludusavi
dbeaver dbeaver-bin
onlyoffice-bin onlyoffice-bin
spotify spotify
vesktop discord
(lutris.override { (lutris.override {
extraLibraries = _: [ gnome3.adwaita-icon-theme ]; extraLibraries = _: [ adwaita-icon-theme ];
extraPkgs = _: [ extraPkgs = _: [
wineWowPackages.full wineWowPackages.full
winetricks winetricks
gnome3.adwaita-icon-theme adwaita-icon-theme
]; ];
}) })
bottles bottles
@ -151,7 +153,7 @@ in
mumble mumble
prusa-slicer prusa-slicer
trayscale trayscale
gnome.gnome-disk-utility gnome-disk-utility
inkscape inkscape
musescore musescore
obsidian obsidian
@ -162,6 +164,7 @@ in
inputs.nix-alien.packages.x86_64-linux.nix-alien inputs.nix-alien.packages.x86_64-linux.nix-alien
kdePackages.kdenlive kdePackages.kdenlive
audacity audacity
signal-desktop
] ]
else else
[ ] [ ]

View file

@ -35,12 +35,8 @@ let
extensions = map (eid: { id = eid; }) chromium_extension; extensions = map (eid: { id = eid; }) chromium_extension;
in in
{ {
programs.chromium = { programs.brave = {
inherit dictionaries commandLineArgs extensions; # inherit commandLineArgs;
enable = isEnabled;
};
programs.google-chrome = {
inherit commandLineArgs;
enable = isEnabled; enable = isEnabled;
}; };
} }

View file

@ -71,7 +71,7 @@
virtualisation = { virtualisation = {
docker.enable = true; docker.enable = true;
podman.enable = true; podman.enable = false;
}; };
environment.sessionVariables.NIXOS_OZONE_WL = "1"; environment.sessionVariables.NIXOS_OZONE_WL = "1";
@ -80,7 +80,7 @@
steam.enable = true; steam.enable = true;
zsh.enable = true; zsh.enable = true;
adb.enable = true; adb.enable = true;
noisetorch.enable = true; noisetorch.enable = false;
dconf = { dconf = {
enable = true; enable = true;
}; };
@ -89,8 +89,6 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git git
zsh zsh
kitty
steamtinkerlaunch
]; ];
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@ -126,13 +124,11 @@
hardware = { hardware = {
pulseaudio.enable = false; pulseaudio.enable = false;
opengl = { opengl = {
driSupport = true;
driSupport32Bit = true; driSupport32Bit = true;
}; };
}; };
security.polkit.enable = true; security.polkit.enable = true;
sound.enable = true;
security.rtkit.enable = true; security.rtkit.enable = true;
time.hardwareClockInLocalTime = true; time.hardwareClockInLocalTime = true;