Initial commit

This commit is contained in:
Prouk committed 2026-07-23 18:45:14 +02:00
commit adefce92cf
33 files changed
+782

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
{ pkgs, ... }:
{
programs.zed-editor = {
enable = true;
defaultEditor = true;
};
home.packages = with pkgs; [
devenv
nil
nixd
];
}
+8
View File
@@ -0,0 +1,8 @@
{ ... }:
{
xdg.configFile."niri" = {
force = true;
recursive = true;
source = ./niri;
};
}
+2
View File
@@ -0,0 +1,2 @@
animations {
}
+21
View File
@@ -0,0 +1,21 @@
include "startup.kdl"
include "env.kdl"
include "animations.kdl"
include "inputs.kdl"
include "keybinds.kdl"
include "layout.kdl"
include "outputs.kdl"
include "wrules.kdl"
hotkey-overlay {
skip-at-startup
}
cursor {
xcursor-theme "Colloid-dark-cursors"
xcursor-size 24
}
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
+60
View File
@@ -0,0 +1,60 @@
environment {
// =========================================================================
// 1. NVIDIA & GBM BACKEND
// =========================================================================
// Forces the Generic Buffer Manager (GBM) to use the NVIDIA DRM driver.
GBM_BACKEND "nvidia-drm"
// Forces OpenGL/GLX applications to use the NVIDIA proprietary driver.
__GLX_VENDOR_LIBRARY_NAME "nvidia"
// =========================================================================
// 2. HARDWARE VIDEO ACCELERATION
// =========================================================================
// Tells VA-API to use the NVIDIA driver for hardware-accelerated video.
LIBVA_DRIVER_NAME "nvidia"
// REQUIRED if you use 'nvidia-vaapi-driver' for Firefox/Chromium video decoding.
NVD_BACKEND "direct"
// =========================================================================
// 3. VARIABLE REFRESH RATE (G-SYNC / VRR)
// =========================================================================
// Enables G-Sync / Adaptive Sync for capable monitors.
__GL_GSYNC_ALLOWED "1"
// Controls VRR. Note: If you experience desktop flickering, change this to "0".
__GL_VRR_ALLOWED "1"
// =========================================================================
// 4. TOOLKIT BACKENDS (Forces apps to run natively on Wayland)
// =========================================================================
// GTK: Try Wayland first, fallback to X11 if necessary.
GDK_BACKEND "wayland,x11,*"
// Qt: Use Wayland, fallback to X11.
QT_QPA_PLATFORM "wayland;xcb"
// Prevents Qt from drawing its own window borders/decorations.
QT_WAYLAND_DISABLE_WINDOWDECORATION "1"
// SDL: Forces games using modern SDL2/SDL3 to run natively on Wayland.
SDL_VIDEODRIVER "wayland"
// Clutter: Force Wayland backend.
CLUTTER_BACKEND "wayland"
// Firefox: Force native Wayland rendering (massively improves scrolling smoothness).
MOZ_ENABLE_WAYLAND "1"
// Electron/Chromium: Automatically flags apps (VS Code, Discord, Obsidian) to use Wayland.
ELECTRON_OZONE_PLATFORM_HINT "auto"
// =========================================================================
// 5. DESKTOP SESSION IDENTIFICATION
// =========================================================================
// Helps xdg-desktop-portal and styling tools recognize your environment.
XDG_SESSION_TYPE "wayland"
XDG_CURRENT_DESKTOP "niri"
XDG_SESSION_DESKTOP "niri"
}
+24
View File
@@ -0,0 +1,24 @@
input {
keyboard {
xkb {
layout "us"
}
}
touchpad {
off
}
mouse {
accel-speed 1
accel-profile "flat"
}
trackpoint {
off
}
warp-mouse-to-focus
focus-follows-mouse max-scroll-amount="0%"
}
+37
View File
@@ -0,0 +1,37 @@
binds {
Mod+Shift+Slash { show-hotkey-overlay; }
Mod+Tab repeat=false { toggle-overview; }
Mod+Escape repeat=false { close-window; }
Mod+Left { focus-column-or-monitor-left; }
Mod+Right { focus-column-or-monitor-right; }
Mod+Alt+Left { move-column-left-or-to-monitor-left; }
Mod+Alt+Right { move-column-right-or-to-monitor-right; }
Mod+Alt+Up { move-window-up-or-to-workspace-up; }
Mod+Alt+Down { move-window-down-or-to-workspace-down; }
Mod+Up { focus-workspace-up; }
Mod+Down { focus-workspace-down; }
Mod+R { switch-preset-column-width; }
Mod+Ctrl+R { reset-window-height; }
Mod+Minus { set-column-width "-10%"; }
Mod+Equal { set-column-width "+10%"; }
F11 { toggle-windowed-fullscreen; }
Mod+F11 { fullscreen-window; }
Mod+F { toggle-window-floating; }
Mod+Shift+F { switch-focus-between-floating-and-tiling; }
Print { screenshot; }
Ctrl+Print { screenshot-screen; }
Alt+Print { screenshot-window; }
Mod+Q { spawn "alacritty"; }
Mod+Grave { spawn "fuzzel"; }
}
+35
View File
@@ -0,0 +1,35 @@
layout {
background-color "transparent"
gaps 16
center-focused-column "never"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width { proportion 0.5; }
focus-ring {
off
}
border {
off
}
shadow {
}
struts {
}
empty-workspace-above-first
}
layer-rule {
match namespace="^awww-daemon$"
place-within-backdrop true
}
+11
View File
@@ -0,0 +1,11 @@
output "DP-2" {
mode "2560x1440@239.970"
variable-refresh-rate
focus-at-startup
}
output "DP-3" {
mode "1920x1080@143.981"
transform "90"
position x=-1080 y=-440
}
+2
View File
@@ -0,0 +1,2 @@
spawn-at-startup "awww-daemon"
spawn-at-startup "awww img ~/Pictures/Wallpapers/Wallpaper.png --resize crop --crop-gravity center"
+9
View File
@@ -0,0 +1,9 @@
window-rule {
match title="^Picture-in-Picture$"
open-floating true
}
window-rule {
geometry-corner-radius 12
clip-to-geometry true
}
+37
View File
@@ -0,0 +1,37 @@
{
pkgs,
...
}:
{
imports = [
./user.nix
./programs.nix
./code.nix
./config
./look.nix
];
programs.git.enable = true;
programs.bash.enable = true;
programs.direnv = {
enable = true;
enableBashIntegration = true;
};
home.packages = with pkgs; [
xwayland-satellite
github-copilot-cli
vesktop
pavucontrol
wev
lutris
fuzzel
gparted
yazi
btop
awww
wootility
wooting-udev-rules
];
home.stateVersion = "26.05";
}
+16
View File
@@ -0,0 +1,16 @@
{ pkgs, ... }:
{
gtk = {
enable = true;
};
home.pointerCursor = {
enable = true;
gtk.enable = true;
x11.enable = true;
package = pkgs.colloid-cursors;
name = "Colloid-dark-cursors";
size = 24;
};
}
+11
View File
@@ -0,0 +1,11 @@
{ inputs, ... }:
{
imports = [
inputs.zen-browser.homeModules.twilight
];
programs.zen-browser = {
enable = true;
setAsDefaultBrowser = true;
};
}
+5
View File
@@ -0,0 +1,5 @@
{ ... }:
{
home.username = "prouk";
home.homeDirectory = "/home/prouk";
}