# # Gnome configuration # # flake.nix # ├─ ./hosts # │ └─ ./laptop # │ └─ default.nix # └─ ./modules # └─ ./desktop # └─ ./gnome # └─ default.nix * # { config, lib, user, pkgs, ... }: { hardware.pulseaudio.enable = lib.mkForce false; environment.systemPackages = with pkgs; [ gnome.gnome-terminal gnomeExtensions.dash-to-dock rocm-opencl-icd rocm-opencl-runtime clinfo ]; services = { xserver = { enable = true; desktopManager.gnome.enable = true; displayManager = { gdm.wayland = true; gdm.enable = true; gdm.settings = { # daemon = { # AutomaticLoginEnable=true; # AutomaticLogin="kabbone"; # }; security = { DisallowTCP=true; }; }; defaultSession = "steam-wayland"; autoLogin.enable = true; autoLogin.user = "kabbone"; }; }; }; # systemd.services.gamescope-switcher = { # wantedBy = [ "graphical.target" ]; # serviceConfig = { # User = 2000; # PAMName = "login"; # WorkingDirectory = "~"; # # TTYPath = "/dev/tty7"; # TTYReset = "yes"; # TTYVHangup = "yes"; # TTYVTDisallocate = "yes"; # # StandardInput = "tty-fail"; # StandardOutput = "journal"; # StandardError = "journal"; # # UtmpIdentifier = "tty7"; # UtmpMode = "user"; # # Restart = "always"; # }; # # script = '' # set-session () { # mkdir -p ~/.local/state # >~/.local/state/steamos-session-select echo "$1" # } # consume-session () { # if [[ -e ~/.local/state/steamos-session-select ]]; then # cat ~/.local/state/steamos-session-select # rm ~/.local/state/steamos-session-select # else # echo "gamescope" # fi # } # while :; do # session=$(consume-session) # case "$session" in # plasma) # dbus-run-session -- gnome-shell --display-server --wayland # ;; # gamescope) # steam-session # ;; # esac # done # ''; # }; }