diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..d7b698a --- /dev/null +++ b/flake.lock @@ -0,0 +1,308 @@ +{ + "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1761588595, + "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "ghostty": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "home-manager": "home-manager", + "nixpkgs": "nixpkgs", + "zig": "zig", + "zon2nix": "zon2nix" + }, + "locked": { + "lastModified": 1770004164, + "narHash": "sha256-viXsdAhYtEO19D2i3mgm09DuFDK6QF8s5weLoMjqVXg=", + "owner": "ghostty-org", + "repo": "ghostty", + "rev": "1b7a15899ad40fba4ce020f537055d30eaf99ee8", + "type": "github" + }, + "original": { + "owner": "ghostty-org", + "repo": "ghostty", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "ghostty", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768068402, + "narHash": "sha256-bAXnnJZKJiF7Xr6eNW6+PhBf1lg2P1aFUO9+xgWkXfA=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "8bc5473b6bc2b6e1529a9c4040411e1199c43b4c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "zen-browser", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1769872935, + "narHash": "sha256-07HMIGQ/WJeAQJooA7Kkg1SDKxhAiV6eodvOwTX6WKI=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "f4ad5068ee8e89e4a7c2e963e10dd35cd77b37b7", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1768032153, + "narHash": "sha256-zvxtwlM8ZlulmZKyYCQAPpkm5dngSEnnHjmjV7Teloc=", + "rev": "3146c6aa9995e7351a398e17470e15305e6e18ff", + "type": "tarball", + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre925418.3146c6aa9995/nixexprs.tar.xz" + }, + "original": { + "type": "tarball", + "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1769789167, + "narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "62c8382960464ceb98ea593cb8321a2cf8f9e3e5", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "noctalia": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770002874, + "narHash": "sha256-UOjvZXyZLZv0dP9GZPjis8IRxmrIoMt8c25WGCt7+hU=", + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "rev": "a8d74633f6920b91edf102e33a812af8489e2c88", + "type": "github" + }, + "original": { + "owner": "noctalia-dev", + "repo": "noctalia-shell", + "type": "github" + } + }, + "opencode": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770026097, + "narHash": "sha256-x3/aqn+owfPv0my10xgNnxek2ndZBv5Mfv+ypK06Qfk=", + "owner": "anomalyco", + "repo": "opencode", + "rev": "e6d8315e29a8b7a34fd6639393e4dcc12bf9fa6c", + "type": "github" + }, + "original": { + "owner": "anomalyco", + "ref": "dev", + "repo": "opencode", + "type": "github" + } + }, + "root": { + "inputs": { + "ghostty": "ghostty", + "nixpkgs": "nixpkgs_2", + "noctalia": "noctalia", + "opencode": "opencode", + "vicinae": "vicinae", + "zen-browser": "zen-browser" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "vicinae": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_2" + }, + "locked": { + "lastModified": 1770024382, + "narHash": "sha256-BEGt9FSrUurvFeywmbQ432iIqXm+SW36XqtLRmt6hOY=", + "owner": "vicinaehq", + "repo": "vicinae", + "rev": "b70bb4e890520c5cd0ae0fe8c819c3b17c235abd", + "type": "github" + }, + "original": { + "owner": "vicinaehq", + "repo": "vicinae", + "type": "github" + } + }, + "zen-browser": { + "inputs": { + "home-manager": "home-manager_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1770018638, + "narHash": "sha256-u9fl3Q+ZVPcwnfxGO1V997Gt0vT2m4lvfYp/QvSZRjw=", + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "rev": "fbbadeb3bbed799f5bd86094ebf186658764eb30", + "type": "github" + }, + "original": { + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "type": "github" + } + }, + "zig": { + "inputs": { + "flake-compat": [ + "ghostty", + "flake-compat" + ], + "flake-utils": [ + "ghostty", + "flake-utils" + ], + "nixpkgs": [ + "ghostty", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1763295135, + "narHash": "sha256-sGv/NHCmEnJivguGwB5w8LRmVqr1P72OjS+NzcJsssE=", + "owner": "mitchellh", + "repo": "zig-overlay", + "rev": "64f8b42cfc615b2cf99144adf2b7728c7847c72a", + "type": "github" + }, + "original": { + "owner": "mitchellh", + "repo": "zig-overlay", + "type": "github" + } + }, + "zon2nix": { + "inputs": { + "nixpkgs": [ + "ghostty", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1768231828, + "narHash": "sha256-wL/8Iij4T2OLkhHcc4NieOjf7YeJffaUYbCiCqKv/+0=", + "owner": "jcollie", + "repo": "zon2nix", + "rev": "c28e93f3ba133d4c1b1d65224e2eebede61fd071", + "type": "github" + }, + "original": { + "owner": "jcollie", + "repo": "zon2nix", + "rev": "c28e93f3ba133d4c1b1d65224e2eebede61fd071", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix index 0d04d11..dd6db2e 100644 --- a/flake.nix +++ b/flake.nix @@ -4,15 +4,9 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - quickshell = { - url = "github:outfoxxed/quickshell"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - noctalia = { url = "github:noctalia-dev/noctalia-shell"; inputs.nixpkgs.follows = "nixpkgs"; - inputs.quickshell.follows = "quickshell"; }; zen-browser = { diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..dc87594 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,31 @@ +# 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, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "uas" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/8283d4bd-5d4e-4856-9f66-68e83253e15e"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/F836-3B64"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/gpu-amd.nix b/modules/gpu-amd.nix index 8643256..edcd265 100644 --- a/modules/gpu-amd.nix +++ b/modules/gpu-amd.nix @@ -10,33 +10,28 @@ extraPackages = with pkgs; [ # VA-API for hardware video acceleration - vaapiVdpau + libva-vdpau-driver # Renamed from vaapiVdpau libvdpau-va-gl - # AMD-specific - amdvlk # AMD's official Vulkan driver (alternative to RADV) - rocmPackages.clr.icd # OpenCL support + # OpenCL support (optional, for compute workloads) + rocmPackages.clr.icd ]; extraPackages32 = with pkgs.driversi686Linux; [ # 32-bit VA-API support for older games - vaapiVdpau + libva-vdpau-driver libvdpau-va-gl - amdvlk ]; }; - # Use RADV (Mesa) as default Vulkan driver - generally better for gaming - # AMDVLK is available as fallback via VK_ICD_FILENAMES - environment.variables = { - AMD_VULKAN_ICD = "RADV"; # Use RADV by default - }; + # RADV (Mesa Vulkan driver) is enabled by default and is the best choice for gaming + # No need for AMD_VULKAN_ICD environment variable anymore # CoreCtrl for fan curves, overclocking, and GPU monitoring - programs.corectrl = { - enable = true; - gpuOverclock.enable = true; # Enable overclocking capabilities - }; + programs.corectrl.enable = true; + + # AMD GPU overdrive/overclocking support + hardware.amdgpu.overdrive.enable = true; # Add user to corectrl group for full access without password users.users.pinj.extraGroups = [ "corectrl" ];