Created
July 24, 2025 18:44
-
-
Save ryzendew/c723dab7c997333e7ceadb1ebe9d2a43 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { 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