diff --git a/configs/thilo-laptop/hardware-configuration.nix b/configs/thilo-laptop/hardware-configuration.nix index 8bbf900..cc816c2 100644 --- a/configs/thilo-laptop/hardware-configuration.nix +++ b/configs/thilo-laptop/hardware-configuration.nix @@ -1,39 +1,27 @@ -{ - config, - lib, - modulesPath, - ... -}: +{ config, lib, pkgs, modulesPath, ... }: { - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot = { - initrd = { - availableKernelModules = [ - "nvme" - "xhci_pci" - "usb_storage" - "sd_mod" - ]; - kernelModules = [ ]; + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/7e935fd6-a68d-4d1a-8572-24471babd317"; + fsType = "ext4"; }; - kernelModules = [ "kvm-amd" ]; - extraModulePackages = [ ]; - }; - fileSystems."/" = { - device = "/dev/disk/by-uuid/2e1227f6-8725-43a3-aeb6-961df4ed9b25"; - fsType = "ext4"; - }; + boot.initrd.luks.devices."luks-6d235013-6562-4a8e-8793-9a32b91cd8c1".device = "/dev/disk/by-uuid/6d235013-6562-4a8e-8793-9a32b91cd8c1"; - boot.initrd.luks.devices."luks-6f077715-c436-4254-acb2-66d8be0a0c55".device = - "/dev/disk/by-uuid/6f077715-c436-4254-acb2-66d8be0a0c55"; - - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/877C-C918"; - fsType = "vfat"; - }; + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/114C-13A0"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; swapDevices = [ ]; @@ -48,3 +36,4 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } + diff --git a/configs/thilo-laptop/home.nix b/configs/thilo-laptop/home.nix index c97f9da..0a881f9 100644 --- a/configs/thilo-laptop/home.nix +++ b/configs/thilo-laptop/home.nix @@ -1,4 +1,10 @@ -{ inputs, pkgs, ... }: +{ + inputs, + pkgs, + config, + lib, + ... +}: { home-manager = { @@ -7,6 +13,8 @@ extraSpecialArgs = { inherit inputs; }; + backupFileExtension = ".bak"; + users.thilo = { imports = [ ./../../home-manager/modules/machine.nix ]; @@ -16,17 +24,45 @@ isGnome = false; noiseSuppression.enable = true; isGraphical = true; + nixVersion = pkgs.lix; }; - home.sessionVariables = { - LD_LIBRARY_PATH = "${pkgs.libGL}/lib"; - }; + /* + xsession.pointerCursor = { + name = "Bibata-Modern-Classic"; + package = pkgs.bibata-cursors; + size = 128; + }; + */ + + fonts.fontconfig.enable = true; nix = { - package = pkgs.nixVersions.latest; + package = lib.mkDefault pkgs.lix; }; - home.packages = with pkgs; [ pkgs.nixVersions.latest ]; + home.packages = with pkgs; [ + lix + ]; + + programs.distrobox = { + enable = true; + containers = { + arch = { + image = "quay.io/toolbx/arch-toolbox"; + additional_packages = "python python-pip nodejs"; + volume = "/etc/static/profiles/per-user:/etc/profiles/per-user:ro"; + replace = true; + }; + fedora = { + image = "quay.io/fedora/fedora-toolbox:41"; + additional_packages = "python python-pip code"; + home = "/home/thilo/.distrobox/fedora"; + pre_init_hooks = ''rpm --import https://packages.microsoft.com/keys/microsoft.asc && echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null''; + replace = true; + }; + }; + }; }; }; } diff --git a/configs/thilo-laptop/nixos.nix b/configs/thilo-laptop/nixos.nix index 763cd2a..5cd3043 100644 --- a/configs/thilo-laptop/nixos.nix +++ b/configs/thilo-laptop/nixos.nix @@ -8,81 +8,163 @@ ./../../nixos/builders.nix ]; - # Bootloader. - boot.loader = { - systemd-boot.enable = true; - efi.canTouchEfiVariables = true; - }; - boot.plymouth.enable = true; - - # Setup keyfile - boot.initrd.secrets = { - "/crypto_keyfile.bin" = null; - }; - - networking.hostName = "thilo-laptop"; # Define your hostname. - - # Configure console keymap - console.keyMap = "de"; - - environment.gnome.excludePackages = with pkgs; [ - tracker - tracker-miners - ]; - - hardware.bluetooth.enable = true; - - services = { - xserver = { - enable = true; - displayManager.sddm.enable = true; - xkb = { - variant = ""; - layout = "us"; + boot = { + loader = { + grub = { + efiSupport = true; + device = "nodev"; + useOSProber = true; }; + efi.canTouchEfiVariables = true; }; - gnome = { - tracker-miners.enable = false; - tracker.enable = false; + kernelPackages = pkgs.linuxPackages_latest; + binfmt.registrations.appimage = { + wrapInterpreterInShell = false; + interpreter = "${pkgs.appimage-run}/bin/appimage-run"; + recognitionType = "magic"; + offset = 0; + mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff''; + magicOrExtension = ''\x7fELF....AI\x02''; }; - blueman.enable = true; - fwupd.enable = true; + plymouth.enable = true; + }; + + networking.hostName = "thilo-laptop"; + + # Enable the X11 windowing system. + services = { + xserver.enable = true; + displayManager.sddm.enable = true; desktopManager.plasma6.enable = true; + xserver.xkb = { + layout = "de"; + variant = ""; + }; + envfs.enable = true; }; programs.kdeconnect.enable = true; - - programs.gamescope = { + programs.nix-ld = { enable = true; - capSysNice = 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 + ]); }; - programs.steam.gamescopeSession = { - enable = true; - env = { - STEAM_GAMESCOPE_VRR_SUPPORTED = "1"; - SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS = "0"; - }; - args = [ - "-f" - "-F fsr" - "--rt" - "--adaptive-sync" - "-O HDMI-A-1" + hardware.graphics = { + extraPackages = with pkgs; [ + vaapiVdpau + libvdpau-va-gl ]; }; + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + + system.stateVersion = "25.05"; + environment.systemPackages = with pkgs; [ - brlaser - brgenml1lpr + kdePackages.skanpage ]; - nixpkgs.config.permittedInsecurePackages = [ "nix-2.16.2" ]; - - xdg.portal = { + services.resolved = { enable = true; - extraPortals = [ pkgs.kdePackages.xdg-desktop-portal-kde ]; + domains = [ "~." ]; }; - - system.stateVersion = "23.05"; } diff --git a/flake.lock b/flake.lock index bef9f5e..330f9e5 100644 --- a/flake.lock +++ b/flake.lock @@ -37,11 +37,11 @@ ] }, "locked": { - "lastModified": 1743648554, - "narHash": "sha256-23JFd+zd2GamTTdnGuFVeIg8x8C3hLpQJRh/PGTORzo=", + "lastModified": 1743781299, + "narHash": "sha256-wLz6pjEVMXAb8EGDbXtyW98GQ8vm9cEyKhZTf/TTu24=", "owner": "nix-community", "repo": "home-manager", - "rev": "107352dde4ff3c01cb5a0b3fe17f5beef37215bc", + "rev": "a802defb16dcdcc7fd0ff5a2d7be913ce2fe79e7", "type": "github" }, "original": { diff --git a/home-manager/modules/packages.nix b/home-manager/modules/packages.nix index b225acb..5913433 100644 --- a/home-manager/modules/packages.nix +++ b/home-manager/modules/packages.nix @@ -105,8 +105,8 @@ in ++ ( if (config.machine.isGraphical && !config.machine.isGeneric) then [ - jetbrains.pycharm-professional - # jetbrains.webstorm + # jetbrains.pycharm-professional + jetbrains.webstorm # jetbrains.phpstorm # jetbrains.rust-rover # jetbrains.goland diff --git a/nixos/common.nix b/nixos/common.nix index acac05d..7ac9aa8 100644 --- a/nixos/common.nix +++ b/nixos/common.nix @@ -115,8 +115,9 @@ in }; flatpak.enable = true; avahi = { - # enable = true; - # nssmdns4 = true; + enable = true; + nssmdns4 = true; + openFirewall = true; }; mullvad-vpn = { enable = true;