Compare commits
7 Commits
9b8e0c4fd7
...
c0b061a79d
Author | SHA1 | Date | |
---|---|---|---|
c0b061a79d | |||
e80232bb39 | |||
3bc1c21b4c | |||
80d73a8aad | |||
4cfcb71961 | |||
8814296c53 | |||
ed1f4f4fc6 |
68
flake.lock
68
flake.lock
@ -20,11 +20,11 @@
|
||||
},
|
||||
"emacs": {
|
||||
"locked": {
|
||||
"lastModified": 1641205295,
|
||||
"narHash": "sha256-DG1JHIBWfLu9wLXcyRyHeQCmbWjtHNKMWSEjJQrYfAU=",
|
||||
"lastModified": 1642445080,
|
||||
"narHash": "sha256-2jIQeXfAxkfLkl1Atady0f5XkJmB12RqBaCcnb0mGpQ=",
|
||||
"owner": "nix-community",
|
||||
"repo": "emacs-overlay",
|
||||
"rev": "150c09f3e3029b4d2f0ceecee2bf3d5148404767",
|
||||
"rev": "5fcafb9229a347b2f5f5dc4ec9f0f5f977b42b85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -68,11 +68,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1641121012,
|
||||
"narHash": "sha256-svaOMxNMQgFHjcxdmLojOxTxfqSENtnO+S3kb+npIwY=",
|
||||
"lastModified": 1642445622,
|
||||
"narHash": "sha256-EpiRAcFWs5HdyPr+1i5wtc7tsDUm/BoIIyP9wjAck2o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "8e7a10602d1eb1d242c9d3f9b822203d5751a8c6",
|
||||
"rev": "a69f3e9b0390f03defb834b15e80c236a537157d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -136,11 +136,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1640686209,
|
||||
"narHash": "sha256-6glXUlKRDhEhNuYx6r3fXU6KH2/Vq9mJZjB9oUpwrmc=",
|
||||
"lastModified": 1641965797,
|
||||
"narHash": "sha256-AfxfIzAZbt9aAzpVBn0Bwhd/M4Wix7G91kEjm9H6FPo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "46df95ca81e7e4cf3458cdb4b7d1714b5fce9da5",
|
||||
"rev": "87a35a0d58f546dc23f37b4f6af575d0e4be6a7a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -168,10 +168,10 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1638698569,
|
||||
"narHash": "sha256-Ld3UN9fP9X00Jppd0gxUQ+EEt0pMiVHyDzn5AS0HGsc=",
|
||||
"path": "/nix/store/nkrpxpkz1cx5k0acfgzpy7b15219ds40-source",
|
||||
"rev": "af6071db609bdf86f5d36f0bc4a4ac0fe8e92c35",
|
||||
"lastModified": 1641210259,
|
||||
"narHash": "sha256-O7oWcTw9WY/gbZPPqDpNYOAeT4bOK+1rtYC9ZaevTT0=",
|
||||
"path": "/nix/store/pd02d3qni4zn5hvi24flpp7nzyn66rvc-source",
|
||||
"rev": "18c84ea816348e2a098390101b92d1e39a9dbd45",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
@ -197,16 +197,16 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1641210259,
|
||||
"narHash": "sha256-O7oWcTw9WY/gbZPPqDpNYOAeT4bOK+1rtYC9ZaevTT0=",
|
||||
"lastModified": 1642104392,
|
||||
"narHash": "sha256-m71b7MgMh9FDv4MnI5sg9MiBVW6DhE1zq+d/KlLWSC8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "18c84ea816348e2a098390101b92d1e39a9dbd45",
|
||||
"rev": "5aaed40d22f0d9376330b6fa413223435ad6fee5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "master",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
@ -226,10 +226,10 @@
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1639347265,
|
||||
"narHash": "sha256-q5feWoC64+h6T6J89o2HJJ8DOnB/4vwMODBlZIgeIlA=",
|
||||
"path": "/nix/store/swl04xiyn1a153n5lbaak903fysp6p0f-source",
|
||||
"rev": "b0bf5f888d377dd2f36d90340df6dc9f035aaada",
|
||||
"lastModified": 1641210259,
|
||||
"narHash": "sha256-O7oWcTw9WY/gbZPPqDpNYOAeT4bOK+1rtYC9ZaevTT0=",
|
||||
"path": "/nix/store/pd02d3qni4zn5hvi24flpp7nzyn66rvc-source",
|
||||
"rev": "18c84ea816348e2a098390101b92d1e39a9dbd45",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
@ -255,10 +255,10 @@
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1639347265,
|
||||
"narHash": "sha256-q5feWoC64+h6T6J89o2HJJ8DOnB/4vwMODBlZIgeIlA=",
|
||||
"path": "/nix/store/swl04xiyn1a153n5lbaak903fysp6p0f-source",
|
||||
"rev": "b0bf5f888d377dd2f36d90340df6dc9f035aaada",
|
||||
"lastModified": 1641210259,
|
||||
"narHash": "sha256-O7oWcTw9WY/gbZPPqDpNYOAeT4bOK+1rtYC9ZaevTT0=",
|
||||
"path": "/nix/store/pd02d3qni4zn5hvi24flpp7nzyn66rvc-source",
|
||||
"rev": "18c84ea816348e2a098390101b92d1e39a9dbd45",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
@ -268,11 +268,11 @@
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1641734288,
|
||||
"narHash": "sha256-/7YwWbvkjinc4uu5aUQMRw3xAthhOVH/esm4tCXPzIQ=",
|
||||
"lastModified": 1642244250,
|
||||
"narHash": "sha256-vWpUEqQdVP4srj+/YLJRTN9vjpTs4je0cdWKXPbDItc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "df123677560db3b0db7c19d71981b11091fbeaf6",
|
||||
"rev": "0fd9ee1aa36ce865ad273f4f07fdc093adeb5c00",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -284,11 +284,11 @@
|
||||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1641198127,
|
||||
"narHash": "sha256-V5beyGlEIPoA5tGRHR8HKgUNOfq2Pk/pMRJsTDe5aH0=",
|
||||
"lastModified": 1642443450,
|
||||
"narHash": "sha256-wzu8ifk0rPi/qNXe2hgZiAr5MoQBkj9bgtO3IKqnTw4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nur",
|
||||
"rev": "f3540de5479a029dbf289232611800e3a83c6913",
|
||||
"rev": "cc8e4d5e2d5a44f1cbc54bf1dcd3c037b4d58c73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -357,11 +357,11 @@
|
||||
},
|
||||
"stable": {
|
||||
"locked": {
|
||||
"lastModified": 1640929225,
|
||||
"narHash": "sha256-JcnGLghuMWCApRr1Rer5EnIGhQUdAfyAVpdZNH2LL2A=",
|
||||
"lastModified": 1642244250,
|
||||
"narHash": "sha256-vWpUEqQdVP4srj+/YLJRTN9vjpTs4je0cdWKXPbDItc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "932ec35ff8ac0fef5667ad2b0db4a009440255a9",
|
||||
"rev": "0fd9ee1aa36ce865ad273f4f07fdc093adeb5c00",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -4,7 +4,7 @@
|
||||
inputs = {
|
||||
home-manager.url = "github:nix-community/home-manager/master";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/master";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
stable.url = "github:nixos/nixpkgs/nixos-21.05";
|
||||
emacs.url = "github:nix-community/emacs-overlay";
|
||||
nur.url = "github:nix-community/nur";
|
||||
|
@ -38,6 +38,8 @@
|
||||
cantata
|
||||
newsflash
|
||||
sublime-music-no-test
|
||||
anki
|
||||
#psst
|
||||
];
|
||||
|
||||
ptw = {
|
||||
@ -46,7 +48,7 @@
|
||||
primaryScreen = "C27F398";
|
||||
enable = true;
|
||||
};
|
||||
#sway.enable = true;
|
||||
sway.enable = true;
|
||||
alacritty.enable = true;
|
||||
emacs.enable = true;
|
||||
firefox.enable = true;
|
||||
@ -57,10 +59,11 @@
|
||||
enable = true;
|
||||
output = "DP-2";
|
||||
};
|
||||
xournalpp.enable = true;
|
||||
#xournalpp.enable = true;
|
||||
zsh.enable = true;
|
||||
office.enable = true;
|
||||
#office.enable = true;
|
||||
#plasma.enable = true;
|
||||
gaming.enable = true;
|
||||
};
|
||||
services = {
|
||||
gamemode.enable = true;
|
||||
@ -99,8 +102,11 @@
|
||||
};
|
||||
};
|
||||
};
|
||||
#swaync.enable = true;
|
||||
key-mapper.enable = true;
|
||||
swaync.enable = true;
|
||||
input-remapper = {
|
||||
enable = true;
|
||||
postStartCommand = "${pkgs.input-remapper}/bin/input-remapper-control --command start --preset NOOP --device \"Razer Razer Tartarus V2\"; exit 0";
|
||||
};
|
||||
};
|
||||
system = {
|
||||
i18n.enable = true;
|
||||
@ -111,6 +117,7 @@
|
||||
};
|
||||
virtualisation = {
|
||||
enable = true;
|
||||
gaming.enable = true;
|
||||
};
|
||||
};
|
||||
programs = {
|
||||
@ -132,12 +139,12 @@
|
||||
options amdgpu dpm=0
|
||||
'';
|
||||
initrd = {
|
||||
availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" "amdgpu" ]; #"vendor-reset" ];
|
||||
availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" "amdgpu" "vendor-reset" ];
|
||||
kernelModules = [
|
||||
"amdgpu" # GPU (duh)
|
||||
"kvm-amd" "vfio_virqfd" "vfio_pci" "vfio_iommu_type1" "vfio" # Virt
|
||||
"uinput" # key-mapper
|
||||
#"vendor-reset"
|
||||
"vendor-reset"
|
||||
];
|
||||
};
|
||||
kernelParams = [
|
||||
@ -166,7 +173,7 @@
|
||||
services = {
|
||||
ratbagd.enable = true;
|
||||
flatpak.enable = true;
|
||||
etesync-dav.enable = true;
|
||||
#etesync-dav.enable = true;
|
||||
connman.extraConfig = ''
|
||||
WriteResolvConf=false
|
||||
'';
|
||||
@ -181,34 +188,51 @@
|
||||
};
|
||||
};
|
||||
|
||||
hardware = {
|
||||
opentabletdriver.enable = true;
|
||||
};
|
||||
|
||||
# TODO: Move into modules
|
||||
systemd.user.services = {
|
||||
scream = {
|
||||
description = "Audio receiver for the Scream virtual network sound card";
|
||||
#wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.scream}/bin/scream -i virbr0 -o pulse";
|
||||
Restart = "always";
|
||||
systemd = {
|
||||
services = {
|
||||
enable-vendor-reset = {
|
||||
wantedBy = [ "default.target" ];
|
||||
script = ''
|
||||
echo "device_specific" > /sys/bus/pci/devices/0000:01:00.0/reset_method
|
||||
'';
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
};
|
||||
};
|
||||
};
|
||||
replaysorcery-kms = {
|
||||
description = "An open-source, instant-replay solution for Linux; KMS service";
|
||||
#wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.replaysorcery}/bin/replay-sorcery kms-service";
|
||||
Restart = "always";
|
||||
user.services = {
|
||||
scream = {
|
||||
description = "Audio receiver for the Scream virtual network sound card";
|
||||
#wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.scream}/bin/scream -i virbr0 -o pulse";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
replaysorcery = {
|
||||
description = "An open-source, instant-replay solution for Linux";
|
||||
#wantedBy = [ "default.target" ];
|
||||
requires = [ "replaysorcery-kms.service" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.replaysorcery}/bin/replay-sorcery";
|
||||
Restart = "always";
|
||||
replaysorcery-kms = {
|
||||
description = "An open-source, instant-replay solution for Linux; KMS service";
|
||||
#wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.replaysorcery}/bin/replay-sorcery kms-service";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
replaysorcery = {
|
||||
description = "An open-source, instant-replay solution for Linux";
|
||||
#wantedBy = [ "default.target" ];
|
||||
requires = [ "replaysorcery-kms.service" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.replaysorcery}/bin/replay-sorcery";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -43,6 +43,7 @@ in inputs.nixpkgs.lib.nixosSystem {
|
||||
emacs.overlay
|
||||
(import ../packages)
|
||||
(import ../overlays/simple.nix)
|
||||
(import ../overlays/sandbox.nix)
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -21,10 +21,11 @@
|
||||
./programs/xournalpp
|
||||
./programs/plasma
|
||||
./programs/office
|
||||
./programs/gaming
|
||||
|
||||
# Services
|
||||
./services/kanshi
|
||||
./services/key-mapper
|
||||
./services/input-remapper
|
||||
./services/gamemode
|
||||
./services/i18n
|
||||
|
||||
|
14
modules/programs/gaming/default.nix
Normal file
14
modules/programs/gaming/default.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ptw.programs.gaming;
|
||||
in {
|
||||
options.ptw.programs.gaming = {
|
||||
enable = lib.mkEnableOption "Configure gaming options";
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
winePackages.stagingFull winetricks lutris-free-wrapped
|
||||
];
|
||||
};
|
||||
}
|
@ -14,8 +14,8 @@ in {
|
||||
gnomeExtensions.appindicator
|
||||
gnomeExtensions.caffeine
|
||||
gnomeExtensions.gnome-40-ui-improvements
|
||||
gnomeExtensions.notification-timeout # Custom package
|
||||
gnomeExtensions.windowisready-remover # Custom package
|
||||
gnomeExtensions.notification-timeout
|
||||
gnomeExtensions.window-is-ready-remover
|
||||
gnomeExtensions.application-volume-mixer
|
||||
gnomeExtensions.tiling-assistant
|
||||
gnomeExtensions.tilingnome
|
||||
@ -78,14 +78,20 @@ in {
|
||||
gtkUsePortal = true;
|
||||
};
|
||||
|
||||
qt5 = {
|
||||
style = "adwaita-dark";
|
||||
platformTheme = "gnome";
|
||||
enable = true;
|
||||
};
|
||||
|
||||
home-manager.users."${config.ptw.system.singleUser}" = {
|
||||
xdg.configFile = {
|
||||
# Make QT apps use a dark theme
|
||||
"Kvantum/kvantum.kvconfig".text = ''
|
||||
[General]
|
||||
theme=KvArcDark
|
||||
'';
|
||||
};
|
||||
#xdg.configFile = {
|
||||
# # Make QT apps use a dark theme
|
||||
# "Kvantum/kvantum.kvconfig".text = ''
|
||||
# [General]
|
||||
# theme=KvArcDark
|
||||
# '';
|
||||
#};
|
||||
|
||||
dconf.settings = {
|
||||
# The packages come in from modules/programs/gnome
|
||||
@ -112,6 +118,7 @@ in {
|
||||
"windowIsReady_Remover@nunofarruca@gmail.com"
|
||||
"blur-my-shell@aunetx"
|
||||
"gsconnect@andyholmes.github.io"
|
||||
"trayIconsReloaded@selfmade.pl"
|
||||
] ++ (lib.optional isMiku "tiling-assistant@leleat-on-github")
|
||||
++ (lib.optional (isNishimiya || isMiku) "tilingnome@rliang.github.com");
|
||||
};
|
||||
|
@ -1,34 +1,39 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
cfg = config.ptw.services.key-mapper;
|
||||
cfg = config.ptw.services.input-remapper;
|
||||
in {
|
||||
options.ptw.services.key-mapper = {
|
||||
enable = lib.mkEnableOption "Enable the key-mapper service and install it";
|
||||
options.ptw.services.input-remapper = {
|
||||
enable = lib.mkEnableOption "Enable the input-remapper service and install it";
|
||||
postStartCommand = lib.mkOption {
|
||||
default = "";
|
||||
description = "Command to be executed after the input-remapper service has been started";
|
||||
# type = ;
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# TODO: Assert that uinput is in kernelModules
|
||||
services.udev = {
|
||||
packages = with pkgs; [ key-mapper ];
|
||||
packages = with pkgs; [ input-remapper ];
|
||||
extraRules = ''
|
||||
KERNEL=="uinput", GROUP="input", MODE="0660"
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.key-mapper # Custom package
|
||||
pkgs.input-remapper # Custom package
|
||||
];
|
||||
|
||||
systemd.user.services.key-mapper = {
|
||||
systemd.user.services.input-remapper = {
|
||||
description = "A tool to change the mapping of your input device buttons";
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.key-mapper}/bin/key-mapper-service";
|
||||
ExecStart = "${pkgs.input-remapper}/bin/input-remapper-service";
|
||||
Restart = "always";
|
||||
# NOTE: The Tartarus may not be connected, so don't fail if we cannot set the preset
|
||||
ExecPostStart = "${pkgs.key-mapper}/bin/key-mapper --command start --preset NOOP --device \"Razer Razer Tartarus V2\"; exit 0";
|
||||
ExecStartPost = cfg.postStartCommand;
|
||||
};
|
||||
};
|
||||
};
|
@ -23,6 +23,7 @@ in {
|
||||
"/dev/random", "/dev/urandom",
|
||||
"/dev/ptmx", "/dev/kvm", "/dev/kqemu",
|
||||
"/dev/rtc","/dev/hpet",
|
||||
"/dev/input/by-id/usb-Logitech_G700s_Rechargeable_Gaming_Mouse_93DF48160007-event-mouse",
|
||||
"/dev/input/by-id/usb-Logitech_USB_Receiver-if02-event-mouse",
|
||||
"/dev/input/by-id/usb-Razer_Razer_Tartarus_V2-event-kbd",
|
||||
"/dev/input/by-id/virtual-event-EvdevProxyMouse",
|
||||
|
@ -77,22 +77,22 @@ in {
|
||||
# NOTE: Workaround for libvirt's SYSCONFDIR being set to /var/lib
|
||||
# (See https://github.com/NixOS/nixpkgs/issues/51152#issuecomment-899374407)
|
||||
system.activationScripts.libvirt-hooks.text = ''
|
||||
ln -Tfs /etc/libvirt/hooks /var/lib/libvirt/hooks
|
||||
'';
|
||||
ln -Tfs /etc/libvirt/hooks /var/lib/libvirt/hooks
|
||||
'';
|
||||
|
||||
#services.udev.packages = with pkgs; [ evdev-proxy ];
|
||||
services.udev.packages = with pkgs; [ evdev-proxy ];
|
||||
|
||||
systemd = {
|
||||
services.libvirtd.path = with pkgs; [ vfio-isolate systemd bash ];
|
||||
#user.services.evdev-proxy = {
|
||||
# description = "Creates virtual device to proxy evdev devices events";
|
||||
# #wantedBy = [ "default.target" ];
|
||||
# serviceConfig = {
|
||||
# Type = "simple";
|
||||
# ExecStart = "${pkgs.evdev-proxy}/bin/evdev-proxy";
|
||||
# Restart = "always";
|
||||
# };
|
||||
#};
|
||||
user.services.evdev-proxy = {
|
||||
description = "Creates virtual device to proxy evdev devices events";
|
||||
#wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.evdev-proxy}/bin/evdev-proxy";
|
||||
Restart = "always";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -3,4 +3,5 @@
|
||||
{
|
||||
simple = import ./simple.nix;
|
||||
surface = import ./surface.nix pkgs;
|
||||
sandbox = import ./sandbox.nix;
|
||||
}
|
||||
|
77
overlays/sandbox.nix
Normal file
77
overlays/sandbox.nix
Normal file
@ -0,0 +1,77 @@
|
||||
final: prev:
|
||||
|
||||
let
|
||||
wrapInSandbox = prev.callPackage ../lib/sandbox.nix {};
|
||||
in {
|
||||
discord-wrapped = wrapInSandbox {
|
||||
name = "discord";
|
||||
package = prev.discord;
|
||||
#package = discord-system-electron;
|
||||
binaryName = "discord";
|
||||
mountInHome = [ ".config/discord" ".config/BetterDiscord" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
chdirTo = "/home/$USER";
|
||||
|
||||
version = "1.0.1";
|
||||
copyIntoSandbox = [ "share/pixmaps" ];
|
||||
desktopFileArgs = {
|
||||
name = "Discord (wrapped)";
|
||||
#exec = "discord";
|
||||
icon = "discord";
|
||||
desktopName = "Discord (wrapped)";
|
||||
genericName = "Instant Messenger";
|
||||
categories = "Network;InstantMessaging;";
|
||||
};
|
||||
};
|
||||
minecraft-wrapped = wrapInSandbox {
|
||||
name = "minecraft-launcher";
|
||||
package = prev.minecraft;
|
||||
binaryName = "minecraft-launcher";
|
||||
mountInHome = [ ".local/share/minecraft" ".minecraft" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
chdirTo = "/home/$USER";
|
||||
};
|
||||
|
||||
steam-wrapped = wrapInSandbox {
|
||||
name = "steam";
|
||||
package = prev.steam;
|
||||
binaryName = "steam";
|
||||
mountInHome = [ ".steam" ".local/share/Steam" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
additionalMounts = [ "/mnt/Storage/Games/SteamLibrary" ];
|
||||
chdirTo = "/home/$USER";
|
||||
extraEnv = {
|
||||
DRI_PRIME = "1";
|
||||
};
|
||||
|
||||
copyIntoSandbox = [ "/share" ];
|
||||
};
|
||||
|
||||
android-studio-wrapped = wrapInSandbox {
|
||||
name = "android-studio";
|
||||
package = prev.android-studio;
|
||||
binaryName = "android-studio";
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
mountInHome = [ "Development/Personal/Android" ".android" ];
|
||||
chdirTo = "/home/$USER";
|
||||
};
|
||||
|
||||
spotify-wrapped = wrapInSandbox {
|
||||
name = "spotify";
|
||||
package = prev.spotify;
|
||||
binaryName = "spotify";
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
mountInHome = [ ".config/spotify" ];
|
||||
chdirTo = "/home/$USER";
|
||||
};
|
||||
|
||||
lutris-free-wrapped = wrapInSandbox {
|
||||
name = "lutris-free";
|
||||
package = prev.lutris-free;
|
||||
binaryName = "lutris";
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
additionalMounts = [ "/mnt/Storage/Games/UPlay" ];
|
||||
mountInHome = [ ".local/share/lutris" ".config/lutris" ];
|
||||
chdirTo = "/home/$USER";
|
||||
};
|
||||
}
|
@ -67,4 +67,26 @@ final: prev:
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
# TODO: Remove once upstream has a new version tagged
|
||||
kasts-git = prev.libsForQt5.kasts.overrideAttrs (old: {
|
||||
src = let
|
||||
commit = "b39be0118ef6ff587b433af185c584f3d5bcec30";
|
||||
in builtins.fetchTarball {
|
||||
url = "https://invent.kde.org/plasma-mobile/kasts/-/archive/${commit}/kasts-${commit}.tar.gz";
|
||||
sha256 = "06myymbwj89357cpg7phha1x8q84mlhcy4f44pdkqmg7lkd5a6df";
|
||||
};
|
||||
|
||||
buildInputs = old.buildInputs ++ [ prev.taglib prev.libsForQt5.qtkeychain ];
|
||||
});
|
||||
|
||||
xournalpp-git = prev.xournalpp.overrideAttrs (old: {
|
||||
version = "1.1.1";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "bhennion";
|
||||
repo = "xournalpp";
|
||||
rev = "5d1545b0c4303e45b4ddf4ef8a1565eba822a9af";
|
||||
sha256 = "1d17lvydlny9pvaxa9xy53wxs7i6d563lp5r9g3r1xpgnb7zli8v";
|
||||
};
|
||||
});
|
||||
}
|
||||
|
@ -9,16 +9,10 @@ let
|
||||
extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
|
||||
#extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer";
|
||||
};
|
||||
wrapInSandbox = prev.callPackage ./sandbox.nix {};
|
||||
in {
|
||||
key-mapper = prev.callPackage ./tools/games/key-mapper {};
|
||||
input-remapper = prev.callPackage ./tools/games/input-remapper {};
|
||||
vfio-isolate = prev.callPackage ./tools/virtualisation/vfio-isolate {};
|
||||
mopidy-funkwhale = prev.callPackage ./applications/audio/mopidy/funkwhale.nix {};
|
||||
# Not as clean as I hoped, but it works
|
||||
gnomeExtensions = prev.gnomeExtensions // {
|
||||
notification-timeout = prev.callPackage ./desktop/gnome/extensions/notification-timeout {};
|
||||
windowisready-remover = prev.callPackage ./desktop/gnome/extensions/windowisready-remover {};
|
||||
};
|
||||
python3Packages = prev.python3Packages // {
|
||||
pySmartDL = pySmartDL;
|
||||
cfscrape = cfscrape;
|
||||
@ -31,90 +25,12 @@ key-mapper = prev.callPackage ./tools/games/key-mapper {};
|
||||
pySmartDL = pySmartDL;
|
||||
cfscrape = cfscrape;
|
||||
};
|
||||
discord-wrapped = wrapInSandbox {
|
||||
name = "discord";
|
||||
package = prev.discord;
|
||||
#package = discord-system-electron;
|
||||
binaryName = "discord";
|
||||
mountInHome = [ ".config/discord" ".config/BetterDiscord" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
chdirTo = "/home/$USER";
|
||||
|
||||
version = "1.0.1";
|
||||
copyIntoSandbox = [ "share/pixmaps" ];
|
||||
desktopFileArgs = {
|
||||
name = "Discord (wrapped)";
|
||||
#exec = "discord";
|
||||
icon = "discord";
|
||||
desktopName = "Discord (wrapped)";
|
||||
genericName = "Instant Messenger";
|
||||
categories = "Network;InstantMessaging;";
|
||||
};
|
||||
};
|
||||
|
||||
sddm-sugar-dark = prev.callPackage ./sddm-sugar-dark {};
|
||||
|
||||
surface-control = prev.callPackage ./tools/system/surface-control {};
|
||||
|
||||
trackma = prev.callPackage ./tools/video/trackma {};
|
||||
|
||||
multimc-wrapped = wrapInSandbox {
|
||||
name = "multimc";
|
||||
package = prev.multimc.override {
|
||||
jdk = prev.jdk11;
|
||||
jdk8 = prev.jdk11;
|
||||
};
|
||||
binaryName = "multimc";
|
||||
mountInHome = [ ".local/share/multimc" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
chdirTo = "/home/$USER";
|
||||
#extraEnv = {
|
||||
# DRI_PRIME = "1";
|
||||
#};
|
||||
};
|
||||
|
||||
minecraft-wrapped = wrapInSandbox {
|
||||
name = "minecraft-launcher";
|
||||
package = prev.minecraft;
|
||||
binaryName = "minecraft-launcher";
|
||||
mountInHome = [ ".local/share/minecraft" ".minecraft" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
chdirTo = "/home/$USER";
|
||||
};
|
||||
|
||||
steam-wrapped = wrapInSandbox {
|
||||
name = "steam";
|
||||
package = prev.steam;
|
||||
binaryName = "steam";
|
||||
mountInHome = [ ".steam" ".local/share/Steam" ];
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
additionalMounts = [ "/mnt/Storage/Games/SteamLibrary" ];
|
||||
chdirTo = "/home/$USER";
|
||||
extraEnv = {
|
||||
DRI_PRIME = "1";
|
||||
};
|
||||
|
||||
copyIntoSandbox = [ "/share" ];
|
||||
};
|
||||
|
||||
android-studio-wrapped = wrapInSandbox {
|
||||
name = "android-studio";
|
||||
package = prev.android-studio;
|
||||
binaryName = "android-studio";
|
||||
additionalBlacklist = [ "/mnt" ];
|
||||
mountInHome = [ "Development/Personal/Android" ".android" ];
|
||||
chdirTo = "/home/$USER";
|
||||
};
|
||||
|
||||
xournalpp-git = prev.xournalpp.overrideAttrs (old: {
|
||||
version = "1.1.1";
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "bhennion";
|
||||
repo = "xournalpp";
|
||||
rev = "5d1545b0c4303e45b4ddf4ef8a1565eba822a9af";
|
||||
sha256 = "1d17lvydlny9pvaxa9xy53wxs7i6d563lp5r9g3r1xpgnb7zli8v";
|
||||
};
|
||||
});
|
||||
|
||||
gajim-mainwindow = prev.callPackage ./applications/networking/instant-messengers/gajim {
|
||||
nbxmpp = prev.python3Packages.nbxmpp.overrideAttrs (old: {
|
||||
@ -133,20 +49,10 @@ key-mapper = prev.callPackage ./tools/games/key-mapper {};
|
||||
# TODO: Remove once NixOS has version 0.11.16 in their repos
|
||||
sublime-music-no-test = prev.callPackage ./applications/audio/sublime-music {};
|
||||
|
||||
# TODO: Remove once upstream has a new version tagged
|
||||
kasts-git = prev.libsForQt5.kasts.overrideAttrs (old: {
|
||||
src = let
|
||||
commit = "b39be0118ef6ff587b433af185c584f3d5bcec30";
|
||||
in builtins.fetchTarball {
|
||||
url = "https://invent.kde.org/plasma-mobile/kasts/-/archive/${commit}/kasts-${commit}.tar.gz";
|
||||
sha256 = "06myymbwj89357cpg7phha1x8q84mlhcy4f44pdkqmg7lkd5a6df";
|
||||
};
|
||||
|
||||
buildInputs = old.buildInputs ++ [ prev.taglib prev.libsForQt5.qtkeychain ];
|
||||
});
|
||||
|
||||
sound-gambit = prev.callPackage tools/audio/sound-gambit {};
|
||||
ebu-norm = prev.callPackage tools/audio/ebu-norm {};
|
||||
|
||||
payload-dumper = prev.callPackage tools/system/payload-dumper {};
|
||||
|
||||
psst = prev.callPackage tools/audio/psst {};
|
||||
}
|
||||
|
@ -1,31 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell-extension-notification-timeout";
|
||||
version = "unstable-2021-07-25";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vchlum";
|
||||
repo = "notification-timeout";
|
||||
rev = "1f8c2a433383f974bd49869db5ae7a6d7a82d302";
|
||||
sha256 = "1ndr8gn52qggq45lbdc5miz62is8im34nzmzsghcnarrm73naq59";
|
||||
};
|
||||
|
||||
uuid = "notification-timeout@chlumskyvaclav.gmail.com";
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/gnome-shell/extensions/${uuid}
|
||||
cp -r metadata.json extension.js prefs.js schemas/ $out/share/gnome-shell/extensions/${uuid}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Gnome Shell extension for configuring notification timeout. ";
|
||||
homepage = "https://github.com/vchlum/notification-timeout";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
@ -1,32 +0,0 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "WindowIsReady-Remover";
|
||||
version = "1.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "nunofarruca";
|
||||
repo = "WindowIsReady_Remover";
|
||||
rev = version;
|
||||
sha256 = "0yivd8q2mkb2c40n1pndwrsv9bi2lnm3r06wk04vhjc6f8x7qj52";
|
||||
};
|
||||
|
||||
uuid = "windowIsReady_Remover@nunofarruca@gmail.com";
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/gnome-shell/extensions/${uuid}
|
||||
cp -r ${uuid}/* $out/share/gnome-shell/extensions/${uuid}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Removes window is ready Notification";
|
||||
homepage = "https://github.com/nunofarruca/WindowIsReady_Remover";
|
||||
# NOTE: Wrong
|
||||
license = licenses.unlicense;
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
31
packages/development/python/keyrings.gopass/default.nix
Normal file
31
packages/development/python/keyrings.gopass/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{
|
||||
pkgs
|
||||
, lib
|
||||
, python3Packages
|
||||
, fetchFromGitea
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonPackage rec {
|
||||
pname = "keyrings.gopass";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.polynom.me";
|
||||
owner = "PapaTutuWawa";
|
||||
repo = pname;
|
||||
rev = "9c3cd59e7f5ce0a742b238ff0c4761db28344713";
|
||||
sha256 = "1dg3a6zx3cm9vwsqgkmc604n3fqb760nsmnrfwyfv7y5bmh5822x";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3Packages; [ setuptools setuptools-scm ];
|
||||
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://git.polynom.me/PapaTutuWawa/keyrings.gopass";
|
||||
description = "A python-keyring plugin for gopass";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
42
packages/tools/audio/psst/default.nix
Normal file
42
packages/tools/audio/psst/default.nix
Normal file
@ -0,0 +1,42 @@
|
||||
{ lib
|
||||
, rustPlatform
|
||||
, fetchFromGitHub
|
||||
, pkg-config
|
||||
, cairo
|
||||
, openssl
|
||||
, alsa-lib
|
||||
, dbus
|
||||
, gtk3
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "psst";
|
||||
version = "1.2.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jpochyla";
|
||||
repo = "psst";
|
||||
rev = "8f142a3232a706537c8477bff43d2e52309f6b78";
|
||||
sha256 = "00pdijd70rq98lrrfgh6pzqa6w3pp49lmpzaviw7nrgfl7l6j3v0";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-/nbYi7n58D8V3qa9rStg7JfGh4sAhTxC2niFFW5Ta34=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
buildInputs = [ cairo openssl gtk3 alsa-lib dbus ];
|
||||
|
||||
postInstall = ''
|
||||
# Install the desktop file
|
||||
mkdir -p $out/share
|
||||
cp .pkg/psst.desktop $out/share/
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A modern Volume Mixer for PulseAudio";
|
||||
homepage = "https://github.com/Aurailus/Myxer";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ erin ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
17
packages/tools/games/input-remapper/add-scripts.patch
Normal file
17
packages/tools/games/input-remapper/add-scripts.patch
Normal file
@ -0,0 +1,17 @@
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 1d50118..fde6119 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -129,6 +129,12 @@ setup(
|
||||
("/usr/bin/", ["bin/key-mapper-service"]),
|
||||
("/usr/bin/", ["bin/key-mapper-control"]),
|
||||
],
|
||||
+ scripts=[
|
||||
+ "bin/input-remapper-gtk",
|
||||
+ "bin/input-remapper-service",
|
||||
+ "bin/input-remapper-control",
|
||||
+ "bin/input-remapper-helper"
|
||||
+ ],
|
||||
install_requires=[
|
||||
"setuptools",
|
||||
"evdev",
|
@ -1,17 +1,17 @@
|
||||
{
|
||||
pkgs, lib
|
||||
, python3Packages, python3
|
||||
, gtk3, gobject-introspection, git, gnome
|
||||
, gtk3, gobject-introspection, git, gnome, gtksourceview4
|
||||
, wrapGAppsHook
|
||||
, makeDesktopItem
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "key-mapper";
|
||||
version = "1.2.1";
|
||||
pname = "input-remapper";
|
||||
version = "1.4.0";
|
||||
|
||||
buildInputs = [ gobject-introspection gtk3 gnome.adwaita-icon-theme ];
|
||||
buildInputs = [ gobject-introspection gtk3 gnome.adwaita-icon-theme gtksourceview4 ];
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook ];
|
||||
|
||||
@ -19,9 +19,9 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sezanzeb";
|
||||
repo = "key-mapper";
|
||||
repo = "input-remapper";
|
||||
rev = version;
|
||||
sha256 = "07dgp4vays1w4chhd22vlp9bxc49lcgzkvmjqgbr00m3781yjsf7";
|
||||
sha256 = "0h64cblpfz2zk15r2ja1kww1cw54gywmfr1zc16qx7sbjy0yi8px";
|
||||
};
|
||||
|
||||
doCheck = false;
|
||||
@ -32,9 +32,9 @@ python3Packages.buildPythonApplication rec {
|
||||
./hack-data-dir.patch
|
||||
];
|
||||
|
||||
# Fix keymapper not finding its data files
|
||||
# Fix input-remapper not finding its data files
|
||||
preBuild = ''
|
||||
sed -e "s|@@NIXOS_OUT_PATH@@|$out/usr/share/key-mapper|" --in-place keymapper/data.py
|
||||
sed -e "s|@@NIXOS_OUT_PATH@@|$out/usr/share/input-remapper|" --in-place inputremapper/data.py
|
||||
'';
|
||||
|
||||
# Required as we otherwise don't get the dbus policy installed
|
||||
@ -47,25 +47,25 @@ python3Packages.buildPythonApplication rec {
|
||||
postInstall = ''
|
||||
# Install the udev rules
|
||||
mkdir -p $out/lib/udev/rules.d
|
||||
cp data/key-mapper.rules $out/lib/udev/rules.d/key-mapper.rules
|
||||
sed --in-place -e "s|/bin/key-mapper-control|$out/bin/key-mapper-control|" $out/lib/udev/rules.d/key-mapper.rules
|
||||
cp data/99-input-remapper.rules $out/lib/udev/rules.d/99-input-remapper.rules
|
||||
sed --in-place -e "s|/bin/input-remapper-control|$out/bin/input-remapper-control|" $out/lib/udev/rules.d/99-input-remapper.rules
|
||||
|
||||
# Install the desktop file
|
||||
mkdir -p $out/share/icons/hicolor/scalable/apps/
|
||||
cp -r ${desktopItem}/share/applications $out/share/
|
||||
cp $out/usr/share/key-mapper/key-mapper.svg $out/share/icons/hicolor/scalable/apps/key-mapper.svg
|
||||
cp $out/usr/share/input-remapper/input-remapper.svg $out/share/icons/hicolor/scalable/apps/input-remapper.svg
|
||||
'';
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = "key-mapper";
|
||||
exec = "key-mapper-gtk";
|
||||
icon = "key-mapper";
|
||||
desktopName = "key-mapper";
|
||||
genericName = "key-mapper";
|
||||
name = "input-remapper";
|
||||
exec = "input-remapper-gtk";
|
||||
icon = "input-remapper";
|
||||
desktopName = "input-remapper";
|
||||
genericName = "input-remapper";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/sezanzeb/key-mapper";
|
||||
homepage = "https://github.com/sezanzeb/input-remapper";
|
||||
description = "A tool to change the mapping of your input device buttons";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ ];
|
12
packages/tools/games/input-remapper/hack-data-dir.patch
Normal file
12
packages/tools/games/input-remapper/hack-data-dir.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/inputremapper/data.py b/inputremapper/data.py
|
||||
index d5ec3a8..9fec89f 100644
|
||||
--- a/inputremapper/data.py
|
||||
+++ b/inputremapper/data.py
|
||||
@@ -68,6 +68,7 @@ def get_data_path(filename=""):
|
||||
"/usr/share/input-remapper",
|
||||
"/usr/local/share/input-remapper",
|
||||
os.path.join(site.USER_BASE, "share/input-remapper"),
|
||||
+ "@@NIXOS_OUT_PATH@@",
|
||||
]
|
||||
|
||||
if data is None:
|
@ -1,17 +0,0 @@
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 99d298e..74a7948 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -107,6 +107,12 @@ setup(
|
||||
('/usr/bin/', ['bin/key-mapper-control']),
|
||||
('/usr/bin/', ['bin/key-mapper-helper']),
|
||||
],
|
||||
+ scripts=[
|
||||
+ 'bin/key-mapper-gtk',
|
||||
+ 'bin/key-mapper-service',
|
||||
+ 'bin/key-mapper-control',
|
||||
+ 'bin/key-mapper-helper'
|
||||
+ ],
|
||||
install_requires=[
|
||||
'setuptools',
|
||||
'evdev',
|
@ -1,12 +0,0 @@
|
||||
diff --git a/keymapper/data.py b/keymapper/data.py
|
||||
index 6f3e428..8eded95 100644
|
||||
--- a/keymapper/data.py
|
||||
+++ b/keymapper/data.py
|
||||
@@ -68,6 +68,7 @@ def get_data_path(filename=""):
|
||||
"/usr/share/key-mapper",
|
||||
"/usr/local/share/key-mapper",
|
||||
os.path.join(site.USER_BASE, "share/key-mapper"),
|
||||
+ "@@NIXOS_OUT_PATH@@",
|
||||
]
|
||||
|
||||
if data is None:
|
62
packages/tools/games/sunshine/default.nix
Normal file
62
packages/tools/games/sunshine/default.nix
Normal file
@ -0,0 +1,62 @@
|
||||
{ stdenv, lib,
|
||||
pkgconfig, cmake, ffmpeg, libdrm, libpulseaudio, xorg,
|
||||
libcap, wayland, libopus, boost, openssl, libevdev, mesa,
|
||||
fetchgit
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "sunehine";
|
||||
version = "0.10.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/loki-47-6F-64/sunshine.git";
|
||||
rev = "v${version}";
|
||||
sha256 = "1aw8bis5v7rb3ixl378gqm34rx3sja7pp5g6kjd9b0yvl1bgxai6";
|
||||
deepClone = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkgconfig cmake
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
wayland # Wayland
|
||||
libdrm libcap # KMS
|
||||
xorg.libxcb xorg.libX11 xorg.libXtst xorg.libXrandr xorg.libXfixes libevdev # X11
|
||||
libopus libpulseaudio boost ffmpeg openssl # Common
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ mesa ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSUNSHINE_ENABLE_X11=off"
|
||||
"-DSUNSHINE_ENABLE_CUDA=off"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
];
|
||||
NIX_CFLAGS_COMPILE = "-Wformat";
|
||||
|
||||
patches = [ ./fuck.patch ];
|
||||
|
||||
preConfigure = ''
|
||||
# Fix hardcoded path to libevdev
|
||||
sed \
|
||||
-e "s|/usr/include/libevdev-1.0|${libevdev}/include/libevdev-1.0|" \
|
||||
-e "s|@@SUNSHINE_ASSETS_DIR@@|$out/share/sunshine|" \
|
||||
--in-place CMakeLists.txt
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
mkdir -p $out/share/sunshine/
|
||||
cp -r ../assets $out/share/sunshine/assets
|
||||
mv sunshine $out/bin/sunshine
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Host for Moonlight Streaming Client ";
|
||||
homepage = "https://github.com/loki-47-6F-64/sunshine";
|
||||
license = licenses.gpl3;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
15
packages/tools/games/sunshine/fuck.patch
Normal file
15
packages/tools/games/sunshine/fuck.patch
Normal file
@ -0,0 +1,15 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 45d4bf7..bd8c638 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -241,9 +241,7 @@ else()
|
||||
list(APPEND SUNSHINE_COMPILE_OPTIONS -O3)
|
||||
endif()
|
||||
|
||||
-if(NOT SUNSHINE_ASSETS_DIR)
|
||||
- set(SUNSHINE_ASSETS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/assets")
|
||||
-endif()
|
||||
+set(SUNSHINE_ASSETS_DIR "@@SUNSHINE_ASSETS_DIR@@/assets")
|
||||
|
||||
if(NOT SUNSHINE_CONFIG_DIR)
|
||||
set(SUNSHINE_CONFIG_DIR "${SUNSHINE_ASSETS_DIR}")
|
708
packages/tools/virtualisation/evdev-proxy/Cargo.lock
generated
Normal file
708
packages/tools/virtualisation/evdev-proxy/Cargo.lock
generated
Normal file
@ -0,0 +1,708 @@
|
||||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
[[package]]
|
||||
name = "aho-corasick"
|
||||
version = "0.7.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "arrayvec"
|
||||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
|
||||
|
||||
[[package]]
|
||||
name = "atty"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "autocfg"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "1.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.65"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "95752358c8f7552394baf48cd82695b345628ad3f170d607de3ca03b8dacca15"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "0.1.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
|
||||
|
||||
[[package]]
|
||||
name = "cfg-if"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "3.0.0-beta.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4bd1061998a501ee7d4b6d449020df3266ca3124b941ec56cf2005c3779ca142"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"bitflags",
|
||||
"clap_derive",
|
||||
"indexmap",
|
||||
"lazy_static",
|
||||
"os_str_bytes",
|
||||
"strsim",
|
||||
"termcolor",
|
||||
"textwrap",
|
||||
"unicode-width",
|
||||
"vec_map",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "clap_derive"
|
||||
version = "3.0.0-beta.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "370f715b81112975b1b69db93e0b56ea4cd4e5002ac43b2da8474106a54096a1"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"proc-macro-error",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "config"
|
||||
version = "0.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "19b076e143e1d9538dde65da30f8481c2a6c44040edb8e02b9bf1351edb92ce3"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"nom",
|
||||
"rust-ini",
|
||||
"serde 1.0.117",
|
||||
"serde-hjson",
|
||||
"serde_json",
|
||||
"toml",
|
||||
"yaml-rust",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "const_fn"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c478836e029dcef17fb47c89023448c64f781a046e0300e257ad8225ae59afab"
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fd01a6eb3daaafa260f6fc94c3a6c36390abc2080e38e3e34ced87393fb77d80"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"crossbeam-channel",
|
||||
"crossbeam-deque",
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-queue",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-channel"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dca26ee1f8d361640700bde38b2c37d8c22b3ce2d360e1fc1c74ea4b0aa7d775"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-deque"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "94af6efb46fef72616855b036a624cf27ba656ffc9be1b9a3c931cfc7749a9a9"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-epoch"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1aaa739f95311c2c7887a76863f500026092fb1dce0161dab577e559ef3569d"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"const_fn",
|
||||
"crossbeam-utils",
|
||||
"lazy_static",
|
||||
"memoffset",
|
||||
"scopeguard",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-queue"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0f6cb3c7f5b8e51bc3ebb73a2327ad4abdbd119dc13223f14f961d2f38486756"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-utils"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "02d96d1e189ef58269ebe5b97953da3274d83a93af647c2ddd6f9dab28cedb8d"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"cfg-if 1.0.0",
|
||||
"lazy_static",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "env_logger"
|
||||
version = "0.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"humantime",
|
||||
"log",
|
||||
"regex",
|
||||
"termcolor",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "evdev-proxy"
|
||||
version = "0.1.1"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"config",
|
||||
"crossbeam",
|
||||
"input-linux",
|
||||
"log",
|
||||
"nix 0.19.0",
|
||||
"pretty_env_logger",
|
||||
"serde 1.0.117",
|
||||
"serde_derive",
|
||||
"udev",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04"
|
||||
|
||||
[[package]]
|
||||
name = "heck"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
|
||||
dependencies = [
|
||||
"unicode-segmentation",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hermit-abi"
|
||||
version = "0.1.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "humantime"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
|
||||
dependencies = [
|
||||
"quick-error",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "1.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "55e2e4c765aa53a0424761bf9f41aa7a6ac1efa87238f59560640e27fca028f2"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
"hashbrown",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "input-linux"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e95c5622138ee0952c4779a7359c5d0e72befb2b5b708ccc9973e402be11535c"
|
||||
dependencies = [
|
||||
"input-linux-sys",
|
||||
"nix 0.18.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "input-linux-sys"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1be85879585a8f9f29bdbeb26974eee317817ec0f937352d3f66e0e4ff719278"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"nix 0.18.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "0.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "lexical-core"
|
||||
version = "0.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "db65c6da02e61f55dae90a0ae427b2a5f6b3e8db09f58d10efab23af92592616"
|
||||
dependencies = [
|
||||
"arrayvec",
|
||||
"bitflags",
|
||||
"cfg-if 0.1.10",
|
||||
"ryu",
|
||||
"static_assertions",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.79"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2448f6066e80e3bfc792e9c98bf705b4b0fc6e8ef5b43e5889aff0eaa9c58743"
|
||||
|
||||
[[package]]
|
||||
name = "libudev-sys"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3c8469b4a23b962c1396b9b451dda50ef5b283e8dd309d69033475fa9b334324"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"pkg-config",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "linked-hash-map"
|
||||
version = "0.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6d262045c5b87c0861b3f004610afd0e2c851e2908d08b6c870cbb9d5f494ecd"
|
||||
dependencies = [
|
||||
"serde 0.8.23",
|
||||
"serde_test",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "linked-hash-map"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a"
|
||||
|
||||
[[package]]
|
||||
name = "log"
|
||||
version = "0.4.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
|
||||
dependencies = [
|
||||
"cfg-if 0.1.10",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "memchr"
|
||||
version = "2.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
|
||||
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.6.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "157b4208e3059a8f9e78d559edc658e13df41410cb3ae03979c83130067fdd87"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.18.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "83450fe6a6142ddd95fb064b746083fc4ef1705fe81f64a64e1d4b39f54a1055"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cc",
|
||||
"cfg-if 0.1.10",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nix"
|
||||
version = "0.19.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "85db2feff6bf70ebc3a4793191517d5f0331100a2f10f9bf93b5e5214f32b7b7"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cc",
|
||||
"cfg-if 0.1.10",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nom"
|
||||
version = "5.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
|
||||
dependencies = [
|
||||
"lexical-core",
|
||||
"memchr",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.1.43"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
|
||||
dependencies = [
|
||||
"num-traits 0.2.14",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-traits"
|
||||
version = "0.2.14"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
|
||||
dependencies = [
|
||||
"autocfg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "os_str_bytes"
|
||||
version = "2.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "afb2e1c3ee07430c2cf76151675e583e0f19985fa6efae47d6848a3e2c824f85"
|
||||
|
||||
[[package]]
|
||||
name = "pkg-config"
|
||||
version = "0.3.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
|
||||
|
||||
[[package]]
|
||||
name = "pretty_env_logger"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d"
|
||||
dependencies = [
|
||||
"env_logger",
|
||||
"log",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-error"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
|
||||
dependencies = [
|
||||
"proc-macro-error-attr",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro-error-attr"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
|
||||
dependencies = [
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quick-error"
|
||||
version = "1.2.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex"
|
||||
version = "1.4.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "38cf2c13ed4745de91a5eb834e11c00bcc3709e773173b2ce4c56c9fbde04b9c"
|
||||
dependencies = [
|
||||
"aho-corasick",
|
||||
"memchr",
|
||||
"regex-syntax",
|
||||
"thread_local",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.6.21"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3b181ba2dcf07aaccad5448e8ead58db5b742cf85dfe035e2227f137a539a189"
|
||||
|
||||
[[package]]
|
||||
name = "rust-ini"
|
||||
version = "0.13.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3e52c148ef37f8c375d49d5a73aa70713125b7f19095948a923f80afdeb22ec2"
|
||||
|
||||
[[package]]
|
||||
name = "ryu"
|
||||
version = "1.0.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
|
||||
|
||||
[[package]]
|
||||
name = "scopeguard"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "0.8.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.117"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b88fa983de7720629c9387e9f517353ed404164b1e482c970a90c1a4aaf7dc1a"
|
||||
|
||||
[[package]]
|
||||
name = "serde-hjson"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a3a4e0ea8a88553209f6cc6cfe8724ecad22e1acf372793c27d995290fe74f8"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
"linked-hash-map 0.3.0",
|
||||
"num-traits 0.1.43",
|
||||
"regex",
|
||||
"serde 0.8.23",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.117"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cbd1ae72adb44aab48f325a02444a5fc079349a8d804c1fc922aed3f7454c74e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.59"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dcac07dbffa1c65e7f816ab9eba78eb142c6d44410f4eeba1e26e4f5dfa56b95"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"ryu",
|
||||
"serde 1.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_test"
|
||||
version = "0.8.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "110b3dbdf8607ec493c22d5d947753282f3bae73c0f56d322af1e8c78e4c23d5"
|
||||
dependencies = [
|
||||
"serde 0.8.23",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "static_assertions"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "1.0.52"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c1e438504729046a5cfae47f97c30d6d083c7d91d94603efdae3477fc070d4c"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"unicode-xid",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "termcolor"
|
||||
version = "1.1.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
|
||||
dependencies = [
|
||||
"winapi-util",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "textwrap"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "203008d98caf094106cfaba70acfed15e18ed3ddb7d94e49baec153a2b462789"
|
||||
dependencies = [
|
||||
"unicode-width",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thread_local"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.5.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "75cf45bb0bef80604d001caaec0d09da99611b3c0fd39d3080468875cdb65645"
|
||||
dependencies = [
|
||||
"serde 1.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "udev"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "048df778e99eea028c08cca7853b9b521df6948b59bb29ab8bb737c057f58e6d"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"libudev-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-segmentation"
|
||||
version = "1.7.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bb0d2e7be6ae3a5fa87eed5fb451aff96f2573d2694942e40543ae0bbe19c796"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-width"
|
||||
version = "0.1.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-xid"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
|
||||
|
||||
[[package]]
|
||||
name = "vec_map"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
|
||||
|
||||
[[package]]
|
||||
name = "winapi"
|
||||
version = "0.3.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||
dependencies = [
|
||||
"winapi-i686-pc-windows-gnu",
|
||||
"winapi-x86_64-pc-windows-gnu",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-i686-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
|
||||
[[package]]
|
||||
name = "winapi-util"
|
||||
version = "0.1.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
|
||||
dependencies = [
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "winapi-x86_64-pc-windows-gnu"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "yaml-rust"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "39f0c922f1a334134dc2f7a8b67dc5d25f0735263feec974345ff706bcf20b0d"
|
||||
dependencies = [
|
||||
"linked-hash-map 0.5.3",
|
||||
]
|
@ -1,16 +1,22 @@
|
||||
{ lib, rustPlatform,
|
||||
pkgconfig, udev }:
|
||||
{
|
||||
lib
|
||||
, rustPlatform
|
||||
, pkgconfig, udev
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage {
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "evdev-proxy";
|
||||
version = "0.1.1";
|
||||
|
||||
src = builtins.fetchGit {
|
||||
url = "https://github.com/redrampage/evdev-proxy.git";
|
||||
ref = "a21092a7b52144c3bb2b630704c990cee24cb745";
|
||||
src = fetchFromGitHub {
|
||||
owner = "PapaTutuWawa";
|
||||
repo = "evdev-proxy";
|
||||
rev = "32414604d776d488baa064fe355e297070406c4a";
|
||||
sha256 = "sha256-wIl01UZ35P5T+lApGyqOFSLQeqBsgK/F4CCPGnCTQA4=";
|
||||
};
|
||||
|
||||
cargoSha256 = "18y3pjkiwqpwkwrn5dbkn4rdj86c96h6i2b9ih73jajlw1xli1qy";
|
||||
cargoSha256 = "sha256-iM6q3TGS5XjbZGvQ85AmsMVjQW/JNS/T132kQHzDCE8=";
|
||||
|
||||
patches = [ ./add-evdev-selector.patch ];
|
||||
|
||||
|
BIN
secrets/default.nix
Normal file
BIN
secrets/default.nix
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user