diff --git a/hardware/opengl-intel.nix b/hardware/opengl-intel.nix index 4d9e6ac..22e6991 100644 --- a/hardware/opengl-intel.nix +++ b/hardware/opengl-intel.nix @@ -12,6 +12,11 @@ nixpkgs.config.libmfxSupport = true; # intel hardware.opengl.enable = true; - #hardware.opengl.extraPackages = [ pkgs.mesa.drivers ]; - hardware.opengl.extraPackages = with pkgs; [ mesa.drivers vaapiIntel libvdpau-va-gl vaapiVdpau intel-ocl ]; + hardware.opengl.extraPackages = with pkgs; [ + mesa.drivers + vaapiIntel + libvdpau-va-gl + vaapiVdpau + intel-ocl + ]; } diff --git a/hosts/nord/default.nix b/hosts/nord/default.nix index adcdabb..f34b1fa 100644 --- a/hosts/nord/default.nix +++ b/hosts/nord/default.nix @@ -13,6 +13,8 @@ boot.kernelPackages = pkgs.linuxPackages_latest; # amdgpu audio fix when at 4k@60fps + services.flatpak.enable = true; + imports = [ ./hardware-configuration.nix ../../hardware/rocm.nix @@ -26,13 +28,16 @@ #../../profiles/desktop/sound/pipewire.nix #../../profiles/desktop/sound/alsa.nix + ../../profiles/desktop/steam.nix + ../../profiles/nfs/reidun.nix - #../../profiles/remote-builders # + ../../profiles/remote-builders #../../profiles/autossh-reverse-tunnels #../../profiles/domeneshop-dyndns # handled by noximilien ]; + networking.firewall.allowedTCPPorts = [ 57621 ]; # spotify # run/build weird binaries # TODO: somehow make sure this is in sync with remote-builders diff --git a/profiles/desktop/gnome/default.nix b/profiles/desktop/gnome/default.nix index 6249eee..48ba0d6 100644 --- a/profiles/desktop/gnome/default.nix +++ b/profiles/desktop/gnome/default.nix @@ -2,18 +2,26 @@ { services.xserver.enable = true; services.xserver.displayManager.gdm.enable = true; + services.xserver.displayManager.gdm.wayland = true; services.xserver.desktopManager.gnome.enable = true; #services.printing.enable = true; # CUPS + programs.xwayland.enable = true; + xdg.portal.enable = true; services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ]; + programs.gnome-terminal.enable = false; + + services.tumbler.enable = true; + services.gnome.sushi.enable = true; + environment.systemPackages = with pkgs; [ lxterminal gnomeExtensions.appindicator ]; environment.gnome.excludePackages = (with pkgs; [ - #gnome-photos + gnome-photos gnome-tour ]) ++ (with pkgs.gnome; [ #cheese # webcam tool diff --git a/profiles/desktop/steam.nix b/profiles/desktop/steam.nix new file mode 100644 index 0000000..28af0dc --- /dev/null +++ b/profiles/desktop/steam.nix @@ -0,0 +1,29 @@ +{ config, pkgs, lib, ... }: +{ + programs.steam.enable = true; + programs.steam.remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play + programs.steam.dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server + + nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ + "steam" + "steam-original" + "steam-runtime" + ]; + + #programs.java.enable = true; + nixpkgs.config.packageOverrides = pkgs: { + steam = pkgs.steam.override { + withPrimus = config.hardware.nvidia.modesetting.enable; + #withJava = config.programs.java.enable; + extraPkgs = pkgs: with pkgs; [ + libgdiplus + ]; + }; + }; + + environment.systemPackages = with pkgs; [ + steam-tui + steamcmd + ]; + +} diff --git a/users/all.nix b/users/all.nix deleted file mode 100644 index 0951275..0000000 --- a/users/all.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ config, pkgs, lib, ... }: -let - to-import = name: value: ./. + ("/" + name); - filter-users = key: val: val == "directory" && lib.pathExists "${./.}${key}/default.nix"; - imports = lib.mapAttrsToList to-import (lib.filterAttrs filter-users (builtins.readDir ./.)); -in -{ - # TODO: does not work? - inherit imports; -} diff --git a/users/pbsds/home/default.nix b/users/pbsds/home/default.nix index 8ea2df8..7ca336f 100644 --- a/users/pbsds/home/default.nix +++ b/users/pbsds/home/default.nix @@ -1,20 +1,19 @@ # https://nix-community.github.io/home-manager/options.html { pkgs, config, ... }: { + nixpkgs.config.allowUnfree = true; + home.stateVersion = "22.11"; + imports = [ ./profiles/bat.nix ./profiles/git.nix ./profiles/gtk.nix ./profiles/micro.nix - ./profiles/mpv.nix ./profiles/shell.nix ./profiles/ssh.nix ./profiles/tmate.nix ]; - nixpkgs.config.allowUnfree = true; - home.stateVersion = "22.11"; - programs.bash.initExtra = '' if [ "$COLORTERM" = "truecolor" ] || [ "$TERM" == "xterm" ]; then export TERM=xterm-256color @@ -81,16 +80,18 @@ comma (python3.withPackages (python-packages: with python-packages; [ - requests - numpy - scipy - ptpython - poetry - rich matplotlib more-itertools - toml + numpy + #objexplore # TODO: package this, used in python interactive shell + poetry + ptpython + python-lsp-server pyyaml + requests + rich + scipy + toml virtualenv ])) ]; @@ -103,12 +104,9 @@ tmux = "systemd-run --scope --user tmux"; # detach from ssh scope, surviving logout - # TODO: wayland detection + # TODO: wayland clip = "xclip -sel clip -t text/plain -rmlastnl -i"; - python = "ptpython"; # this has too many problems... - cpython = "python"; - # TODO: ps1? pwd-fqdn = ''echo "$(whoami)@$(hostname -f):$(printf "%q" "$(realpath .)/")"''; diff --git a/users/pbsds/home/files/opt/python-interactive-imports.py b/users/pbsds/home/files/opt/python-interactive-imports.py index fd7542c..960f645 100755 --- a/users/pbsds/home/files/opt/python-interactive-imports.py +++ b/users/pbsds/home/files/opt/python-interactive-imports.py @@ -16,7 +16,7 @@ import functools import typing from functools import reduce from pathlib import Path -from objexplore import explore +#from objexplore import explore # to be added in nixpkgs p = pprint diff --git a/users/pbsds/home/gnome.nix b/users/pbsds/home/gnome.nix index 3e6f86e..1a682eb 100644 --- a/users/pbsds/home/gnome.nix +++ b/users/pbsds/home/gnome.nix @@ -4,9 +4,12 @@ imports = [ ./default.nix ./profiles/gnome + ./profiles/mpv.nix + ./profiles/desktop.nix ]; home.packages = with pkgs; [ + gnome.eog ]; } diff --git a/users/pbsds/home/profiles/desktop.nix b/users/pbsds/home/profiles/desktop.nix new file mode 100644 index 0000000..adf70e4 --- /dev/null +++ b/users/pbsds/home/profiles/desktop.nix @@ -0,0 +1,35 @@ +{ pkgs, lib, ... }: +{ + home.packages = with pkgs; [ + atom # TODO: config + discord + element-desktop#-wayland + f3d + firefox + gnome-connections + scrcpy + slack + #spotify + transmission-remote-gtk + ]; + + # flatpak + + home.activation.addFlathubRemote = lib.hm.dag.entryAfter ["writeBoundary"] '' + if command -v flatpak >/dev/null; then + $DRY_RUN_CMD \ + flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo + fi + ''; + # TODO: automatic flatpak updates + + /** / + # fix spotify facebook login (i instead opt for flatpack, as it how fails with some libcurl stuff) + nixpkgs.overlays = [(final: prev: { + spotify = prev.spotify.override { + nss = prev.nss_latest; + }; + })]; + /**/ + +} diff --git a/users/pbsds/home/profiles/gnome/dconf-gnome-theme.nix b/users/pbsds/home/profiles/gnome/dconf-gnome-theme.nix index 5f41ba2..81c0120 100644 --- a/users/pbsds/home/profiles/gnome/dconf-gnome-theme.nix +++ b/users/pbsds/home/profiles/gnome/dconf-gnome-theme.nix @@ -6,7 +6,7 @@ with lib.hm.gvariant; { dconf.settings = { "org/gnome/shell/extensions/user-theme" = { - name = "vimix-dark-laptop-ruby"; + name = "vimix-dark-doder"; }; "org/gnome/desktop/interface" = { diff --git a/users/pbsds/home/profiles/shell.nix b/users/pbsds/home/profiles/shell.nix index e723a69..7c6b94b 100644 --- a/users/pbsds/home/profiles/shell.nix +++ b/users/pbsds/home/profiles/shell.nix @@ -52,20 +52,22 @@ curl wget + sshuttle + #tldr entr axel aria xe # xargs alternative sd # sed alternative fd # find alternative - silver-searcher # `ag` - ripgrep + silver-searcher # 'ag' + ripgrep # 'rg' gron jq - yq - fq + yq # includes xmlq and tomlq + fq # binary jq htmlq - just + just # justfile sysz du-dust # du alternative ncdu # Disk usage analyzer with an ncurses interface