Compare commits

...

4 commits

Author SHA1 Message Date
15e00efe3e [nvidia] Attempts to fix flicker
Switch to nouveau
2024-03-04 16:54:28 +01:00
e810827331 Fix rename 2024-03-04 16:52:53 +01:00
4004a048f6 [sway] Add history log to dmenu 2024-03-04 16:49:09 +01:00
1ac8bc985c [hyprland] Add module 2024-03-04 16:47:34 +01:00
8 changed files with 72 additions and 20 deletions

View file

@ -45,6 +45,7 @@
"spotify"
"steam" "steam-original" "steam-run"
"vista-fonts"
"nvidia-persistenced" # Docker
];
in
utils.lib.mkFlake {

View file

@ -6,6 +6,8 @@
];
sisyphus = {
desktop.sway.enable = true;
hardware.nvidia = {
enable = true;
model = "Quadro T2000";

View file

@ -1,6 +1,7 @@
{
imports = [
./gnome
./hyprland
./plasma
./sway
];

View file

@ -0,0 +1,15 @@
{ config, lib, ... }:
let
cfg = config.sisyphus.desktop.hyprland;
in {
options.sisyphus.desktop.hyprland.enable = lib.mkEnableOption "Hyprland";
config = lib.mkIf cfg.enable {
programs.hyprland = {
enable = true;
xwayland.enable = true;
};
};
}

View file

@ -38,6 +38,26 @@ let
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
gnome_schema=org.gnome.desktop.interface
# gsettings set $gnome_schema gtk-theme 'Dracula'
# https://github.com/crispyricepc/sway-nvidia/blob/2101a18698151a61266740f1297158119bf660ac/wlroots-env-nvidia.sh
# Hardware cursors not yet working on wlroots
export WLR_NO_HARDWARE_CURSORS=1
# Set wlroots renderer to Vulkan to avoid flickering
export WLR_RENDERER=vulkan
# General wayland environment variables
export XDG_SESSION_TYPE=wayland
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
# Firefox wayland environment variable
export MOZ_ENABLE_WAYLAND=1
export MOZ_USE_XINPUT2=1
# OpenGL Variables
export GBM_BACKEND=nvidia-drm
export __GL_GSYNC_ALLOWED=0
export __GL_VRR_ALLOWED=0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
# Xwayland compatibility
export XWAYLAND_NO_GLAMOR=1
'';
};
in {
@ -74,7 +94,7 @@ in {
SCRIPT_DIR = ../../../../scripts;
};
fonts.fonts = with pkgs; [
fonts.packages = with pkgs; [
dejavu_fonts
font-awesome
noto-fonts
@ -100,14 +120,17 @@ in {
power-profiles-daemon.enable = true;
xserver.displayManager.session = [{
manage = "window";
name = "Sway";
start = ''
${pkgs.sway}/bin/sway --unsupported-gpu &
waitPID=$!
'';
}];
xserver = {
displayManager.session = [{
manage = "window";
name = "Sway";
start = ''
${pkgs.sway}/bin/sway --unsupported-gpu &
waitPID=$!
'';
}];
videoDrivers = [ "nouveau" ];
};
};
xdg.portal = {

View file

@ -3,6 +3,7 @@
let
cfg = config.sisyphus.hardware.nvidia;
# The graphics cards for which to do offloading
do-offloading = builtins.elem cfg.model [ "Quadro T2000" ];
nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" ''
export __NV_PRIME_RENDER_OFFLOAD=1
@ -24,7 +25,16 @@ in {
};
config = lib.mkIf cfg.enable {
services.xserver.videoDrivers = [ "nvidia" ];
# boot = {
# extraModprobeConfig = "options nvidia-drm modeset=1";
#
# initrd.kernelModules = [
# "nvidia"
# "nvidia_modeset"
# "nvidia_uvm"
# "nvidia_drm"
# ];
# };
hardware = {
opengl = {
@ -33,7 +43,7 @@ in {
driSupport32Bit = true;
};
nvidia = {
open = true;
open = false;
package = config.boot.kernelPackages.nvidiaPackages.stable;
modesetting.enable = true;
nvidiaSettings = cfg.gui-settings;
@ -42,6 +52,9 @@ in {
finegrained = do-offloading;
};
# Avoid flickering
forceFullCompositionPipeline = true;
prime = lib.mkMerge [
(lib.mkIf do-offloading {
offload = {

View file

@ -61,9 +61,6 @@ in {
icosystem # Personal icon theme
spotify-adblock
]) ++ (with pkgs-unstable; [
# logseq
# obsidian
brave
chafa # Terminal image viewer
duf # Df alternative
@ -72,6 +69,7 @@ in {
jellyfin-media-player
kitty
libreoffice-fresh
logseq
mpv
nextcloud-client
nsxiv # Lightweight image viewer
@ -96,9 +94,7 @@ in {
]);
pointerCursor = {
package = cursor.package;
name = cursor.name;
size = cursor.size;
inherit (cursor) package name size;
gtk.enable = true;
x11.enable = true;
};

View file

@ -15,8 +15,9 @@ set {
$scrollUp button4
$scrollDown button5
$term kitty || alacritty || foot
$menu j4-dmenu-desktop --dmenu "rofi -dmenu -i"
# $term kitty || alacritty || foot
$term kitty
$menu j4-dmenu-desktop --dmenu "rofi -dmenu -i" --usage-log="/home/tdpeuter/.local/state/dmenu.log"
# TODO Find better location and better way to reference this.
$window_switcher /home/tdpeuter/projects/fzf-jump/new.sh
$lock swaylock -f