Skip to content

Instantly share code, notes, and snippets.

@ryzendew
Created July 24, 2025 18:44
Show Gist options
  • Select an option

  • Save ryzendew/c723dab7c997333e7ceadb1ebe9d2a43 to your computer and use it in GitHub Desktop.

Select an option

Save ryzendew/c723dab7c997333e7ceadb1ebe9d2a43 to your computer and use it in GitHub Desktop.
{ config, pkgs, ... }:
let
unstableTarball = fetchTarball "https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz";
unstable = import unstableTarball {
config = config.nixpkgs.config;
};
affinity-nix = builtins.getFlake "github:mrshmllow/affinity-nix";
quickshell = builtins.getFlake "git+https://git.outfoxxed.me/outfoxxed/quickshell";
chaotic = builtins.getFlake "github:chaotic-cx/nyx/nyxpkgs-unstable";
hyprpolkitagent = builtins.getFlake "github:hyprwm/hyprpolkitagent";
home-manager = builtins.fetchTarball {
url = "https://github.com/nix-community/home-manager/archive/master.tar.gz";
sha256 = "sha256:1qp170x37yd4h81bz8b9qfjgb0wrpzmhsxl0fl09y7b59ymy0dyl";
};
qt5GraphicalEffects = pkgs.libsForQt5.qt5.qtgraphicaleffects;
in
{
nixpkgs.overlays = [
chaotic.overlays.default
(final: prev: {
mesa = chaotic.legacyPackages.x86_64-linux.mesa_git;
mesa32 = chaotic.legacyPackages.x86_64-linux.mesa32_git or {};
})
];
imports = [
./hardware-configuration.nix
(import "${home-manager}/nixos")
];
# Keyboard settings (US QWERTY, no remappings)
services.xserver = {
xkb.layout = "us";
xkb.variant = "";
xkb.options = "";
};
console.useXkbConfig = true; # Apply to TTY
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.matt = {
home.enableNixpkgsReleaseCheck = false;
home.packages = with pkgs; [
qt6.qt5compat
qt5GraphicalEffects
qt6.qtbase
qt6.qtdeclarative
libsForQt5.qtstyleplugins
];
home.sessionVariables = {
QT_PLUGIN_PATH = "${pkgs.qt6.qtbase}/${pkgs.qt6.qtbase.qtPluginPrefix}";
QML2_IMPORT_PATH = "${pkgs.qt6.qt5compat}/lib/qt6/qml:${qt5GraphicalEffects}/lib/qt5/qml";
QT_QPA_PLATFORM = "wayland;xcb";
QT_STYLE_OVERRIDE = "kvantum";
};
home.stateVersion = "25.11";
};
};
environment.systemPackages = with pkgs; [
(quickshell.packages.${pkgs.system}.default.override {
withJemalloc = true;
withQtSvg = true;
withWayland = true;
withX11 = false;
withPipewire = true;
withPam = true;
withHyprland = true;
withI3 = false;
})
(runCommand "qt5compat-graphicaleffects-link" {
nativeBuildInputs = [ makeWrapper ];
} ''
mkdir -p $out/lib/qt5/qml/Qt5Compat
ln -s ${qt5GraphicalEffects}/lib/qt5/qml/QtGraphicalEffects $out/lib/qt5/qml/Qt5Compat/GraphicalEffects'')
vesktop
glxinfo
mangohud
lutris
steam
heroic
ptyxis
flatpak
fuse3
nwg-displays
winetricks
jq
wine-staging
texlivePackages.microtype
texliveTeTeX
code-cursor
fastfetch
gnome-menus
gnomeExtensions.arcmenu
gnome-tweaks
tela-circle-icon-theme
git
oh-my-posh
lyra-cursors
steam-run
perl
wget
curl
p7zip
gnutar
unzip
appimage-run
pavucontrol
mpv
unstable.hyprland
unstable.hyprpaper
unstable.hyprpicker
unstable.hypridle
unstable.hyprlock
unstable.hyprgraphics
unstable.hyprpolkitagent
unstable.aquamarine
unstable.davinci-resolve-studio
unstable.rustup
unstable.rustc
unstable.swww
affinity-nix.packages.${pkgs.system}.photo
affinity-nix.packages.${pkgs.system}.designer
hyprpolkitagent.packages.${pkgs.system}.default
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_cachyos;
boot.initrd.availableKernelModules = [
"nvidia"
"nvidia_modeset"
"nvidia_drm"
"nvidia_uvm"
];
programs.hyprland.enable = true;
programs.hyprland.xwayland.enable = true;
xdg.portal.enable = true;
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-hyprland ];
networking.hostName = "nixos";
networking.networkmanager.enable = true;
time.timeZone = "America/Halifax";
i18n.defaultLocale = "en_CA.UTF-8";
services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true;
services.flatpak.enable = true;
services.printing.enable = true;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
users.users.matt = {
isNormalUser = true;
description = "matt";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [];
};
programs.obs-studio = {
enable = true;
package = pkgs.obs-studio.override { cudaSupport = true; };
};
fileSystems."/mnt/Gaming" = {
device = "/dev/nvme3n1p1";
fsType = "xfs";
options = [ "nofail" "x-systemd.device-timeout=5s" ];
};
fonts.packages = with pkgs; [
fira-sans
roboto
nerd-fonts._0xproto
nerd-fonts.droid-sans-mono
jetbrains-mono
noto-fonts
noto-fonts-emoji
noto-fonts-cjk-sans
noto-fonts-cjk-serif
material-symbols
material-icons
];
hardware.nvidia = {
package = config.boot.kernelPackages.nvidiaPackages.stable;
open = true;
};
services.xserver.videoDrivers = [ "nvidia" ];
programs.firefox.enable = true;
nix.settings = {
experimental-features = [ "nix-command" "flakes" ];
allowed-users = [ "matt" ];
};
nixpkgs.config.allowUnfree = true;
# OpenGL configuration with mesa_git
hardware.graphics.enable = true;
hardware.graphics.enable32Bit = true;
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
system.stateVersion = "25.11";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment