mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 04:19:19 -08:00
many changes
This commit is contained in:
parent
3150cf3c12
commit
0262081094
43 changed files with 4022 additions and 204 deletions
15
discord.css
Normal file
15
discord.css
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
@import url("https://aushevahmad.github.io/awesome-css/modules/custom-bar-prompt.css");
|
||||
@import url("https://raw.githubusercontent.com/tom22k/discord-css/main/Themes/HideNitroUpsellV2.css");
|
||||
@import url("https://minidiscordthemes.github.io/Snippets/AltTextImprovements/main.css");
|
||||
|
||||
:root {
|
||||
/* do you want to see your quests/billing/nitro settings? */
|
||||
/* yes, I want to see it -> --billing: block !important; */
|
||||
/* no, hide it -> --billing: none; */
|
||||
--billing: none;
|
||||
/* do you want to see server boosting/server shop upsell? */
|
||||
/* yes, I want to see it -> --boosting: block !important; */
|
||||
/* no, hide it -> --boosting: none; */
|
||||
--boosting: none;
|
||||
--prompt-text: "be silly :3";
|
||||
}
|
||||
1023
flake.lock
generated
1023
flake.lock
generated
File diff suppressed because it is too large
Load diff
17
flake.nix
17
flake.nix
|
|
@ -13,12 +13,21 @@
|
|||
std = {
|
||||
url = "github:chessai/nix-std";
|
||||
};
|
||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||
|
||||
hyprland.url = "github:hyprwm/Hyprland";
|
||||
split-monitor-workspaces = {
|
||||
url = "github:Duckonaut/split-monitor-workspaces";
|
||||
inputs.hyprland.follows = "hyprland"; # <- make sure this line is present for the plugin to work as intended
|
||||
};
|
||||
nix-proton-cachyos.url = "github:kittywitch/nix-proton-cachyos";
|
||||
# used for overriding unwanted flake inputs
|
||||
empty.url = "github:input-output-hk/empty-flake";
|
||||
# self-explanatory
|
||||
nixpkgs = {
|
||||
url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
};
|
||||
nixpkgs-xr.url = "github:nix-community/nixpkgs-xr";
|
||||
infrastructure = {
|
||||
url = "github:gensokyo-zone/infrastructure/main";
|
||||
inputs = {
|
||||
|
|
@ -51,6 +60,14 @@
|
|||
flake-compat.follows = "flake-compat";
|
||||
};
|
||||
};
|
||||
spicetify-nix.url = "github:Gerg-L/spicetify-nix";
|
||||
push2talk = {
|
||||
url = "github:cyrinux/push2talk/main";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-utils.follows = "utils";
|
||||
};
|
||||
};
|
||||
wezterm = {
|
||||
url = "github:wez/wezterm/main?dir=nix";
|
||||
inputs = {
|
||||
|
|
|
|||
210
home/environments/hyprland/hyprland.nix
Normal file
210
home/environments/hyprland/hyprland.nix
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
{
|
||||
std,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (std) list;
|
||||
in {
|
||||
home.packages = with pkgs; [
|
||||
grimblast
|
||||
wl-clipboard
|
||||
wlr-randr
|
||||
wl-screenrec
|
||||
slurp
|
||||
grim
|
||||
swww
|
||||
pavucontrol
|
||||
hyprpicker
|
||||
brightnessctl
|
||||
playerctl
|
||||
glib
|
||||
];
|
||||
services.swww.enable = true;
|
||||
wayland.windowManager.hyprland = let
|
||||
import-gsettings = pkgs.writeShellScriptBin "import-gsettings" ''
|
||||
# usage: import-gsettings
|
||||
config="''${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini"
|
||||
if [ ! -f "$config" ]; then exit 1; fi
|
||||
|
||||
gnome_schema="org.gnome.desktop.interface"
|
||||
gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')"
|
||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" gtk-theme "$gtk_theme"
|
||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" icon-theme "$icon_theme"
|
||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" cursor-theme "$cursor_theme"
|
||||
${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name"
|
||||
'';
|
||||
in {
|
||||
enable = true;
|
||||
systemd = {
|
||||
enable = true;
|
||||
variables = ["--all"];
|
||||
extraCommands = [
|
||||
"systemctl --user stop graphical-session.target"
|
||||
"systemctl --user start hyprland-session.target"
|
||||
];
|
||||
};
|
||||
xwayland.enable = true;
|
||||
package = inputs.hyprland.packages.${pkgs.system}.hyprland;
|
||||
plugins = [
|
||||
inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces
|
||||
];
|
||||
settings = {
|
||||
"$mod" = "SUPER";
|
||||
input = {
|
||||
kb_options = "ctrl:nocaps";
|
||||
};
|
||||
workspace = let
|
||||
commonOptions = "gapsin:0,gapsout:0,rounding:false";
|
||||
in
|
||||
["1,monitor:DP-1,default:true,${commonOptions}"]
|
||||
++ (list.map (
|
||||
workspace: "${toString workspace},monitor:DP-1${commonOptions}"
|
||||
) (list.range 2 10))
|
||||
++ [ "11,monitor:DP-2,default:true"] ++ (list.map (
|
||||
workspace: "${toString workspace},monitor:DP-2${commonOptions}"
|
||||
) (list.range 12 20));
|
||||
/*list.concat (list.generate (
|
||||
x: let
|
||||
ws = let
|
||||
c = (x + 1) / 10;
|
||||
in
|
||||
builtins.toString (x + 1 - (c * 10));
|
||||
in [
|
||||
"${toString x},monitor:DP-1"
|
||||
"${toString (x + 10)},monitor:DP-2${commonOptions}"
|
||||
]
|
||||
)
|
||||
10);
|
||||
*/
|
||||
env = [
|
||||
"NVD_BACKEND,direct"
|
||||
"ELECTRON_OZONE_PLATFORM_HINT,auto"
|
||||
"LIBVA_DRIVER_NAME,nvidia"
|
||||
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
|
||||
"QT_QPA_PLATFORM,wayland"
|
||||
"__NV_DISABLE_EXPLICIT_SYNC,1"
|
||||
];
|
||||
exec-once = [
|
||||
"${pkgs.swww}/bin/swww init"
|
||||
"${pkgs.hypridle}/bin/hypridle"
|
||||
"${pkgs.dbus}/bin/dbus-update-activation-environment --all"
|
||||
"${pkgs.libsForQt5.polkit-kde-agent}/bin/polkit-kde-agent"
|
||||
"${pkgs.networkmanagerapplet}/bin/nm-applet"
|
||||
"${pkgs.mako}/bin/mako"
|
||||
"${pkgs.udiskie}/bin/udiskie &"
|
||||
"${pkgs.pasystray}/bin/pasystray"
|
||||
"${pkgs.systemd}/bin/systemctl restart waybar --user"
|
||||
"${pkgs.systemd}/bin/systemctl restart konawall-py --user"
|
||||
];
|
||||
plugin.split-monitor-workspaces = {
|
||||
count = 10;
|
||||
keep_focused = 0;
|
||||
enable_notifications = 0;
|
||||
enable_persistent_workspaces = 1;
|
||||
};
|
||||
group.groupbar = {
|
||||
font_family = "Monaspace Krypton";
|
||||
font_size = 12;
|
||||
};
|
||||
exec = [
|
||||
"${import-gsettings}/bin/import-gsettings"
|
||||
];
|
||||
xwayland = {
|
||||
force_zero_scaling = true;
|
||||
};
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
"$mod ALT, mouse:272, resizewindow"
|
||||
];
|
||||
binde = [
|
||||
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
|
||||
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
|
||||
", XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl -c backlight set 5%+"
|
||||
", XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl -c backlight set 5%-"
|
||||
];
|
||||
bind =
|
||||
[
|
||||
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
", XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause"
|
||||
", XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next"
|
||||
", XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl prev"
|
||||
|
||||
"$mod, R, exec, wofi -t wezterm -IS drun"
|
||||
"$mod SHIFT, R, exec, wofi -t wezterm -IS run"
|
||||
"$mod, Return, exec, wezterm"
|
||||
", Print, exec, grimblast copy area"
|
||||
|
||||
"$mod SHIFT, E, exec, pkill Hyprland"
|
||||
"$mod SHIFT, Q, killactive,"
|
||||
"$mod, F, fullscreen,"
|
||||
"$mod, G, togglegroup,"
|
||||
"$mod SHIFT, N, changegroupactive, f"
|
||||
"$mod SHIFT, P, changegroupactive, b"
|
||||
"$mod, T, togglefloating,"
|
||||
"$mod SHIFT, T, togglesplit,"
|
||||
"$mod SHIFT, X, pseudo,"
|
||||
"$mod ALT, ,resizeactive,"
|
||||
"$mod, Escape, exec, wlogout -p layer-shell"
|
||||
"$mod, L, exec, loginctl lock-session"
|
||||
|
||||
"$mod, left, movefocus, l"
|
||||
"$mod, right, movefocus, r"
|
||||
"$mod, up, movefocus, u"
|
||||
"$mod, down, movefocus, d"
|
||||
"$mod SHIFT, left, movewindow, l"
|
||||
"$mod SHIFT, right, movewindow, r"
|
||||
"$mod SHIFT, up, movewindow, u"
|
||||
"$mod SHIFT, down, movewindow, d"
|
||||
"$mod ALT, left, movewindoworgroup, l"
|
||||
"$mod ALT, right, movewindoworgroup, r"
|
||||
"$mod ALT, up, movewindoworgroup, u"
|
||||
"$mod ALT, down, movewindoworgroup, d"
|
||||
|
||||
"$mod, P, exec, ${pkgs.hyprpicker}/bin/hyprpicker -na"
|
||||
|
||||
"CTRL, Print, exec, grimblast --notify --cursor copysave output"
|
||||
"$mod SHIFT CTRL, R, exec, grimblast --notify --cursor copysave output"
|
||||
|
||||
"ALT, Print, exec, grimblast --notify --cursor copysave screen"
|
||||
"$mod SHIFT ALT, R, exec, grimblast --notify --cursor copysave screen"
|
||||
|
||||
"$mod, bracketleft, workspace, m-1"
|
||||
"$mod, bracketright, workspace, m+1"
|
||||
|
||||
"$mod SHIFT, bracketleft, focusmonitor, l"
|
||||
"$mod SHIFT, bracketright, focusmonitor, r"
|
||||
|
||||
"$mod SHIFT ALT, bracketleft, movecurrentworkspacetomonitor, l"
|
||||
"$mod SHIFT ALT, bracketright, movecurrentworkspacetomonitor, r"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
||||
list.concat (list.generate (
|
||||
x: let
|
||||
ws = let
|
||||
c = (x + 1) / 10;
|
||||
in
|
||||
builtins.toString (x + 1 - (c * 10));
|
||||
in [
|
||||
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
||||
"$mod SHIFT, ${ws}, movetoworkspacesilent, ${toString (x + 1)}"
|
||||
"$mod, F${if ws == "0" then "10" else ws}, workspace, ${toString (x + 11)}"
|
||||
"$mod SHIFT, F${if ws == "0" then "10" else ws}, movetoworkspacesilent, ${toString (x + 11)}"
|
||||
|
||||
"$mod ALT, ${ws}, split-workspace, ${toString (x + 1)}"
|
||||
"$mod SHIFT ALT, ${ws}, split-movetoworkspacesilent, ${toString (x + 1)}"
|
||||
"$mod ALT, F${if ws == "0" then "10" else ws}, split-workspace, ${toString (x + 11)}"
|
||||
"$mod SHIFT ALT, F${if ws == "0" then "10" else ws}, split-movetoworkspacesilent, ${toString (x + 11)}"
|
||||
]
|
||||
)
|
||||
10)
|
||||
);
|
||||
};
|
||||
};
|
||||
}
|
||||
5
home/environments/hyprland/hyprlock.nix
Normal file
5
home/environments/hyprland/hyprlock.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
_: {
|
||||
programs.hyprlock = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
120
home/environments/hyprland/waybar.nix
Normal file
120
home/environments/hyprland/waybar.nix
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
_: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
style = ''
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: Monaspace Krypton, monospace;
|
||||
font-size: 13px;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
background: @theme_base_color;
|
||||
border-bottom: 1px solid @unfocused_borders;
|
||||
color: @theme_text_color;
|
||||
}
|
||||
|
||||
tooltip {
|
||||
background: rgba(43, 48, 59, 0.5);
|
||||
border: 1px solid rgba(100, 114, 125, 0.5);
|
||||
}
|
||||
tooltip label {
|
||||
color: white;
|
||||
}
|
||||
|
||||
#workspaces button.persistent {
|
||||
background: shade(@insensitive_bg_color, 0.5);
|
||||
color: shade(@insensitive_fg_color, 0.5);
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
padding: 0 5px;
|
||||
background: @theme_unfocused_bg_color;
|
||||
border-bottom: 3px solid transparent;
|
||||
}
|
||||
|
||||
#workspaces button.active, #workspaces button.focused {
|
||||
background: @theme_selected_bg_color;
|
||||
color: @theme_selected_fg_color;
|
||||
border-bottom: 3px solid white;
|
||||
}
|
||||
|
||||
#mode, #clock, #battery, #idle_inhibitor, #tray, #window, #wireplumber, #bluetooth, #mpris {
|
||||
padding: 0 5px;
|
||||
margin: 0 5px;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background: #64727D;
|
||||
border-bottom: 3px solid white;
|
||||
}
|
||||
|
||||
#clock, #mpris {
|
||||
background-color: #64727D;
|
||||
}
|
||||
|
||||
#battery {
|
||||
background-color: #ffffff;
|
||||
color: black;
|
||||
}
|
||||
|
||||
#battery.charging {
|
||||
color: white;
|
||||
background-color: #26A65B;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
to {
|
||||
background-color: #ffffff;
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#battery.warning:not(.charging) {
|
||||
background: #f53c3c;
|
||||
color: white;
|
||||
animation-name: blink;
|
||||
animation-duration: 0.5s;
|
||||
animation-timing-function: steps(12);
|
||||
animation-iteration-count: infinite;
|
||||
animation-direction: alternate;
|
||||
}
|
||||
'';
|
||||
settings.main = {
|
||||
layer = "top";
|
||||
position = "top";
|
||||
height = 24;
|
||||
modules-left = [
|
||||
"hyprland/workspaces"
|
||||
"hyprland/submap"
|
||||
"hyprland/window"
|
||||
];
|
||||
|
||||
modules-center = [
|
||||
"clock"
|
||||
"mpris"
|
||||
];
|
||||
|
||||
|
||||
modules-right = [
|
||||
"privacy"
|
||||
"bluetooth"
|
||||
"wireplumber"
|
||||
"idle_inhibitor"
|
||||
"power-profiles-daemon"
|
||||
"battery"
|
||||
"tray"
|
||||
];
|
||||
|
||||
bluetooth = {
|
||||
on-click = "blueman-manager";
|
||||
};
|
||||
clock = {
|
||||
format = "{:%F %H:%M %Z}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
5
home/environments/hyprland/wlogout.nix
Normal file
5
home/environments/hyprland/wlogout.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
_: {
|
||||
programs.wlogout = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
12
home/environments/hyprland/wofi.nix
Normal file
12
home/environments/hyprland/wofi.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
_: {
|
||||
programs.wofi = {
|
||||
enable = true;
|
||||
settings = {
|
||||
insensitive = true;
|
||||
allow_images = true;
|
||||
hide_scroll = true;
|
||||
mode = "dmenu";
|
||||
prompt = "";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -54,13 +54,25 @@ function cpu_sct()
|
|||
end
|
||||
|
||||
|
||||
function conky_mem_section()
|
||||
local mem_tpl = tpl([[
|
||||
${lua fmt h1 RAM} ${hr}
|
||||
|
||||
${color grey}Usage:$color $mem/$memmax - $memperc% ${membar 4}
|
||||
${color grey}Easy-to-free:$color ${memeasyfree}
|
||||
]])
|
||||
end
|
||||
|
||||
function conky_storage_section()
|
||||
end
|
||||
|
||||
function conky_cpu_section()
|
||||
local cpu_tpl = tpl([[
|
||||
${lua fmt h1 CPU} ${hr}
|
||||
${color grey}Variety:$color {%= cpu_model() %} {%= cpu_sct() %}
|
||||
${cpugraph}
|
||||
${color grey}Frequency:$color ${freq_g} GHz
|
||||
${color grey}Usage:$color $cpu%
|
||||
${color grey}Usage:$color $cpu% ${cpubar 4}
|
||||
]])
|
||||
return conky_parse(cpu_tpl({ cpu_model = cpu_model, cpu_sct = cpu_sct }))
|
||||
end
|
||||
|
|
@ -77,19 +89,20 @@ local query_headers = {
|
|||
"fan.speed",
|
||||
"utilization.gpu",
|
||||
"utilization.memory",
|
||||
"memory.used",
|
||||
"clocks.current.graphics",
|
||||
"clocks.current.memory",
|
||||
"temperature.gpu",
|
||||
"clocks.current.sm",
|
||||
"clocks.current.video",
|
||||
"memory.total",
|
||||
"utilization.encoder",
|
||||
"utilization.decoder",
|
||||
"clocks.current.graphics",
|
||||
"clocks.current.sm",
|
||||
"clocks.current.memory",
|
||||
"clocks.current.video",
|
||||
"memory.used",
|
||||
"memory.total",
|
||||
"temperature.gpu",
|
||||
}
|
||||
local gpu_display_templates = {
|
||||
index = "${lua fmt h1 GPU %s} ${hr}",
|
||||
default = "${lua fmt item %s} %s",
|
||||
hasbar = "${lua fmt item %s} %s ${nvidiabar %s %s}",
|
||||
}
|
||||
local gpu_header_aliases = {
|
||||
["name"] = "Card",
|
||||
|
|
@ -107,6 +120,15 @@ local gpu_header_aliases = {
|
|||
["memory.total"] = "Memory Total",
|
||||
["temperature.gpu"] = "Temperature",
|
||||
};
|
||||
local gpu_header_to_nvidiabar = {
|
||||
--[[["fan.speed"] = "fanlevel",
|
||||
["utilization.gpu"] = "gpuutil",
|
||||
["utilization.memory"] = "memutil",
|
||||
["clocks.current.graphics"] = "gpufreq",
|
||||
["clocks.current.memory"] = "memfreq",
|
||||
["temperature.gpu"] = "temp",
|
||||
["memory.used"] = "mem",]]--
|
||||
};
|
||||
-- Reverse index
|
||||
local query_headers_index = {}
|
||||
for i, header in ipairs(query_headers) do
|
||||
|
|
@ -170,9 +192,14 @@ function gpu_csv_query()
|
|||
local display_idx = query_headers_index[cur_header.clean] or 500
|
||||
if gpu_display_templates[cur_header.clean] ~= nil then
|
||||
display = string.format(gpu_display_templates[cur_header.clean], data_sf)
|
||||
else
|
||||
if gpu_header_to_nvidiabar[cur_header.clean] ~= nil then
|
||||
local nvidiabar = gpu_header_to_nvidiabar[cur_header.clean]
|
||||
display = string.format(gpu_display_templates.hasbar, gpu_header_aliases[cur_header.clean], data_sf, nvidiabar, i)
|
||||
else
|
||||
display = string.format(gpu_display_templates.default, gpu_header_aliases[cur_header.clean], data_sf)
|
||||
end
|
||||
end
|
||||
current_gpu[display_idx] = display
|
||||
end
|
||||
gpus[i] = current_gpu
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@ conky.config = {
|
|||
out_to_console = false,
|
||||
out_to_ncurses = false,
|
||||
out_to_stderr = false,
|
||||
out_to_wayland = false,
|
||||
out_to_x = true,
|
||||
out_to_wayland = true,
|
||||
out_to_x = false,
|
||||
own_window = true,
|
||||
own_window_class = 'Conky',
|
||||
own_window_type = 'override',
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{ config, pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
jq
|
||||
conky
|
||||
|
||||
];
|
||||
|
||||
xdg.configFile.conky = {
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
Restart = "always";
|
||||
RestartSec = "3";
|
||||
ExecStartPre = "${pkgs.coreutils}/bin/sleep 5";
|
||||
ExecStart = toString ([ "${pkgs.conky}/bin/conky"]);
|
||||
ExecStart = toString ([ "${(pkgs.conky.override { nvidiaSupport = true; })}/bin/conky"]);
|
||||
};
|
||||
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
libksysguard
|
||||
systemsettings
|
||||
kcmutils
|
||||
pkgs.plasma-applet-commandoutput
|
||||
];
|
||||
programs.plasma = {
|
||||
configFile = {
|
||||
|
|
|
|||
|
|
@ -1,42 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
konawallWithDelay = pkgs.writeShellScriptBin "konawally" ''
|
||||
sleep 5 && XDG_BACKEND=x11 GDK_BACKEND=x11 ${inputs.konawall-py.packages.${pkgs.system}.konawall-py}/bin/konawall
|
||||
'';
|
||||
desktop_entry = ''
|
||||
[Desktop Entry]
|
||||
Exec=${konawallWithDelay}/bin/konawally
|
||||
Icon=
|
||||
Name=konawall
|
||||
Path=
|
||||
Terminal=False
|
||||
Type=Application
|
||||
'';
|
||||
konawallConfig = {
|
||||
interval = 30 * 60;
|
||||
rotate = true;
|
||||
source = "konachan";
|
||||
tags = [
|
||||
#"rating:s"
|
||||
"touhou"
|
||||
"score:>=50"
|
||||
"width:>=1500"
|
||||
];
|
||||
logging = {
|
||||
file = "INFO";
|
||||
console = "DEBUG";
|
||||
};
|
||||
};
|
||||
in {
|
||||
home.packages = [
|
||||
konawallWithDelay
|
||||
inputs.konawall-py.packages.${pkgs.system}.konawall-py
|
||||
];
|
||||
xdg.configFile = {
|
||||
"konawall/config.toml".source = (pkgs.formats.toml {}).generate "konawall-config" konawallConfig;
|
||||
"autostart/konawall.desktop".text = desktop_entry;
|
||||
};
|
||||
}
|
||||
|
|
@ -8,9 +8,10 @@ in {
|
|||
home.packages = with pkgs; [
|
||||
(discord-krisp.override {
|
||||
withOpenASAR = true;
|
||||
withVencord = true; # can do this here too
|
||||
withVencord = false; # can do this here too
|
||||
})
|
||||
vesktop
|
||||
#legcord
|
||||
dorion
|
||||
#betterdiscordctl
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ in {
|
|||
containersForce = true;
|
||||
extensions = {
|
||||
packages = with nur.repos.rycee.firefox-addons; [
|
||||
pronoundb
|
||||
sponsorblock
|
||||
link-cleaner
|
||||
canvasblocker
|
||||
|
|
|
|||
|
|
@ -10,9 +10,6 @@
|
|||
# Mail
|
||||
thunderbird
|
||||
|
||||
# Music
|
||||
spotify
|
||||
|
||||
# Chat
|
||||
tdesktop # Telegram
|
||||
dino # XMPP
|
||||
|
|
@ -35,6 +32,8 @@
|
|||
alsa-utils
|
||||
pwvucontrol
|
||||
veracrypt
|
||||
deluge
|
||||
gimp
|
||||
xarchiver
|
||||
];
|
||||
}
|
||||
|
|
|
|||
22
home/profiles/graphical/spotify.nix
Normal file
22
home/profiles/graphical/spotify.nix
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
{pkgs, inputs, ... }: let
|
||||
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.system};
|
||||
in {
|
||||
programs.spicetify = {
|
||||
enable = true;
|
||||
enabledExtensions = with spicePkgs.extensions; [
|
||||
volumePercentage
|
||||
queueTime
|
||||
groupSession
|
||||
];
|
||||
experimentalFeatures = true;
|
||||
windowManagerPatch = true;
|
||||
colorScheme = "CatppuccinMocha";
|
||||
theme = spicePkgs.themes.text // {
|
||||
additionalCss = ''
|
||||
:root {
|
||||
--font-family: 'Monaspace Krypton', monospace;
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
7
home/profiles/graphical/taskwarrior.nix
Normal file
7
home/profiles/graphical/taskwarrior.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.taskwarrior = {
|
||||
enable = true;
|
||||
package = pkgs.taskwarrior3;
|
||||
};
|
||||
home.packages = [ pkgs.taskwarrior-tui ];
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
}),
|
||||
window_decorations = "TITLE | RESIZE",
|
||||
enable_wayland = true,
|
||||
enable_wayland = false,
|
||||
warn_about_missing_glyphs = false,
|
||||
font_size = 12.0,
|
||||
check_for_updates = false,
|
||||
|
|
|
|||
|
|
@ -7,16 +7,14 @@
|
|||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (std) string set;
|
||||
initLua = pkgs.substituteAll ({
|
||||
name = "init.lua";
|
||||
src = ./init.lua;
|
||||
initLua = (pkgs.replaceVars ./init.lua ({
|
||||
base16ShellPath = config.base16.shell.package;
|
||||
catppuccin_flavour = config.catppuccin.flavor;
|
||||
inherit (config.base16) defaultSchemeName;
|
||||
defaultSchemeSlug = config.base16.defaultScheme.slug;
|
||||
}
|
||||
// set.map (_: col: string.justifyRight 2 "0" (builtins.toString col.ansiIndex))
|
||||
(set.filter (var: _: string.hasInfix "base" var) config.base16.defaultScheme));
|
||||
(set.filter (var: _: string.hasInfix "base" var) config.base16.defaultScheme)));
|
||||
in {
|
||||
home.sessionVariables = mkIf config.programs.neovim.enable {EDITOR = "nvim";};
|
||||
programs.neovim = {
|
||||
|
|
@ -60,6 +58,9 @@ in {
|
|||
# tree
|
||||
nui-nvim
|
||||
neo-tree-nvim
|
||||
# hardtime
|
||||
hardtime-nvim
|
||||
nvim-notify
|
||||
# Session management
|
||||
resession-nvim
|
||||
# tree sitter
|
||||
|
|
|
|||
|
|
@ -278,6 +278,13 @@ vim.api.nvim_create_autocmd("VimLeavePre", {
|
|||
end,
|
||||
})
|
||||
|
||||
-- hardtime
|
||||
vim.notify = require("notify")
|
||||
--[[require("hardtime").setup({
|
||||
disable_mouse = false,
|
||||
disabled_keys = {},
|
||||
})]]--
|
||||
|
||||
-- telescope
|
||||
local telescope = require('telescope.builtin')
|
||||
|
||||
|
|
|
|||
5
nixos/environments/hyprland/hyprland.nix
Normal file
5
nixos/environments/hyprland/hyprland.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
_: {
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
11
nixos/environments/hyprland/xdg-portals.nix
Normal file
11
nixos/environments/hyprland/xdg-portals.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{pkgs, ...}: {
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-hyprland
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
12
nixos/environments/i3/xdg.nix
Normal file
12
nixos/environments/i3/xdg.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
config.common.default = "*";
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -15,24 +15,36 @@ programs.gamescope = {
|
|||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
(lutris.override {
|
||||
extraLinkLines = let
|
||||
proton-cachyos = inputs.nix-proton-cachyos.packages.${pkgs.system}.proton-cachyos;
|
||||
in ''ln -sf ${proton-cachyos}/share/steam $out/share'';
|
||||
extraPkgs = pkgs: [
|
||||
pkgs.gamescope
|
||||
pkgs.libnghttp2
|
||||
pkgs.winetricks
|
||||
pkgs.jansson
|
||||
pkgs.samba
|
||||
pkgs.gvfs
|
||||
pkgs.mangohud
|
||||
pkgs.vkbasalt
|
||||
pkgs.umu-launcher
|
||||
pkgs.xdg-desktop-portal
|
||||
inputs.nix-proton-cachyos.packages.${pkgs.system}.proton-cachyos
|
||||
];
|
||||
extraLibraries = pkgs: [
|
||||
pkgs.libunwind
|
||||
pkgs.xdg-desktop-portal
|
||||
pkgs.gvfs
|
||||
pkgs.jansson
|
||||
pkgs.samba
|
||||
pkgs.xz
|
||||
inputs.nix-proton-cachyos.packages.x86_64-linux.proton-cachyos
|
||||
];
|
||||
})
|
||||
|
||||
vkbasalt
|
||||
mangohud
|
||||
umu-launcher
|
||||
|
||||
# support 32-bit only
|
||||
wine
|
||||
|
|
|
|||
3
nixos/profiles/gaming/ntsync.nix
Normal file
3
nixos/profiles/gaming/ntsync.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
_: {
|
||||
programs.wine.ntsync.enable = true;
|
||||
}
|
||||
5
nixos/profiles/gaming/sound.nix
Normal file
5
nixos/profiles/gaming/sound.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
_: {
|
||||
services.pipewire.lowLatency = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
|
|
@ -1,6 +1,10 @@
|
|||
_: {
|
||||
{ pkgs, inputs, ... }: {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
platformOptimizations.enable = true;
|
||||
extraCompatPackages = [
|
||||
inputs.nix-proton-cachyos.packages.${pkgs.system}.proton-cachyos
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
45
nixos/profiles/gaming/vr.nix
Normal file
45
nixos/profiles/gaming/vr.nix
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
{pkgs, ... }: {
|
||||
programs.envision = {
|
||||
enable = true;
|
||||
openFirewall = true; # This is set true by default
|
||||
};
|
||||
|
||||
/*services.wivrn = {
|
||||
enable = true;
|
||||
openFirewall = true;
|
||||
package = pkgs.wivrn.override { cudaSupport = true; };
|
||||
defaultRuntime = true;
|
||||
config = {
|
||||
enable = true;
|
||||
json = {
|
||||
scale = [ 0.5 0.5 ];
|
||||
bitrate = 300*1000;
|
||||
encoders = [
|
||||
{
|
||||
encoder = "nvenc";
|
||||
codec = "h265";
|
||||
width = 1.0;
|
||||
height = 1.0;
|
||||
offset_x = 0.0;
|
||||
offset_y = 0.0;
|
||||
}
|
||||
];
|
||||
tcp_only = false;
|
||||
#application = [
|
||||
# "${pkgs.wlx-overlay-s}/bin/wlx-overlay-s"
|
||||
#];
|
||||
};
|
||||
};
|
||||
};*/
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wlx-overlay-s
|
||||
monado-vulkan-layers
|
||||
bs-manager
|
||||
];
|
||||
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [ 9757 ];
|
||||
allowedUDPPorts = [ 9757 ];
|
||||
};
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@
|
|||
super-slicer-beta
|
||||
nvidia-vaapi-driver
|
||||
nv-codec-headers-12
|
||||
inputs.push2talk.defaultPackage.${pkgs.system}
|
||||
];
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
|
|
@ -20,6 +21,11 @@
|
|||
};
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
obs-vaapi
|
||||
obs-tuna
|
||||
obs-source-clone
|
||||
obs-pipewire-audio-capture
|
||||
input-overlay
|
||||
obs-vkcapture
|
||||
];
|
||||
};
|
||||
services.udev.packages = [
|
||||
|
|
|
|||
|
|
@ -1,17 +1,21 @@
|
|||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [pulsemixer];
|
||||
environment.systemPackages = with pkgs; [pulsemixer pwvucontrol];
|
||||
|
||||
services.pulseaudio.enable = false;
|
||||
|
||||
security.rtkit.enable = true;
|
||||
|
||||
services.pipewire.extraConfig.pipewire-pulse."92-subpar-latency" = {
|
||||
pulse.properties = {
|
||||
pulse.min.req = "1024/48000";
|
||||
pulse.default.req = "1024/48000";
|
||||
pulse.min.quantum = "1024/48000";
|
||||
services.pipewire.extraConfig.pipewire-pulse."91-discord-latency" = {
|
||||
pulse.rules = [
|
||||
{
|
||||
matches = [ { "application.process.binary" = "Discord"; } ];
|
||||
actions = {
|
||||
update-props = {
|
||||
"pulse.min.quantum" = "1024/48000";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,10 @@
|
|||
weechat-secret: ENC[AES256_GCM,data:tVl8Bbqx09oiONxR206vQu1V+2uZoIiWZEzrEWZ4H+sdgeZkzu8jvphshpIrRMU9eZ3FYa9mQIdbXXNJaiy7WFFSMoo6rEzPodAidOqMNjGR4X9vevbXg1FbwTkKpwtWiH+XJoj4ijfFhTXzX7fo63WDOoe0SZee3C1PgdFX00pD/G1MHg0J1pevBvQKuMV++zdX7Vd6mLV6LZBVWsUMckvbhzNjP6f5M4OTTRTrsftA0ow4DpB83QGtWcj6IjY1nBFOyDcqeO+0usIX72a4nOMF7bACunXTK2peN3kEDGjlYyhmw3wKPVYMM25Y3JX3BIkznUC/H1BM/XJf5zlFW1+9a5RZMwLDykMbMkEJjARXJ4zkja6jBjU=,iv:KrvHlr/WyBx1ZD50IGpL+oy5p2aOWAN3HSPdwUjLopM=,tag:6GYbQWq0MN6z/lU3TXN8ZA==,type:str]
|
||||
liberachat-cert: ENC[AES256_GCM,data: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,iv:DHnR0ZMEuZtY2Gx2xgomnEWH6F/qzkErJ9KwInGLlIM=,tag:Wx84gTr29eO/BvyRjnXC/A==,type:str]
|
||||
espernet-cert: ENC[AES256_GCM,data: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,iv:QpBIeLDM16NRjI4Atq6PaDrlDm35B2r6kOl/gk1lc0U=,tag:PW1I7HL1QWW0jK8jSZ3sIg==,type:str]
|
||||
softnet-cert: ENC[AES256_GCM,data:0acY4OVWvOCc/+rh8aOyoA71Si8nLy+4DY0IMa+sTz8+WKQMqXyAs0XviPcVetMJuCVngwl63dWzDIgkuGZiNDachm39cfBllJBZbiK/rlSpGFDvJ/ulKYWA31vjr/SR2drdUpaTVzYfwVSagV6trVihqMOlkbraCliYg5oN6hllcKXTr8wdNOrfJA/Yl2JkPnH89dH6lVC014FQ/XPh31kLNu2YpflrddQBUNzahRYfLkh693LKgYArOl2UexuEyt4Rt/m2vJEWScPUDLn46cH1NI93/zEG0WGjDP7zcRE7lV0NtfmwXWW95cmn/B+Zjnw27XPPi+ME2NvRbZ5URTohxA8rMh1jrajoRQ19ZFwSrK9LZjtp+/UQqci5lLHKp/hGZ+q9bauoooA17iSNrdbbCqMUdNgSCULfFcIKLJemuvF5DsjfjI8UvipuMlwhZ1xWeJhwAChB3dvelJe6zBFdtQLRdj1kzL7Te1V382dLfQZ4qpMKP0fM3hMSzEJpd8oEYsPAN3yjj9TI0aFcejog+E+Lt5N7g+MLz/jnCB5d+2GxAVZZWj6w2/nKY2pmwUfuPuIos4l/iR/IISC8ruhbjm1E50hHrNo2fvWkAafHvW8lHfVxE1lfiXl395ypkGJOTjRFfMzRYCJ/+jDg6urbBEFBlPnDwraHBGQJs49E4xM6oPD2fDQ7KqWSPl/XBjQWgdZ4SZnLNvrOXv1pi2lGj+T6JZj8OuT9+OuS/bXR1+jvxr3PYKUFnymMwy54NGq2107uCKw64obxeLHa+3brtUGuSZ1S0KzBMju3rQIHGnFw9dM7prx6peI1exJMJboIGAkKZmLmcmrACgFchGR2EbS9iyI+WagfSox1J4vk2lH5kWFuxnrZ9bNvP6n8PxrLZKxh9Z+rOQ3HvpAgErx5XfhiRzH4KWFv2Cv4gqTRa+2Eg/5n+KHSQpj0XOa77/AzATOuO0/9YDObKFgYICogkSH9OIl3Jia8onHc47pnfoHoEOyv12XqWJhxKB5t0IdTNBmaconSWWXg7iFYmEZvdSQ7V5PKuMZp7JlnBI9kehAFMRYASXItkYRWHMBarCw=,iv:Lo8RT166ArCg9FhHyrpLHvBf0DPrSoWCb4NnFxnm6DY=,tag:sVbXgO1//JHXvvidyvgUuw==,type:str]
|
||||
softnet-cert: ENC[AES256_GCM,data:3ZLUV9LnXvzaLzkc/ZVVoc0rmuV2UVfK3q1eOIUv79TNlrwC4mbYRVHbFKLx5nrAvz5faHJWFwJ/LsWnp7y9pt19qmnnpgwBZFpX2g6FqqmQvz/vAM03JsOnzrZT/YDvflab7QU4ZTInir0FJMUqjij90k8fGA1UnKVNnkOu8re33ketLbyV1h5c3eA3ZbLwrC8AAJtECe/N6kcS2ccYvxUwlegKNyS41VRy+ifRhJTybfkehBtexOImc5/7mymO3YXHz5ZP/TLMqefGKYiSxXZ6G/vSXAS8vSp5NG4+z681nctYaDV5PW8Lkdz8MJwbqsiRBEm2oMwIeSZKjZk+MlNXaYaoPTCyd05w1f0jT3KCPtNQ4oDjopf7CcpS3Q0Vh62cSI/J8DvSWMQgvVEXZchb9OOSWL/lVHaRaoTtQT8gzqw1N2TBkHCo3UewqRZOx+JgU/pYFyeY0aOj+LiMAY4A6/mU98QNuP48RpNpo7F+M9Qrv0+F+f9D1Q/UFjEc524AjFKnRPi4BHTx8oaHqEJochli1lE76KbIH2A7Gi+383b2M72cY+7YSYZ9lIEwXD94xi4holBVun7B5V7IpJVyTZh8XoZ/dzd+tPLgEhY1fFMaK0E4tkgr/gFlRNBPg37c/rkxur+wC6bIQVnbCPsmtXAUWknQCzo3hCVHhWvx5LWzAs+p06MhLww/r/p22rJysbGBAoGQ3D3/Z2H2BUkMKIZ9uj/iZvIYVRq7+FKj0S9JynzMpgkOrkdBpFyvIub+NzeAFXQVV4zlVTosHYhLTAxS75qAMfrDcFgzpmu4SYzOMKDSh2xfiYheBuOFDHUcbOgTWaYOiPMTddNxgMWrhLfqP2F2Bb2PTW8B/wBgUrHms+6OFBrpIa3wqID7pnZYdPWYeT53P0c65UCAEmMpkdVa0ZqdFvphm/1L2eAx7L/R+/Oiu316KYZ8YCMY07fncy/s0VFE4uVAbwV7KQhQHJtloUk5hFOihqqzQl+E/07QPhJ6bWYOt/bIqnLRKUgSA0kQ8T4C5TcLa+A1nD422ebzZxwe2y7U3L+ECBTeBEBrZwUtNrzu3qTv+WiXoYA=,iv:K8/1Rk+V0ZWeNBFccROi3LlzzgvACd1SlN/YToLsAkI=,tag:mLqHajYJHg1u7fWna4l2sg==,type:str]
|
||||
removed: ENC[AES256_GCM,data:ou1tCt8doBvf+s6jI6bAxjeuK7rj+nhS2b6XA4EKJgpNxhXeJcYRQOJz5RKO0FszmjX7g3Lozp7tMmcCzHTQOllaVUg2RGzJwQSrKu91EyUXpAOds9FvBeeCRSu9rlrApqofzODdD8yxej+2AjIMbfL4hShaXxxEWCcALrCdEbURnBOvDnIGSKanaa8tNqzAx3ZTceVMNLdQNxK8bV3OeMcocxBZ6KISK65K8aUtoGiBG65iWaQU/EXV1Jo1xI3/2qgMWZ5RXLxGgN0WxJQdlI6n9slSZQIIzB2WFiujdl9azZKarxz+1EPVZH1xFvaZa6PPBgiq7/NkxuxdLgkXIDtNG5c7s70hzbGV2JQL8JYiizq7ZCQwR97R8TyNu1NMHGJ5MZJFQjDEl0MBliQgr3LIU1uvVdACQHPUvkPdE0P+iVN/vyEnZr0jbFRj5jsw65g1/qXIjlTggNIf1cAF42KhXtNB5Jb0J98ohajCorgNCjmzHj5hftwXAO3lfI1yTMGVTKI9cEStykrgfZl+smpGNlLvvodaBNXvHn/CzemzpLBfV0/iRPB1auqVKMMxMjTxPmDtfUyjqRnbEEySx6AnoAkgIGQr/9Hvth9tMeEn67qukBz8tAs0t/k/+azWCAypjXhRRY/oLu1HRwhIFLR73fS13MDJCXptnGbYHRUcqh7ijGIJgazagHffLu3eDsjeYoaBkg1S+My19dQM9bIDf0QaY5Su3rCuBeQU5MRPpthvtqj+7tS04HDyLmTHZlkFxPCgLd2O6FFIOXREyjZLqD7yHMaOuWQuZXncN807VBRSoTmjKIoT1kBrd6IpH9Gk9R+7C2mUHoszgFtaHjQjVZB1JjwSLfiSmU+zFVO4BpnSnEwwzApUEgthhY4UajAwNggM5L3rO3MfgfBrl65dRbHpqaexWtnZIox4XBiSBbWHfb0YqsuBmfcz763V9k2hQBLnS14bsU63rdvh8OiFjgLD9Ra9+Gx5WyHTxZfrXbm6xhRgjWLx5DVDKu6Jonkg/A==,iv:5ikaalISsPJ+4YON2IxIQkD++32jqBi5c13rcUQpE44=,tag:t9pS04MxQwQLlFt5PNi3jA==,type:str]
|
||||
sops:
|
||||
shamir_threshold: 1
|
||||
kms: []
|
||||
gcp_kms: []
|
||||
azure_kv: []
|
||||
hc_vault: []
|
||||
age:
|
||||
- recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav
|
||||
enc: |
|
||||
|
|
@ -82,8 +78,8 @@ sops:
|
|||
K281Ulg1RjMrS0E4eG0yeEwwaXFNbGcKrzch38oAb0h5Rl4yfXe36yHz7+s+hzLt
|
||||
v1sXcKMMDn7x19P8Bv6sus1KDwcEzdf+mNG9qTzIfTlW3lgWKPJAEQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
lastmodified: "2024-10-07T23:24:18Z"
|
||||
mac: ENC[AES256_GCM,data:qMoo60ydezJZoQX2LYmzwwvQpKvfxJ5QEBqnCVy5UxNijpfhwmY7qQL7AZy0QNTrCXn/EwpjVScGo10EZwu2hyDyMpzerO2g+I3eCReIZQJmK8b4rsqLqCZFueuFVGDSHixj3M/peCuDx0f70ixurOEm3L8HmBwHGjEfY/jQD/8=,iv:/yHfkEEKOxw12sdmAKWUdOdcC2QqjI9eQ6IwnpV8QFU=,tag:wu5aPYyTy5ZDNKk+ggoTKA==,type:str]
|
||||
lastmodified: "2025-05-27T20:29:36Z"
|
||||
mac: ENC[AES256_GCM,data:EROSoDKKxmzxgOiGxW9vRyk5Ik95pfeREOGFk/SwPZOFtoETemVh5199xZT1s3Yzim7+fB5efdBAkooUIGjq1JSRVjpkfnozdvRZMYp3dp0b8fp5kBaepYLNCfKCs4e8guNyywiSIBiUGYhi+XZi/N+q1KG/zB/jhGl0G+9DixY=,iv:Qn1MObCfKca7tQn2hGZIcyiCl1PI0gV4fwJ5fFXo3Mc=,tag:X0Ht901lI6h0Ito3lmDvbQ==,type:str]
|
||||
pgp:
|
||||
- created_at: "2025-02-16T10:33:41Z"
|
||||
enc: |-
|
||||
|
|
@ -106,4 +102,4 @@ sops:
|
|||
-----END PGP MESSAGE-----
|
||||
fp: CD8CE78CB0B3BDD4
|
||||
unencrypted_suffix: _unencrypted
|
||||
version: 3.9.0
|
||||
version: 3.10.2
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
inputs.rbw-bitw.overlays.default
|
||||
inputs.arcexprs.overlays.default
|
||||
inputs.darwin.overlays.default
|
||||
inputs.deploy-rs.overlay
|
||||
inputs.deploy-rs.overlays.default
|
||||
inputs.neorg-overlay.overlays.default
|
||||
(import tree.packages.default {inherit inputs tree;})
|
||||
]
|
||||
|
|
|
|||
194
packages/dorion.nix
Normal file
194
packages/dorion.nix
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
fetchurl,
|
||||
rustPlatform,
|
||||
cmake,
|
||||
ninja,
|
||||
wrapGAppsHook4,
|
||||
glib-networking,
|
||||
gst_all_1,
|
||||
libsysprof-capture,
|
||||
libayatana-appindicator,
|
||||
nodejs,
|
||||
openssl,
|
||||
pkg-config,
|
||||
yq-go,
|
||||
pnpm_9,
|
||||
webkitgtk_4_1,
|
||||
cargo-tauri,
|
||||
desktop-file-utils,
|
||||
}:
|
||||
|
||||
let
|
||||
webkitgtk_4_1' = webkitgtk_4_1.override {
|
||||
enableExperimental = true;
|
||||
};
|
||||
|
||||
shelter = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/uwu/shelter-builds/fab6f100bd0ab8583d67f792f66722a7d2a14bd1/shelter.js";
|
||||
hash = "sha256-d9vaKLrl8RYNcHnE1iGN49ov6U/Y+9XpEsio+c1Sguc=";
|
||||
meta = {
|
||||
homepage = "https://github.com/uwu/shelter";
|
||||
sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; # actually, minified JS
|
||||
license = lib.licenses.cc0;
|
||||
};
|
||||
};
|
||||
in
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "dorion";
|
||||
version = "6.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SpikeHD";
|
||||
repo = "Dorion";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-d4G3royqhz+te5wPWVLNqqG/w0qOvTd7dKcWSzxUMUo=";
|
||||
};
|
||||
|
||||
cargoPatches = [
|
||||
./no-cargo-patch.patch
|
||||
];
|
||||
|
||||
cargoRoot = "src-tauri";
|
||||
buildAndTestSubdir = finalAttrs.cargoRoot;
|
||||
|
||||
useFetchCargoVendor = true;
|
||||
cargoHash = "sha256-1xpAJkS31DjrZCY5WJ4/Z1t1ALED5gz7xYLhVR1Qzww=";
|
||||
|
||||
pnpmDeps = pnpm_9.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-xBonUzA4+1zbViEsKap6CaG6ZRldW1LjNYIB+FmVRFs=";
|
||||
};
|
||||
|
||||
# CMake (webkit extension)
|
||||
cmakeDir = ".";
|
||||
cmakeBuildDir = "src-tauri/extension_webkit";
|
||||
dontUseCmakeConfigure = true;
|
||||
dontUseNinjaBuild = true;
|
||||
dontUseNinjaCheck = true;
|
||||
dontUseNinjaInstall = true;
|
||||
# cmake's supposed to set this automatically
|
||||
# ... but the detection is based on the presence of ninja build hook
|
||||
cmakeFlags = [
|
||||
"-GNinja"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
pnpm_9.configHook
|
||||
cargo-tauri.hook
|
||||
nodejs
|
||||
pkg-config
|
||||
wrapGAppsHook4
|
||||
yq-go
|
||||
desktop-file-utils
|
||||
cmake
|
||||
ninja
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
webkitgtk_4_1'
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-rs
|
||||
glib-networking
|
||||
libsysprof-capture
|
||||
libayatana-appindicator
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# remove updater
|
||||
rm -rf updater
|
||||
|
||||
# patch cargo-deps
|
||||
pushd $cargoDepsCopy/tauri-plugin-shell-*
|
||||
patch -p1 < /build/source/src-tauri/patches/tauri-plugin-shell+*.patch
|
||||
popd
|
||||
|
||||
substituteInPlace $cargoDepsCopy/libappindicator-sys-*/src/lib.rs \
|
||||
--replace-fail "libayatana-appindicator3.so.1" "${libayatana-appindicator}/lib/libayatana-appindicator3.so.1"
|
||||
|
||||
# disable pre-build script and disable auto-updater
|
||||
yq -iPo=json '
|
||||
.bundle.resources = (.bundle.resources | map(select(. != "updater*")))
|
||||
' src-tauri/tauri.conf.json
|
||||
|
||||
# link shelter injection
|
||||
ln -s ${shelter} src-tauri/injection/shelter.js
|
||||
|
||||
# link html/frontend data
|
||||
ln -s /build/source/src /build/source/src-tauri/html
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
cmakeConfigurePhase
|
||||
pnpmConfigHook
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
ninjaBuildPhase
|
||||
cd /build/source
|
||||
tauriBuildHook
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Set up the resource directories
|
||||
mkdir -p $out/lib/Dorion
|
||||
ln -s $out/lib/Dorion $out/lib/dorion
|
||||
rm -rf $out/lib/Dorion/injection
|
||||
cp -r src-tauri/injection $out/lib/Dorion
|
||||
cp -r src $out/lib/Dorion
|
||||
|
||||
# Modify the desktop file
|
||||
desktop-file-edit \
|
||||
--set-comment "Tiny alternative Discord client" \
|
||||
--set-key="Exec" --set-value="Dorion %U" \
|
||||
--set-key="TryExec" --set-value="Dorion" \
|
||||
--set-key="StartupWMClass" --set-value="Dorion" \
|
||||
--set-key="StartupNotify" --set-value="true" \
|
||||
--set-key="Categories" --set-value="Network;InstantMessaging;Chat;" \
|
||||
--set-key="Keywords" --set-value="dorion;discord;vencord;chat;im;vc;ds;dc;dsc;tauri;" \
|
||||
--set-key="Terminal" --set-value="false" \
|
||||
--set-key="MimeType" --set-value="x-scheme-handler/discord" \
|
||||
$out/share/applications/Dorion.desktop
|
||||
'';
|
||||
|
||||
# error: failed to run custom build command for `Dorion v6.5.3 (/build/source/src-tauri)`
|
||||
# Permission denied (os error 13)
|
||||
doCheck = false;
|
||||
|
||||
env = {
|
||||
TAURI_RESOURCE_DIR = "${placeholder "out"}/lib";
|
||||
};
|
||||
|
||||
meta = {
|
||||
homepage = "https://spikehd.github.io/projects/dorion/";
|
||||
description = "Tiny alternative Discord client";
|
||||
longDescription = ''
|
||||
Dorion is an alternative Discord client aimed towards lower-spec or
|
||||
storage-sensitive PCs that supports themes, plugins, and more!
|
||||
'';
|
||||
changelog = "https://github.com/SpikeHD/Dorion/releases/tag/v${finalAttrs.version}";
|
||||
downloadPage = "https://github.com/SpikeHD/Dorion/releases/tag/v${finalAttrs.version}";
|
||||
license = with lib.licenses; [
|
||||
gpl3Only
|
||||
cc0 # Shelter
|
||||
];
|
||||
mainProgram = "Dorion";
|
||||
maintainers = with lib.maintainers; [
|
||||
nyabinary
|
||||
aleksana
|
||||
griffi-gh
|
||||
getchoo
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
sourceProvenance = [
|
||||
lib.sourceTypes.binaryBytecode # actually, minified JS
|
||||
lib.sourceTypes.fromSource
|
||||
];
|
||||
};
|
||||
})
|
||||
|
||||
324
packages/lutris.nix
Normal file
324
packages/lutris.nix
Normal file
|
|
@ -0,0 +1,324 @@
|
|||
{
|
||||
lib,
|
||||
buildFHSEnv,
|
||||
lutris-unwrapped,
|
||||
extraLinkLines ? '''',
|
||||
extraPkgs ? pkgs: [ ],
|
||||
extraLibraries ? pkgs: [ ],
|
||||
steamSupport ? true,
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
qt5Deps =
|
||||
pkgs: with pkgs.qt5; [
|
||||
qtbase
|
||||
qtmultimedia
|
||||
];
|
||||
qt6Deps = pkgs: with pkgs.qt6; [ qtbase ];
|
||||
gnomeDeps =
|
||||
pkgs: with pkgs; [
|
||||
zenity
|
||||
gtksourceview
|
||||
gnome-desktop
|
||||
libgnome-keyring
|
||||
webkitgtk_4_1
|
||||
];
|
||||
xorgDeps =
|
||||
pkgs: with pkgs.xorg; [
|
||||
libX11
|
||||
libXrender
|
||||
libXrandr
|
||||
libxcb
|
||||
libXmu
|
||||
libpthreadstubs
|
||||
libXext
|
||||
libXdmcp
|
||||
libXxf86vm
|
||||
libXinerama
|
||||
libSM
|
||||
libXv
|
||||
libXaw
|
||||
libXi
|
||||
libXcursor
|
||||
libXcomposite
|
||||
libXfixes
|
||||
libXtst
|
||||
libXScrnSaver
|
||||
libICE
|
||||
libXt
|
||||
];
|
||||
gstreamerDeps =
|
||||
pkgs: with pkgs.gst_all_1; [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
gst-plugins-ugly
|
||||
gst-plugins-bad
|
||||
gst-libav
|
||||
];
|
||||
|
||||
in
|
||||
buildFHSEnv {
|
||||
pname = "lutris";
|
||||
inherit (lutris-unwrapped) version;
|
||||
|
||||
runScript = "lutris";
|
||||
|
||||
# Many native and WINE games need 32bit
|
||||
multiArch = true;
|
||||
|
||||
targetPkgs =
|
||||
pkgs:
|
||||
with pkgs;
|
||||
[
|
||||
lutris-unwrapped
|
||||
|
||||
# Appimages
|
||||
fuse
|
||||
|
||||
# Adventure Game Studio
|
||||
allegro
|
||||
dumb
|
||||
|
||||
# Battle.net
|
||||
jansson
|
||||
|
||||
# Curl
|
||||
libnghttp2
|
||||
|
||||
# Desmume
|
||||
lua
|
||||
agg
|
||||
soundtouch
|
||||
openal
|
||||
desktop-file-utils
|
||||
atk
|
||||
|
||||
# DGen // TODO: libarchive is broken
|
||||
|
||||
# Dolphin
|
||||
bluez
|
||||
ffmpeg_6
|
||||
gettext
|
||||
portaudio
|
||||
miniupnpc
|
||||
mbedtls_2
|
||||
lzo
|
||||
sfml
|
||||
gsm
|
||||
wavpack
|
||||
orc
|
||||
nettle
|
||||
gmp
|
||||
pcre
|
||||
vulkan-loader
|
||||
zstd
|
||||
|
||||
# DOSBox
|
||||
SDL_net
|
||||
SDL_sound
|
||||
|
||||
# GOG
|
||||
glib-networking
|
||||
|
||||
# Higan // TODO: "higan is not available for the x86_64 architecture"
|
||||
|
||||
# Libretro
|
||||
fluidsynth
|
||||
hidapi
|
||||
libgbm
|
||||
libdrm
|
||||
|
||||
# MAME
|
||||
fontconfig
|
||||
SDL2_ttf
|
||||
|
||||
# Mednafen
|
||||
libglut
|
||||
mesa_glu
|
||||
|
||||
# MESS
|
||||
expat
|
||||
|
||||
# Minecraft
|
||||
nss
|
||||
|
||||
# Mupen64Plus
|
||||
boost
|
||||
dash
|
||||
|
||||
# Overwatch 2
|
||||
libunwind
|
||||
|
||||
# PPSSPP
|
||||
glew
|
||||
snappy
|
||||
|
||||
# Redream // "redream is not available for the x86_64 architecture"
|
||||
|
||||
# RPCS3
|
||||
llvm
|
||||
e2fsprogs
|
||||
libgpg-error
|
||||
|
||||
# ScummVM
|
||||
nasm
|
||||
sndio
|
||||
|
||||
# ResidualVM is now merged with ScummVM and therefore does not exist anymore
|
||||
flac
|
||||
|
||||
# Snes9x
|
||||
libepoxy
|
||||
minizip
|
||||
|
||||
# Vice
|
||||
bison
|
||||
flex
|
||||
|
||||
# WINE
|
||||
xorg.xrandr
|
||||
perl
|
||||
which
|
||||
p7zip
|
||||
gnused
|
||||
gnugrep
|
||||
psmisc
|
||||
opencl-headers
|
||||
|
||||
# ZDOOM
|
||||
soundfont-fluid
|
||||
bzip2
|
||||
game-music-emu
|
||||
]
|
||||
++ qt5Deps pkgs
|
||||
++ qt6Deps pkgs
|
||||
++ gnomeDeps pkgs
|
||||
++ lib.optional steamSupport pkgs.steam
|
||||
++ extraPkgs pkgs;
|
||||
|
||||
multiPkgs =
|
||||
pkgs:
|
||||
with pkgs;
|
||||
[
|
||||
# Common
|
||||
libsndfile
|
||||
libtheora
|
||||
libogg
|
||||
libvorbis
|
||||
libopus
|
||||
libGLU
|
||||
libpcap
|
||||
libpulseaudio
|
||||
libao
|
||||
libevdev
|
||||
udev
|
||||
libgcrypt
|
||||
libxml2
|
||||
libusb1
|
||||
libpng
|
||||
libmpeg2
|
||||
libv4l
|
||||
libjpeg
|
||||
libxkbcommon
|
||||
libass
|
||||
libcdio
|
||||
libjack2
|
||||
libsamplerate
|
||||
libzip
|
||||
libmad
|
||||
libaio
|
||||
libcap
|
||||
libtiff
|
||||
libva
|
||||
libgphoto2
|
||||
libxslt
|
||||
libsndfile
|
||||
giflib
|
||||
zlib
|
||||
glib
|
||||
alsa-lib
|
||||
zziplib
|
||||
bash
|
||||
dbus
|
||||
keyutils
|
||||
zip
|
||||
cabextract
|
||||
freetype
|
||||
unzip
|
||||
coreutils
|
||||
readline
|
||||
gcc
|
||||
SDL
|
||||
SDL2
|
||||
curl
|
||||
graphite2
|
||||
gtk2
|
||||
gtk3
|
||||
udev
|
||||
ncurses
|
||||
wayland
|
||||
libglvnd
|
||||
vulkan-loader
|
||||
xdg-utils
|
||||
sqlite
|
||||
gnutls
|
||||
p11-kit
|
||||
libbsd
|
||||
harfbuzz
|
||||
|
||||
# PCSX2 // TODO: "libgobject-2.0.so.0: wrong ELF class: ELFCLASS64"
|
||||
|
||||
# WINE
|
||||
cups
|
||||
lcms2
|
||||
mpg123
|
||||
cairo
|
||||
unixODBC
|
||||
samba4
|
||||
sane-backends
|
||||
openldap
|
||||
ocl-icd
|
||||
util-linux
|
||||
libkrb5
|
||||
|
||||
# Proton
|
||||
libselinux
|
||||
|
||||
# Winetricks
|
||||
fribidi
|
||||
pango
|
||||
]
|
||||
++ xorgDeps pkgs
|
||||
++ gstreamerDeps pkgs
|
||||
++ extraLibraries pkgs;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mkdir -p $out/share
|
||||
ln -sf ${lutris-unwrapped}/share/applications $out/share
|
||||
ln -sf ${lutris-unwrapped}/share/icons $out/share
|
||||
'' + extraLinkLines;
|
||||
|
||||
# allows for some gui applications to share IPC
|
||||
# this fixes certain issues where they don't render correctly
|
||||
unshareIpc = false;
|
||||
|
||||
# Some applications such as Natron need access to MIT-SHM or other
|
||||
# shared memory mechanisms. Unsharing the pid namespace
|
||||
# breaks the ability for application to reference shared memory.
|
||||
unsharePid = false;
|
||||
|
||||
meta = {
|
||||
inherit (lutris-unwrapped.meta)
|
||||
homepage
|
||||
description
|
||||
platforms
|
||||
license
|
||||
maintainers
|
||||
broken
|
||||
;
|
||||
|
||||
mainProgram = "lutris";
|
||||
};
|
||||
}
|
||||
32
packages/no-cargo-patch.patch
Normal file
32
packages/no-cargo-patch.patch
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock
|
||||
index 13a6b54..f6bd9d6 100644
|
||||
--- a/src-tauri/Cargo.lock
|
||||
+++ b/src-tauri/Cargo.lock
|
||||
@@ -5049,6 +5049,8 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "tauri-plugin-shell"
|
||||
version = "2.2.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "69d5eb3368b959937ad2aeaf6ef9a8f5d11e01ffe03629d3530707bbcb27ff5d"
|
||||
dependencies = [
|
||||
"encoding_rs",
|
||||
"log",
|
||||
diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml
|
||||
index 4dcaa86..daef086 100644
|
||||
--- a/src-tauri/Cargo.toml
|
||||
+++ b/src-tauri/Cargo.toml
|
||||
@@ -12,13 +12,6 @@ rust-version = "1.84.1"
|
||||
strip = "debuginfo"
|
||||
lto = false
|
||||
|
||||
-# Patches
|
||||
-[package.metadata.patch]
|
||||
-crates = ["tauri-plugin-shell"]
|
||||
-
|
||||
-[patch.crates-io]
|
||||
-tauri-plugin-shell = { path="./target/patch/tauri-plugin-shell-2.2.1" }
|
||||
-
|
||||
[build-dependencies]
|
||||
tauri-build = { version = "2.0.0", features = [] }
|
||||
|
||||
|
||||
106
packages/umu-launcher-unwrapped.nix
Normal file
106
packages/umu-launcher-unwrapped.nix
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
bash,
|
||||
cargo,
|
||||
fetchFromGitHub,
|
||||
hatch,
|
||||
lib,
|
||||
nix-update-script,
|
||||
python3Packages,
|
||||
rustPlatform,
|
||||
scdoc,
|
||||
writableTmpDirAsHomeHook,
|
||||
withTruststore ? true,
|
||||
withDeltaUpdates ? true,
|
||||
}:
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "umu-launcher-unwrapped";
|
||||
version = "1.2.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Open-Wine-Components";
|
||||
repo = "umu-launcher";
|
||||
tag = version;
|
||||
hash = "sha256-DkfB78XhK9CXgN/OpJZTjwHB7IcLC4h2HM/1JW42ZO0=";
|
||||
};
|
||||
|
||||
cargoDeps = rustPlatform.fetchCargoVendor {
|
||||
inherit src;
|
||||
hash = "sha256-JhNErFDJsM20BhgIgJSUBeNzAst8f+s1NzpLfl2m2es=";
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
writableTmpDirAsHomeHook
|
||||
python3Packages.pytestCheckHook
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
hatch
|
||||
python3Packages.build
|
||||
python3Packages.installer
|
||||
rustPlatform.cargoSetupHook
|
||||
scdoc
|
||||
];
|
||||
|
||||
patches = [
|
||||
./umu-proton-cachyos.patch
|
||||
];
|
||||
|
||||
pythonPath =
|
||||
with python3Packages;
|
||||
[
|
||||
pyzstd
|
||||
urllib3
|
||||
xlib
|
||||
]
|
||||
++ lib.optionals withTruststore [
|
||||
truststore
|
||||
]
|
||||
++ lib.optionals withDeltaUpdates [
|
||||
cbor2
|
||||
xxhash
|
||||
];
|
||||
|
||||
pyproject = false;
|
||||
configureScript = "./configure.sh";
|
||||
|
||||
configureFlags = [
|
||||
"--use-system-pyzstd"
|
||||
"--use-system-urllib"
|
||||
];
|
||||
|
||||
makeFlags = [
|
||||
"PYTHONDIR=$(PREFIX)/${python3Packages.python.sitePackages}"
|
||||
"PYTHON_INTERPRETER=${lib.getExe python3Packages.python}"
|
||||
# Override RELEASEDIR to avoid running `git describe`
|
||||
"RELEASEDIR=${pname}-${version}"
|
||||
"SHELL_INTERPRETER=${lib.getExe bash}"
|
||||
];
|
||||
|
||||
disabledTests = [
|
||||
# Broken? Asserts that $STEAM_RUNTIME_LIBRARY_PATH is non-empty
|
||||
# Fails with AssertionError: '' is not true : Expected two elements in STEAM_RUNTIME_LIBRARY_PATHS
|
||||
"test_game_drive_empty"
|
||||
"test_game_drive_libpath_empty"
|
||||
|
||||
# Broken? Tests parse_args with no options (./umu_run.py)
|
||||
# Fails with AssertionError: SystemExit not raised
|
||||
"test_parse_args_noopts"
|
||||
];
|
||||
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = {
|
||||
description = "Unified launcher for Windows games on Linux using the Steam Linux Runtime and Tools";
|
||||
changelog = "https://github.com/Open-Wine-Components/umu-launcher/releases/tag/${version}";
|
||||
homepage = "https://github.com/Open-Wine-Components/umu-launcher";
|
||||
license = lib.licenses.gpl3;
|
||||
mainProgram = "umu-run";
|
||||
maintainers = with lib.maintainers; [
|
||||
diniamo
|
||||
MattSturgeon
|
||||
fuzen
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
1829
packages/umu-proton-cachyos.patch
Normal file
1829
packages/umu-proton-cachyos.patch
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -46,6 +46,7 @@ _: let
|
|||
])
|
||||
++ (with tree.nixos.environments; [
|
||||
i3
|
||||
hyprland
|
||||
]);
|
||||
|
||||
home-manager.users.kat.imports =
|
||||
|
|
@ -54,10 +55,39 @@ _: let
|
|||
])
|
||||
++ (with tree.home.environments; [
|
||||
i3
|
||||
hyprland
|
||||
]);
|
||||
|
||||
networking.hostId = "c3b94e85";
|
||||
|
||||
home-manager.users.kat.wayland.windowManager.hyprland.settings.monitor = [
|
||||
"DP-2, 3840x2160, 0x0, 1"
|
||||
"HDMI-A-1, 1920x1080, auto-right, 1"
|
||||
];
|
||||
|
||||
programs.ssh.extraConfig = ''
|
||||
Host daiyousei-build
|
||||
HostName 140.238.156.121
|
||||
User root
|
||||
IdentityAgent /run/user/1000/gnupg/S.gpg-agent.ssh
|
||||
'';
|
||||
nix = {
|
||||
buildMachines = [
|
||||
{
|
||||
hostName = "daiyousei-build";
|
||||
system = "aarch64-linux";
|
||||
protocol = "ssh-ng";
|
||||
maxJobs = 100;
|
||||
speedFactor = 1;
|
||||
supportedFeatures = ["benchmark" "big-parallel" "kvm"];
|
||||
mandatoryFeatures = [];
|
||||
}
|
||||
];
|
||||
distributedBuilds = true;
|
||||
extraOptions = ''
|
||||
builders-use-substitutes = true
|
||||
'';
|
||||
};
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
|
||||
hardware.nvidia = {
|
||||
|
|
@ -98,6 +128,7 @@ _: let
|
|||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
kdePackages.qttools
|
||||
ledfx
|
||||
openrgb
|
||||
nvtopPackages.nvidia
|
||||
|
|
|
|||
6
tree.nix
6
tree.nix
|
|
@ -83,6 +83,11 @@
|
|||
solaar.nixosModules.default
|
||||
catppuccin.nixosModules.catppuccin
|
||||
chaotic.nixosModules.default
|
||||
nixpkgs-xr.nixosModules.nixpkgs-xr
|
||||
spicetify-nix.nixosModules.spicetify
|
||||
inputs.nix-gaming.nixosModules.ntsync
|
||||
inputs.nix-gaming.nixosModules.pipewireLowLatency
|
||||
inputs.nix-gaming.nixosModules.platformOptimizations
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
@ -105,6 +110,7 @@
|
|||
catppuccin.homeManagerModules.catppuccin
|
||||
inputs.sops-nix.homeManagerModules.sops
|
||||
chaotic.homeManagerModules.default
|
||||
spicetify-nix.homeManagerModules.spicetify
|
||||
]
|
||||
++ (with (import (inputs.arcexprs + "/modules")).home-manager; [
|
||||
i3gopher
|
||||
|
|
|
|||
1
vr/arguments
Normal file
1
vr/arguments
Normal file
|
|
@ -0,0 +1 @@
|
|||
PRESSURE_VESSEL_FILESYSTEMS_RW=$XDG_RUNTIME_DIR/wivrn/comp_ipc
|
||||
1
vr/bs-manager.sh
Executable file
1
vr/bs-manager.sh
Executable file
|
|
@ -0,0 +1 @@
|
|||
steam-run env WINEPREFIX=$STEAM_DIR/steamapps/compatdata/620980/pfx bs-manager
|
||||
2
vr/wired.sh
Executable file
2
vr/wired.sh
Executable file
|
|
@ -0,0 +1,2 @@
|
|||
adb reverse tcp:9757 tcp:9757
|
||||
adb shell am start -a android.intent.action.VIEW -d "wivrn+tcp://localhost" org.meumeu.wivrn
|
||||
Loading…
Add table
Add a link
Reference in a new issue