From 3bda156ab436a2db797594290ee77c45d86631da Mon Sep 17 00:00:00 2001 From: Steam Deck User Date: Sun, 23 Feb 2025 16:22:20 +0000 Subject: [PATCH] add nixgl --- devices/deck/home.nix | 20 +++++++++-- flake.lock | 52 +++++++++++++++++++++++++++- flake.nix | 1 + home-manager-update.sh | 2 +- home-manager/base.nix | 23 ++++++------ home-manager/{ => base}/fonts.nix | 0 home-manager/{ => base}/terminal.nix | 3 +- home-manager/firefox/firefox.nix | 4 +-- home-manager/gaming.nix | 6 ++-- steam-run-nix.sh | 5 +++ 10 files changed, 95 insertions(+), 21 deletions(-) mode change 100644 => 100755 home-manager-update.sh rename home-manager/{ => base}/fonts.nix (100%) rename home-manager/{ => base}/terminal.nix (98%) create mode 100755 steam-run-nix.sh diff --git a/devices/deck/home.nix b/devices/deck/home.nix index 7c57e72..4ce9100 100644 --- a/devices/deck/home.nix +++ b/devices/deck/home.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, inputs, config, ... }: { imports = [ @@ -19,7 +19,7 @@ home.stateVersion = "24.05"; - home.packages = with pkgs;[ ]; + home.packages = with pkgs;[ (config.lib.nixGL.wrap nextcloud-client) ]; home.file = { # # Building this configuration will create a copy of 'dotfiles/screenrc' in @@ -33,4 +33,20 @@ # org.gradle.daemon.idletimeout=3600000 # ''; }; + + nixGL = { + packages = inputs.nixgl.packages; + # vulkan.enable = true; + }; + + programs.kodi = { + enable = true; + package = config.lib.nixGL.wrap (pkgs.kodi.withPackages (exts: [ exts.jellycon exts.joystick ])); + }; + + systemd.user.services.nextcloud-client = { + Unit = { + After = pkgs.lib.mkForce "graphical-session.target"; + }; + }; } diff --git a/flake.lock b/flake.lock index 12c1304..9b8447c 100644 --- a/flake.lock +++ b/flake.lock @@ -54,6 +54,21 @@ "type": "github" } }, + "flake-utils_2": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -96,6 +111,25 @@ "type": "github" } }, + "nixgl": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1713543440, + "narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=", + "owner": "nix-community", + "repo": "nixGL", + "rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixGL", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1739798439, @@ -145,6 +179,21 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1660551188, + "narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65", + "type": "github" + }, + "original": { + "owner": "nixos", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1739758141, "narHash": "sha256-uq6A2L7o1/tR6VfmYhZWoVAwb3gTy7j4Jx30MIrH0rE=", @@ -165,8 +214,9 @@ "disko": "disko", "home-manager": "home-manager", "nix-vscode-extensions": "nix-vscode-extensions", + "nixgl": "nixgl", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-unstable": "nixpkgs-unstable" } }, diff --git a/flake.nix b/flake.nix index 2ac147a..f8755ea 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,7 @@ inputs.nixpkgs.follows = "nixpkgs"; }; nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions?rev=a81daa13ca23440d8ae219d765140769c4d2f117"; + nixgl.url = "github:nix-community/nixGL"; }; outputs = { self, nixpkgs, nixos-hardware, home-manager, ... }@inputs: diff --git a/home-manager-update.sh b/home-manager-update.sh old mode 100644 new mode 100755 index 52f4064..e5ecf80 --- a/home-manager-update.sh +++ b/home-manager-update.sh @@ -1,2 +1,2 @@ #!/usr/bin/env bash -home-manager switch --flake "/home/worble/Projects/nixos#$(whoami)" +home-manager switch --flake "/home/$(whoami)/Projects/nixos#$(whoami)" diff --git a/home-manager/base.nix b/home-manager/base.nix index b630fa1..b7335f9 100644 --- a/home-manager/base.nix +++ b/home-manager/base.nix @@ -1,23 +1,23 @@ -{ pkgs, lib, ... }: +{ pkgs, lib, config, ... }: { imports = [ - ./fonts.nix - ./terminal.nix + ./base/fonts.nix + ./base/terminal.nix ./firefox/firefox.nix ]; home.packages = with pkgs;[ # general - thunderbird - keepassxc - qbittorrent - libreoffice-qt - joplin-desktop + (config.lib.nixGL.wrap thunderbird) + (config.lib.nixGL.wrap keepassxc) + (config.lib.nixGL.wrap qbittorrent) + (config.lib.nixGL.wrap libreoffice-qt) + (config.lib.nixGL.wrap joplin-desktop) # comms - teamspeak_client - vesktop + (config.lib.nixGL.wrap teamspeak_client) + (config.lib.nixGL.wrap vesktop) ]; home.sessionVariables = { @@ -26,6 +26,7 @@ services.nextcloud-client = { enable = true; + package = config.lib.nixGL.wrap pkgs.nextcloud-client; startInBackground = true; }; @@ -34,7 +35,7 @@ chromium = { enable = true; - package = pkgs.brave; + package = config.lib.nixGL.wrap pkgs.brave; }; mpv = lib.mkDefault { diff --git a/home-manager/fonts.nix b/home-manager/base/fonts.nix similarity index 100% rename from home-manager/fonts.nix rename to home-manager/base/fonts.nix diff --git a/home-manager/terminal.nix b/home-manager/base/terminal.nix similarity index 98% rename from home-manager/terminal.nix rename to home-manager/base/terminal.nix index 68c1df6..1477a45 100644 --- a/home-manager/terminal.nix +++ b/home-manager/base/terminal.nix @@ -3,7 +3,7 @@ with lib; { imports = [ - ./development/helix.nix + ../development/helix.nix ]; options.terminal = { @@ -170,6 +170,7 @@ with lib; alacritty = { enable = true; + package = config.lib.nixGL.wrap pkgs.alacritty; settings = { font = { normal = { diff --git a/home-manager/firefox/firefox.nix b/home-manager/firefox/firefox.nix index 98803a1..94cc1d1 100644 --- a/home-manager/firefox/firefox.nix +++ b/home-manager/firefox/firefox.nix @@ -1,9 +1,10 @@ -{ ... }: +{ pkgs, config, ... }: { programs = { firefox = { enable = true; + package = config.lib.nixGL.wrap pkgs.firefox; languagePacks = [ "en-GB" ]; @@ -22,7 +23,6 @@ listToAttrs [ # Security / Privacy (extension "ublock-origin" "uBlock0@raymondhill.net") - (extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}") (extension "canvasblocker" "CanvasBlocker@kkapsner.de") (extension "cookie-autodelete" "CookieAutoDelete@kennydo.com") (extension "happy-bonobo-disable-webrtc" "jid1-5Fs7iTLscUaZBgwr@jetpack") diff --git a/home-manager/gaming.nix b/home-manager/gaming.nix index 41d3eff..26d9ad4 100644 --- a/home-manager/gaming.nix +++ b/home-manager/gaming.nix @@ -1,9 +1,9 @@ -{ inputs, pkgs, ... }: +{ inputs, pkgs, config, ... }: { home.packages = with pkgs;[ steamguard-cli - bottles - inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".ryujinx-greemdev + (config.lib.nixGL.wrap bottles) + (config.lib.nixGL.wrap inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".ryujinx-greemdev) ]; } diff --git a/steam-run-nix.sh b/steam-run-nix.sh new file mode 100755 index 0000000..9d942f2 --- /dev/null +++ b/steam-run-nix.sh @@ -0,0 +1,5 @@ +#!/bin/bash +echo "unset LD_PRELOAD" +unset LD_PRELOAD +source /etc/profile.d/nix.sh +exec "$@"