Compare commits
6 Commits
be941d0806
...
21e825b2d1
| Author | SHA1 | Date | |
|---|---|---|---|
| 21e825b2d1 | |||
| 488fbf47fb | |||
| 9da0f55452 | |||
| f7b3973bd5 | |||
| bd578edae6 | |||
| db3de54479 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
./hostname
|
||||
@@ -1,17 +0,0 @@
|
||||
{ lib, pkgs, localPackages, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
pulseaudio
|
||||
pavucontrol
|
||||
feishin
|
||||
easyeffects
|
||||
helvum
|
||||
];
|
||||
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
{ lib, pkgs, localPackages, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
environment.systemPackages = with pkgs; with localPackages.x86_64-linux; [
|
||||
protonup-qt
|
||||
vesktop
|
||||
lutris
|
||||
gamescope-old
|
||||
wine
|
||||
];
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -12,10 +12,18 @@
|
||||
wayland-pipewire-idle-inhibit
|
||||
firefox
|
||||
mpv
|
||||
cinny-desktop
|
||||
thunderbird
|
||||
protonmail-bridge
|
||||
libsecret
|
||||
];
|
||||
|
||||
programs.sway.enable = true;
|
||||
programs.thunar.enable = true;
|
||||
programs.dconf.enable = true;
|
||||
|
||||
services.gnome.gnome-keyring.enable = true;
|
||||
services.dbus.packages = [ pkgs.gnome.seahorse ];
|
||||
|
||||
xdg.portal.wlr.enable = true;
|
||||
|
||||
|
||||
12
flake.lock
generated
12
flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716930911,
|
||||
"narHash": "sha256-t4HT5j3Jy7skRB5PINnxcEBCkgE89rGBpwTI7YS4Ffo=",
|
||||
"lastModified": 1717316182,
|
||||
"narHash": "sha256-Xi0EpZcu39N0eW7apLjFfUOR9y80toyjYizez7J1wMI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "a9b36cbe9292a649222b89fdb9ae9907e9c74086",
|
||||
"rev": "9b53a10f4c91892f5af87cf55d08fba59ca086af",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -22,11 +22,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1716509168,
|
||||
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
|
||||
"lastModified": 1716948383,
|
||||
"narHash": "sha256-SzDKxseEcHR5KzPXLwsemyTR/kaM9whxeiJohbL04rs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
|
||||
"rev": "ad57eef4ef0659193044870c731987a6df5cf56b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
117
flake.nix
117
flake.nix
@@ -9,51 +9,100 @@
|
||||
|
||||
outputs = inputs@{ self, nixpkgs, home-manager, ... }: let
|
||||
inherit (self) outputs;
|
||||
|
||||
hostname =
|
||||
if (builtins.pathExists ./hostname) then
|
||||
builtins.readFile(./hostname)
|
||||
else
|
||||
"default-hostname";
|
||||
|
||||
configs."ankaa" = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
port = 2222;
|
||||
};
|
||||
|
||||
backup = {
|
||||
enable = true;
|
||||
user = "eesim";
|
||||
paths = [ "/home/eesim" ];
|
||||
repo = "rf030789@rf030789.repo.borgbase.com:repo";
|
||||
excludes = [
|
||||
"/home/eesim/.local/share/Steam/steamapps/common"
|
||||
"/home/eesim/.cache"
|
||||
];
|
||||
passphrase = "/home/eesim/.ssh/borgbase_passphrase";
|
||||
key = "/home/eesim/.ssh/id_ed25519_borgbase";
|
||||
repeat = "daily";
|
||||
};
|
||||
|
||||
audio = {
|
||||
pipewire.enable = true;
|
||||
music.enable = true;
|
||||
tools = {
|
||||
helvum = true;
|
||||
easyeffects = true;
|
||||
};
|
||||
};
|
||||
|
||||
gui = {
|
||||
enable = true;
|
||||
protonmail = true;
|
||||
matrix = true;
|
||||
};
|
||||
|
||||
games.enable = true;
|
||||
|
||||
common.nil.enable = true;
|
||||
|
||||
networking.wireguard.enable = true;
|
||||
|
||||
};
|
||||
|
||||
configs."alpheratz" = {
|
||||
audio = {
|
||||
pipewire.enable = true;
|
||||
music.enable = true;
|
||||
|
||||
gui = {
|
||||
enable = true;
|
||||
protonmail = true;
|
||||
matrix = true;
|
||||
};
|
||||
};
|
||||
|
||||
common.nil.enable = true;
|
||||
|
||||
networking.wireguard.enable = true;
|
||||
};
|
||||
|
||||
configs."default-hostname" = {
|
||||
|
||||
};
|
||||
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
ankaa = nixpkgs.lib.nixosSystem {
|
||||
"${hostname}" = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit (outputs) localPackages;
|
||||
openssh-port = 2222;
|
||||
};
|
||||
modules = [
|
||||
./hosts/ankaa/configuration.nix
|
||||
./hosts/ankaa/hardware-configuration.nix
|
||||
./features/audio.nix
|
||||
./features/common.nix
|
||||
./features/gui.nix
|
||||
./features/networking.nix
|
||||
./features/gaming.nix
|
||||
./modules/backups/home-ankaa.nix
|
||||
./modules/openssh.nix
|
||||
{
|
||||
networking.hostName = hostname;
|
||||
}
|
||||
(import ./modules/nix)
|
||||
{
|
||||
simmer = configs."${hostname}";
|
||||
}
|
||||
(./. + "/hosts/${hostname}/system.nix")
|
||||
(./. + "/hosts/${hostname}/hardware-configuration.nix")
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.users.eesim = import ./hosts/ankaa/home.nix;
|
||||
}
|
||||
];
|
||||
};
|
||||
alpheratz = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = {
|
||||
inherit (outputs) localPackages;
|
||||
};
|
||||
modules = [
|
||||
./hosts/alpheratz/configuration.nix
|
||||
./hosts/alpheratz/hardware-configuration.nix
|
||||
./features/common.nix
|
||||
./features/gui.nix
|
||||
./features/audio.nix
|
||||
./features/networking.nix
|
||||
./features/laptop.nix
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.eesim = import ./hosts/alpheratz/home.nix;
|
||||
home-manager.users.eesim = import (./. + "/hosts/${hostname}/home.nix");
|
||||
}
|
||||
];
|
||||
};
|
||||
@@ -64,6 +113,8 @@
|
||||
in
|
||||
{
|
||||
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix { };
|
||||
gamescope-old = pkgs.callPackage ./pkgs/gamescope-old {};
|
||||
gamescope-dbg = pkgs.callPackage ./pkgs/gamescope-dbg {};
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
@@ -5,7 +5,9 @@
|
||||
}:
|
||||
{
|
||||
|
||||
imports = [];
|
||||
imports = [
|
||||
../../modules/home
|
||||
];
|
||||
|
||||
home = {
|
||||
username = "eesim";
|
||||
@@ -17,42 +19,7 @@
|
||||
home.file.".config/waybar".source = ./dotfiles/waybar;
|
||||
home.file.".config/fish/config.fish".source = ./dotfiles/fish/config.fish;
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Ethan Simmons";
|
||||
userEmail = "eesimmons9105@gmail.com";
|
||||
extraConfig = {
|
||||
core.sshCommand = "'ssh -i /home/eesim/.ssh/id_ed25519'";
|
||||
};
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
cursorTheme = {
|
||||
name = "phinger-cursors-dark";
|
||||
package = pkgs.phinger-cursors;
|
||||
};
|
||||
theme = {
|
||||
name = "adw-gtk3-dark";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
style = {
|
||||
name = "adwaita-dark";
|
||||
package = pkgs.adwaita-qt;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
home.stateVersion = "23.11";
|
||||
}
|
||||
|
||||
@@ -36,13 +36,6 @@
|
||||
"/nix".options = [ "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
networking.hostName = "alpheratz";
|
||||
networking.networkmanager.enable = true;
|
||||
networking.nameservers = [ "192.168.0.100" ];
|
||||
|
||||
networking.firewall = {
|
||||
allowedUDPPorts = [ 51820 ];
|
||||
};
|
||||
networking.wg-quick.interfaces = {
|
||||
wg0 = {
|
||||
address = [ "10.6.0.5" ];
|
||||
@@ -55,7 +48,7 @@
|
||||
publicKey = "pEWHugUnnhWXkJzCIhXryRRZMoCAuvAITDeP4ItenQk=";
|
||||
presharedKeyFile = "/root/wireguard-keys/wg0/preshared";
|
||||
allowedIPs = [ "10.2.0.0/24" "192.168.0.0/24" ];
|
||||
endpoint = "jellyfin.simmer505.com:51820";
|
||||
endpoint = "simmer505.com:51820";
|
||||
persistentKeepalive = 25;
|
||||
}
|
||||
];
|
||||
@@ -280,7 +280,7 @@ exec --no-startup-id ydotoold
|
||||
exec --no-startup-id easyeffects --gapplication-service
|
||||
exec --no-startup-id wayland-pipewire-idle-inhibit
|
||||
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
||||
exec --no-startup-id protonmail-bridge
|
||||
exec --no-startup-id protonmail-bridge --noninteractive
|
||||
exec --no-startup-id swayidle -w \
|
||||
timeout 600 'swaymsg "output * dpms off"' \
|
||||
resume 'swaymsg "output * dpms on"'
|
||||
|
||||
@@ -3,9 +3,12 @@
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
|
||||
imports = [];
|
||||
imports = [
|
||||
../../modules/home
|
||||
];
|
||||
|
||||
home = {
|
||||
username = "eesim";
|
||||
@@ -22,39 +25,7 @@
|
||||
# Fix for slow steam download speeds https://old.reddit.com/r/linux_gaming/comments/16e1l4h/slow_steam_downloads_try_this/
|
||||
home.file.".steam/steam/steam_dev.cfg".source = ./dotfiles/steam/steam_dev.cfg;
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Ethan Simmons";
|
||||
userEmail = "eesimmons9105@gmail.com";
|
||||
};
|
||||
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
cursorTheme = {
|
||||
name = "phinger-cursors-dark";
|
||||
package = pkgs.phinger-cursors;
|
||||
};
|
||||
theme = {
|
||||
name = "adw-gtk3-dark";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
style = {
|
||||
name = "adwaita-dark";
|
||||
package = pkgs.adwaita-qt;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
home.stateVersion = "23.11";
|
||||
}
|
||||
|
||||
@@ -33,10 +33,6 @@
|
||||
"/nix".options = [ "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
networking.hostName = "ankaa";
|
||||
networking.networkmanager.enable = true;
|
||||
networking.nameservers = [ "192.168.0.100" ];
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
{ pkgs, lib, ... }: {
|
||||
services.borgbackup.jobs = {
|
||||
home-ankaa =
|
||||
let
|
||||
user = "eesim";
|
||||
home = "/home/${user}";
|
||||
excludes = [ ".local/share/Steam/steamapps/common" ".cache" ];
|
||||
in
|
||||
{
|
||||
inherit user;
|
||||
paths = [ home ];
|
||||
exclude = builtins.map (e: "${home}/${e}") excludes;
|
||||
repo = "rf030789@rf030789.repo.borgbase.com:repo";
|
||||
encryption = {
|
||||
mode = "repokey-blake2";
|
||||
passCommand = "cat ${home}/.ssh/borgbase_passphrase";
|
||||
};
|
||||
environment.BORG_RSH = "ssh -i ${home}/.ssh/id_ed25519_borgbase";
|
||||
compression = "auto,lzma";
|
||||
startAt = "daily";
|
||||
};
|
||||
};
|
||||
}
|
||||
14
modules/home/default.nix
Normal file
14
modules/home/default.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./git.nix
|
||||
./direnv.nix
|
||||
./git.nix
|
||||
./qt.nix
|
||||
];
|
||||
}
|
||||
26
modules/home/direnv.nix
Normal file
26
modules/home/direnv.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib; let
|
||||
cfg = config.simmer.direnv;
|
||||
in
|
||||
{
|
||||
options.simmer.direnv = {
|
||||
enable = mkOption {
|
||||
description = "Whether to install and configure direnv";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
nix-direnv.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
26
modules/home/git.nix
Normal file
26
modules/home/git.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib; let
|
||||
cfg = config.simmer.git;
|
||||
in
|
||||
{
|
||||
options.simmer.git = {
|
||||
enable = mkOption {
|
||||
description = "Whether to install and configure git";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Ethan Simmons";
|
||||
userEmail = "eesimmons9105@gmail.com";
|
||||
};
|
||||
};
|
||||
}
|
||||
37
modules/home/gtk.nix
Normal file
37
modules/home/gtk.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib; let
|
||||
cfg = config.simmer.gtk;
|
||||
gui = config.simmer.gui;
|
||||
in
|
||||
{
|
||||
options.simmer.gtk = {
|
||||
theme.enable = mkOption {
|
||||
description = "Whether to enable gtk themes";
|
||||
type = types.bool;
|
||||
default = gui.enable;
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
gtk = mkIf cfg.enable {
|
||||
enable = true;
|
||||
cursorTheme = {
|
||||
name = "phinger-cursors-dark";
|
||||
package = pkgs.phinger-cursors;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "awaida-dark";
|
||||
package = pkgs.gnome.adwaita-icon-theme;
|
||||
};
|
||||
theme = {
|
||||
name = "adw-gtk3-dark";
|
||||
package = pkgs.adw-gtk3;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
26
modules/home/qt.nix
Normal file
26
modules/home/qt.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib; let
|
||||
cfg = config.simmer.qt;
|
||||
gui = config.simmer.gui;
|
||||
in
|
||||
{
|
||||
options.simmer.qt = {
|
||||
theme.enable = mkOption {
|
||||
description = "Whether to enable qt themes";
|
||||
type = types.bool;
|
||||
default = gui.enable;
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
qt.style = mkIf cfg.theme.enable {
|
||||
name = "adwaita-dark";
|
||||
package = pkgs.adwaita-qt;
|
||||
};
|
||||
};
|
||||
}
|
||||
78
modules/nix/audio.nix
Normal file
78
modules/nix/audio.nix
Normal file
@@ -0,0 +1,78 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib; let
|
||||
cfg = config.simmer.audio;
|
||||
in
|
||||
{
|
||||
|
||||
options.simmer.audio = {
|
||||
pipewire = {
|
||||
enable = mkOption {
|
||||
description = "Enable pipewire";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
pulseSupport = mkOption {
|
||||
description = "Enable pulse support for pipewire";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
alsaSupport = mkOption {
|
||||
description = "Enable alsa support for pipewire";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
music = {
|
||||
enable = mkOption {
|
||||
description = "Install music player";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
tools = {
|
||||
helvum = mkOption {
|
||||
description = "Install helvum";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
easyeffects = mkOption {
|
||||
description = "Install easyeffects";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
pavucontrol = mkOption {
|
||||
description = "Install pavucontrol";
|
||||
type = types.bool;
|
||||
default = cfg.pipewire.enable;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages =
|
||||
with pkgs; []
|
||||
++ optional cfg.tools.helvum helvum
|
||||
++ optional cfg.tools.easyeffects easyeffects
|
||||
++ optional cfg.tools.pavucontrol pavucontrol
|
||||
++ optional cfg.pipewire.pulseSupport pulseaudio
|
||||
++ optional cfg.music.enable feishin;
|
||||
|
||||
|
||||
security.rtkit.enable = mkIf cfg.pipewire.enable true;
|
||||
services.pipewire = mkIf cfg.pipewire.enable {
|
||||
enable = true;
|
||||
alsa = mkIf cfg.pipewire.alsaSupport {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
};
|
||||
pulse.enable = mkIf cfg.pipewire.pulseSupport true;
|
||||
};
|
||||
};
|
||||
}
|
||||
74
modules/nix/backup.nix
Normal file
74
modules/nix/backup.nix
Normal file
@@ -0,0 +1,74 @@
|
||||
{ pkgs
|
||||
, lib
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib; let
|
||||
cfg = config.simmer.backup;
|
||||
in
|
||||
{
|
||||
options.simmer.backup = {
|
||||
enable = mkOption {
|
||||
description = "Whether backups should be enabled";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
repo = mkOption {
|
||||
description = "Which repository to backup to";
|
||||
type = types.str;
|
||||
};
|
||||
|
||||
paths = mkOption {
|
||||
description = "Which paths to backup";
|
||||
type = types.listOf types.str;
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
description = "Which user to run backup commands with";
|
||||
type = types.str;
|
||||
default = "root";
|
||||
};
|
||||
|
||||
excludes = mkOption {
|
||||
description = "Which directories to exclude";
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
};
|
||||
|
||||
passphrase = mkOption {
|
||||
description = "path to file containing passphrase";
|
||||
type = types.path;
|
||||
};
|
||||
|
||||
key = mkOption {
|
||||
description = "Path to file containing SSH Key";
|
||||
type = types.path;
|
||||
};
|
||||
|
||||
repeat = mkOption {
|
||||
description = "How often to run the backup (hourly, daily, weekly)";
|
||||
type = types.enum [ "hourly" "daily" "weekly" ];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.borgbackup.jobs = {
|
||||
backup = {
|
||||
user = cfg.user;
|
||||
paths = cfg.paths;
|
||||
exclude = cfg.excludes;
|
||||
repo = cfg.repo;
|
||||
encryption = {
|
||||
mode = "repokey-blake2";
|
||||
passCommand = "cat ${cfg.passphrase}";
|
||||
};
|
||||
environment.BORG_RSH = "ssh -i ${cfg.key}";
|
||||
compression = "auto,lzma";
|
||||
startAt = cfg.repeat;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
58
modules/nix/common.nix
Normal file
58
modules/nix/common.nix
Normal file
@@ -0,0 +1,58 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, localPackages
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib; let
|
||||
cfg = config.simmer.common;
|
||||
in
|
||||
{
|
||||
|
||||
options.simmer.common = {
|
||||
neovim.enable = mkOption {
|
||||
description = "Whether to install neovim and set as default editor";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
|
||||
nil.enable = mkOption {
|
||||
description = "Whether to install nil";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
shell = mkOption {
|
||||
description = "Default shell to use (fish)";
|
||||
type = types.enum [ "fish" ];
|
||||
default = "fish";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
config = {
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
curl
|
||||
wget
|
||||
git
|
||||
killall
|
||||
vim
|
||||
eza
|
||||
ripgrep
|
||||
fzf
|
||||
ncdu
|
||||
btop
|
||||
]
|
||||
++ optional cfg.nil.enable nil;
|
||||
|
||||
programs.neovim = mkIf cfg.neovim.enable {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
};
|
||||
|
||||
programs.fish.enable = mkIf (cfg.shell == "fish") true;
|
||||
};
|
||||
|
||||
}
|
||||
17
modules/nix/default.nix
Normal file
17
modules/nix/default.nix
Normal file
@@ -0,0 +1,17 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./openssh.nix
|
||||
./backup.nix
|
||||
./audio.nix
|
||||
./gui.nix
|
||||
./common.nix
|
||||
./networking.nix
|
||||
./games.nix
|
||||
];
|
||||
}
|
||||
61
modules/nix/games.nix
Normal file
61
modules/nix/games.nix
Normal file
@@ -0,0 +1,61 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, localPackages
|
||||
, ...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.simmer.games;
|
||||
in
|
||||
{
|
||||
options.simmer.games = {
|
||||
enable = mkOption {
|
||||
description = "Whether to enable games";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
protonup.enable = mkOption {
|
||||
description = "Whether to install protonup";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
|
||||
lutris.enable = mkOption {
|
||||
description = "Whether to install lutris";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
steam.enable = mkOption {
|
||||
description = "Whether to install steam";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
|
||||
gamescope.enable = mkOption {
|
||||
description = "Whether to install gamescope";
|
||||
type = types.bool;
|
||||
default = cfg.steam.enable;
|
||||
};
|
||||
|
||||
discord.enable = mkOption {
|
||||
description = "Whether to install discord";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; with localPackages.x86_64-linux;
|
||||
[]
|
||||
++ optional cfg.protonup.enable protonup-qt
|
||||
++ optional cfg.gamescope.enable gamescope-old
|
||||
++ optional cfg.discord.enable vesktop
|
||||
++ optionals cfg.lutris.enable [ lutris wine ];
|
||||
|
||||
programs.steam = mkIf cfg.steam.enable {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
85
modules/nix/gui.nix
Normal file
85
modules/nix/gui.nix
Normal file
@@ -0,0 +1,85 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, localPackages
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib; let
|
||||
cfg = config.simmer.gui;
|
||||
in
|
||||
{
|
||||
|
||||
options.simmer.gui = {
|
||||
enable = mkOption {
|
||||
description = "Enable gui";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
wm = mkOption {
|
||||
description = "Which window manager to install";
|
||||
type = types.enum [ "sway" ];
|
||||
default = "sway";
|
||||
};
|
||||
|
||||
terminal = mkOption {
|
||||
description = "Which terminal to install (alacritty)";
|
||||
type = types.enum [ pkgs.alacritty ];
|
||||
default = pkgs.alacritty;
|
||||
};
|
||||
|
||||
protonmail = mkOption {
|
||||
description = "Whether to install protonmail bridge and mail application";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
secrets = mkOption {
|
||||
description = "Whether to enable secrets handling with gnomke-keyring";
|
||||
type = types.bool;
|
||||
default = cfg.protonmail;
|
||||
};
|
||||
|
||||
matrix = mkOption {
|
||||
description = "Whether to install a matrix client";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
environment.systemPackages = with pkgs; with localPackages.x86_64-linux; []
|
||||
++ optionals (cfg.wm == "sway") [
|
||||
wl-clipboard
|
||||
grim
|
||||
slurp
|
||||
waybar
|
||||
swaybg
|
||||
kickoff
|
||||
kickoff-dot-desktop
|
||||
wayland-pipewire-idle-inhibit
|
||||
firefox
|
||||
mpv
|
||||
]
|
||||
++ [ cfg.terminal ]
|
||||
++ optional cfg.matrix cinny-desktop
|
||||
++ optional cfg.secrets libsecret
|
||||
++ optionals cfg.protonmail [ thunderbird protonmail-bridge ];
|
||||
|
||||
programs.sway.enable = mkIf (cfg.wm == "sway") true;
|
||||
|
||||
programs.dconf.enable = mkIf cfg.secrets true;
|
||||
services.gnome.gnome-keyring.enable = mkIf cfg.secrets true;
|
||||
services.dbus.packages = mkIf cfg.secrets [ pkgs.gnome.seahorse ];
|
||||
|
||||
xdg.portal.wlr.enable = true;
|
||||
programs.thunar.enable = true;
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
font-awesome
|
||||
];
|
||||
};
|
||||
}
|
||||
74
modules/nix/networking.nix
Normal file
74
modules/nix/networking.nix
Normal file
@@ -0,0 +1,74 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, localPackages
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.simmer.networking;
|
||||
openssh = config.simmer.openssh;
|
||||
in
|
||||
{
|
||||
|
||||
options.simmer.networking = {
|
||||
firewall = {
|
||||
enable = mkOption {
|
||||
description = "Whether to enable firewall";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
|
||||
allowedTCPPorts = mkOption {
|
||||
description = "Which tcp ports to allow through firewall";
|
||||
type = types.listOf types.int;
|
||||
default = []
|
||||
++ optional openssh.enable openssh.port;
|
||||
};
|
||||
|
||||
allowedUDPPorts = mkOption {
|
||||
description = "Which udp ports to allow through firewall";
|
||||
type = types.listOf types.int;
|
||||
default = [];
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
wireguard = {
|
||||
enable = mkOption {
|
||||
description = "Whether to install wireguard";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
networkmanager = {
|
||||
enable = mkOption {
|
||||
description = "Whether to enable network manager";
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
nameservers = mkOption {
|
||||
description = "Which nameservers to use";
|
||||
type = types.listOf types.str;
|
||||
default = [ "1.1.1.1" ];
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
environment.systemPackages = with pkgs; [
|
||||
ldns
|
||||
]
|
||||
++ optional cfg.wireguard.enable wireguard-tools;
|
||||
|
||||
networking.networkmanager.enable = cfg.networkmanager.enable;
|
||||
networking.nameservers = cfg.nameservers;
|
||||
networking.firewall = {
|
||||
enable = cfg.firewall.enable;
|
||||
allowedTCPPorts = cfg.firewall.allowedTCPPorts;
|
||||
allowedUDPPorts = cfg.firewall.allowedUDPPorts;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
42
modules/nix/openssh.nix
Normal file
42
modules/nix/openssh.nix
Normal file
@@ -0,0 +1,42 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, config
|
||||
, ...
|
||||
}:
|
||||
|
||||
with lib; let
|
||||
cfg = config.simmer.openssh;
|
||||
in
|
||||
{
|
||||
options.simmer.openssh = {
|
||||
enable = mkOption {
|
||||
description = "Whether to enable openssh server";
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
description = "What port the server should run on";
|
||||
type = types.int;
|
||||
default = 22;
|
||||
};
|
||||
|
||||
allow-password = mkOption {
|
||||
description = "Whether the server should allow password authenitication" ;
|
||||
type = types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
ports = [ cfg.port ];
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, openssh-port ? 22
|
||||
, ...
|
||||
}:
|
||||
|
||||
{
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
ports = [ openssh-port ];
|
||||
settings = {
|
||||
PermitRootLogin = "no";
|
||||
PasswordAuthentication = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
168
pkgs/gamescope-dbg/default.nix
Normal file
168
pkgs/gamescope-dbg/default.nix
Normal file
@@ -0,0 +1,168 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, libgcc
|
||||
, meson
|
||||
, pkg-config
|
||||
, ninja
|
||||
, xorg
|
||||
, libdrm
|
||||
, libei
|
||||
, vulkan-loader
|
||||
, vulkan-headers
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, libxkbcommon
|
||||
, glm
|
||||
, gbenchmark
|
||||
, libcap
|
||||
, libavif
|
||||
, SDL2
|
||||
, pipewire
|
||||
, pixman
|
||||
, libinput
|
||||
, glslang
|
||||
, hwdata
|
||||
, openvr
|
||||
, stb
|
||||
, wlroots
|
||||
, libliftoff
|
||||
, libdecor
|
||||
, libdisplay-info
|
||||
, lib
|
||||
, makeBinaryWrapper
|
||||
, patchelfUnstable
|
||||
, nix-update-script
|
||||
, enableExecutable ? true
|
||||
, enableWsi ? true
|
||||
}:
|
||||
let
|
||||
joshShaders = fetchFromGitHub {
|
||||
owner = "Joshua-Ashton";
|
||||
repo = "GamescopeShaders";
|
||||
rev = "v0.1";
|
||||
hash = "sha256-gR1AeAHV/Kn4ntiEDUSPxASLMFusV6hgSGrTbMCBUZA=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gamescope";
|
||||
version = "3.14.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ValveSoftware";
|
||||
repo = "gamescope";
|
||||
rev = "0065946d1bf69584714a17698947ab80a97128bc";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-PiDXHq7/CxIOday5DQyAG6i3+ggm6zp3iSPIhq63EOk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Unvendor dependencies
|
||||
./use-pkgconfig.patch
|
||||
|
||||
# Make it look for shaders in the right place
|
||||
./shaders-path.patch
|
||||
];
|
||||
|
||||
# We can't substitute the patch itself because substituteAll is itself a derivation,
|
||||
# so `placeholder "out"` ends up pointing to the wrong place
|
||||
postPatch = ''
|
||||
substituteInPlace src/reshade_effect_manager.cpp --replace "@out@" "$out"
|
||||
'';
|
||||
|
||||
|
||||
mesonFlags = [
|
||||
(lib.mesonBool "enable_gamescope" enableExecutable)
|
||||
(lib.mesonBool "enable_gamescope_wsi_layer" enableWsi)
|
||||
"-Dc_args=-fsanitize-recover=address"
|
||||
"-Dc_link_args=-fsanitize-recover=address"
|
||||
"-Dcpp_args=-fsanitize-recover=address"
|
||||
"-Dcpp_link_args=-fsanitize-recover=address"
|
||||
"--buildtype=debugoptimized"
|
||||
"-Db_sanitize=address"
|
||||
];
|
||||
|
||||
# don't install vendored vkroots etc
|
||||
mesonInstallFlags = ["--skip-subprojects"];
|
||||
|
||||
strictDeps = true;
|
||||
dontStrip = true;
|
||||
|
||||
depsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
pkg-config
|
||||
ninja
|
||||
] ++ lib.optionals enableExecutable [
|
||||
makeBinaryWrapper
|
||||
glslang
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pipewire
|
||||
hwdata
|
||||
xorg.libX11
|
||||
wayland
|
||||
wayland-protocols
|
||||
vulkan-loader
|
||||
openvr
|
||||
glm
|
||||
] ++ lib.optionals enableWsi [
|
||||
vulkan-headers
|
||||
] ++ lib.optionals enableExecutable (wlroots.buildInputs ++ [ # gamescope uses a custom wlroots branch
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXi
|
||||
xorg.libXmu
|
||||
xorg.libXrender
|
||||
xorg.libXres
|
||||
xorg.libXtst
|
||||
xorg.libXxf86vm
|
||||
libavif
|
||||
libdrm
|
||||
libei
|
||||
libliftoff
|
||||
SDL2
|
||||
libdecor
|
||||
libinput
|
||||
libxkbcommon
|
||||
gbenchmark
|
||||
pixman
|
||||
libcap
|
||||
stb
|
||||
libdisplay-info
|
||||
]);
|
||||
|
||||
postInstall = lib.optionalString enableExecutable ''
|
||||
# using patchelf unstable because the stable version corrupts the binary
|
||||
${lib.getExe patchelfUnstable} $out/bin/gamescope \
|
||||
--add-rpath ${vulkan-loader}/lib \
|
||||
--add-needed ${libgcc.lib}/lib/libasan.so.8 \
|
||||
--add-needed libvulkan.so.1
|
||||
|
||||
LD_PRELOAD="${libgcc.lib}/lib/libasan.so.8"
|
||||
|
||||
# --debug-layers flag expects these in the path
|
||||
wrapProgram "$out/bin/gamescope" \
|
||||
--prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]}
|
||||
|
||||
# Install ReShade shaders
|
||||
mkdir -p $out/share/gamescope/reshade
|
||||
cp -r ${joshShaders}/* $out/share/gamescope/reshade/
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {};
|
||||
|
||||
meta = with lib; {
|
||||
description = "SteamOS session compositing window manager";
|
||||
homepage = "https://github.com/ValveSoftware/gamescope";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ nrdxp pedrohlc Scrumplex zhaofengli k900 ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "gamescope";
|
||||
};
|
||||
})
|
||||
13
pkgs/gamescope-dbg/shaders-path.patch
Normal file
13
pkgs/gamescope-dbg/shaders-path.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/reshade_effect_manager.cpp b/src/reshade_effect_manager.cpp
|
||||
index 3597ca1..de45250 100644
|
||||
--- a/src/reshade_effect_manager.cpp
|
||||
+++ b/src/reshade_effect_manager.cpp
|
||||
@@ -34,7 +34,7 @@ static std::string GetLocalUsrDir()
|
||||
|
||||
static std::string GetUsrDir()
|
||||
{
|
||||
- return "/usr";
|
||||
+ return "@out@";
|
||||
}
|
||||
|
||||
static LogScope reshade_log("gamescope_reshade");
|
||||
9
pkgs/gamescope-dbg/use-pkgconfig.patch
Normal file
9
pkgs/gamescope-dbg/use-pkgconfig.patch
Normal file
@@ -0,0 +1,9 @@
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -6,7 +6,6 @@ project(
|
||||
default_options: [
|
||||
'cpp_std=c++20',
|
||||
'warning_level=2',
|
||||
- 'force_fallback_for=wlroots,libliftoff,vkroots',
|
||||
],
|
||||
)
|
||||
157
pkgs/gamescope-old/default.nix
Normal file
157
pkgs/gamescope-old/default.nix
Normal file
@@ -0,0 +1,157 @@
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, meson
|
||||
, pkg-config
|
||||
, ninja
|
||||
, xorg
|
||||
, libdrm
|
||||
, libei
|
||||
, vulkan-loader
|
||||
, vulkan-headers
|
||||
, wayland
|
||||
, wayland-protocols
|
||||
, libxkbcommon
|
||||
, glm
|
||||
, gbenchmark
|
||||
, libcap
|
||||
, libavif
|
||||
, SDL2
|
||||
, pipewire
|
||||
, pixman
|
||||
, libinput
|
||||
, glslang
|
||||
, hwdata
|
||||
, openvr
|
||||
, stb
|
||||
, wlroots
|
||||
, libliftoff
|
||||
, libdecor
|
||||
, libdisplay-info
|
||||
, lib
|
||||
, makeBinaryWrapper
|
||||
, patchelfUnstable
|
||||
, nix-update-script
|
||||
, enableExecutable ? true
|
||||
, enableWsi ? true
|
||||
}:
|
||||
let
|
||||
joshShaders = fetchFromGitHub {
|
||||
owner = "Joshua-Ashton";
|
||||
repo = "GamescopeShaders";
|
||||
rev = "v0.1";
|
||||
hash = "sha256-gR1AeAHV/Kn4ntiEDUSPxASLMFusV6hgSGrTbMCBUZA=";
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gamescope";
|
||||
version = "3.14.16";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ValveSoftware";
|
||||
repo = "gamescope";
|
||||
rev = "d0d23c4c3010c81add1bd90cbe478ce4a386e28d";
|
||||
fetchSubmodules = true;
|
||||
hash = "sha256-Ym1kl9naAm1MGlxCk32ssvfiOlstHiZPy7Ga8EZegus=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Unvendor dependencies
|
||||
./use-pkgconfig.patch
|
||||
|
||||
# Make it look for shaders in the right place
|
||||
./shaders-path.patch
|
||||
];
|
||||
|
||||
# We can't substitute the patch itself because substituteAll is itself a derivation,
|
||||
# so `placeholder "out"` ends up pointing to the wrong place
|
||||
postPatch = ''
|
||||
substituteInPlace src/reshade_effect_manager.cpp --replace "@out@" "$out"
|
||||
'';
|
||||
|
||||
|
||||
mesonFlags = [
|
||||
(lib.mesonBool "enable_gamescope" enableExecutable)
|
||||
(lib.mesonBool "enable_gamescope_wsi_layer" enableWsi)
|
||||
];
|
||||
|
||||
# don't install vendored vkroots etc
|
||||
mesonInstallFlags = ["--skip-subprojects"];
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
depsBuildBuild = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
pkg-config
|
||||
ninja
|
||||
] ++ lib.optionals enableExecutable [
|
||||
makeBinaryWrapper
|
||||
glslang
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
pipewire
|
||||
hwdata
|
||||
xorg.libX11
|
||||
wayland
|
||||
wayland-protocols
|
||||
vulkan-loader
|
||||
openvr
|
||||
glm
|
||||
] ++ lib.optionals enableWsi [
|
||||
vulkan-headers
|
||||
] ++ lib.optionals enableExecutable (wlroots.buildInputs ++ [ # gamescope uses a custom wlroots branch
|
||||
xorg.libXcomposite
|
||||
xorg.libXcursor
|
||||
xorg.libXdamage
|
||||
xorg.libXext
|
||||
xorg.libXi
|
||||
xorg.libXmu
|
||||
xorg.libXrender
|
||||
xorg.libXres
|
||||
xorg.libXtst
|
||||
xorg.libXxf86vm
|
||||
libavif
|
||||
libdrm
|
||||
libei
|
||||
libliftoff
|
||||
SDL2
|
||||
libdecor
|
||||
libinput
|
||||
libxkbcommon
|
||||
gbenchmark
|
||||
pixman
|
||||
libcap
|
||||
stb
|
||||
libdisplay-info
|
||||
]);
|
||||
|
||||
postInstall = lib.optionalString enableExecutable ''
|
||||
# using patchelf unstable because the stable version corrupts the binary
|
||||
${lib.getExe patchelfUnstable} $out/bin/gamescope \
|
||||
--add-rpath ${vulkan-loader}/lib \
|
||||
--add-needed libvulkan.so.1 \
|
||||
|
||||
# --debug-layers flag expects these in the path
|
||||
wrapProgram "$out/bin/gamescope" \
|
||||
--prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]}
|
||||
|
||||
# Install ReShade shaders
|
||||
mkdir -p $out/share/gamescope/reshade
|
||||
cp -r ${joshShaders}/* $out/share/gamescope/reshade/
|
||||
'';
|
||||
|
||||
passthru.updateScript = nix-update-script {};
|
||||
|
||||
meta = with lib; {
|
||||
description = "SteamOS session compositing window manager";
|
||||
homepage = "https://github.com/ValveSoftware/gamescope";
|
||||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ nrdxp pedrohlc Scrumplex zhaofengli k900 ];
|
||||
platforms = platforms.linux;
|
||||
mainProgram = "gamescope";
|
||||
};
|
||||
})
|
||||
13
pkgs/gamescope-old/shaders-path.patch
Normal file
13
pkgs/gamescope-old/shaders-path.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/reshade_effect_manager.cpp b/src/reshade_effect_manager.cpp
|
||||
index 3597ca1..de45250 100644
|
||||
--- a/src/reshade_effect_manager.cpp
|
||||
+++ b/src/reshade_effect_manager.cpp
|
||||
@@ -34,7 +34,7 @@ static std::string GetLocalUsrDir()
|
||||
|
||||
static std::string GetUsrDir()
|
||||
{
|
||||
- return "/usr";
|
||||
+ return "@out@";
|
||||
}
|
||||
|
||||
static LogScope reshade_log("gamescope_reshade");
|
||||
9
pkgs/gamescope-old/use-pkgconfig.patch
Normal file
9
pkgs/gamescope-old/use-pkgconfig.patch
Normal file
@@ -0,0 +1,9 @@
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -6,7 +6,6 @@ project(
|
||||
default_options: [
|
||||
'cpp_std=c++20',
|
||||
'warning_level=2',
|
||||
- 'force_fallback_for=wlroots,libliftoff,vkroots',
|
||||
],
|
||||
)
|
||||
Reference in New Issue
Block a user