diff --git a/flake.lock b/flake.lock index 19cbe667..1281ca16 100644 --- a/flake.lock +++ b/flake.lock @@ -154,11 +154,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1729751566, - "narHash": "sha256-99u/hrgBdi8bxSXZc9ZbNkR5EL1htrkbd3lsbKzS60g=", + "lastModified": 1729924178, + "narHash": "sha256-ZhDqOYZwx0kYg1vPrmZ2fJm/wem739eNSSK+GlzdeqA=", "owner": "nix-community", "repo": "fenix", - "rev": "f32a2d484091a6dc98220b1f4a2c2d60b7c97c64", + "rev": "e831b4d256526cc56bd37c7c579842866410bebc", "type": "github" }, "original": { @@ -461,11 +461,11 @@ ] }, "locked": { - "lastModified": 1729716953, - "narHash": "sha256-FbRKGRRd0amsk/WS/UV9ukJ8jT1dZ2pJBISxkX+uq6A=", + "lastModified": 1729894599, + "narHash": "sha256-nL9nzNE5/re/P+zOv7NX6bRm5e+DeS1HIufQUJ01w20=", "owner": "nix-community", "repo": "home-manager", - "rev": "a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7", + "rev": "93435d27d250fa986bfec6b2ff263161ff8288cb", "type": "github" }, "original": { @@ -592,19 +592,17 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1729781453, - "narHash": "sha256-vSZSNXXNEPN5JJcUobCBl6FaDvXjmLHhAJWoX3ZmHUQ=", - "ref": "refs/heads/main", - "rev": "3cec45d82113051d35e846e5d80719d8ea0f7002", - "revCount": 5372, - "submodules": true, - "type": "git", - "url": "https://github.com/hyprwm/Hyprland" + "lastModified": 1729905757, + "narHash": "sha256-4KlQKI/SqiF25pMr7tLZbqHXFdEeoT1KZF+b/6Af7yw=", + "owner": "hyprwm", + "repo": "hyprland", + "rev": "0b29caf9ab86518ff474eed5e7d19c12f96ebbd0", + "type": "github" }, "original": { - "submodules": true, - "type": "git", - "url": "https://github.com/hyprwm/Hyprland" + "owner": "hyprwm", + "repo": "hyprland", + "type": "github" } }, "hyprland-contrib": { @@ -702,11 +700,11 @@ ] }, "locked": { - "lastModified": 1729555766, - "narHash": "sha256-sUIsjWpZLplSJXWyJcDZdvDweksXLH5r9GSkwg0kgBw=", + "lastModified": 1729890296, + "narHash": "sha256-7xSf7awy/cvYPlky8Bkh69N6eZUpR8PYMH52wJPznQg=", "owner": "hyprwm", "repo": "hyprlock", - "rev": "a093a9eefda2db2430dd1612b2858a55daf14738", + "rev": "ae3bb0fd43d6129520ec4b1f022976e7b929dcde", "type": "github" }, "original": { @@ -736,11 +734,11 @@ ] }, "locked": { - "lastModified": 1725200438, - "narHash": "sha256-3Cqu8jz19YyWqhneac6QFfadlyxZ4s3saSLmmpYMOe4=", + "lastModified": 1729890887, + "narHash": "sha256-Vg98Dm6MaglEUNNTRgLF2Lxy02FrU5ntnlwsMkBSTKg=", "owner": "hyprwm", "repo": "hyprpaper", - "rev": "1c18ad65032adb891b341292a1edf9e13adf4751", + "rev": "3f8cc92109209364e9d39789b3631e9ac109987a", "type": "github" }, "original": { @@ -976,11 +974,11 @@ }, "nixpkgs-small": { "locked": { - "lastModified": 1729766066, - "narHash": "sha256-QLeNRaGsoIFfv2Kfd4rw2l1TTDb1i4gQzvClSmrk1l4=", + "lastModified": 1729939720, + "narHash": "sha256-F7jTiYAxLF0Hcv92Xa5dIufzH1plmS9nbwO50j/9Kxw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8b052aac04356e25b6ec1058c86de8792440362d", + "rev": "c93e398e719021a9ad9da56af1589d23029f3cea", "type": "github" }, "original": { @@ -1151,11 +1149,11 @@ }, "nur": { "locked": { - "lastModified": 1729788406, - "narHash": "sha256-qLeBo7fvq56YbgHMgV+n8p284WlDoGI5jF8Jnq45+N8=", + "lastModified": 1729953915, + "narHash": "sha256-h/YwhMlIfFJyNQmbNgkwVyBCF6j0zQAyGaKJM+451VY=", "owner": "nix-community", "repo": "NUR", - "rev": "9ffdd336415bc60c0a3341f981d735ab8ef14f95", + "rev": "3070deb34475f92fff996245f31a888ca70cfc4f", "type": "github" }, "original": { @@ -1247,11 +1245,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1729715509, - "narHash": "sha256-jUDN4e1kObbksb4sc+57NEeujBEDRdLCOu9wiE3RZdM=", + "lastModified": 1729845655, + "narHash": "sha256-6I3gJLnOLnUIWFUlEnvC0FdzX8Xwu+y3Vo0q4VB6Wbk=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "40492e15d49b89cf409e2c5536444131fac49429", + "rev": "f4466718b838de706d74e2c13f20a41c034d87a5", "type": "github" }, "original": { @@ -1422,11 +1420,11 @@ }, "locked": { "dir": "packaging/nix", - "lastModified": 1729665556, - "narHash": "sha256-eTIvUa/cnwFaR8Em8AfkmgF7wK/d5gyPcWnYH0e+Pdw=", + "lastModified": 1729899621, + "narHash": "sha256-nyGycAl1Dwa1BO1mCN9+TR26jmdheYHUxEQtBEVuLCc=", "ref": "refs/heads/main", - "rev": "6e8e53c452f06c9932fb9dd9130149414416ade3", - "revCount": 823, + "rev": "785bccedbd0e8e9cf5427a511cd935a74d582d06", + "revCount": 824, "submodules": true, "type": "git", "url": "https://github.com/Open-Wine-Components/umu-launcher/" diff --git a/flake.nix b/flake.nix index 67532bef..f30765f6 100644 --- a/flake.nix +++ b/flake.nix @@ -52,7 +52,8 @@ nur.url = "github:nix-community/NUR"; # Hyprland environment - hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; + hyprland.url = "github:hyprwm/hyprland"; + hyprland-contrib = { url = "github:hyprwm/contrib"; inputs.nixpkgs.follows = "hyprland/nixpkgs"; diff --git a/hosts/cnix/modules.nix b/hosts/cnix/modules.nix index f0c03ee0..43c1f76e 100644 --- a/hosts/cnix/modules.nix +++ b/hosts/cnix/modules.nix @@ -1,4 +1,4 @@ -{pkgs, ...}: { +{ nixos = { boot = { loader = { @@ -51,11 +51,7 @@ graphics = { amd = { enable = true; - extraPackages = false; - chaotic = { - enable = true; - extraPackages = true; - }; + packageSet = "chaotic"; }; nvidia = { enable = false; @@ -188,7 +184,6 @@ xdg = { enable = true; xdgOpenUsePortal = true; - extraPortals = [pkgs.xdg-desktop-portal-gtk]; }; }; utils = { diff --git a/hosts/cnixpad/modules.nix b/hosts/cnixpad/modules.nix index b49aec50..3b084477 100644 --- a/hosts/cnixpad/modules.nix +++ b/hosts/cnixpad/modules.nix @@ -34,11 +34,7 @@ graphics = { amd = { enable = true; - extraPackages = true; - chaotic = { - enable = false; - extraPackages = false; - }; + packageSet = "standard"; }; nvidia = { enable = false; diff --git a/hosts/toothpc/modules.nix b/hosts/toothpc/modules.nix index 89de1bd0..e535b63b 100644 --- a/hosts/toothpc/modules.nix +++ b/hosts/toothpc/modules.nix @@ -17,12 +17,12 @@ }; }; gaming = { - # steam = { - # enable = true; - # }; - # gamescope = { - # enable = true; - # }; + steam = { + enable = true; + }; + gamescope = { + enable = true; + }; lutris = { enable = true; }; @@ -135,7 +135,9 @@ }; greetd = { enable = true; - gnomeKeyring.enable = false; + gnomeKeyring = { + enable = false; + }; autologin = { enable = false; user = "toothpick"; @@ -198,7 +200,9 @@ }; misc = { enable = true; - desktop.enable = true; + desktop = { + enable = true; + }; }; nh = { enable = true; diff --git a/modules/home/wm/utils/hyprlock/default.nix b/modules/home/wm/utils/hyprlock/default.nix index 9f54461c..4804344a 100644 --- a/modules/home/wm/utils/hyprlock/default.nix +++ b/modules/home/wm/utils/hyprlock/default.nix @@ -18,7 +18,7 @@ in { programs.hyprlock = { enable = true; package = hyprlockFlake; - settings = { + settings = { general = { disable_loading_bar = true; hide_cursor = true; @@ -30,7 +30,7 @@ in { background = [ { monitor = ""; - path = "~/media/images/dunes.png"; + path = "~/media/images/l_int06_big.jpg"; } ]; input-field = [ diff --git a/modules/home/wm/utils/hyprpaper/default.nix b/modules/home/wm/utils/hyprpaper/default.nix index 6cfdc1e1..d0b206f8 100644 --- a/modules/home/wm/utils/hyprpaper/default.nix +++ b/modules/home/wm/utils/hyprpaper/default.nix @@ -24,6 +24,10 @@ in { splash_offset = 2.0; preload = [ + "~/media/images/l_ash08_big.jpg" + "~/media/images/l_ash09_big.jpg" + "~/media/images/l_int06_big.jpg" + "~/media/images/by_housevisit_2560.jpg" "~/media/images/nix.png" "~/media/images/stacks.png" "~/media/images/ship.png" @@ -38,9 +42,9 @@ in { wallpaper = [ # cnix - "DP-3,~/media/images/dunes.png" + "DP-3,~/media/images/l_ash08_big.jpg" # adampad - "eDP-1,~/media/images/dunes.png" + "eDP-1,~/media/images/l_ash08_big.jpg" # toothpc "DVI-D-1,~/media/images/dunes.png" # "DP-1,/share/wallpapers/cat_pacman.png" diff --git a/modules/nixos/gaming/lutris/default.nix b/modules/nixos/gaming/lutris/default.nix index 55787a0a..f630ba7c 100644 --- a/modules/nixos/gaming/lutris/default.nix +++ b/modules/nixos/gaming/lutris/default.nix @@ -13,6 +13,9 @@ in { config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ lutris + bottles + wineWowPackages.waylandFull + wineWowPackages.stagingFull ]; }; } diff --git a/modules/nixos/hardware/graphics/amd/default.nix b/modules/nixos/hardware/graphics/amd/default.nix index 617c9003..1f3ab8e3 100644 --- a/modules/nixos/hardware/graphics/amd/default.nix +++ b/modules/nixos/hardware/graphics/amd/default.nix @@ -4,100 +4,90 @@ lib, ... }: let - inherit (lib) mkIf mkEnableOption mkOption mkMerge optional; + inherit (lib) mkIf mkOption types mkEnableOption mkMerge; cfg = config.nixos.hardware.graphics.amd; in { options = { nixos.hardware.graphics.amd = { - enable = mkEnableOption "Enables AMD graphics"; + enable = mkEnableOption "AMD graphics support"; - extraPackages = mkOption { - type = lib.types.bool; - default = false; - description = "Whether to install AMD-specific extra packages."; - }; - - chaotic = { - enable = mkEnableOption "Enables chaotic mesa version"; - extraPackages = mkOption { - type = lib.types.bool; - default = false; - description = "Whether to install AMD-specific chaotic extra packages."; - }; + packageSet = mkOption { + type = types.enum ["standard" "chaotic" "minimal"]; + default = "minimal"; + description = '' + Which set of AMD graphics packages to use: + - minimal: Only basic drivers and libraries + - standard: Additional AMD-specific tools and utilities + - chaotic: Chaotic Mesa git version with additional optimizations + ''; }; }; }; config = mkIf cfg.enable (mkMerge [ { - assertions = [ - { - assertion = !(cfg.extraPackages && cfg.chaotic.extraPackages); - message = '' - Only one type of extraPackages can be set to true at the same time. - ''; - } - ]; - + # Base configuration that applies regardless of package set hardware.graphics = { enable = true; enable32Bit = true; + }; + } - extraPackages = optional cfg.extraPackages (with pkgs; [ + (mkIf (cfg.packageSet == "standard") { + hardware.graphics = { + extraPackages = with pkgs; [ libva vaapiVdpau libvdpau-va-gl amdvlk vulkan-tools - ]); - - extraPackages32 = optional cfg.extraPackages (with pkgs.pkgsi686Linux; [ + ]; + extraPackages32 = with pkgs.pkgsi686Linux; [ vaapiVdpau libvdpau-va-gl - ]); + ]; }; - } - (mkIf cfg.chaotic.enable (mkMerge [ - { - chaotic.scx.enable = true; - } - (mkIf cfg.chaotic.extraPackages { - chaotic = { - scx.scheduler = "scx_lavd"; - mesa-git = { - enable = true; - extraPackages = with pkgs; [ - libva - libvdpau-va-gl - vaapiVdpau - libdrm_git - latencyflex-vulkan - mesa_git - mesa_git.opencl - vulkanPackages_latest.gfxreconstruct - vulkanPackages_latest.spirv-cross - vulkanPackages_latest.spirv-headers - vulkanPackages_latest.spirv-tools - vulkanPackages_latest.vulkan-extension-layer - vulkanPackages_latest.vulkan-headers - vulkanPackages_latest.vulkan-loader - vulkanPackages_latest.vulkan-tools - vulkanPackages_latest.vulkan-tools-lunarg - vulkanPackages_latest.vulkan-utility-libraries - vulkanPackages_latest.vulkan-validation-layers - vulkanPackages_latest.vulkan-volk - ]; - extraPackages32 = with pkgs.pkgsi686Linux; [ - pkgs.mesa32_git - pkgs.mesa32_git.opencl - libdrm32_git - libva - libvdpau-va-gl - vaapiVdpau - ]; - }; + }) + + (mkIf (cfg.packageSet == "chaotic") { + chaotic = { + scx = { + enable = true; + scheduler = "scx_lavd"; }; - }) - ])) + mesa-git = { + enable = true; + extraPackages = with pkgs; [ + libva + libvdpau-va-gl + vaapiVdpau + libdrm_git + latencyflex-vulkan + mesa_git + mesa_git.opencl + vulkanPackages_latest.gfxreconstruct + vulkanPackages_latest.spirv-cross + vulkanPackages_latest.spirv-headers + vulkanPackages_latest.spirv-tools + vulkanPackages_latest.vulkan-extension-layer + vulkanPackages_latest.vulkan-headers + vulkanPackages_latest.vulkan-loader + vulkanPackages_latest.vulkan-tools + vulkanPackages_latest.vulkan-tools-lunarg + vulkanPackages_latest.vulkan-utility-libraries + vulkanPackages_latest.vulkan-validation-layers + vulkanPackages_latest.vulkan-volk + ]; + extraPackages32 = with pkgs.pkgsi686Linux; [ + pkgs.mesa32_git + pkgs.mesa32_git.opencl + libdrm32_git + libva + libvdpau-va-gl + vaapiVdpau + ]; + }; + }; + }) ]); } diff --git a/modules/nixos/hardware/network/default.nix b/modules/nixos/hardware/network/default.nix index 8cba7d61..c1504707 100644 --- a/modules/nixos/hardware/network/default.nix +++ b/modules/nixos/hardware/network/default.nix @@ -7,44 +7,50 @@ cfg = config.nixos.hardware.network; in { options = { - nixos = { - hardware = { - network = { - enable = mkEnableOption "Enable the custom networking module"; - - hostName = mkOption { - type = types.str; - default = "default-hostname"; - description = "Hostname for the nixos."; - }; - - interfaces = mkOption { - type = types.attrsOf (types.submodule { - options = { - allowedTCPPorts = mkOption { - type = types.listOf types.int; - default = []; - description = "List of allowed TCP ports for this interface."; - }; - }; - }); - default = {}; - description = "Network interface configurations."; - }; - nm-applet = { - enable = mkEnableOption "Enables the nm-applet service."; - indicator = mkOption { - type = types.bool; - default = false; - description = "Enables the nm-applet indicator."; + nixos.hardware.network = { + enable = mkEnableOption "Enable the custom networking module"; + hostName = mkOption { + type = types.str; + default = "default-hostname"; + description = "Hostname for the nixos."; + }; + interfaces = mkOption { + type = types.attrsOf (types.submodule { + options = { + allowedTCPPorts = mkOption { + type = types.listOf types.int; + default = []; + description = "List of allowed TCP ports for this interface."; + }; + allowedUDPPorts = mkOption { + type = types.listOf types.int; + default = []; + description = "List of allowed UDP ports for this interface."; }; }; + }); + default = {}; + description = "Network interface configurations."; + }; + nm-applet = { + enable = mkEnableOption "Enables the nm-applet service."; + indicator = mkOption { + type = types.bool; + default = false; + description = "Enables the nm-applet indicator."; }; }; }; }; config = mkIf cfg.enable { + assertions = [ + { + assertion = cfg.interfaces != {} -> config.networking.networkmanager.enable; + message = "Network interfaces configured but NetworkManager is not enabled"; + } + ]; + networking = { networkmanager.enable = true; inherit (cfg) hostName; @@ -54,6 +60,12 @@ in { inherit (cfg) interfaces; }; }; + + systemd.services.NetworkManager = { + wants = ["nftables.service"]; + after = ["nftables.service"]; + }; + programs.nm-applet = { enable = cfg.nm-applet.enable; indicator = cfg.nm-applet.indicator; diff --git a/modules/nixos/system/xdg/default.nix b/modules/nixos/system/xdg/default.nix index 1ec0bfd9..fc06767c 100644 --- a/modules/nixos/system/xdg/default.nix +++ b/modules/nixos/system/xdg/default.nix @@ -15,11 +15,6 @@ in { default = true; description = "Use xdg-open via the portal."; }; - extraPortals = mkOption { - type = types.listOf types.package; - default = [pkgs.xdg-desktop-portal-gtk]; - description = "List of extra portals to include."; - }; }; }; @@ -28,10 +23,10 @@ in { enable = true; xdgOpenUsePortal = cfg.xdgOpenUsePortal; config = { - common.default = ["gtk"]; - hyprland.default = ["gtk" "hyprland"]; + common.default = "*"; + hyprland.default = ["hyprland" "gtk"]; }; - extraPortals = cfg.extraPortals; + extraPortals = [pkgs.xdg-desktop-portal-gtk]; }; }; } diff --git a/users/cnst/cpmodules.nix b/users/cnst/cpmodules.nix index 3a9d9579..eebae0a6 100644 --- a/users/cnst/cpmodules.nix +++ b/users/cnst/cpmodules.nix @@ -48,17 +48,17 @@ in { # enable = true; # }; # }; - gaming = { - steam = { - enable = mkForce false; - }; - # mangohud = { - # enable = true; - # }; - lutris = { - enable = mkForce false; - }; - }; + # gaming = { + # steam = { + # enable = mkForce false; + # }; + # # mangohud = { + # # enable = true; + # # }; + # lutris = { + # enable = mkForce false; + # }; + # }; # cli = { # alacritty = { # enable = true; diff --git a/users/toothpick/modules.nix b/users/toothpick/modules.nix index 0d8daecd..832e53f9 100644 --- a/users/toothpick/modules.nix +++ b/users/toothpick/modules.nix @@ -34,14 +34,14 @@ enable = true; }; }; - gaming = { - steam = { - enable = true; - }; - # mangohud = { - # enable = false; - # }; - }; + # gaming = { + # steam = { + # enable = true; + # }; + # mangohud = { + # enable = false; + # }; + # }; cli = { alacritty = { enable = true;