Initial commit
This commit is contained in:
commit
adefce92cf
33 files changed
+782
No files matched your search
+10
@@ -0,0 +1,10 @@
|
|||||||
|
# Devenv
|
||||||
|
.devenv*
|
||||||
|
devenv.local.nix
|
||||||
|
devenv.local.yaml
|
||||||
|
|
||||||
|
# direnv
|
||||||
|
.direnv
|
||||||
|
|
||||||
|
# pre-commit
|
||||||
|
.pre-commit-config.yaml
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
# Makefile to safely clean up NixOS profiles, keeping only the last 3 generations.
|
||||||
|
|
||||||
|
.PHONY: help dry-run clean-system clean-user clean-home-manager clean-all
|
||||||
|
|
||||||
|
# Default target displays the help menu
|
||||||
|
help:
|
||||||
|
@echo "NixOS Profile Cleanup Utility"
|
||||||
|
@echo "============================="
|
||||||
|
@echo "Available targets:"
|
||||||
|
@echo " make dry-run - Safe preview of what will be deleted"
|
||||||
|
@echo " make clean-system - Clean system generations and update bootloader (requires sudo)"
|
||||||
|
@echo " make clean-user - Clean current user's profile generations"
|
||||||
|
@echo " make clean-home-manager - Clean Home Manager generations (if applicable)"
|
||||||
|
@echo " make clean-all - Clean everything (System, User, and Home Manager)"
|
||||||
|
|
||||||
|
# Dry run to preview changes without deleting anything
|
||||||
|
dry-run:
|
||||||
|
@echo "=== [DRY RUN] System Profile ==="
|
||||||
|
sudo nix-env --profile /nix/var/nix/profiles/system --delete-generations +3 --dry-run
|
||||||
|
@echo "\n=== [DRY RUN] User Profile ==="
|
||||||
|
nix-env --delete-generations +3 --dry-run
|
||||||
|
@echo "\n=== [DRY RUN] Home Manager Profile ==="
|
||||||
|
@if [ -d "$$HOME/.local/state/nix/profiles/home-manager" ]; then \
|
||||||
|
nix-env --profile "$$HOME/.local/state/nix/profiles/home-manager" --delete-generations +3 --dry-run; \
|
||||||
|
elif [ -d "$$HOME/.nix-profile" ]; then \
|
||||||
|
echo "No Home Manager directory found, but user profile exists."; \
|
||||||
|
else \
|
||||||
|
echo "No Home Manager profile detected."; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean system generations (requires sudo)
|
||||||
|
clean-system:
|
||||||
|
@echo "--- Cleaning System Profile (SUDO) ---"
|
||||||
|
sudo nix-env --profile /nix/var/nix/profiles/system --delete-generations +3
|
||||||
|
sudo nix-collect-garbage
|
||||||
|
@echo "--- Updating Bootloader Menu ---"
|
||||||
|
sudo nixos-rebuild boot --flake
|
||||||
|
|
||||||
|
# Clean user generations (no sudo)
|
||||||
|
clean-user:
|
||||||
|
@echo "--- Cleaning User Profile ---"
|
||||||
|
nix-env --delete-generations +3
|
||||||
|
nix-collect-garbage
|
||||||
|
|
||||||
|
# Clean Home Manager generations (no sudo)
|
||||||
|
clean-home-manager:
|
||||||
|
@echo "--- Cleaning Home Manager Profile ---"
|
||||||
|
@if [ -d "$$HOME/.local/state/nix/profiles/home-manager" ]; then \
|
||||||
|
nix-env --profile "$$HOME/.local/state/nix/profiles/home-manager" --delete-generations +3; \
|
||||||
|
nix-collect-garbage; \
|
||||||
|
else \
|
||||||
|
echo "No Home Manager profile found. Skipping."; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean everything in one go
|
||||||
|
clean-all: clean-system clean-user clean-home-manager
|
||||||
|
@echo "All cleanups successfully completed!"
|
||||||
|
|
||||||
|
# Rebuild
|
||||||
|
rebuild:
|
||||||
|
@echo "--- Rebuilding System ---"
|
||||||
|
sudo nixos-rebuild switch --flake
|
||||||
|
|
||||||
|
# Update flake
|
||||||
|
update:
|
||||||
|
@echo "--- Updating Flake ---"
|
||||||
|
sudo nix flake update
|
||||||
+46
@@ -0,0 +1,46 @@
|
|||||||
|
{ pkgs, lib, config, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# https://devenv.sh/basics/
|
||||||
|
env.GREET = "devenv";
|
||||||
|
|
||||||
|
# https://devenv.sh/packages/
|
||||||
|
packages = [ pkgs.git ];
|
||||||
|
|
||||||
|
# https://devenv.sh/languages/
|
||||||
|
# languages.rust.enable = true;
|
||||||
|
|
||||||
|
# https://devenv.sh/processes/
|
||||||
|
# processes.dev.exec = "${lib.getExe pkgs.watchexec} -n -- ls -la";
|
||||||
|
|
||||||
|
# https://devenv.sh/services/
|
||||||
|
# services.postgres.enable = true;
|
||||||
|
|
||||||
|
# https://devenv.sh/scripts/
|
||||||
|
scripts.hello.exec = ''
|
||||||
|
echo hello from $GREET
|
||||||
|
'';
|
||||||
|
|
||||||
|
# https://devenv.sh/basics/
|
||||||
|
enterShell = ''
|
||||||
|
hello # Run scripts directly
|
||||||
|
git --version # Use packages
|
||||||
|
'';
|
||||||
|
|
||||||
|
# https://devenv.sh/tasks/
|
||||||
|
# tasks = {
|
||||||
|
# "myproj:setup".exec = "mytool build";
|
||||||
|
# "devenv:enterShell".after = [ "myproj:setup" ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
# https://devenv.sh/tests/
|
||||||
|
enterTest = ''
|
||||||
|
echo "Running tests"
|
||||||
|
git --version | grep --color=auto "${pkgs.git.version}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
# https://devenv.sh/git-hooks/
|
||||||
|
# git-hooks.hooks.shellcheck.enable = true;
|
||||||
|
|
||||||
|
# See full reference at https://devenv.sh/reference/options/
|
||||||
|
}
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json
|
||||||
|
inputs:
|
||||||
|
nixpkgs:
|
||||||
|
url: github:cachix/devenv-nixpkgs/rolling
|
||||||
|
|
||||||
|
# If you're using non-OSS software, you can set allow_unfree to true.
|
||||||
|
# allow_unfree: true
|
||||||
|
|
||||||
|
# If you're not willing to allow unsupported packages:
|
||||||
|
# allow_unsupported_system: false
|
||||||
|
|
||||||
|
# If you're willing to use a package that's vulnerable
|
||||||
|
# permitted_insecure_packages:
|
||||||
|
# - "openssl-1.1.1w"
|
||||||
|
|
||||||
|
# If you have more than one devenv you can merge them
|
||||||
|
#imports:
|
||||||
|
# - ./backend
|
||||||
Generated
+70
@@ -0,0 +1,70 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784789275,
|
||||||
|
"narHash": "sha256-cgRTWuG+u1tBPhm01JrId2k0Bni09phVJ1Q0BZlRd7M=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "3b0e6bbd65869af1beadf5963a99befc179d209f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784497964,
|
||||||
|
"narHash": "sha256-WhdsTtaih3DgTPP/PX023b36UNQyMzEoi6GkPyGx0y4=",
|
||||||
|
"rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163",
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1037713.241313f4e8e5/nixexprs.tar.xz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"id": "nixpkgs",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"type": "indirect"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"zen-browser": "zen-browser"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zen-browser": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": [
|
||||||
|
"home-manager"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1784822396,
|
||||||
|
"narHash": "sha256-gW59E7cwPetoOAcygLtHQX7a3C8VdWz6T0GazldcxU0=",
|
||||||
|
"owner": "0xc000022070",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"rev": "a68b1580a237cae4c9f86e04ac972726e3f87fdb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "0xc000022070",
|
||||||
|
"repo": "zen-browser-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
description = "Prouk's magnificent flake";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
zen-browser = {
|
||||||
|
url = "github:0xc000022070/zen-browser-flake";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
home-manager.follows = "home-manager";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs =
|
||||||
|
inputs@{
|
||||||
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
nixosConfigurations.prouk = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./nixos
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
extraSpecialArgs = { inherit inputs; };
|
||||||
|
users.prouk = import ./home;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.zed-editor = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
};
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
devenv
|
||||||
|
nil
|
||||||
|
nixd
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
xdg.configFile."niri" = {
|
||||||
|
force = true;
|
||||||
|
recursive = true;
|
||||||
|
source = ./niri;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
animations {
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
@@ -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%"
|
||||||
|
}
|
||||||
@@ -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"; }
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
}
|
||||||
@@ -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
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
spawn-at-startup "awww-daemon"
|
||||||
|
spawn-at-startup "awww img ~/Pictures/Wallpapers/Wallpaper.png --resize crop --crop-gravity center"
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
window-rule {
|
||||||
|
match title="^Picture-in-Picture$"
|
||||||
|
open-floating true
|
||||||
|
}
|
||||||
|
|
||||||
|
window-rule {
|
||||||
|
geometry-corner-radius 12
|
||||||
|
clip-to-geometry true
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{ inputs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
inputs.zen-browser.homeModules.twilight
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.zen-browser = {
|
||||||
|
enable = true;
|
||||||
|
setAsDefaultBrowser = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
home.username = "prouk";
|
||||||
|
home.homeDirectory = "/home/prouk";
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
alsa-scarlett-gui
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./graphics
|
||||||
|
./audio.nix
|
||||||
|
./fonts/fonts.nix
|
||||||
|
./dm/sddm.nix
|
||||||
|
./wm/niri.nix
|
||||||
|
./inputs/wooting.nix
|
||||||
|
./inputs/wooting.nix
|
||||||
|
./network/bluetooth.nix
|
||||||
|
./steam/steam.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
networking.hostName = "prouk";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
time.timeZone = "Europe/Paris";
|
||||||
|
|
||||||
|
users.users.prouk = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.firefox.enable = true;
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"electron-40.10.5"
|
||||||
|
];
|
||||||
|
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
# NO TOUCHY
|
||||||
|
system.stateVersion = "26.05";
|
||||||
|
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
gnumake
|
||||||
|
];
|
||||||
|
|
||||||
|
nix.settings = {
|
||||||
|
trusted-users = [ "prouk" ];
|
||||||
|
|
||||||
|
substituters = [
|
||||||
|
"https://cache.nixos.org"
|
||||||
|
"https://nix-community.cachix.org"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
services.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
fonts = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
nerd-fonts.iosevka
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
];
|
||||||
|
fontconfig = {
|
||||||
|
enable = true;
|
||||||
|
defaultFonts = {
|
||||||
|
emoji = [
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
hardware.graphics = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./nvidia.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
|
hardware.nvidia = {
|
||||||
|
branch = "bleeding_edge";
|
||||||
|
modesetting.enable = true;
|
||||||
|
powerManagement.enable = false;
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
open = true;
|
||||||
|
nvidiaSettings = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
libva-utils
|
||||||
|
nvidia-vaapi-driver
|
||||||
|
nvtopPackages.nvidia
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [
|
||||||
|
"nvidia"
|
||||||
|
"nvidia-modeset"
|
||||||
|
"nvidia-uvm"
|
||||||
|
"nvidia-drm"
|
||||||
|
];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/fffa5d3f-1684-4434-bbdd-a8792659355f";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/AA82-FC59";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/BIGNVME" = {
|
||||||
|
device = "/dev/disk/by-uuid/866d8acc-fd1b-4c03-aad2-91e4d099d4e4";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/95a4ca9d-b04f-4f5a-b1be-b1b17cba9a7b"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
hardware.wooting.enable = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
Experimental = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.blueman.enable = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
steam.enable = true;
|
||||||
|
gamescope = {
|
||||||
|
enable = true;
|
||||||
|
capSysNice = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
SDL2
|
||||||
|
protonup-rs
|
||||||
|
protontricks
|
||||||
|
winetricks
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
programs.niri.enable = true;
|
||||||
|
programs.xwayland.enable = true;
|
||||||
|
|
||||||
|
environment.variables = {
|
||||||
|
NIXOS_OZONE_WLEGL = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
alacritty
|
||||||
|
];
|
||||||
|
}
|
||||||
Reference in new issue
Block a user