Compare commits
3 Commits
d5262b0a7f
...
30bb872ed9
Author | SHA1 | Date | |
---|---|---|---|
30bb872ed9 | |||
b716c8a288 | |||
1de2a362d7 |
86
flake.lock
86
flake.lock
@ -24,11 +24,11 @@
|
|||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676628719,
|
"lastModified": 1680944922,
|
||||||
"narHash": "sha256-yZM1hLxPS3OuKNduQSWmiYLAjIZeJ7ExWbCL3A3bi0U=",
|
"narHash": "sha256-Lkt2uvLOzPzz65uKf0ljpU95mRIgCeONqjjpelIVGCw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "emacs-overlay",
|
"repo": "emacs-overlay",
|
||||||
"rev": "cd34501a9bcec341533c7131af77572456c100d8",
|
"rev": "1195f952f1d610244a4b1b8b0b9dbd13ef6d553c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -75,11 +75,11 @@
|
|||||||
},
|
},
|
||||||
"flake-utils_2": {
|
"flake-utils_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676283394,
|
"lastModified": 1680946745,
|
||||||
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
|
"narHash": "sha256-KqGlwg9UTDsFBZZB8wzXgMnc8XQm95LtSbFvBsnqkPI=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
|
"rev": "946da791763db1c306b86a8bd3828bf5814a1247",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -169,11 +169,11 @@
|
|||||||
"utils": "utils"
|
"utils": "utils"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676367705,
|
"lastModified": 1680667162,
|
||||||
"narHash": "sha256-un5UbRat9TwruyImtwUGcKF823rCEp4fQxnsaLFL7CM=",
|
"narHash": "sha256-2vgxK4j42y73S3XB2cThz1dSEyK9J9tfu4mhuEfAw68=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "da72e6fc6b7dc0c3f94edbd310aae7cd95c678b5",
|
"rev": "440faf5ae472657ef2d8cc7756d77b6ab0ace68d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -214,11 +214,11 @@
|
|||||||
"utils": "utils_3"
|
"utils": "utils_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1672244468,
|
"lastModified": 1679067101,
|
||||||
"narHash": "sha256-xaZb8AZqoXRCSqPusCk4ouf+fUNP8UJdafmMTF1Ltlw=",
|
"narHash": "sha256-tMI1inGT9u4KWQml0w30dhWqQPlth1e9K/68sfDkEQA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "89a8ba0b5b43b3350ff2e3ef37b66736b2ef8706",
|
"rev": "9154cd519a8942728038819682d6b3ff33f321bb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -237,11 +237,11 @@
|
|||||||
"utils": "utils_4"
|
"utils": "utils_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1672780900,
|
"lastModified": 1680597706,
|
||||||
"narHash": "sha256-DxuSn6BdkZapIbg76xzYx1KhVPEZeBexMkt1q/sMVPA=",
|
"narHash": "sha256-ZqJ3T+BxzjPH9TnmeUwS4Uu9ZQPeBXAFC9sUWlharT4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "54245e1820caabd8a0b53ce4d47e4d0fefe04cd4",
|
"rev": "ec06f419af79207b33d797064dfb3fc9dbe1df4a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -381,11 +381,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1675933606,
|
"lastModified": 1680876084,
|
||||||
"narHash": "sha256-y427VhPQHOKkYvkc9MMsL/2R7M11rQxzsRdRLM3htx8=",
|
"narHash": "sha256-eP9yxP0wc7XuVaODugh+ajgbFGaile2O1ihxiLxOuvU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "44ae00e02e8036a66c08f4decdece7e3bbbefee2",
|
"rev": "3006d2860a6ed5e01b0c3e7ffb730e9b293116e2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -445,11 +445,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1675115703,
|
"lastModified": 1680487167,
|
||||||
"narHash": "sha256-4zetAPSyY0D77x+Ww9QBe8RHn1akvIvHJ/kgg8kGDbk=",
|
"narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2caf4ef5005ecc68141ecb4aac271079f7371c44",
|
"rev": "53dad94e874c9586e71decf82d972dfb640ef044",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -461,11 +461,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676481215,
|
"lastModified": 1680758185,
|
||||||
"narHash": "sha256-afma/1RU0EePRyrBPcjBdOt+dV8z1bJH9dtpTN/WXmY=",
|
"narHash": "sha256-sCVWwfnk7zEX8Z+OItiH+pcSklrlsLZ4TJTtnxAYREw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "28319deb5ab05458d9cd5c7d99e1a24ec2e8fc4b",
|
"rev": "0e19daa510e47a40e06257e205965f3b96ce0ac9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -567,11 +567,11 @@
|
|||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676633667,
|
"lastModified": 1680932643,
|
||||||
"narHash": "sha256-Lao/f52stjtuifmNK0aFGUxOhAafSbiN+csI686DsDg=",
|
"narHash": "sha256-vHkZJnPfA788UQ0zsfj4P09pVqBsn4niMp5qhN3ue28=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nur",
|
"repo": "nur",
|
||||||
"rev": "7eb9eec5cb2a3ef77646cb451ce546c301ecf884",
|
"rev": "c468956d1604fb0182d24448a1cb45ab948bf4ca",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -622,11 +622,11 @@
|
|||||||
"rnix-lsp": "rnix-lsp_2"
|
"rnix-lsp": "rnix-lsp_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1673210205,
|
"lastModified": 1680620959,
|
||||||
"narHash": "sha256-3jpfVOwn1FXO6B+nETK0ZGdcCa503nNgEfd9WZPtcWI=",
|
"narHash": "sha256-P0tG2Js4xq0UIVaso7HeTZugQ7bn8ZDNE+zXtSWSvWI=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "c96277766b091059468b63f1aaebbc32390b6431",
|
"rev": "319f35d1900fef34581e0380178beb7fa86be700",
|
||||||
"revCount": 116,
|
"revCount": 123,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://destiny.ostylk.de/gitea/NixDistro/Home.git"
|
"url": "https://destiny.ostylk.de/gitea/NixDistro/Home.git"
|
||||||
},
|
},
|
||||||
@ -653,11 +653,11 @@
|
|||||||
},
|
},
|
||||||
"pkg-stable": {
|
"pkg-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1672844754,
|
"lastModified": 1679139072,
|
||||||
"narHash": "sha256-o26WabuHABQsaHxxmIrR3AQRqDFUEdLckLXkVCpIjSU=",
|
"narHash": "sha256-Gtw2Yj8DfETie3u7iHv1y5Wt+plGRmp6nTQ0EEfaPho=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "e9ade2c8240e00a4784fac282a502efff2786bdc",
|
"rev": "08ef7dc8334521605a5c8b7086cc248e74ee338b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -669,11 +669,11 @@
|
|||||||
},
|
},
|
||||||
"pkg-unstable": {
|
"pkg-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1672791794,
|
"lastModified": 1680487167,
|
||||||
"narHash": "sha256-mqGPpGmwap0Wfsf3o2b6qHJW1w2kk/I6cGCGIU+3t6o=",
|
"narHash": "sha256-9FNIqrxDZgSliGGN2XJJSvcDYmQbgOANaZA4UWnTdg4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9813adc7f7c0edd738c6bdd8431439688bb0cb3d",
|
"rev": "53dad94e874c9586e71decf82d972dfb640ef044",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -798,11 +798,11 @@
|
|||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1667395993,
|
"lastModified": 1678901627,
|
||||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -843,11 +843,11 @@
|
|||||||
},
|
},
|
||||||
"utils_4": {
|
"utils_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1667395993,
|
"lastModified": 1678901627,
|
||||||
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -56,7 +56,7 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
inherit (pkgs) wayqt dfl-ipc dfl-applications dfl-utils qtgreet;
|
inherit (pkgs) wayqt dfl-ipc dfl-applications dfl-utils qtgreet xwaylandvideobridge obs-cli;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -28,8 +28,8 @@
|
|||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
gajim
|
gajim
|
||||||
virt-manager qemu scream
|
virt-manager qemu scream
|
||||||
replaysorcery # Custom package
|
#replaysorcery # Custom package
|
||||||
vfio-isolate # Custom Package
|
#vfio-isolate # Custom Package
|
||||||
mumble
|
mumble
|
||||||
piper trackma # Custom package
|
piper trackma # Custom package
|
||||||
anime-dl # Custom package
|
anime-dl # Custom package
|
||||||
@ -58,7 +58,7 @@
|
|||||||
programs = {
|
programs = {
|
||||||
#bluray.enable = true;
|
#bluray.enable = true;
|
||||||
mpv = {
|
mpv = {
|
||||||
primaryScreen = "DP-2";
|
primaryScreen = "DP-1";
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
sway.enable = false;
|
sway.enable = false;
|
||||||
@ -116,14 +116,14 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
#podman = {
|
podman = {
|
||||||
# enable = true;
|
|
||||||
# dockerCompat = true;
|
|
||||||
#};
|
|
||||||
docker = {
|
|
||||||
enable = true;
|
enable = true;
|
||||||
storageDriver = "btrfs";
|
dockerCompat = true;
|
||||||
};
|
};
|
||||||
|
# docker = {
|
||||||
|
# enable = true;
|
||||||
|
# storageDriver = "btrfs";
|
||||||
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = let
|
boot = let
|
||||||
@ -137,7 +137,7 @@
|
|||||||
availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" "amdgpu" "vendor-reset" ];
|
availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "sd_mod" "amdgpu" "vendor-reset" ];
|
||||||
kernelModules = [
|
kernelModules = [
|
||||||
"amdgpu" # GPU (duh)
|
"amdgpu" # GPU (duh)
|
||||||
"kvm-amd" "vfio_virqfd" "vfio_pci" "vfio_iommu_type1" "vfio" # Virt
|
"kvm-amd" /*"vfio_virqfd"*/ "vfio_pci" "vfio_iommu_type1" "vfio" # Virt
|
||||||
"uinput" # key-mapper
|
"uinput" # key-mapper
|
||||||
"vendor-reset"
|
"vendor-reset"
|
||||||
];
|
];
|
||||||
@ -192,6 +192,13 @@
|
|||||||
udev.extraRules = ''
|
udev.extraRules = ''
|
||||||
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", ATTR{power/wakeup}="disabled", ATTR{driver/1-7/power/wakeup}="disabled"
|
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", ATTR{power/wakeup}="disabled", ATTR{driver/1-7/power/wakeup}="disabled"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
openrgb = {
|
||||||
|
enable = true;
|
||||||
|
motherboard = "amd";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
|
@ -8,7 +8,7 @@ let
|
|||||||
in {
|
in {
|
||||||
time.timeZone = "Europe/Berlin";
|
time.timeZone = "Europe/Berlin";
|
||||||
ostylk.nftables = {
|
ostylk.nftables = {
|
||||||
enable = true;
|
enable = false;
|
||||||
|
|
||||||
tables.firewall = {
|
tables.firewall = {
|
||||||
family = "inet";
|
family = "inet";
|
||||||
@ -114,7 +114,7 @@ in {
|
|||||||
];
|
];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
timesyncd.enable = false;
|
timesyncd.enable = true;
|
||||||
|
|
||||||
# Everyone needs sound
|
# Everyone needs sound
|
||||||
pipewire = {
|
pipewire = {
|
||||||
|
@ -39,7 +39,6 @@ in {
|
|||||||
desktopManager.plasma5 = {
|
desktopManager.plasma5 = {
|
||||||
enable = true;
|
enable = true;
|
||||||
runUsingSystemd = true;
|
runUsingSystemd = true;
|
||||||
supportDDC = true;
|
|
||||||
mobile.enable = cfg.mobile.enable;
|
mobile.enable = cfg.mobile.enable;
|
||||||
|
|
||||||
kdeglobals = lib.mkIf cfg.mobile.enable {
|
kdeglobals = lib.mkIf cfg.mobile.enable {
|
||||||
@ -101,42 +100,17 @@ in {
|
|||||||
|
|
||||||
# See https://github.com/NixOS/nixpkgs/commit/a506f9c79700255c215dddb53455d5e2bed6c1af
|
# See https://github.com/NixOS/nixpkgs/commit/a506f9c79700255c215dddb53455d5e2bed6c1af
|
||||||
displayManager = {
|
displayManager = {
|
||||||
|
sddm = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
defaultSession = lib.mkIf cfg.wayland.enable "plasmawayland";
|
defaultSession = lib.mkIf cfg.wayland.enable "plasmawayland";
|
||||||
#sessionPackages = lib.mkIf cfg.mobile.enable [ pkgs.libsForQt5.plasma5.plasma-mobile ];
|
#sessionPackages = lib.mkIf cfg.mobile.enable [ pkgs.libsForQt5.plasma5.plasma-mobile ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.greeter = {
|
|
||||||
home = "/var/lib/greeter";
|
|
||||||
createHome = true;
|
|
||||||
isSystemUser = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.greetd = {
|
|
||||||
enable = true;
|
|
||||||
settings = let
|
|
||||||
swayGreeterConfig = pkgs.writeText "sway-config" ''
|
|
||||||
exec "${pkgs.qtgreet}/bin/qtgreet -d ${config.users.users.greeter.home}/data; ${pkgs.sway}/bin/swaymsg exit"
|
|
||||||
|
|
||||||
bindsym Mod4+shift+e exec ${pkgs.sway}/bin/swaynag \
|
|
||||||
-t warning \
|
|
||||||
-m 'What do you want to do?' \
|
|
||||||
-b 'Poweroff' 'systemctl poweroff' \
|
|
||||||
-b 'Reboot' 'systemctl reboot'
|
|
||||||
|
|
||||||
input * {
|
|
||||||
xkb_layout de
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
default_session = {
|
|
||||||
command = "${pkgs.sway}/bin/sway --config ${swayGreeterConfig}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = [ pkgs.xdg-desktop-portal-kde ];
|
extraPortals = with pkgs; [ xdg-desktop-portal-kde xdg-desktop-portal-gtk ];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
|
@ -8,11 +8,15 @@ in {
|
|||||||
};
|
};
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
# General wine
|
||||||
wineWowPackages.staging winetricks
|
wineWowPackages.staging winetricks
|
||||||
protontricks
|
protontricks
|
||||||
|
|
||||||
|
# Lutris for League
|
||||||
lutris-free-wrapped
|
lutris-free-wrapped
|
||||||
|
# prismlauncher-wrapped
|
||||||
|
|
||||||
|
# retroarch for retro games
|
||||||
(pkgs.callPackage ./wrapper.nix {
|
(pkgs.callPackage ./wrapper.nix {
|
||||||
inherit (pkgs) retroarch;
|
inherit (pkgs) retroarch;
|
||||||
cores = with pkgs.libretro; [
|
cores = with pkgs.libretro; [
|
||||||
@ -22,8 +26,21 @@ in {
|
|||||||
|
|
||||||
#steam-wrapped # Custom package
|
#steam-wrapped # Custom package
|
||||||
|
|
||||||
|
# Gameplay clip recording
|
||||||
|
(pkgs.wrapOBS {
|
||||||
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
|
obs-vaapi obs-vkcapture obs-pipewire-audio-capture
|
||||||
|
];
|
||||||
|
})
|
||||||
|
obs-cli
|
||||||
|
|
||||||
|
# Gameplay clip editing
|
||||||
|
kdenlive
|
||||||
|
|
||||||
|
# Better experience
|
||||||
gamescope
|
gamescope
|
||||||
|
|
||||||
|
# Performance
|
||||||
corectrl
|
corectrl
|
||||||
];
|
];
|
||||||
|
|
||||||
|
@ -7,7 +7,9 @@ in {
|
|||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
libreoffice texlive.combined.scheme-basic
|
/*libreoffice*/
|
||||||
|
texlive.combined.scheme-basic
|
||||||
|
thunderbird
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -16,26 +16,32 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf true {
|
config = lib.mkIf true {
|
||||||
environment.etc."logid.cfg".text = ''
|
systemd.services.logiops = {
|
||||||
|
description = "An unofficial userspace driver for HID++ Logitech devices";
|
||||||
|
wantedBy = [ "default.target" ];
|
||||||
|
serviceConfig = let
|
||||||
|
logiopsConfig = pkgs.writeText "logiops.cfg" ''
|
||||||
devices: (
|
devices: (
|
||||||
{
|
{
|
||||||
name: "Wireless Mouse MX Master 3";
|
name: "Wireless Mouse MX Master 3";
|
||||||
hiresscroll: {
|
hiresscroll: {
|
||||||
hires: true;
|
hires: true;
|
||||||
|
target: false;
|
||||||
|
};
|
||||||
|
smartshift: {
|
||||||
|
on: true;
|
||||||
|
threshold: 30;
|
||||||
|
default_threshold: 30;
|
||||||
};
|
};
|
||||||
dpi: 800;
|
dpi: 800;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
'';
|
'';
|
||||||
|
in {
|
||||||
systemd.services.logiops = {
|
|
||||||
description = "An unofficial userspace driver for HID++ Logitech devices";
|
|
||||||
wantedBy = [ "default.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "simple";
|
Type = "simple";
|
||||||
ExecStart = let
|
ExecStart = let
|
||||||
renice = lib.optionalString cfg.renice "${pkgs.coreutils-full}/bin/nice -n ${builtins.toString cfg.reniceValue}";
|
renice = lib.optionalString cfg.renice "${pkgs.coreutils-full}/bin/nice -n ${builtins.toString cfg.reniceValue}";
|
||||||
in "${renice} ${pkgs.logiops}/bin/logid";
|
in "${renice} ${pkgs.logiops}/bin/logid -c ${logiopsConfig}";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
users.users.alexander = {
|
users.users.alexander = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "audio" "video" "kvm" "input" "libvirtd" "scanner" "lp" "alexander" ];
|
extraGroups = [ "wheel" "audio" "video" "kvm" "input" "libvirtd" "scanner" "lp" "alexander" ];
|
||||||
hashedPassword = "$5$i4aZuQ/WXP.rFOc$lCzDqbrVsqBQt5954O.3bFPknD0jn27MmqzmE4DIAEC";
|
hashedPassword = "$y$j9T$xhnK648hF0yzDnRy0rTT/.$HbDKvNetiGeY3Xjt6/YPIzoxSmdQ0SzhXengOT1Ga01";
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
useDefaultShell = false;
|
useDefaultShell = false;
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
|
@ -36,39 +36,39 @@ in {
|
|||||||
[[device.Simple.selector]]
|
[[device.Simple.selector]]
|
||||||
USBIDClass = {vendor=0x1532, model=0x011a, class="Keyboard"}
|
USBIDClass = {vendor=0x1532, model=0x011a, class="Keyboard"}
|
||||||
'';
|
'';
|
||||||
"libvirt/hooks/qemu".source = let
|
# "libvirt/hooks/qemu".source = let
|
||||||
vfio-isolate-state = "/tmp/vfio-isolate-state";
|
# vfio-isolate-state = "/tmp/vfio-isolate-state";
|
||||||
in pkgs.writeScript "qemu" ''
|
# in pkgs.writeScript "qemu" ''
|
||||||
#!${pkgs.stdenv.shell}
|
# #!${pkgs.stdenv.shell}
|
||||||
guest=$1
|
# guest=$1
|
||||||
action=$2
|
# action=$2
|
||||||
phase=$3
|
# phase=$3
|
||||||
extra=$4
|
# extra=$4
|
||||||
|
|
||||||
echo "called with $1 $2 $3 $4" > /dev/stderr
|
# echo "called with $1 $2 $3 $4" > /dev/stderr
|
||||||
if [[ "$guest" = "win10-gaming" ]]; then
|
# if [[ "$guest" = "win10-gaming" ]]; then
|
||||||
case "$action" in
|
# case "$action" in
|
||||||
prepare)
|
# prepare)
|
||||||
# Only do this while in preparation
|
# # Only do this while in preparation
|
||||||
[[ ! "$phase" = "prepare" ]] && exit 0
|
# [[ ! "$phase" = "prepare" ]] && exit 0
|
||||||
|
|
||||||
GUEST_CORES="C1-3,5-7"
|
# GUEST_CORES="C1-3,5-7"
|
||||||
${pkgs.vfio-isolate}/bin/vfio-isolate \
|
# ${pkgs.vfio-isolate}/bin/vfio-isolate \
|
||||||
-u ${vfio-isolate-state} \
|
# -u ${vfio-isolate-state} \
|
||||||
cpu-governor performance "$GUEST_CORES" \
|
# cpu-governor performance "$GUEST_CORES" \
|
||||||
cpuset-create --cpus "$GUEST_CORES" /guest.slice \
|
# cpuset-create --cpus "$GUEST_CORES" /guest.slice \
|
||||||
cpuset-create --cpus C0,4 /host.slice \
|
# cpuset-create --cpus C0,4 /host.slice \
|
||||||
move-tasks / /host.slice \
|
# move-tasks / /host.slice \
|
||||||
irq-affinity mask "$GUEST_CORES"
|
# irq-affinity mask "$GUEST_CORES"
|
||||||
;;
|
# ;;
|
||||||
stopped)
|
# stopped)
|
||||||
# Only run when the VM is fully stopped
|
# # Only run when the VM is fully stopped
|
||||||
[[ ! "$phase" = "end" ]] && exit 0
|
# [[ ! "$phase" = "end" ]] && exit 0
|
||||||
${pkgs.vfio-isolate}/bin/vfio-isolate \
|
# ${pkgs.vfio-isolate}/bin/vfio-isolate \
|
||||||
restore ${vfio-isolate-state}
|
# restore ${vfio-isolate-state}
|
||||||
esac
|
# esac
|
||||||
fi
|
# fi
|
||||||
'';
|
# '';
|
||||||
};
|
};
|
||||||
|
|
||||||
# NOTE: Workaround for libvirt's SYSCONFDIR being set to /var/lib
|
# NOTE: Workaround for libvirt's SYSCONFDIR being set to /var/lib
|
||||||
@ -81,7 +81,7 @@ in {
|
|||||||
|
|
||||||
systemd = {
|
systemd = {
|
||||||
services = {
|
services = {
|
||||||
libvirtd.path = with pkgs; [ vfio-isolate systemd bash ];
|
libvirtd.path = with pkgs; [ /*vfio-isolate*/ systemd bash ];
|
||||||
};
|
};
|
||||||
|
|
||||||
user.services.evdev-proxy = {
|
user.services.evdev-proxy = {
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
simple = import ./simple.nix;
|
simple = import ./simple.nix;
|
||||||
surface = import ./surface.nix pkgs;
|
#surface = import ./surface.nix pkgs;
|
||||||
sandbox = import ./sandbox.nix;
|
sandbox = import ./sandbox.nix;
|
||||||
}
|
}
|
||||||
|
@ -26,14 +26,17 @@ in {
|
|||||||
enableDesktopFile = true;
|
enableDesktopFile = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*minecraft-wrapped = wrapInSandbox {
|
# prismlauncher-wrapped = wrapInSandbox {
|
||||||
name = "minecraft-launcher";
|
# name = "prismlauncher";
|
||||||
package = prev.minecraft;
|
# binary = "${prev.prismlauncher}/bin/prismlauncher";
|
||||||
binaryName = "minecraft-launcher";
|
# launchScriptName = "prismlauncher-wrapped";
|
||||||
mountInHome = [ ".local/share/minecraft" ".minecraft" ];
|
# mountInHome = [".local/share/PrismLauncher"];
|
||||||
additionalBlacklist = [ "/mnt" ];
|
# additionalMounts = [
|
||||||
chdirTo = "/home/$USER";
|
# "/etc/profile"
|
||||||
};*/
|
# ];
|
||||||
|
# additionalBlacklist = [ "/mnt" ];
|
||||||
|
# chdirTo = "/home/$USER";
|
||||||
|
# };
|
||||||
|
|
||||||
steam-wrapped = wrapInSandbox {
|
steam-wrapped = wrapInSandbox {
|
||||||
name = "steam-wrapped";
|
name = "steam-wrapped";
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
final: prev:
|
final: prev: {
|
||||||
|
|
||||||
{
|
|
||||||
gajim = prev.gajim.overrideAttrs (old: {
|
gajim = prev.gajim.overrideAttrs (old: {
|
||||||
|
# version = "1.7";
|
||||||
|
|
||||||
|
# format = "pyproject";
|
||||||
|
|
||||||
|
# src = builtins.fetchurl {
|
||||||
|
# url = "https://gajim.org/downloads/1.7/gajim-1.7.1.tar.gz";
|
||||||
|
# sha256 = "sha256:1ij3fnfpyjnb84haqwjy23bjpi6bk37k1h8bbvk9y6296lsnm8mr";
|
||||||
|
# };
|
||||||
|
|
||||||
# Enable notification sounds
|
# Enable notification sounds
|
||||||
propagatedBuildInputs = old.propagatedBuildInputs ++ [ prev.gsound ];
|
propagatedBuildInputs = old.propagatedBuildInputs ++ [ prev.gsound ];
|
||||||
});
|
});
|
||||||
@ -70,7 +77,7 @@ final: prev:
|
|||||||
discord-app = prev.discord-app.override { chromium = prev.ungoogled-chromium; };
|
discord-app = prev.discord-app.override { chromium = prev.ungoogled-chromium; };
|
||||||
|
|
||||||
# Work around https://github.com/NixOS/nixpkgs/issues/216294
|
# Work around https://github.com/NixOS/nixpkgs/issues/216294
|
||||||
pkgsi686Linux = prev.pkgsi686Linux.extend (pfinal: pprev: {
|
# pkgsi686Linux = prev.pkgsi686Linux.extend (pfinal: pprev: {
|
||||||
directx-shader-compiler = pprev.directx-shader-compiler.override {stdenv = pfinal.gcc11Stdenv;};
|
# directx-shader-compiler = pprev.directx-shader-compiler.override {stdenv = pfinal.gcc11Stdenv;};
|
||||||
});
|
# });
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
stdenv
|
||||||
|
, lib, fetchFromGitLab
|
||||||
|
, cmake, extra-cmake-modules, pkg-config
|
||||||
|
, qtbase, qtx11extras, wrapQtAppsHook
|
||||||
|
, kpipewire, plasma-framework
|
||||||
|
, xorg
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "xwaylandvideobridge";
|
||||||
|
version = "5.27.3";
|
||||||
|
|
||||||
|
src = fetchFromGitLab {
|
||||||
|
owner = "davidedmundson";
|
||||||
|
repo = "xwaylandvideobridge";
|
||||||
|
rev = "b876b5f3ee5cc810c99b08e8f0ebb29553e45e47";
|
||||||
|
domain = "invent.kde.org";
|
||||||
|
sha256 = "sha256-gfQkOIZegxdFQ9IV2Qp/lLRtfI5/g6bDD3XRBdLh4q0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ qtbase qtx11extras plasma-framework xorg.xcbproto kpipewire cmake pkg-config ];
|
||||||
|
nativeBuildInputs = [ wrapQtAppsHook extra-cmake-modules ];
|
||||||
|
}
|
@ -44,6 +44,16 @@ let
|
|||||||
dfl-applications = prev.libsForQt5.callPackage development/cpp/dfl-app {
|
dfl-applications = prev.libsForQt5.callPackage development/cpp/dfl-app {
|
||||||
inherit dfl-ipc;
|
inherit dfl-ipc;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kpipewire = prev.libsForQt5.kpipewire.overrideAttrs (old: {
|
||||||
|
src = prev.fetchFromGitLab {
|
||||||
|
owner = "plasma";
|
||||||
|
repo = "kpipewire";
|
||||||
|
rev = "ed99b94be40bd8c5b7b2a2f17d0622f11b2ab7fb";
|
||||||
|
domain = "invent.kde.org";
|
||||||
|
sha256 = "sha256-KhmhlH7gaFGrvPaB3voQ57CKutnw5DlLOz7gy/3Mzms=";
|
||||||
|
};
|
||||||
|
});
|
||||||
in {
|
in {
|
||||||
inherit discord-system-electron dfl-ipc dfl-applications dfl-utils wayqt;
|
inherit discord-system-electron dfl-ipc dfl-applications dfl-utils wayqt;
|
||||||
|
|
||||||
@ -101,4 +111,12 @@ in {
|
|||||||
qtgreet = prev.libsForQt5.callPackage applications/desktop/qtgreet {
|
qtgreet = prev.libsForQt5.callPackage applications/desktop/qtgreet {
|
||||||
inherit dfl-applications dfl-utils dfl-ipc wayqt;
|
inherit dfl-applications dfl-utils dfl-ipc wayqt;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kpipewire = prev.libsForQt5.callPackage development/cpp/libkpipewire {};
|
||||||
|
xwaylandvideobridge = prev.libsForQt5.callPackage applications/desktop/xwaylandvideobridge {
|
||||||
|
inherit kpipewire;
|
||||||
|
};
|
||||||
|
|
||||||
|
#obs-websocket = prev.libsForQt5.callPackage obs/obs-websocket {};
|
||||||
|
obs-cli = prev.callPackage obs/obs-cli {};
|
||||||
}
|
}
|
||||||
|
21
packages/development/cpp/libkpipewire/default.nix
Normal file
21
packages/development/cpp/libkpipewire/default.nix
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
stdenv
|
||||||
|
, lib, fetchFromGitLab
|
||||||
|
, cmake, pkg-config
|
||||||
|
, qtbase, wrapQtAppsHook
|
||||||
|
, kwayland, ki18n, kcoreaddons
|
||||||
|
, pipewire, libepoxy, ffmpeg
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "xwaylandvideobridge";
|
||||||
|
version = "5.27.3";
|
||||||
|
|
||||||
|
src = builtins.fetchurl {
|
||||||
|
url = "https://download.kde.org/stable/plasma/${version}/${pname}-${version}.tar.xz";
|
||||||
|
sha256 = "sha256:0b95jjkfpkvc2ld3x6p7nw6kn6fkqba9q7x95ywvgag2b00jdb56";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ qtbase kwayland ki18n kcoreaddons pipewire libepoxy ffmpeg cmake pkg-config ];
|
||||||
|
nativeBuildInputs = [ wrapQtAppsHook ];
|
||||||
|
}
|
27
packages/obs/obs-cli/default.nix
Normal file
27
packages/obs/obs-cli/default.nix
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{ lib
|
||||||
|
, buildGoModule
|
||||||
|
, fetchFromGitHub
|
||||||
|
}:
|
||||||
|
|
||||||
|
buildGoModule rec {
|
||||||
|
pname = "obs-cli";
|
||||||
|
version = "0.5.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "muesli";
|
||||||
|
repo = "obs-cli";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-4tjS+PWyP/T0zs4IGE6VQ5c+3tuqxlBwfpPBVEcim6c=";
|
||||||
|
};
|
||||||
|
|
||||||
|
vendorHash = "sha256-RGpkqX97zalZv4aDfihJBKO1l2O8tcxn0I1SPL1WIg8=";
|
||||||
|
|
||||||
|
ldflags = [ "-s" "-w" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "OBS-cli is a command-line remote control for OBS";
|
||||||
|
homepage = "https://github.com/muesli/obs-cli";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ ];
|
||||||
|
};
|
||||||
|
}
|
39
packages/obs/obs-websocket/default.nix
Normal file
39
packages/obs/obs-websocket/default.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, cmake, ninja, pkg-config
|
||||||
|
, qtbase, wrapQtAppsHook
|
||||||
|
, nlohmann_json, asio, websocketpp
|
||||||
|
, obs-studio
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "obs-websocket";
|
||||||
|
version = "4.9.1-compat";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "obsproject";
|
||||||
|
repo = pname;
|
||||||
|
rev = "${version}";
|
||||||
|
sha256 = "14xhk6d7j2q5swfj0b7jdgmswjdkqjnj3q11qs5vbh93hk30jyvh";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ninja pkg-config wrapQtAppsHook ];
|
||||||
|
buildInputs = [ obs-studio qtbase nlohmann_json asio websocketpp ];
|
||||||
|
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DLIBOBS_INCLUDE_DIR=${obs-studio.src}/libobs"
|
||||||
|
"-Wno-dev"
|
||||||
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
cp ${obs-studio.src}/cmake/external/ObsPluginHelpers.cmake cmake/FindLibObs.cmake
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Remote-control of OBS Studio through WebSocket";
|
||||||
|
homepage = "https://github.com/obsproject/obs-websocket";
|
||||||
|
license = licenses.gpl2;
|
||||||
|
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user