fix formatting
This commit is contained in:
@@ -47,7 +47,7 @@ All feature configurations live in `modules/` as standalone NixOS modules:
|
|||||||
- `services.nix` - fstrim, zram, avahi, profile-sync-daemon, earlyoom
|
- `services.nix` - fstrim, zram, avahi, profile-sync-daemon, earlyoom
|
||||||
- `audio.nix`, `theming.nix`, `power.nix`, `virtualization.nix`, `navidrome.nix`, `apps.nix`
|
- `audio.nix`, `theming.nix`, `power.nix`, `virtualization.nix`, `navidrome.nix`, `apps.nix`
|
||||||
|
|
||||||
Each module follows the pattern: `{ config, pkgs, lib, ... }: { ... }`
|
Each module follows the pattern: `{ config, pkgs, lib, ... }:`
|
||||||
|
|
||||||
**Package Management Philosophy:**
|
**Package Management Philosophy:**
|
||||||
- System packages (`environment.systemPackages`): Services, hardware support, desktop infrastructure, build tools
|
- System packages (`environment.systemPackages`): Services, hardware support, desktop infrastructure, build tools
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
description = "atlas - NixOS Config for Desktop";
|
description = "atlas - NixOS Config for Desktop";
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# INPUTS
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
@@ -46,6 +49,9 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# OUTPUTS
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
outputs =
|
outputs =
|
||||||
inputs@{ self, nixpkgs, ... }:
|
inputs@{ self, nixpkgs, ... }:
|
||||||
let
|
let
|
||||||
|
|||||||
@@ -9,46 +9,46 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Media Viewers
|
# MEDIA VIEWERS
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
loupe # GNOME image viewer
|
loupe # GNOME image viewer
|
||||||
evince # PDF/document viewer
|
evince # PDF/document viewer
|
||||||
celluloid # MPV frontend (GTK video player)
|
celluloid # MPV frontend (GTK video player)
|
||||||
mpv # Powerful CLI video player
|
mpv # Powerful CLI video player
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Music
|
# MUSIC
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
amberol # Simple music player for local files
|
amberol # Simple music player for local files
|
||||||
feishin # Navidrome/Jellyfin client
|
feishin # Navidrome/Jellyfin client
|
||||||
picard # MusicBrainz Picard - music tagger
|
picard # MusicBrainz Picard - music tagger
|
||||||
beets # Music library manager
|
beets # Music library manager
|
||||||
cava # Audio visualizer
|
cava # Audio visualizer
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Communication
|
# COMMUNICATION
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
vesktop # Discord client (Wayland-native, with Vencord)
|
vesktop # Discord client (Wayland-native, with Vencord)
|
||||||
thunderbird # Email client
|
thunderbird # Email client
|
||||||
signal-desktop # Encrypted messaging
|
signal-desktop # Encrypted messaging
|
||||||
telegram-desktop # Telegram client
|
telegram-desktop # Telegram client
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Office & Productivity
|
# OFFICE & PRODUCTIVITY
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
onlyoffice-desktopeditors # Office suite (latest)
|
onlyoffice-desktopeditors # Office suite (latest)
|
||||||
obsidian # Note-taking with Markdown
|
obsidian # Note-taking with Markdown
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# System Utilities
|
# SYSTEM UTILITIES
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
btop # Modern system monitor (terminal)
|
btop # Modern system monitor (terminal)
|
||||||
mission-center # GNOME system monitor (GUI, like Windows Task Manager)
|
mission-center # GNOME system monitor (GUI, like Windows Task Manager)
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# File Management (GNOME integration)
|
# FILE MANAGEMENT
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
file-roller # Archive manager (GUI)
|
file-roller # Archive manager (GUI)
|
||||||
gnome-disk-utility # Disk management
|
gnome-disk-utility # Disk management
|
||||||
|
|
||||||
@@ -58,9 +58,9 @@
|
|||||||
p7zip
|
p7zip
|
||||||
unrar
|
unrar
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Screenshots & Screen Recording
|
# SCREENSHOTS & RECORDING
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
swappy # Screenshot annotation tool
|
swappy # Screenshot annotation tool
|
||||||
|
|
||||||
# Screen recording
|
# Screen recording
|
||||||
@@ -68,24 +68,24 @@
|
|||||||
gpu-screen-recorder # Lightweight GPU-accelerated recorder (AMD/NVIDIA/Intel)
|
gpu-screen-recorder # Lightweight GPU-accelerated recorder (AMD/NVIDIA/Intel)
|
||||||
kooha # Simple GNOME-style screen recorder
|
kooha # Simple GNOME-style screen recorder
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Security & Passwords
|
# SECURITY & PASSWORDS
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
bitwarden-desktop # Password manager
|
bitwarden-desktop # Password manager
|
||||||
seahorse # GNOME Keyring GUI
|
seahorse # GNOME Keyring GUI
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Utilities
|
# UTILITIES
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
gnome-calculator # Calculator
|
gnome-calculator # Calculator
|
||||||
gnome-clocks # World clocks, alarms, timers
|
gnome-clocks # World clocks, alarms, timers
|
||||||
baobab # Disk usage analyzer
|
baobab # Disk usage analyzer
|
||||||
localsend # AirDrop-like file sharing (cross-platform)
|
localsend # AirDrop-like file sharing (cross-platform)
|
||||||
meld # Visual diff and merge tool
|
meld # Visual diff and merge tool
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# System Tools
|
# SYSTEM TOOLS
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
rclone # Cloud storage sync (Google Drive, Dropbox, etc.)
|
rclone # Cloud storage sync (Google Drive, Dropbox, etc.)
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,15 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# BLUETOOTH
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Bluetooth GUI management
|
# Bluetooth GUI management
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
# Audio packages
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# AUDIO PACKAGES
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# PipeWire volume control
|
# PipeWire volume control
|
||||||
pwvucontrol # Modern PipeWire volume control (Qt)
|
pwvucontrol # Modern PipeWire volume control (Qt)
|
||||||
@@ -28,6 +33,9 @@
|
|||||||
# Bluetooth audio codecs are handled by PipeWire automatically
|
# Bluetooth audio codecs are handled by PipeWire automatically
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# BLUETOOTH CODECS
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Ensure PipeWire has good Bluetooth codec support
|
# Ensure PipeWire has good Bluetooth codec support
|
||||||
# This is already configured in your main config, but we ensure AAC/LDAC support
|
# This is already configured in your main config, but we ensure AAC/LDAC support
|
||||||
services.pipewire.wireplumber.extraConfig = {
|
services.pipewire.wireplumber.extraConfig = {
|
||||||
|
|||||||
@@ -9,14 +9,20 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
# XDG Portal - Required for screen sharing, file pickers, etc.
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# XDG PORTALS
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# Required for screen sharing, file pickers, etc.
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
config.common.default = "*";
|
config.common.default = "*";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Polkit - GUI privilege escalation
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# POLKIT
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# GUI privilege escalation
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
|
|
||||||
# Polkit authentication agent (runs on login)
|
# Polkit authentication agent (runs on login)
|
||||||
@@ -34,7 +40,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Desktop packages
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# DESKTOP PACKAGES
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Vicinae launcher
|
# Vicinae launcher
|
||||||
inputs.vicinae.packages.${pkgs.system}.default
|
inputs.vicinae.packages.${pkgs.system}.default
|
||||||
@@ -52,15 +60,16 @@
|
|||||||
wlr-randr # Display configuration
|
wlr-randr # Display configuration
|
||||||
wayland-utils # Debug utilities
|
wayland-utils # Debug utilities
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ─── Additional Desktop Utilities ───
|
||||||
# Additional desktop utilities (migrated from Arch)
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
|
||||||
cliphist # Clipboard history for Wayland
|
cliphist # Clipboard history for Wayland
|
||||||
wlsunset # Blue light filter / night mode
|
wlsunset # Blue light filter / night mode
|
||||||
brightnessctl # Brightness control (even for desktop monitors via DDC)
|
brightnessctl # Brightness control (even for desktop monitors via DDC)
|
||||||
wlogout # Logout menu / session manager
|
wlogout # Logout menu / session manager
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# WAYLAND ENVIRONMENT
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Environment variables for Wayland compatibility
|
# Environment variables for Wayland compatibility
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
# Wayland defaults
|
# Wayland defaults
|
||||||
@@ -81,7 +90,10 @@
|
|||||||
XCURSOR_SIZE = "24";
|
XCURSOR_SIZE = "24";
|
||||||
};
|
};
|
||||||
|
|
||||||
# GNOME services for better desktop integration
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# GNOME SERVICES
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# Better desktop integration
|
||||||
services.gvfs.enable = true; # Virtual filesystem (trash, MTP, SMB)
|
services.gvfs.enable = true; # Virtual filesystem (trash, MTP, SMB)
|
||||||
services.udisks2.enable = true; # Disk mounting
|
services.udisks2.enable = true; # Disk mounting
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,9 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Docker
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# DOCKER
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
virtualisation.docker = {
|
virtualisation.docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
@@ -24,53 +26,46 @@
|
|||||||
# Add user to docker group
|
# Add user to docker group
|
||||||
users.users.${username}.extraGroups = [ "docker" ];
|
users.users.${username}.extraGroups = [ "docker" ];
|
||||||
|
|
||||||
# Direnv for per-project environments
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# DIRENV
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# Per-project environments
|
||||||
programs.direnv = {
|
programs.direnv = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nix-direnv.enable = true; # Faster direnv for Nix
|
nix-direnv.enable = true; # Faster direnv for Nix
|
||||||
};
|
};
|
||||||
|
|
||||||
# Development packages
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# DEVELOPMENT PACKAGES
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# NOTE: GUI tools (dbeaver) and optional TUIs (lazygit, lazydocker) are in `nix profile`
|
# NOTE: GUI tools (dbeaver) and optional TUIs (lazygit, lazydocker) are in `nix profile`
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ─── Containers ───
|
||||||
# Containers
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
|
||||||
docker-compose # Docker Compose v2
|
docker-compose # Docker Compose v2
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ─── Languages & Runtimes ───
|
||||||
# Languages & Runtimes
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
|
||||||
nodejs_22 # Node.js LTS (for Vicinae extensions, etc.)
|
nodejs_22 # Node.js LTS (for Vicinae extensions, etc.)
|
||||||
bun # Fast JavaScript runtime/bundler
|
bun # Fast JavaScript runtime/bundler
|
||||||
python3 # Python 3
|
python3 # Python 3
|
||||||
rustup # Rust toolchain manager
|
rustup # Rust toolchain manager
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ─── Build Tools ───
|
||||||
# Build Tools
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
|
||||||
gcc
|
gcc
|
||||||
gnumake
|
gnumake
|
||||||
cmake
|
cmake
|
||||||
pkg-config
|
pkg-config
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ─── Version Control ───
|
||||||
# Version Control
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
|
||||||
git
|
git
|
||||||
gh # GitHub CLI
|
gh # GitHub CLI
|
||||||
delta # Better git diff
|
delta # Better git diff
|
||||||
lazygit # Git UI
|
lazygit # Git UI
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ─── Editors & LSP ───
|
||||||
# Editors & LSP
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
|
||||||
# nil already in base config (Nix LSP)
|
# nil already in base config (Nix LSP)
|
||||||
nixfmt # Nix formatter
|
nixfmt # Nix formatter
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ─── CLI Utilities ───
|
||||||
# CLI Utilities (used by shell aliases)
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
|
||||||
jq # JSON processor
|
jq # JSON processor
|
||||||
yq # YAML processor
|
yq # YAML processor
|
||||||
ripgrep # Fast grep
|
ripgrep # Fast grep
|
||||||
|
|||||||
@@ -9,7 +9,9 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Steam
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# STEAM
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = true; # Steam Remote Play
|
remotePlay.openFirewall = true; # Steam Remote Play
|
||||||
@@ -22,7 +24,13 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Gamemode - Optimize system for gaming
|
# Steam hardware support (controllers, VR, etc.)
|
||||||
|
hardware.steam-hardware.enable = true;
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# GAMEMODE
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# Optimize system for gaming
|
||||||
programs.gamemode = {
|
programs.gamemode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableRenice = true; # Allow renice for priority boost
|
enableRenice = true; # Allow renice for priority boost
|
||||||
@@ -40,10 +48,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Steam hardware support (controllers, VR, etc.)
|
# ═══════════════════════════════════════════════════════════════
|
||||||
hardware.steam-hardware.enable = true;
|
# GAMING PACKAGES
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Gaming packages
|
|
||||||
# NOTE: Game launchers (lutris, heroic, protonup-qt) are in `nix profile`
|
# NOTE: Game launchers (lutris, heroic, protonup-qt) are in `nix profile`
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Wine for non-Steam games
|
# Wine for non-Steam games
|
||||||
@@ -61,7 +68,9 @@
|
|||||||
heroic
|
heroic
|
||||||
];
|
];
|
||||||
|
|
||||||
# Gaming-related kernel tweaks
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# KERNEL TWEAKS
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
boot.kernel.sysctl = {
|
boot.kernel.sysctl = {
|
||||||
# Increase file watchers for large games
|
# Increase file watchers for large games
|
||||||
"fs.inotify.max_user_watches" = 524288;
|
"fs.inotify.max_user_watches" = 524288;
|
||||||
@@ -71,11 +80,17 @@
|
|||||||
"vm.vfs_cache_pressure" = 50;
|
"vm.vfs_cache_pressure" = 50;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# CONTROLLER SUPPORT
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Udev rules for game controllers
|
# Udev rules for game controllers
|
||||||
services.udev.packages = with pkgs; [
|
services.udev.packages = with pkgs; [
|
||||||
game-devices-udev-rules # Support for various game controllers
|
game-devices-udev-rules # Support for various game controllers
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# USER PERMISSIONS
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Add user to gamemode group
|
# Add user to gamemode group
|
||||||
users.users.${username}.extraGroups = [ "gamemode" ];
|
users.users.${username}.extraGroups = [ "gamemode" ];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,9 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# AMD GPU DRIVERS
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Enable OpenGL/Vulkan
|
# Enable OpenGL/Vulkan
|
||||||
hardware.graphics = {
|
hardware.graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -33,7 +36,10 @@
|
|||||||
# RADV (Mesa Vulkan driver) is enabled by default and is the best choice for gaming
|
# RADV (Mesa Vulkan driver) is enabled by default and is the best choice for gaming
|
||||||
# No need for AMD_VULKAN_ICD environment variable anymore
|
# No need for AMD_VULKAN_ICD environment variable anymore
|
||||||
|
|
||||||
# CoreCtrl for fan curves, overclocking, and GPU monitoring
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# CORECTRL
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# Fan curves, overclocking, and GPU monitoring
|
||||||
programs.corectrl.enable = true;
|
programs.corectrl.enable = true;
|
||||||
|
|
||||||
# AMD GPU overdrive/overclocking support
|
# AMD GPU overdrive/overclocking support
|
||||||
@@ -44,17 +50,19 @@
|
|||||||
|
|
||||||
# NOTE: Kernel params (amdgpu.ppfeaturemask) are in configuration.nix
|
# NOTE: Kernel params (amdgpu.ppfeaturemask) are in configuration.nix
|
||||||
|
|
||||||
# GPU monitoring tools
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# GPU PACKAGES
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Monitoring
|
# ─── Monitoring ───
|
||||||
radeontop # AMD GPU monitoring (like nvidia-smi)
|
radeontop # AMD GPU monitoring (like nvidia-smi)
|
||||||
nvtopPackages.amd # Modern GPU monitor with AMD support
|
nvtopPackages.amd # Modern GPU monitor with AMD support
|
||||||
|
|
||||||
# Vulkan tools
|
# ─── Vulkan Tools ───
|
||||||
vulkan-tools # vulkaninfo, etc.
|
vulkan-tools # vulkaninfo, etc.
|
||||||
vulkan-loader
|
vulkan-loader
|
||||||
|
|
||||||
# Video acceleration verification
|
# ─── Video Acceleration ───
|
||||||
libva-utils # vainfo - verify VA-API
|
libva-utils # vainfo - verify VA-API
|
||||||
vdpauinfo # Verify VDPAU
|
vdpauinfo # Verify VDPAU
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -8,7 +8,9 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Enable Fish shell
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# FISH SHELL
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
@@ -33,9 +35,11 @@
|
|||||||
set -g fish_prompt_pwd_dir_length 3
|
set -g fish_prompt_pwd_dir_length 3
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Shell aliases
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# ALIASES
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
# Modern replacements
|
# ─── Modern Replacements ───
|
||||||
ll = "eza -la --icons --git";
|
ll = "eza -la --icons --git";
|
||||||
ls = "eza --icons";
|
ls = "eza --icons";
|
||||||
la = "eza -la --icons";
|
la = "eza -la --icons";
|
||||||
@@ -47,14 +51,14 @@
|
|||||||
du = "dust";
|
du = "dust";
|
||||||
sed = "sd";
|
sed = "sd";
|
||||||
|
|
||||||
# Docker shortcuts
|
# ─── Docker ───
|
||||||
dc = "docker compose";
|
dc = "docker compose";
|
||||||
dps = "docker ps";
|
dps = "docker ps";
|
||||||
dpa = "docker ps -a";
|
dpa = "docker ps -a";
|
||||||
dl = "docker logs -f";
|
dl = "docker logs -f";
|
||||||
dex = "docker exec -it";
|
dex = "docker exec -it";
|
||||||
|
|
||||||
# Git shortcuts
|
# ─── Git ───
|
||||||
gs = "git status";
|
gs = "git status";
|
||||||
gd = "git diff";
|
gd = "git diff";
|
||||||
gds = "git diff --staged";
|
gds = "git diff --staged";
|
||||||
@@ -68,7 +72,7 @@
|
|||||||
gb = "git branch";
|
gb = "git branch";
|
||||||
gst = "git stash";
|
gst = "git stash";
|
||||||
|
|
||||||
# NixOS shortcuts
|
# ─── NixOS ───
|
||||||
rebuild = "sudo nixos-rebuild switch --flake .";
|
rebuild = "sudo nixos-rebuild switch --flake .";
|
||||||
rebuild-boot = "sudo nixos-rebuild boot --flake .";
|
rebuild-boot = "sudo nixos-rebuild boot --flake .";
|
||||||
rebuild-test = "sudo nixos-rebuild test --flake .";
|
rebuild-test = "sudo nixos-rebuild test --flake .";
|
||||||
@@ -80,20 +84,23 @@
|
|||||||
update-apps = "nix profile upgrade '.*'";
|
update-apps = "nix profile upgrade '.*'";
|
||||||
list-apps = "nix profile list";
|
list-apps = "nix profile list";
|
||||||
|
|
||||||
# System
|
# ─── System ───
|
||||||
ports = "ss -tulanp";
|
ports = "ss -tulanp";
|
||||||
myip = "curl -s ifconfig.me";
|
myip = "curl -s ifconfig.me";
|
||||||
".." = "cd ..";
|
".." = "cd ..";
|
||||||
"..." = "cd ../..";
|
"..." = "cd ../..";
|
||||||
"...." = "cd ../../..";
|
"...." = "cd ../../..";
|
||||||
|
|
||||||
# Safety
|
# ─── Safety ───
|
||||||
rm = "rm -i";
|
rm = "rm -i";
|
||||||
mv = "mv -i";
|
mv = "mv -i";
|
||||||
cp = "cp -i";
|
cp = "cp -i";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Shell abbreviations (expand on space, more flexible than aliases)
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# ABBREVIATIONS
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# Expand on space, more flexible than aliases
|
||||||
shellAbbrs = {
|
shellAbbrs = {
|
||||||
g = "git";
|
g = "git";
|
||||||
d = "docker";
|
d = "docker";
|
||||||
@@ -104,6 +111,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
|
# PLUGINS & PACKAGES
|
||||||
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Fish plugins (managed by NixOS)
|
# Fish plugins (managed by NixOS)
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# Fish plugins
|
# Fish plugins
|
||||||
|
|||||||
@@ -8,9 +8,9 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Fonts
|
# FONTS
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
fonts = {
|
fonts = {
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# Your existing fonts
|
# Your existing fonts
|
||||||
@@ -57,9 +57,9 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# GTK Theme
|
# GTK THEME
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# GTK themes
|
# GTK themes
|
||||||
adw-gtk3 # GTK3 theme matching libadwaita
|
adw-gtk3 # GTK3 theme matching libadwaita
|
||||||
@@ -79,18 +79,18 @@
|
|||||||
nwg-look # GTK settings editor for Wayland
|
nwg-look # GTK settings editor for Wayland
|
||||||
];
|
];
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# Cursor and Icon Paths
|
# CURSOR & ICON PATHS
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# NOTE: Session variables (GTK_THEME, XCURSOR_*, QT_QPA_PLATFORMTHEME)
|
# NOTE: Session variables (GTK_THEME, XCURSOR_*, QT_QPA_PLATFORMTHEME)
|
||||||
# are consolidated in desktop.nix
|
# are consolidated in desktop.nix
|
||||||
|
|
||||||
# Ensure cursor themes are found
|
# Ensure cursor themes are found
|
||||||
environment.pathsToLink = [ "/share/icons" ];
|
environment.pathsToLink = [ "/share/icons" ];
|
||||||
|
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# GTK Settings via dconf
|
# GTK SETTINGS (DCONF)
|
||||||
# ─────────────────────────────────────────────────────────────
|
# ═══════════════════════════════════════════════════════════════
|
||||||
# These can be overridden by the user with nwg-look or dconf-editor
|
# These can be overridden by the user with nwg-look or dconf-editor
|
||||||
# Default theme settings are applied per-user
|
# Default theme settings are applied per-user
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user