diff --git a/devenv.lock b/devenv.lock new file mode 100644 index 0000000..1d3c354 --- /dev/null +++ b/devenv.lock @@ -0,0 +1,65 @@ +{ + "nodes": { + "devenv": { + "locked": { + "dir": "src/modules", + "lastModified": 1788547743, + "narHash": "sha256-IppAkVcpH55MHAljWOthUEF/crrX3Rs8ZBSzuGes3gA=", + "owner": "cachix", + "repo": "devenv", + "rev": "77f76dbb618d6c91d7dbba369da1483228f3fd6f", + "type": "github" + }, + "original": { + "dir": "src/modules", + "owner": "cachix", + "repo": "devenv", + "type": "github" + } + }, + "nixpkgs": { + "inputs": { + "nixpkgs-src": "nixpkgs-src" + }, + "locked": { + "lastModified": 1787753358, + "narHash": "sha256-Tl77VbWyAKrOfRNQhL6JbQtb/MLzbYa/1RG1gWWfICk=", + "owner": "cachix", + "repo": "devenv-nixpkgs", + "rev": "256551e45f6303e142ab4a98be1bf243feb77dc0", + "type": "github" + }, + "original": { + "owner": "cachix", + "ref": "rolling", + "repo": "devenv-nixpkgs", + "type": "github" + } + }, + "nixpkgs-src": { + "flake": false, + "locked": { + "lastModified": 1787394516, + "narHash": "sha256-pRGOQSClnXNI2iLUG6DYpsGvYcuw0drOutVZFTJNw90=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c8f90650c15282fa8656a041bfbbd2403997a9a7", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "devenv": "devenv", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} \ No newline at end of file diff --git a/flake.lock b/flake.lock index e834514..e88410c 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1784789275, - "narHash": "sha256-cgRTWuG+u1tBPhm01JrId2k0Bni09phVJ1Q0BZlRd7M=", + "lastModified": 1789273010, + "narHash": "sha256-E7dWx+utzZPpqQsBUd5sMimKTWMEEbTKFD+ya99Shps=", "owner": "nix-community", "repo": "home-manager", - "rev": "3b0e6bbd65869af1beadf5963a99befc179d209f", + "rev": "fdc36b12804b0179b24a5ffd282e4c95c37072e2", "type": "github" }, "original": { @@ -22,11 +22,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1784497964, - "narHash": "sha256-WhdsTtaih3DgTPP/PX023b36UNQyMzEoi6GkPyGx0y4=", - "rev": "241313f4e8e508cb9b13278c2b0fa25b9ca27163", + "lastModified": 1789149629, + "narHash": "sha256-eQUZVehWLDBbpBR2rq6DnuRee1ULT6Y675RhsYDSjYI=", + "rev": "eaad089433ca2bb662274377d33df3d0e51ef28b", "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1037713.241313f4e8e5/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1072397.eaad089433ca/nixexprs.tar.xz" }, "original": { "id": "nixpkgs", @@ -38,9 +38,52 @@ "inputs": { "home-manager": "home-manager", "nixpkgs": "nixpkgs", + "xwayland-satellite": "xwayland-satellite", "zen-browser": "zen-browser" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "xwayland-satellite", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1769222645, + "narHash": "sha256-gu6oZ86zLudBZMq8LL1qdtYt/S69GV5keQVXdvBrVSU=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "22da29e7f3d8cff75009cbbcf992c7cb66920cfd", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "xwayland-satellite": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1788991189, + "narHash": "sha256-0TxfMgqW0/BLD4M942c5DCKYrtPvzsPJwvdcco4LQUM=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "add2795134593faafce60e404a0a75df68e9ee0c", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "type": "github" + } + }, "zen-browser": { "inputs": { "home-manager": [ @@ -51,11 +94,11 @@ ] }, "locked": { - "lastModified": 1784822396, - "narHash": "sha256-gW59E7cwPetoOAcygLtHQX7a3C8VdWz6T0GazldcxU0=", + "lastModified": 1789239533, + "narHash": "sha256-x6LDRbyl+trEnwrFth2SAdDf8x4SM7DWcjmR2JUxtAg=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "a68b1580a237cae4c9f86e04ac972726e3f87fdb", + "rev": "b66d03970382d5185e040110b24ecb7a39df0e80", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1af607f..9cc612e 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,10 @@ home-manager.follows = "home-manager"; }; }; + xwayland-satellite = { + url = "github:Supreeeme/xwayland-satellite"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -25,6 +29,7 @@ { nixosConfigurations.prouk = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; + specialArgs = { inherit inputs; }; modules = [ ./nixos home-manager.nixosModules.home-manager diff --git a/home/config/alacritty/alacritty.toml b/home/config/alacritty/alacritty.toml new file mode 100644 index 0000000..b185439 --- /dev/null +++ b/home/config/alacritty/alacritty.toml @@ -0,0 +1,10 @@ +[window] + +padding = { + x = 5, + y = 5 +} + +decorations = "None" + +opacity = 0.8 diff --git a/home/config/default.nix b/home/config/default.nix index 34e2fef..18cff25 100644 --- a/home/config/default.nix +++ b/home/config/default.nix @@ -5,4 +5,9 @@ recursive = true; source = ./niri; }; + xdg.configFile."alacritty" = { + force = true; + recursive = true; + source = ./alacritty; + }; } diff --git a/home/config/niri/config.kdl b/home/config/niri/config.kdl index 385d895..5c21cf2 100644 --- a/home/config/niri/config.kdl +++ b/home/config/niri/config.kdl @@ -19,3 +19,10 @@ cursor { prefer-no-csd screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" + +blur { + passes 3 + offset 3.0 + noise 0.02 + saturation 1.75 +} diff --git a/home/config/niri/env.kdl b/home/config/niri/env.kdl index 684f9a5..1bb1687 100644 --- a/home/config/niri/env.kdl +++ b/home/config/niri/env.kdl @@ -57,4 +57,11 @@ environment { XDG_SESSION_TYPE "wayland" XDG_CURRENT_DESKTOP "niri" XDG_SESSION_DESKTOP "niri" + + // ========================================================================= + // 6. STEAM / PROTON + // ========================================================================= + // Stuff for gaming + PROTON_ADD_CONFIG "wayland" + DXVK_CONFIG "dxvk.enableNvRawAccessChains=False" } diff --git a/home/config/niri/layout.kdl b/home/config/niri/layout.kdl index 7271423..f791914 100644 --- a/home/config/niri/layout.kdl +++ b/home/config/niri/layout.kdl @@ -1,6 +1,6 @@ layout { background-color "transparent" - gaps 16 + gaps 3 center-focused-column "never" diff --git a/home/config/niri/wrules.kdl b/home/config/niri/wrules.kdl index e8916de..9a15c95 100644 --- a/home/config/niri/wrules.kdl +++ b/home/config/niri/wrules.kdl @@ -6,4 +6,8 @@ window-rule { window-rule { geometry-corner-radius 12 clip-to-geometry true + + background-effect { + blur true + } } diff --git a/home/default.nix b/home/default.nix index 1494075..5b5ea6d 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,37 +1,17 @@ -{ - pkgs, - ... -}: +{ ... }: { imports = [ ./user.nix - ./programs.nix - ./code.nix + ./packages + ./desktopentries.nix ./config - ./look.nix ]; programs.git.enable = true; - programs.bash.enable = true; - programs.direnv = { + programs.bash = { enable = true; - enableBashIntegration = true; + bashrcExtra = "eval \"$(devenv hook bash)\"\n"; }; - home.packages = with pkgs; [ - xwayland-satellite - github-copilot-cli - vesktop - pavucontrol - wev - lutris - fuzzel - gparted - yazi - btop - awww - wootility - wooting-udev-rules - ]; home.stateVersion = "26.05"; } diff --git a/home/desktopentries.nix b/home/desktopentries.nix new file mode 100644 index 0000000..5a5f3f5 --- /dev/null +++ b/home/desktopentries.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: +{ + xdg.desktopEntries."awakened-poe-trade" = { + name = "Awakened PoE Trade"; + exec = "${pkgs.awakened-poe-trade}/bin/awakened-poe-trade --no-overlay --listen=0.0.0.0:33333 %U"; + terminal = false; + type = "Application"; + icon = "awakened-poe-trade"; + categories = [ + "Game" + "Utility" + ]; + }; +} diff --git a/home/packages/default.nix b/home/packages/default.nix new file mode 100644 index 0000000..8bfb001 --- /dev/null +++ b/home/packages/default.nix @@ -0,0 +1,11 @@ +{ ... }: +{ + imports = [ + ./development.nix + ./desktop.nix + ./gaming.nix + ./hardware.nix + ./media.nix + ./web.nix + ]; +} diff --git a/home/look.nix b/home/packages/desktop.nix similarity index 60% rename from home/look.nix rename to home/packages/desktop.nix index b13c646..2f66930 100644 --- a/home/look.nix +++ b/home/packages/desktop.nix @@ -13,4 +13,17 @@ name = "Colloid-dark-cursors"; size = 24; }; + + home.packages = with pkgs; [ + awww + btop + fuzzel + gparted + pavucontrol + vesktop + wev + wl-clip-persist + yazi + alacritty + ]; } diff --git a/home/code.nix b/home/packages/development.nix similarity index 81% rename from home/code.nix rename to home/packages/development.nix index d514f7a..811f5ce 100644 --- a/home/code.nix +++ b/home/packages/development.nix @@ -4,9 +4,12 @@ enable = true; defaultEditor = true; }; + home.packages = with pkgs; [ devenv + github-copilot-cli nil nixd + jujutsu ]; } diff --git a/home/packages/gaming.nix b/home/packages/gaming.nix new file mode 100644 index 0000000..61510dd --- /dev/null +++ b/home/packages/gaming.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + awakened-poe-trade + lutris + rusty-path-of-building + protonup-rs + protontricks + winetricks + mangohud + ]; +} diff --git a/home/packages/hardware.nix b/home/packages/hardware.nix new file mode 100644 index 0000000..0f85e80 --- /dev/null +++ b/home/packages/hardware.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + wootility + wooting-udev-rules + ]; + + services.udiskie = { + enable = true; + automount = true; + }; +} diff --git a/home/packages/media.nix b/home/packages/media.nix new file mode 100644 index 0000000..c9755c5 --- /dev/null +++ b/home/packages/media.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + sone + ]; + + programs.obs-studio = { + enable = true; + package = ( + pkgs.obs-studio.override { + cudaSupport = true; + } + ); + + plugins = with pkgs.obs-studio-plugins; [ + obs-pipewire-audio-capture + ]; + }; +} diff --git a/home/programs.nix b/home/packages/web.nix similarity index 80% rename from home/programs.nix rename to home/packages/web.nix index 305c9db..b8f38ef 100644 --- a/home/programs.nix +++ b/home/packages/web.nix @@ -7,5 +7,6 @@ programs.zen-browser = { enable = true; setAsDefaultBrowser = true; + profiles.default.sine.enable = true; }; } diff --git a/nixos/audio.nix b/nixos/audio.nix index 9b4f686..e041ea8 100644 --- a/nixos/audio.nix +++ b/nixos/audio.nix @@ -8,7 +8,7 @@ alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; - jack.enable = true; + jack.enable = false; }; environment.systemPackages = with pkgs; [ diff --git a/nixos/default.nix b/nixos/default.nix index 6939c24..fb78614 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -9,8 +9,8 @@ ./dm/sddm.nix ./wm/niri.nix ./inputs/wooting.nix - ./inputs/wooting.nix ./network/bluetooth.nix + ./network/usb.nix ./steam/steam.nix ]; @@ -45,10 +45,6 @@ boot.kernelPackages = pkgs.linuxPackages_latest; - environment.systemPackages = with pkgs; [ - gnumake - ]; - nix.settings = { trusted-users = [ "prouk" ]; diff --git a/nixos/graphics/nvidia.nix b/nixos/graphics/nvidia.nix index ae55d50..d8f5ffa 100644 --- a/nixos/graphics/nvidia.nix +++ b/nixos/graphics/nvidia.nix @@ -6,8 +6,6 @@ hardware.nvidia = { branch = "bleeding_edge"; modesetting.enable = true; - powerManagement.enable = false; - powerManagement.finegrained = false; open = true; nvidiaSettings = true; }; @@ -16,5 +14,9 @@ libva-utils nvidia-vaapi-driver nvtopPackages.nvidia + lact ]; + + systemd.packages = with pkgs; [ lact ]; + systemd.services.lactd.wantedBy = ["multi-user.target"]; } diff --git a/nixos/network/usb.nix b/nixos/network/usb.nix new file mode 100644 index 0000000..066f4c7 --- /dev/null +++ b/nixos/network/usb.nix @@ -0,0 +1,4 @@ +{ ... }: +{ + services.udisks2.enable = true; +} diff --git a/nixos/steam/steam.nix b/nixos/steam/steam.nix index 87ceb6e..bb39f91 100644 --- a/nixos/steam/steam.nix +++ b/nixos/steam/steam.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ ... }: { programs = { steam.enable = true; @@ -7,10 +7,4 @@ capSysNice = false; }; }; - environment.systemPackages = with pkgs; [ - SDL2 - protonup-rs - protontricks - winetricks - ]; } diff --git a/nixos/wm/niri.nix b/nixos/wm/niri.nix index 2592245..3ef8e4d 100644 --- a/nixos/wm/niri.nix +++ b/nixos/wm/niri.nix @@ -1,13 +1,8 @@ -{ pkgs, ... }: +{ pkgs, inputs, ... }: { programs.niri.enable = true; - programs.xwayland.enable = true; - environment.variables = { - NIXOS_OZONE_WLEGL = "1"; - }; - - environment.systemPackages = with pkgs; [ - alacritty + environment.systemPackages = [ + inputs.xwayland-satellite.packages.${pkgs.system}.default ]; }