mirror of
				https://github.com/materusPL/nixos-config
				synced 2025-11-03 22:10:28 +01:00 
			
		
		
		
	materusPC: add apps.nix
This commit is contained in:
		
							parent
							
								
									2959e10532
								
							
						
					
					
						commit
						3fd49d452b
					
				
							
								
								
									
										106
									
								
								configurations/host/materusPC/apps.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								configurations/host/materusPC/apps.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,106 @@
 | 
			
		||||
{config, pkgs, materusArg, ...}:
 | 
			
		||||
{
 | 
			
		||||
    environment.systemPackages = with pkgs; [
 | 
			
		||||
    gamescope
 | 
			
		||||
    #(pkgs.lutris.override { extraLibraries = pkgs: with pkgs;  [ pkgs.samba pkgs.jansson pkgs.tdb pkgs.libunwind pkgs.libusb1 pkgs.gnutls pkgs.gtk3 pkgs.pango ]; })
 | 
			
		||||
    materusArg.pkgs.amdgpu-pro-libs.prefixes
 | 
			
		||||
    (pkgs.bottles.override { extraPkgs = pkgs: [ pkgs.libsForQt5.breeze-qt5 pkgs.kdePackages.breeze-gtk pkgs.nss_latest ]; extraLibraries = pkgs: [ pkgs.samba pkgs.jansson pkgs.tdb pkgs.libunwind pkgs.libusb1 pkgs.gnutls pkgs.gtk3 pkgs.pango ]; })
 | 
			
		||||
    glibc
 | 
			
		||||
    glib
 | 
			
		||||
    gtk3
 | 
			
		||||
    gtk4
 | 
			
		||||
    gsettings-desktop-schemas
 | 
			
		||||
    kdePackages.dolphin
 | 
			
		||||
    vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
 | 
			
		||||
 | 
			
		||||
    patchelf
 | 
			
		||||
    killall
 | 
			
		||||
    util-linux
 | 
			
		||||
    xorg.xhost
 | 
			
		||||
    nix-top
 | 
			
		||||
 | 
			
		||||
    gitFull
 | 
			
		||||
    curl
 | 
			
		||||
    wget
 | 
			
		||||
 | 
			
		||||
    config.programs.java.package
 | 
			
		||||
 | 
			
		||||
    nss_latest
 | 
			
		||||
 | 
			
		||||
    pciutils
 | 
			
		||||
 | 
			
		||||
    aspell
 | 
			
		||||
    aspellDicts.pl
 | 
			
		||||
    aspellDicts.en
 | 
			
		||||
    aspellDicts.en-computers
 | 
			
		||||
    steamtinkerlaunch
 | 
			
		||||
    distrobox
 | 
			
		||||
    # WebP support
 | 
			
		||||
    libwebp
 | 
			
		||||
    webp-pixbuf-loader
 | 
			
		||||
 | 
			
		||||
    # Compression
 | 
			
		||||
    p7zip
 | 
			
		||||
    unrar
 | 
			
		||||
    bzip2
 | 
			
		||||
    rar
 | 
			
		||||
    unzip
 | 
			
		||||
    zstd
 | 
			
		||||
    xz
 | 
			
		||||
    zip
 | 
			
		||||
    gzip
 | 
			
		||||
 | 
			
		||||
    tree
 | 
			
		||||
    mc
 | 
			
		||||
    lf
 | 
			
		||||
    htop
 | 
			
		||||
    nmon
 | 
			
		||||
    iftop
 | 
			
		||||
    iptraf-ng
 | 
			
		||||
    mprocs
 | 
			
		||||
    tldr
 | 
			
		||||
    bat
 | 
			
		||||
    ##config.materus.profile.packages.home-manager
 | 
			
		||||
    gcr
 | 
			
		||||
    # pgcli
 | 
			
		||||
    # litecli
 | 
			
		||||
    materusArg.pkgs.alvr
 | 
			
		||||
    #zenmonitor
 | 
			
		||||
 | 
			
		||||
    nix-du
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    kate
 | 
			
		||||
    krusader
 | 
			
		||||
 | 
			
		||||
    wineWowPackages.stagingFull
 | 
			
		||||
    winetricks
 | 
			
		||||
    protontricks
 | 
			
		||||
    gnupg
 | 
			
		||||
    pinentry
 | 
			
		||||
    pinentry-gnome3
 | 
			
		||||
    pinentry-curses
 | 
			
		||||
    ncurses
 | 
			
		||||
    monkeysphere
 | 
			
		||||
    gparted
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    virt-viewer
 | 
			
		||||
 | 
			
		||||
    inkscape
 | 
			
		||||
    gimp
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    git-crypt
 | 
			
		||||
 | 
			
		||||
    bubblewrap
 | 
			
		||||
    bindfs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    binutils
 | 
			
		||||
    
 | 
			
		||||
  ];
 | 
			
		||||
}
 | 
			
		||||
@ -4,11 +4,7 @@
 | 
			
		||||
  virtualisation.lxc.enable = true;
 | 
			
		||||
  virtualisation.lxc.lxcfs.enable = true;
 | 
			
		||||
  virtualisation.lxd.enable = true;
 | 
			
		||||
  #virtualisation.lxd.recommendedSysctlSettings = true;
 | 
			
		||||
 | 
			
		||||
  #programs.corectrl.enable = true;
 | 
			
		||||
  #programs.corectrl.gpuOverclock.enable = true;
 | 
			
		||||
  #programs.corectrl.gpuOverclock.ppfeaturemask = "0xffffffff";
 | 
			
		||||
  programs.gamemode.enable = true;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -33,13 +29,8 @@
 | 
			
		||||
  services.dbus.packages = [ pkgs.gcr ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  #services.xserver.displayManager.autoLogin.user = "materus";
 | 
			
		||||
 | 
			
		||||
  services.xserver.displayManager.startx.enable = false;
 | 
			
		||||
  /*
 | 
			
		||||
    services.xserver.displayManager.lightdm.enable = true;
 | 
			
		||||
    services.xserver.displayManager.lightdm.greeters.enso.enable = true;
 | 
			
		||||
    services.xserver.displayManager.lightdm.greeters.enso.blur = true;
 | 
			
		||||
  */
 | 
			
		||||
 | 
			
		||||
  xdg.portal.enable = true;
 | 
			
		||||
  xdg.portal.wlr.enable = true;
 | 
			
		||||
@ -72,7 +63,6 @@
 | 
			
		||||
  virtualisation.waydroid.enable = false;
 | 
			
		||||
  virtualisation.podman = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    #enableNvidia = true;
 | 
			
		||||
    dockerCompat = true;
 | 
			
		||||
    dockerSocket.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
@ -112,9 +102,7 @@
 | 
			
		||||
    QT_IM_MODULE = "fcitx";
 | 
			
		||||
    XMODIFIERS = "@im=fcitx";
 | 
			
		||||
    SDL_IM_MODULE = "fcitx";
 | 
			
		||||
    #SDL_AUDIODRIVER = "pipewire";
 | 
			
		||||
 | 
			
		||||
    #SSH_ASKPASS_REQUIRE = "prefer";
 | 
			
		||||
 | 
			
		||||
    MOZ_USE_XINPUT2 = "1";
 | 
			
		||||
    PATH = [
 | 
			
		||||
@ -130,9 +118,7 @@
 | 
			
		||||
  i18n.inputMethod.fcitx5.addons = [ pkgs.kdePackages.fcitx5-configtool pkgs.fcitx5-lua pkgs.fcitx5-mozc pkgs.fcitx5-gtk pkgs.kdePackages.fcitx5-qt ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  # Some programs need SUID wrappers, can be configured further or are
 | 
			
		||||
  # started in user sessions.
 | 
			
		||||
  # programs.mtr.enable = true;
 | 
			
		||||
 | 
			
		||||
  services.pcscd.enable = true;
 | 
			
		||||
  services.samba-wsdd.enable = true;
 | 
			
		||||
 | 
			
		||||
@ -166,266 +152,7 @@
 | 
			
		||||
  materus.profile.browser.enable = true;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  /*containers.test = {
 | 
			
		||||
    config = { config, pkgs, ... }: { environment.systemPackages = with pkgs; [ wayfire ]; };
 | 
			
		||||
    autoStart = false;
 | 
			
		||||
    };*/
 | 
			
		||||
  services.davfs2.enable = true;
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    gamescope
 | 
			
		||||
    #(pkgs.lutris.override { extraLibraries = pkgs: with pkgs;  [ pkgs.samba pkgs.jansson pkgs.tdb pkgs.libunwind pkgs.libusb1 pkgs.gnutls pkgs.gtk3 pkgs.pango ]; })
 | 
			
		||||
    materusArg.pkgs.amdgpu-pro-libs.prefixes
 | 
			
		||||
    (pkgs.bottles.override { extraPkgs = pkgs: [ pkgs.libsForQt5.breeze-qt5 pkgs.kdePackages.breeze-gtk pkgs.nss_latest ]; extraLibraries = pkgs: [ pkgs.samba pkgs.jansson pkgs.tdb pkgs.libunwind pkgs.libusb1 pkgs.gnutls pkgs.gtk3 pkgs.pango ]; })
 | 
			
		||||
    glibc
 | 
			
		||||
    glib
 | 
			
		||||
    gtk3
 | 
			
		||||
    gtk4
 | 
			
		||||
    gsettings-desktop-schemas
 | 
			
		||||
    kdePackages.dolphin
 | 
			
		||||
    vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
 | 
			
		||||
 | 
			
		||||
    patchelf
 | 
			
		||||
    killall
 | 
			
		||||
    util-linux
 | 
			
		||||
    xorg.xhost
 | 
			
		||||
    nix-top
 | 
			
		||||
 | 
			
		||||
    gitFull
 | 
			
		||||
    curl
 | 
			
		||||
    wget
 | 
			
		||||
 | 
			
		||||
    config.programs.java.package
 | 
			
		||||
 | 
			
		||||
    nss_latest
 | 
			
		||||
 | 
			
		||||
    pciutils
 | 
			
		||||
 | 
			
		||||
    aspell
 | 
			
		||||
    aspellDicts.pl
 | 
			
		||||
    aspellDicts.en
 | 
			
		||||
    aspellDicts.en-computers
 | 
			
		||||
    steamtinkerlaunch
 | 
			
		||||
    distrobox
 | 
			
		||||
    # WebP support
 | 
			
		||||
    libwebp
 | 
			
		||||
    webp-pixbuf-loader
 | 
			
		||||
 | 
			
		||||
    # Compression
 | 
			
		||||
    p7zip
 | 
			
		||||
    unrar
 | 
			
		||||
    bzip2
 | 
			
		||||
    rar
 | 
			
		||||
    unzip
 | 
			
		||||
    zstd
 | 
			
		||||
    xz
 | 
			
		||||
    zip
 | 
			
		||||
    gzip
 | 
			
		||||
 | 
			
		||||
    tree
 | 
			
		||||
    mc
 | 
			
		||||
    lf
 | 
			
		||||
    htop
 | 
			
		||||
    nmon
 | 
			
		||||
    iftop
 | 
			
		||||
    iptraf-ng
 | 
			
		||||
    mprocs
 | 
			
		||||
    tldr
 | 
			
		||||
    bat
 | 
			
		||||
    ##config.materus.profile.packages.home-manager
 | 
			
		||||
    gcr
 | 
			
		||||
    # pgcli
 | 
			
		||||
    # litecli
 | 
			
		||||
    materusArg.pkgs.alvr
 | 
			
		||||
    #zenmonitor
 | 
			
		||||
 | 
			
		||||
    nix-du
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    kate
 | 
			
		||||
    krusader
 | 
			
		||||
 | 
			
		||||
    wineWowPackages.stagingFull
 | 
			
		||||
    winetricks
 | 
			
		||||
    protontricks
 | 
			
		||||
    gnupg
 | 
			
		||||
    pinentry
 | 
			
		||||
    pinentry-gnome3
 | 
			
		||||
    pinentry-curses
 | 
			
		||||
    ncurses
 | 
			
		||||
    monkeysphere
 | 
			
		||||
    gparted
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    virt-viewer
 | 
			
		||||
 | 
			
		||||
    inkscape
 | 
			
		||||
    gimp
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    git-crypt
 | 
			
		||||
 | 
			
		||||
    bubblewrap
 | 
			
		||||
    bindfs
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    binutils
 | 
			
		||||
    
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  environment.etc = {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
      "libvirt/hooks/qemu.d/win11/prepare/begin/start.sh" = {
 | 
			
		||||
      text =
 | 
			
		||||
      ''
 | 
			
		||||
      #!/usr/bin/env bash
 | 
			
		||||
      # Debugging
 | 
			
		||||
      exec 19>/home/materus/startlogfile
 | 
			
		||||
      BASH_XTRACEFD=19
 | 
			
		||||
      set -x
 | 
			
		||||
 | 
			
		||||
      exec 3>&1 4>&2
 | 
			
		||||
      trap 'exec 2>&4 1>&3' 0 1 2 3
 | 
			
		||||
      exec 1>/home/materus/startlogfile.out 2>&1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      # Stop display manager
 | 
			
		||||
      killall -u materus
 | 
			
		||||
      systemctl stop display-manager.service
 | 
			
		||||
      killall gdm-x-session
 | 
			
		||||
      #systemctl isolate multi-user.target
 | 
			
		||||
      sleep 1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      # Load variables we defined
 | 
			
		||||
      source "/etc/libvirt/hooks/kvm.conf"
 | 
			
		||||
 | 
			
		||||
      # Isolate host to core 0
 | 
			
		||||
      systemctl set-property --runtime -- user.slice AllowedCPUs=0
 | 
			
		||||
      systemctl set-property --runtime -- system.slice AllowedCPUs=0
 | 
			
		||||
      systemctl set-property --runtime -- init.scope AllowedCPUs=0
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      # Unbind VTconsoles
 | 
			
		||||
      for (( i = 0; i < 16; i++))
 | 
			
		||||
      do
 | 
			
		||||
      if test -x /sys/class/vtconsole/vtcon"''${i}"; then
 | 
			
		||||
      if [ "$(grep -c "frame buffer" /sys/class/vtconsole/vtcon"''${i}"/name)" = 1 ]; then
 | 
			
		||||
      echo 0 > /sys/class/vtconsole/vtcon"''${i}"/bind
 | 
			
		||||
      echo "$DATE Unbinding Console ''${i}"
 | 
			
		||||
      fi
 | 
			
		||||
      fi
 | 
			
		||||
      done
 | 
			
		||||
 | 
			
		||||
      # Unbind EFI Framebuffer
 | 
			
		||||
      echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/unbind
 | 
			
		||||
 | 
			
		||||
      # Avoid race condition
 | 
			
		||||
      sleep 1
 | 
			
		||||
 | 
			
		||||
      # Unload NVIDIA kernel modules
 | 
			
		||||
      modprobe -r nvidia_uvm
 | 
			
		||||
      modprobe -r nvidia_drm
 | 
			
		||||
      modprobe -r nvidia_modeset
 | 
			
		||||
      modprobe -r nvidia
 | 
			
		||||
      modprobe -r i2c_nvidia_gpu
 | 
			
		||||
      modprobe -r drm_kms_helper
 | 
			
		||||
      modprobe -r drm
 | 
			
		||||
 | 
			
		||||
      # Detach GPU devices from host
 | 
			
		||||
      #virsh nodedev-detach $VIRSH_GPU_VIDEO
 | 
			
		||||
      #virsh nodedev-detach $VIRSH_GPU_AUDIO
 | 
			
		||||
      #virsh nodedev-detach $VIRSH_GPU_USB
 | 
			
		||||
      #virsh nodedev-detach $VIRSH_GPU_SERIAL_BUS
 | 
			
		||||
 | 
			
		||||
      # Load vfio module
 | 
			
		||||
      modprobe vfio
 | 
			
		||||
      modprobe vfio_pci
 | 
			
		||||
      modprobe vfio_iommu_type1
 | 
			
		||||
      '';
 | 
			
		||||
      mode = "0755";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      "libvirt/hooks/qemu.d/win11/release/end/stop.sh" = {
 | 
			
		||||
      text =
 | 
			
		||||
      ''
 | 
			
		||||
      #!/usr/bin/env bash
 | 
			
		||||
      # Debugging
 | 
			
		||||
      exec 19>/home/materus/stoplogfile
 | 
			
		||||
      BASH_XTRACEFD=19
 | 
			
		||||
      set -x
 | 
			
		||||
 | 
			
		||||
      exec 3>&1 4>&2
 | 
			
		||||
      trap 'exec 2>&4 1>&3' 0 1 2 3
 | 
			
		||||
      exec 1>/home/materus/stoplogfile.out 2>&1
 | 
			
		||||
 | 
			
		||||
      # Load variables we defined
 | 
			
		||||
      source "/etc/libvirt/hooks/kvm.conf"
 | 
			
		||||
 | 
			
		||||
      # Unload vfio module
 | 
			
		||||
      modprobe -r vfio-pci
 | 
			
		||||
      modprobe -r vfio_iommu_type1
 | 
			
		||||
      modprobe -r vfio
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      modprobe drm
 | 
			
		||||
      modprobe drm_kms_helper
 | 
			
		||||
      modprobe i2c_nvidia_gpu
 | 
			
		||||
      modprobe nvidia
 | 
			
		||||
      modprobe nvidia_modeset
 | 
			
		||||
      modprobe nvidia_drm
 | 
			
		||||
      modprobe nvidia_uvm
 | 
			
		||||
 | 
			
		||||
      # Attach GPU devices from host
 | 
			
		||||
      #virsh nodedev-reattach $VIRSH_GPU_VIDEO
 | 
			
		||||
      #virsh nodedev-reattach $VIRSH_GPU_AUDIO
 | 
			
		||||
      #virsh nodedev-reattach $VIRSH_GPU_USB
 | 
			
		||||
      #virsh nodedev-reattach $VIRSH_GPU_SERIAL_BUS
 | 
			
		||||
 | 
			
		||||
      #echo "0000:01:00.0" > /sys/bus/pci/drivers/nvidia/bind
 | 
			
		||||
      # Bind EFI Framebuffer
 | 
			
		||||
      echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind
 | 
			
		||||
 | 
			
		||||
      # Bind VTconsoles
 | 
			
		||||
      echo 1 > /sys/class/vtconsole/vtcon0/bind
 | 
			
		||||
      #echo 1 > /sys/class/vtconsole/vtcon1/bind
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      # Start display manager
 | 
			
		||||
      sleep 1
 | 
			
		||||
      systemctl start display-manager.service
 | 
			
		||||
 | 
			
		||||
      # Return host to all cores
 | 
			
		||||
      systemctl set-property --runtime -- user.slice AllowedCPUs=0-3
 | 
			
		||||
      systemctl set-property --runtime -- system.slice AllowedCPUs=0-3
 | 
			
		||||
      systemctl set-property --runtime -- init.scope AllowedCPUs=0-3
 | 
			
		||||
      '';
 | 
			
		||||
        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      text = ''
 | 
			
		||||
      #!/usr/bin/env bash
 | 
			
		||||
      reboot
 | 
			
		||||
      '';*-/
 | 
			
		||||
      mode = "0755";
 | 
			
		||||
      };
 | 
			
		||||
      "libvirt/vgabios/patched.rom".source = ./vbios.rom;
 | 
			
		||||
      }; 
 | 
			
		||||
      };
 | 
			
		||||
    */
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user