Compare commits

...

7 Commits

29 changed files with 1170 additions and 310 deletions

View File

@ -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": {

View File

@ -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";

View File

@ -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";
};
};
};
};

View File

@ -43,6 +43,7 @@ in inputs.nixpkgs.lib.nixosSystem {
emacs.overlay
(import ../packages)
(import ../overlays/simple.nix)
(import ../overlays/sandbox.nix)
];
}

View File

@ -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

View 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
];
};
}

View File

@ -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");
};

View File

@ -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;
};
};
};

View File

@ -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",

View File

@ -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";
};
};
};
};
}

View File

@ -3,4 +3,5 @@
{
simple = import ./simple.nix;
surface = import ./surface.nix pkgs;
sandbox = import ./sandbox.nix;
}

77
overlays/sandbox.nix Normal file
View 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";
};
}

View File

@ -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";
};
});
}

View File

@ -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 {};
}

View File

@ -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 = [ ];
};
}

View File

@ -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 = [ ];
};
}

View 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;
};
}

View 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;
};
}

View 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",

View File

@ -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 = [ ];

View 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:

View File

@ -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',

View File

@ -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:

View 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;
};
}

View 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}")

View 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",
]

View File

@ -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

Binary file not shown.