diff --git a/flake.lock b/flake.lock index 671a5f9..989cb82 100644 --- a/flake.lock +++ b/flake.lock @@ -135,11 +135,11 @@ ] }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -296,11 +296,11 @@ ] }, "locked": { - "lastModified": 1741955947, - "narHash": "sha256-2lbURKclgKqBNm7hVRtWh0A7NrdsibD0EaWhahUVhhY=", + "lastModified": 1743295846, + "narHash": "sha256-hKKz07d4RV9gzxzE5Qu3RQWX8a7XpzRrP5timoxoGRQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "4e12151c9e014e2449e0beca2c0e9534b96a26b4", + "rev": "717030011980e9eb31eb8ce011261dd532bce92c", "type": "github" }, "original": { @@ -317,11 +317,11 @@ }, "locked": { "dir": "iceshrimp-js", - "lastModified": 1732326761, - "narHash": "sha256-g5oPo/B14lEcUccxBuUeqVghhnflExVpVMveYCVFr6s=", + "lastModified": 1742616686, + "narHash": "sha256-+yOoxAxxOeQ/pFDrRrCeBgiL0/8PgOHeHN4+yKDuUA4=", "ref": "refs/heads/dev", - "rev": "02851fb2a4870d4519aa7561095b367d7cee7578", - "revCount": 54, + "rev": "0a3e3bb6f339263c54e7fd910a7d069da6c7fda6", + "revCount": 55, "type": "git", "url": "https://iceshrimp.dev/iceshrimp/packaging" }, @@ -447,11 +447,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1741509550, - "narHash": "sha256-O7+c7MYOvKnGhE5qwRqV+q0NePEtiz6spM1Mfu/Heck=", - "rev": "0d1f794178d42bfa1ef40ecb80be514139779184", + "lastModified": 1737234286, + "narHash": "sha256-pgDJZjj4jpzkFxsqBTI/9Yb0n3gW+DvDtuv9SwQZZcs=", + "rev": "079528098f5998ba13c88821a2eca1005c1695de", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/0d1f794178d42bfa1ef40ecb80be514139779184.tar.gz?rev=0d1f794178d42bfa1ef40ecb80be514139779184" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/079528098f5998ba13c88821a2eca1005c1695de.tar.gz?rev=079528098f5998ba13c88821a2eca1005c1695de" }, "original": { "type": "tarball", @@ -468,15 +468,15 @@ ] }, "locked": { - "lastModified": 1741892773, - "narHash": "sha256-8oUT6D7VlsuLkms3zBsUaPBUoxucmFq62QdtyVpjq0Y=", - "rev": "ed7a2fa83145868ecb830d6b3c73ebfd81a9e911", + "lastModified": 1742919621, + "narHash": "sha256-+Wy+bMNZXDTfMuCFKRWbd2Rcpj6UZcrQ8tlT5vhtgm4=", + "rev": "c40fe6e5c69fed5f5df4af92479046d86e2368ac", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/ed7a2fa83145868ecb830d6b3c73ebfd81a9e911.tar.gz?rev=ed7a2fa83145868ecb830d6b3c73ebfd81a9e911" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/c40fe6e5c69fed5f5df4af92479046d86e2368ac.tar.gz?rev=c40fe6e5c69fed5f5df4af92479046d86e2368ac" }, "original": { "type": "tarball", - "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-1.tar.gz" + "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-2.tar.gz" } }, "nixlib": { @@ -500,11 +500,11 @@ "nixpkgs": "nixpkgs_4" }, "locked": { - "lastModified": 1740947705, - "narHash": "sha256-Co2kAD2SZalOm+5zoxmzEVZNvZ17TyafuFsD46BwSdY=", + "lastModified": 1742568034, + "narHash": "sha256-QaMEhcnscfF2MqB7flZr+sLJMMYZPnvqO4NYf9B4G38=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "507911df8c35939050ae324caccc7cf4ffb76565", + "rev": "42ee229088490e3777ed7d1162cb9e9d8c3dbb11", "type": "github" }, "original": { @@ -515,11 +515,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1741792691, - "narHash": "sha256-f0BVt1/cvA0DQ/q3rB+HY4g4tKksd03ZkzI4xehC2Ew=", + "lastModified": 1743167577, + "narHash": "sha256-I09SrXIO0UdyBFfh0fxDq5WnCDg8XKmZ1HQbaXzMA1k=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "e1f12151258b12c567f456d8248e4694e9390613", + "rev": "0ed819e708af17bfc4bbc63ee080ef308a24aa42", "type": "github" }, "original": { @@ -607,11 +607,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1742158671, - "narHash": "sha256-ygAipZPx9TsvIyDTjW9egkdyTicKpD8CoVBJUk9Xm5s=", + "lastModified": 1743296761, + "narHash": "sha256-gIP7GRCwcfkVCmIO42E/R68pDfkTFKh5bDtkFnAUWfs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "178d364c0fb576b2b116e3b7b0705943eacf25f8", + "rev": "f021a4b13c807e6b862008bcc637c0d2fce6c315", "type": "github" }, "original": { @@ -623,11 +623,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1741862977, - "narHash": "sha256-prZ0M8vE/ghRGGZcflvxCu40ObKaB+ikn74/xQoNrGQ=", + "lastModified": 1743231893, + "narHash": "sha256-tpJsHMUPEhEnzySoQxx7+kA+KUtgWqvlcUBqROYNNt0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cdd2ef009676ac92b715ff26630164bb88fec4e0", + "rev": "c570c1f5304493cafe133b8d843c7c1c4a10d3a6", "type": "github" }, "original": { @@ -639,11 +639,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1742069588, - "narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=", + "lastModified": 1743095683, + "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5", + "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6", "type": "github" }, "original": { @@ -703,11 +703,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1742069588, - "narHash": "sha256-C7jVfohcGzdZRF6DO+ybyG/sqpo1h6bZi9T56sxLy+k=", + "lastModified": 1743095683, + "narHash": "sha256-gWd4urRoLRe8GLVC/3rYRae1h+xfQzt09xOfb0PaHSk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c80f6a7e10b39afcc1894e02ef785b1ad0b0d7e5", + "rev": "5e5402ecbcb27af32284d4a62553c019a3a49ea6", "type": "github" }, "original": { @@ -719,11 +719,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1741708242, - "narHash": "sha256-cNRqdQD4sZpN7JLqxVOze4+WsWTmv2DGH0wNCOVwrWc=", + "lastModified": 1742578646, + "narHash": "sha256-GiQ40ndXRnmmbDZvuv762vS+gew1uDpFwOfgJ8tLiEs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b62d2a95c72fb068aecd374a7262b37ed92df82b", + "rev": "94c4dbe77c0740ebba36c173672ca15a7926c993", "type": "github" }, "original": { @@ -742,11 +742,11 @@ "nuschtosSearch": "nuschtosSearch" }, "locked": { - "lastModified": 1741814789, - "narHash": "sha256-NbHsnnNwiYUcUaS4z8XK2tYpo3G8NXEKxaKkzMgMiLk=", + "lastModified": 1743288994, + "narHash": "sha256-hUlfAcIUnS8/eSFq+uzOHPZO1p8QgBTAoqhDWzEkUto=", "owner": "nix-community", "repo": "nixvim", - "rev": "33097dcf776d1fad0ff3842096c4e3546312f251", + "rev": "81fdde9fc529e0a5f9ff0d570f31acfe85fd20ac", "type": "github" }, "original": { @@ -786,11 +786,11 @@ ] }, "locked": { - "lastModified": 1738508923, - "narHash": "sha256-4DaDrQDAIxlWhTjH6h/+xfG05jt3qDZrZE/7zDLQaS4=", + "lastModified": 1742659553, + "narHash": "sha256-i/JCrr/jApVorI9GkSV5to+USrRCa0rWuQDH8JSlK2A=", "owner": "NuschtOS", "repo": "search", - "rev": "86e2038290859006e05ca7201425ea5b5de4aecb", + "rev": "508752835128a3977985a4d5225ff241f7756181", "type": "github" }, "original": { @@ -846,6 +846,29 @@ "url": "https://git.sapphic.engineer/noe/plapkit" } }, + "plasma-manager": { + "inputs": { + "home-manager": [ + "home-manager" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1742765550, + "narHash": "sha256-2vVIh2JrL6GAGfgCeY9e6iNKrBjs0Hw3bGQEAbwVs68=", + "owner": "nix-community", + "repo": "plasma-manager", + "rev": "b70be387276e632fe51232887f9e04e2b6ef8c16", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "plasma-manager", + "type": "github" + } + }, "root": { "inputs": { "apple-silicon": "apple-silicon", @@ -869,6 +892,7 @@ "noe-sh": "noe-sh", "pihole": "pihole", "plapkit": "plapkit", + "plasma-manager": "plasma-manager", "saerro": "saerro", "sops-nix": "sops-nix", "tachikoma": "tachikoma" @@ -937,11 +961,11 @@ "nixpkgs": "nixpkgs_6" }, "locked": { - "lastModified": 1741861888, - "narHash": "sha256-ynOgXAyToeE1UdLNfrUn/hL7MN0OpIS2BtNdLjpjPf0=", + "lastModified": 1742700801, + "narHash": "sha256-ZGlpUDsuBdeZeTNgoMv+aw0ByXT2J3wkYw9kJwkAS4M=", "owner": "Mic92", "repo": "sops-nix", - "rev": "d016ce0365b87d848a57c12ffcfdc71da7a2b55f", + "rev": "67566fe68a8bed2a7b1175fdfb0697ed22ae8852", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index a7b88d2..5a9a01c 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ inputs = { lix-module = { - url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-1.tar.gz"; + url = "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-2.tar.gz"; inputs.nixpkgs.follows = "nixpkgs-master"; }; @@ -18,6 +18,11 @@ url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; + plasma-manager = { + url = "github:nix-community/plasma-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + inputs.home-manager.follows = "home-manager"; + }; # Darwin & Apple Silicon tools apple-silicon.url = "github:tpwrules/nixos-apple-silicon"; diff --git a/home-manager/features/wallpaper.nix b/home-manager/features/wallpaper.nix new file mode 100644 index 0000000..b0e228f --- /dev/null +++ b/home-manager/features/wallpaper.nix @@ -0,0 +1,4 @@ +{ pkgs, lib, ... }: { + programs.plasma.enable = lib.mkDefault true; + programs.plasma.workspace.wallpaper = "${pkgs.local-pkgs.wallpaper}"; +} diff --git a/home-manager/noe/common/default.nix b/home-manager/noe/common/default.nix index fc84e36..0d4d737 100644 --- a/home-manager/noe/common/default.nix +++ b/home-manager/noe/common/default.nix @@ -10,18 +10,18 @@ sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"]; sops.defaultSopsFile = ../../../secrets/default.yaml; - nixpkgs = { - overlays = [ - outputs.overlays.additions - outputs.overlays.modifications - outputs.overlays.unstable-packages - #inputs.nur.overlay - ]; - config = { - allowUnfree = true; - allowUnfreePredicate = (_: true); - }; - }; + # nixpkgs = { + # overlays = [ + # outputs.overlays.additions + # outputs.overlays.modifications + # outputs.overlays.unstable-packages + # #inputs.nur.overlay + # ]; + # config = { + # allowUnfree = true; + # allowUnfreePredicate = (_: true); + # }; + # }; home = { sessionVariables = { diff --git a/home-manager/noe/hosts/aerial.nix b/home-manager/noe/hosts/aerial.nix index 79e55f0..c586de9 100644 --- a/home-manager/noe/hosts/aerial.nix +++ b/home-manager/noe/hosts/aerial.nix @@ -6,6 +6,7 @@ ../../features/kitty.nix ../../features/vesktop ../../features/retroarch.nix + ../../features/wallpaper.nix ]; home.packages = with pkgs; let diff --git a/home-manager/noe/hosts/unicorn.nix b/home-manager/noe/hosts/unicorn.nix index 8bd7768..67f220e 100644 --- a/home-manager/noe/hosts/unicorn.nix +++ b/home-manager/noe/hosts/unicorn.nix @@ -6,6 +6,7 @@ ../../features/kitty.nix ../../features/vesktop ../../features/retroarch.nix + ../../features/wallpaper.nix ]; home.packages = with pkgs; [ diff --git a/nixos/base.nix b/nixos/base.nix index 7166bc4..d8b2585 100644 --- a/nixos/base.nix +++ b/nixos/base.nix @@ -28,6 +28,9 @@ }; home-manager.extraSpecialArgs = { inherit inputs outputs; }; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ]; # A very fishy fish. programs.fish = { diff --git a/nixos/features/nvidia-no-vrr.nix b/nixos/features/nvidia-no-vrr.nix index d377f96..1719dfe 100644 --- a/nixos/features/nvidia-no-vrr.nix +++ b/nixos/features/nvidia-no-vrr.nix @@ -3,7 +3,7 @@ let nvidia = config.hardware.nvidia.package; vrr-off = pkgs.writeScriptBin "vrr-off" '' #!/bin/sh - ${nvidia}/bin/nvidia-settings -a AllowVRR=0 + nvidia-settings -a AllowVRR=0 ''; in { config = { diff --git a/nixos/features/nvidia.nix b/nixos/features/nvidia.nix index 22411e9..bda2a21 100644 --- a/nixos/features/nvidia.nix +++ b/nixos/features/nvidia.nix @@ -37,5 +37,5 @@ }; boot.kernelPackages = pkgs.linuxPackages_zen; - #boot.kernelParams = [ "nvidia-drm.fbdev=1" ]; + boot.kernelParams = [ "nvidia-drm.modeset=1" ]; } diff --git a/nixos/features/steam.nix b/nixos/features/steam.nix index 006456c..a37552d 100644 --- a/nixos/features/steam.nix +++ b/nixos/features/steam.nix @@ -1,12 +1,33 @@ -{ pkgs, lib, ... }: { +{ pkgs, lib, ... }: let + _gamescope = pkgs.gamescope.overrideAttrs (final: prev: { + src = pkgs.fetchFromGitHub { + owner = "ValveSoftware"; + repo = "gamescope"; + rev = "186f3a3ed0ce8eb5f3a956d3916a3331ea4e3ab2"; + fetchSubmodules = true; + hash = "sha256-zAzIi3syJYtbKjydp19d1OxZvMjXb+eO+mXT/mJPEuA="; + }; + }); +in { programs.steam = { enable = true; - package = lib.mkDefault pkgs.steam; + package = pkgs.steam; + extraPackages = with pkgs; [ + libkrb5 + keyutils + gamemode + mangohud + _gamescope + ]; + extraCompatPackages = with pkgs; [ + proton-ge-bin + ]; remotePlay.openFirewall = true; + protontricks.enable = true; }; - environment.systemPackages = with pkgs; [ - # steamcmd - # steam-tui - ]; + programs.gamescope = { + enable = true; + package = _gamescope; + }; } diff --git a/nixos/hosts/unicorn/default.nix b/nixos/hosts/unicorn/default.nix index 7b9d135..c7201a6 100644 --- a/nixos/hosts/unicorn/default.nix +++ b/nixos/hosts/unicorn/default.nix @@ -1,4 +1,4 @@ -{ pkgs, config, inputs, ... }: { +{ pkgs, config, inputs, lib, ... }: { imports = [ ./hardware-configuration.nix ../../client.nix @@ -47,7 +47,11 @@ }; # always enable prime (fixes vulkan precaching -- it will compile them on AMD, trust aki, deal with it.) - programs.steam.package = pkgs.steam.override { + programs.steam.package = lib.mkForce pkgs.steam.override { + extraPkgs = pkgs: with pkgs; [ + libkrb5 + keyutils + ]; extraEnv = { __NV_PRIME_RENDER_OFFLOAD="1"; __NV_PRIME_RENDER_OFFLOAD_PROVIDER="NVIDIA-G0"; diff --git a/pkgs/default.nix b/pkgs/default.nix index e233222..041c82a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -3,4 +3,6 @@ plex-exporter = import ./plex-exporter.nix { inherit pkgs; }; beyond-all-reason = import ./beyond-all-reason.nix { inherit pkgs; }; mspaint = import ./mspaint { inherit pkgs; }; + wallpaper = import ./wallpaper { inherit pkgs; }; } + \ No newline at end of file diff --git a/pkgs/wallpaper/default.nix b/pkgs/wallpaper/default.nix new file mode 100644 index 0000000..68cf37d --- /dev/null +++ b/pkgs/wallpaper/default.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: pkgs.stdenvNoCC.mkDerivation { + name = "wallpaper"; + version = "0.0.1"; + + src = ./.; + + buildPhase = '' + cp ./wallpaper.png $out + ''; +} diff --git a/pkgs/wallpaper/wallpaper.png b/pkgs/wallpaper/wallpaper.png new file mode 100644 index 0000000..8a95afc Binary files /dev/null and b/pkgs/wallpaper/wallpaper.png differ