proton-ge and other stuff
This commit is contained in:
parent
43e00a5481
commit
b7bf0a19c8
17
home/_sources/generated.json
Normal file
17
home/_sources/generated.json
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"proton-ge": {
|
||||
"cargoLocks": null,
|
||||
"date": null,
|
||||
"extract": null,
|
||||
"name": "proton-ge",
|
||||
"passthru": null,
|
||||
"pinned": false,
|
||||
"src": {
|
||||
"name": null,
|
||||
"sha256": "sha256-T+7R+zFMd0yQ0v7/WGym2kzMMulUmATS/LCEQS8whiw=",
|
||||
"type": "url",
|
||||
"url": "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton7-49/GE-Proton7-49.tar.gz"
|
||||
},
|
||||
"version": "GE-Proton7-49"
|
||||
}
|
||||
}
|
12
home/_sources/generated.nix
Normal file
12
home/_sources/generated.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
# This file was generated by nvfetcher, please do not modify it manually.
|
||||
{ fetchgit, fetchurl, fetchFromGitHub, dockerTools }:
|
||||
{
|
||||
proton-ge = {
|
||||
pname = "proton-ge";
|
||||
version = "GE-Proton7-49";
|
||||
src = fetchurl {
|
||||
url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton7-49/GE-Proton7-49.tar.gz";
|
||||
sha256 = "sha256-T+7R+zFMd0yQ0v7/WGym2kzMMulUmATS/LCEQS8whiw=";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -131,6 +131,6 @@
|
|||
home.packages = with pkgs; [
|
||||
rclone sshfs fuse
|
||||
jq python3Full killall
|
||||
appimage-run comma
|
||||
appimage-run comma nvfetcher
|
||||
];
|
||||
}
|
||||
|
|
|
@ -181,7 +181,7 @@ in
|
|||
exec i3
|
||||
'';
|
||||
xsession.initExtra = ''
|
||||
setxkbmap -layout jp,ru -option caps:swapescape,compose:menu,grp:win_space_toggle
|
||||
setxkbmap -layout jp,ru -option compose:ralt,grp:win_space_toggle
|
||||
'';
|
||||
home.packages = with pkgs; if config.wayland.windowManager.sway.enable then [
|
||||
wl-clipboard
|
||||
|
@ -189,14 +189,25 @@ in
|
|||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
] else [];
|
||||
services.playerctld.enable = true;
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
package = pkgs.waybar.override { withMediaPlayer = true; };
|
||||
settings = [{
|
||||
layer = "bottom";
|
||||
# position = "bottom";
|
||||
ipc = true;
|
||||
height = 40;
|
||||
modules-left = [ "cpu" "sway/workspaces" "sway/mode" ];
|
||||
modules-left = [ "tray" "cpu" "memory" "sway/workspaces" "sway/mode" ];
|
||||
mpris = {
|
||||
format = "{player_icon} {title}";
|
||||
format-paused = "{status_icon} <i>{title}</i>";
|
||||
player-icons = {
|
||||
default = "▶";
|
||||
mpd = "🎵";
|
||||
};
|
||||
status-icons.paused = "⏸";
|
||||
};
|
||||
"sway/workspaces" = {
|
||||
disable-scroll = true;
|
||||
format = "{value}{icon}";
|
||||
|
@ -232,7 +243,7 @@ in
|
|||
"(.*) - KeePassXC" = "$1";
|
||||
};
|
||||
};
|
||||
modules-right = [ "memory" "tray" "wireplumber" "clock" "sway/language" ];
|
||||
modules-right = [ "mpris" "wireplumber" "clock" "sway/language" ];
|
||||
cpu = {
|
||||
# format = "{usage}% ";
|
||||
format = " {icon0}{icon1}{icon2}{icon3}{icon4}{icon5}{icon6}{icon7}{icon8}{icon9}{icon10}{icon11}{icon12}{icon13}{icon14}{icon15}";
|
||||
|
@ -367,7 +378,7 @@ in
|
|||
input = {
|
||||
"*" = {
|
||||
xkb_layout = "jp,ru";
|
||||
xkb_options = "caps:swapescape,compose:ralt,grp:win_space_toggle";
|
||||
xkb_options = "compose:ralt,grp:win_space_toggle";
|
||||
};
|
||||
};
|
||||
}; in swayConfig // commonConfig // swayConfig;
|
||||
|
@ -378,9 +389,12 @@ in
|
|||
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
|
||||
export QT_QPA_PLATFORMTHEME=gnome
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
export GDK_BACKEND=wayland
|
||||
export GDK_BACKEND=wayland,x11
|
||||
export GTK_USE_PORTAL=1
|
||||
export XDG_CURRENT_DESKTOP=sway
|
||||
# SDL3 exists, so i can't really set SDL_DYNAMIC_API
|
||||
# instead, running apps with SDL_DYNAMIC_API=$SDL2_DYNAMIC_API does the trick
|
||||
export SDL2_DYNAMIC_API=${pkgs.SDL2.out}/lib/libSDL2.so
|
||||
'';
|
||||
};
|
||||
services.swayidle = let swaylock-start = builtins.toString (with pkgs; writeScript "swaylock-start" ''
|
||||
|
|
|
@ -6,15 +6,17 @@
|
|||
package = pkgs.neovim-unwrapped;
|
||||
extraPackages = with pkgs; [
|
||||
rust-analyzer
|
||||
nodePackages.bash-language-server shellcheck
|
||||
nodePackages.typescript-language-server
|
||||
nodePackages_latest.bash-language-server shellcheck
|
||||
nodePackages_latest.typescript-language-server
|
||||
nodePackages_latest.svelte-language-server
|
||||
clang-tools
|
||||
nodePackages.vscode-langservers-extracted
|
||||
nodePackages_latest.vscode-langservers-extracted
|
||||
nil
|
||||
marksman
|
||||
taplo
|
||||
python3Packages.python-lsp-server
|
||||
];
|
||||
extraPython3Packages = pyPkgs: with pyPkgs; [ python-lsp-server ];
|
||||
# extraPython3Packages = pyPkgs: with pyPkgs; [ python-lsp-server ];
|
||||
extraConfig = ''
|
||||
autocmd BufReadPost * if @% !~# '\.git[\/\\]COMMIT_EDITMSG$' && line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif
|
||||
syntax on
|
||||
|
@ -25,13 +27,13 @@
|
|||
vimAlias = true;
|
||||
vimdiffAlias = true;
|
||||
plugins =
|
||||
# TODO make pure
|
||||
let lua = (s: ''
|
||||
lua << EOF
|
||||
${s}
|
||||
EOF
|
||||
'');
|
||||
in with pkgs.vimPlugins; [
|
||||
vim-svelte
|
||||
# TODO remove on next nvim update (0.8.3/0.9)
|
||||
vim-nix
|
||||
{ plugin = nvim-web-devicons;
|
||||
|
@ -137,7 +139,11 @@
|
|||
flags = lsp_flags,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
-- todo completion
|
||||
require'lspconfig'.svelte.setup{
|
||||
on_attach = on_attach,
|
||||
flags = lsp_flags,
|
||||
capabilities = capabilities,
|
||||
}
|
||||
require'lspconfig'.html.setup{
|
||||
on_attach = on_attach,
|
||||
flags = lsp_flags,
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
programs.ncmpcpp = {
|
||||
enable = true;
|
||||
};
|
||||
services.kdeconnect.enable = true;
|
||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
||||
"steam-run"
|
||||
"steam"
|
||||
|
@ -35,6 +36,19 @@
|
|||
"steam-runtime"
|
||||
"steamcmd"
|
||||
];
|
||||
home.sessionVariables = let sources = (import ../_sources/generated.nix {
|
||||
inherit (pkgs) fetchgit fetchurl fetchFromGitHub dockerTools;
|
||||
});
|
||||
proton-ge = pkgs.stdenv.mkDerivation {
|
||||
inherit (sources.proton-ge) pname version src;
|
||||
nativeBuildInputs = [];
|
||||
installPhase = ''
|
||||
mkdir -p $out
|
||||
tar -C $out --strip=1 -x -f $src
|
||||
'';
|
||||
}; in {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATHS = "${proton-ge}";
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
steam-run steam
|
||||
easyeffects
|
||||
|
|
3
home/nvfetcher.toml
Normal file
3
home/nvfetcher.toml
Normal file
|
@ -0,0 +1,3 @@
|
|||
[proton-ge]
|
||||
src.github = "GloriousEggroll/proton-ge-custom"
|
||||
fetch.url = "https://github.com/GloriousEggroll/proton-ge-custom/releases/download/$ver/$ver.tar.gz"
|
|
@ -108,7 +108,7 @@
|
|||
extraModprobeConfig = let ivshmemConfig = if enableIvshmem then ''
|
||||
options kvmfr static_size_mb=${lib.concatStringsSep "," (map (x: toString x.size) cfg.lookingGlass.ivshmem)}
|
||||
'' else ""; in ''
|
||||
options vfio-pci ids=${gpuIDs}
|
||||
options vfio-pci ids=${gpuIDs} disable_idle_d3=1
|
||||
options kvm ignore_msrs=1
|
||||
${ivshmemConfig}
|
||||
'';
|
||||
|
|
|
@ -50,6 +50,9 @@
|
|||
hw.common-pc-laptop # enables tlp
|
||||
(getPriv "nixmsi")
|
||||
];
|
||||
extraArgs = {
|
||||
inherit nixpkgs;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, pkgs, nixpkgs, ... }:
|
||||
let
|
||||
efiPart = "/dev/disk/by-uuid/D77D-8CE0";
|
||||
|
||||
|
@ -63,8 +63,29 @@ in {
|
|||
"vm.dirty_background_ratio" = 2;
|
||||
"vm.swappiness" = 40;
|
||||
};
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_zen;
|
||||
};
|
||||
# specialisation = let
|
||||
# zenKernels = pkgs.callPackage "${nixpkgs}/pkgs/os-specific/linux/kernel/zen-kernels.nix";
|
||||
# zenKernel = (version: sha256: (zenKernels {
|
||||
# kernelPatches = [
|
||||
# pkgs.linuxKernel.kernelPatches.bridge_stp_helper
|
||||
# pkgs.linuxKernel.kernelPatches.request_key_helper
|
||||
# ];
|
||||
# argsOverride = {
|
||||
# src = pkgs.fetchFromGitHub {
|
||||
# owner = "zen-kernel";
|
||||
# repo = "zen-kernel";
|
||||
# rev = "v${version}-zen1";
|
||||
# inherit sha256;
|
||||
# };
|
||||
# inherit version;
|
||||
# modDirVersion = lib.versions.pad 3 "${version}-zen1";
|
||||
# };
|
||||
# }).zen);
|
||||
# in {
|
||||
# zen619.configuration.boot.kernelPackages = pkgs.linuxPackagesFor (zenKernel "6.1.9" "0fsmcjsawxr32fxhpp6sgwfwwj8kqymy0rc6vh4qli42fqmwdjgv");
|
||||
# };
|
||||
nixpkgs.config.allowUnfreePredicate = pkg: (lib.getName pkg) == "steam-original";
|
||||
hardware = {
|
||||
steam-hardware.enable = true;
|
||||
|
@ -201,7 +222,8 @@ in {
|
|||
# from nix-gaming
|
||||
lowLatency = {
|
||||
enable = true;
|
||||
quantum = 64;
|
||||
# 96 is mostly fine but has just a little xruns
|
||||
quantum = 128;
|
||||
rate = 48000;
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue