Compare commits

...

10 Commits

11 changed files with 224 additions and 40 deletions

View File

@ -24,11 +24,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1652416036,
"narHash": "sha256-cfNmuHmGwdhHB9/BT1dDxo5anYFAewuvZ/wVFDAgl8w=",
"lastModified": 1653736770,
"narHash": "sha256-Vp8fWSGTEeuWc71rVXsh+ofsHHUPhKunc8aQLGN0ETc=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "9c90a10f7c5d4e99392090820460c1fa7486ae2c",
"rev": "ff629e757452d010b7c91fdd2597aeca370bcf68",
"type": "github"
},
"original": {
@ -60,11 +60,11 @@
},
"flake-utils": {
"locked": {
"lastModified": 1652372896,
"narHash": "sha256-lURGussfF3mGrFPQT3zgW7+RC0pBhbHzco0C7I+ilow=",
"lastModified": 1652776076,
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "0d347c56f6f41de822a4f4c7ff5072f3382db121",
"rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8",
"type": "github"
},
"original": {
@ -75,11 +75,11 @@
},
"flake-utils_2": {
"locked": {
"lastModified": 1652372896,
"narHash": "sha256-lURGussfF3mGrFPQT3zgW7+RC0pBhbHzco0C7I+ilow=",
"lastModified": 1652776076,
"narHash": "sha256-gzTw/v1vj4dOVbpBSJX4J0DwUR6LIyXo7/SuuTJp1kM=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "0d347c56f6f41de822a4f4c7ff5072f3382db121",
"rev": "04c1b180862888302ddfb2e3ad9eaa63afc60cf8",
"type": "github"
},
"original": {
@ -153,11 +153,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1652214259,
"narHash": "sha256-kbribVik1m3SU6QNpZ3euybljqs0CEQ0lEEz7MN+u8U=",
"lastModified": 1653518057,
"narHash": "sha256-cam3Nfae5ADeEs6mRPzr0jXB7+DhyMIXz0/0Q13r/yk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "f735a8502b098962ae965c2600c7be9f7711b814",
"rev": "64831f938bd413cefde0b0cf871febc494afaa4f",
"type": "github"
},
"original": {
@ -303,11 +303,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1650522846,
"narHash": "sha256-SxWHXRI3qJwswyXAtzsi6PKVY3KLNNnb072KaJthII8=",
"lastModified": 1653463224,
"narHash": "sha256-bUxKhqZhki2vPzFTl8HOo1m7pagF7WzY1MZiso8U5ws=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "6b4ebea9093c997c5f275c820e679108de4871ab",
"rev": "39a7bfc496d2ddfce73fe9542af1f2029ba4fe39",
"type": "github"
},
"original": {
@ -336,8 +336,8 @@
"nixpkgs": {
"locked": {
"lastModified": 0,
"narHash": "sha256-70ZWAlOQ9nAZ08OU6WY7n4Ij2kOO199dLfNlvO/+pf8=",
"path": "/nix/store/h96rpxzp4q192r3fnwzclg3rmdg4nlqk-source",
"narHash": "sha256-kfRusllRumpt33J1hPV+CeCCylCXEU7e0gn2/cIM7cY=",
"path": "/nix/store/a3i6cnnswvdg4k38jmibnjms65rjvyi7-source",
"type": "path"
},
"original": {
@ -380,8 +380,8 @@
"nixpkgs_2": {
"locked": {
"lastModified": 0,
"narHash": "sha256-70ZWAlOQ9nAZ08OU6WY7n4Ij2kOO199dLfNlvO/+pf8=",
"path": "/nix/store/h96rpxzp4q192r3fnwzclg3rmdg4nlqk-source",
"narHash": "sha256-kfRusllRumpt33J1hPV+CeCCylCXEU7e0gn2/cIM7cY=",
"path": "/nix/store/a3i6cnnswvdg4k38jmibnjms65rjvyi7-source",
"type": "path"
},
"original": {
@ -391,11 +391,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1652231724,
"narHash": "sha256-MjalcXFZgcgchp4QqnF05JTkFBBGad5hbksA1EKoP98=",
"lastModified": 1653581809,
"narHash": "sha256-Uvka0V5MTGbeOfWte25+tfRL3moECDh1VwokWSZUdoY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "41ff747f882914c1f8c233207ce280ac9d0c867f",
"rev": "83658b28fe638a170a19b8933aa008b30640fbd1",
"type": "github"
},
"original": {
@ -494,11 +494,11 @@
},
"nur": {
"locked": {
"lastModified": 1652434939,
"narHash": "sha256-LyaBhP8pu8NZs3BTOftUR9NlNoNoOYxxfuTCw8wtTTE=",
"lastModified": 1653744184,
"narHash": "sha256-YzM0ldFW0OtxDOBgCJ7PBTL+NVRLi6SHy2m9U2gDTvw=",
"owner": "nix-community",
"repo": "nur",
"rev": "01f680baba2cfd204d52b1a7f9db61a4ecf7af80",
"rev": "b6ad2a66f383a92b67f760e63c6fd3c63557e5ef",
"type": "github"
},
"original": {
@ -522,7 +522,7 @@
"locked": {
"lastModified": 1649593958,
"narHash": "sha256-bxslOpHYGXEDZ91plgMjGls5g8++YtSuuDKhIuStUA0=",
"ref": "master",
"ref": "refs/heads/master",
"rev": "04e73c894cf20c4ac1bf6116546c1dab53d6d4e9",
"revCount": 171,
"type": "git",
@ -546,11 +546,11 @@
"rnix-lsp": "rnix-lsp_2"
},
"locked": {
"lastModified": 1650719165,
"narHash": "sha256-ltv2f8JpgivJXSstwYIENB19XPwwDgG08+7m+6B7OIY=",
"ref": "master",
"rev": "13737294b4e8d4dd22d889846731a2abf5ab17e5",
"revCount": 62,
"lastModified": 1653514768,
"narHash": "sha256-TF+BUKHpugRmEG5Fg2PNKBZuP65KBz+27s06oaKZPwM=",
"ref": "refs/heads/master",
"rev": "3f355e8ac0e11bdbb5ab498e12c10c990e578caa",
"revCount": 67,
"type": "git",
"url": "https://destiny.ostylk.de/gitea/NixDistro/Home.git"
},
@ -709,7 +709,7 @@
"locked": {
"lastModified": 1645816436,
"narHash": "sha256-lK69qpgDWE92aQgvG502bU+pGMaHI+y7O3A/AgsUfxI=",
"ref": "master",
"ref": "refs/heads/master",
"rev": "eeafcf0d0cc3713727697f6a2badc5eea706c81c",
"revCount": 19,
"type": "git",

View File

@ -52,7 +52,7 @@
vortex-wrapped
zoom-vm
];
ptw = {
programs = {
bluray.enable = true;
@ -60,7 +60,7 @@
primaryScreen = "C27F398";
enable = true;
};
#sway.enable = true;
sway.enable = true;
alacritty.enable = true;
emacs.enable = true;
firefox.enable = true;
@ -76,10 +76,12 @@
office.enable = true;
plasma.enable = true;
gaming.enable = true;
obs.enable = true;
};
services = {
gamemode.enable = true;
gnome.enable = true;
logiops.enable = true;
input-remapper = {
enable = true;
postStartCommand = "${pkgs.input-remapper}/bin/input-remapper-control --command start --preset NOOP --device \"Razer Razer Tartarus V2\"";
@ -116,7 +118,7 @@
};
boot = let
kernel = pkgs.linuxPackages_zen;
kernel = pkgs.linuxPackages_xanmod;
in {
extraModprobeConfig = ''
options kvm_amd nested=1

View File

@ -25,6 +25,7 @@
./programs/gaming
./programs/bluray
./programs/direnv
./programs/obs
# Services
./services/kanshi
@ -33,6 +34,7 @@
./services/i18n
./services/greetd
./services/cups
./services/logiops
# User
#./users/default.nix

View File

@ -22,7 +22,7 @@ in {
steam-wrapped # Custom package
#nur.repos.dukzcry.gamescope
gamescope
corectrl
];

View File

@ -0,0 +1,18 @@
{ config, lib, pkgs, ... }:
let
cfg = config.ptw.programs.obs;
in {
options.ptw.programs.obs = {
enable = lib.mkEnableOption "Configure OBS Studio";
};
config = lib.mkIf cfg.enable {
home-manager.users.${config.ptw.system.singleUser}.programs.obs-studio = {
enable = true;
plugins = with pkgs.obs-studio-plugins; [
wlrobs obs-vkcapture
];
};
};
}

View File

@ -52,7 +52,7 @@ in {
qt5.style = "adwaita-dark";
environment = {
systemPackages = with pkgs; [ adwaita-qt ];
systemPackages = with pkgs; [ adwaita-qt wdisplays ];
sessionVariables = {
# sway
#"_JAVA_AWT_NONREPARENTING" = 1;

View File

@ -23,7 +23,7 @@ in {
history.ignoreSpace = true;
shellAliases = let
home = "/home/${config.ptw.system.singleUser}/Development/Personal/nixos-config";
nixosSwitch = "nixos-rebuild --flake .#${config.ptw.system.hostName} switch";
nixosSwitch = "nixos-rebuild --flake .#${config.ptw.system.hostName} switch --use-remote-sudo";
in {
ls = "ls --color=always";
".." = "cd ..";
@ -36,8 +36,8 @@ in {
gds = "git diff --staged";
c = "clear";
suspend = "systemctl suspend";
nixos-rebuild-switch = "pushd; cd ${home}; sudo ${nixosSwitch}; popd";
nixos-rebuild-switch-fast = "pushd; cd ${home}; sudo ${nixosSwitch} --fast; popd";
nixos-rebuild-switch = "pushd; cd ${home}; ${nixosSwitch}; popd";
nixos-rebuild-switch-fast = "pushd; cd ${home}; ${nixosSwitch} --fast; popd";
waifu2x = "flatpak run com.github.nihui.waifu2x-ncnn-vulkan";
};

View File

@ -0,0 +1,42 @@
{ lib, pkgs, config, ... }:
let
cfg = config.ptw.services.logiops;
in {
options.ptw.services.logiops = {
enable = lib.mkEnableOption "Enable logiops";
renice = lib.mkOption {
description = "Set the nice value of the process";
default = true;
};
reniceValue = lib.mkOption {
description = "Set the nice value of the process";
default = -19;
};
};
config = lib.mkIf true {
environment.etc."logid.cfg".text = ''
devices: (
{
name: "Wireless Mouse MX Master 3";
hiresscroll: {
hires: true;
};
dpi: 800;
}
);
'';
systemd.services.logiops = {
description = "An unofficial userspace driver for HID++ Logitech devices";
wantedBy = [ "default.target" ];
serviceConfig = {
Type = "simple";
ExecStart = let
renice = lib.optionalString cfg.renice "${pkgs.coreutils-full}/bin/nice -n ${builtins.toString cfg.reniceValue}";
in "${renice} ${pkgs.logiops}/bin/logid";
};
};
};
}

View File

@ -0,0 +1,27 @@
{
lib, stdenv
, fetchFromGitHub
, wayfire, wf-config, librsvg, boost, wlroots, pango, wayland, libxkbcommon, systemd, libinput
, meson, pkg-config, cmake, ninja
}:
stdenv.mkDerivation {
pname = "firedecor";
version = "20220519";
src = fetchFromGitHub {
owner = "AhoyISki";
repo = "Firedecor";
rev = "0170c4df209f0226295a9e2aa3cae782d9861908";
sha256 = "0a8vc4l3az14l8piwzqgfqsdv16kakcvcznvw6q1dgb2sf97zdlv";
};
nativeBuildInputs = [ meson pkg-config cmake ninja ];
buildInputs = [ wayfire librsvg boost wf-config wlroots pango wayland libxkbcommon systemd libinput ];
patchPhase = ''
sed -e "s|wayfire.get_variable(pkgconfig: 'plugindir')|'$out/usr/lib/wayfire'|" --in-place src/meson.build
sed -e "s|wayfire.get_variable(pkgconfig: 'metadatadir')|'$out/usr/lib/wayfire'|" --in-place metadata/meson.build
'';
}

View File

@ -10,6 +10,33 @@ let
extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland";
#extraStartupArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-features=WebRTCPipeWireCapturer";
};
wf-config_0_8 = prev.wf-config.overrideAttrs (old: {
version = "0.8-git";
src = prev.fetchFromGitHub {
owner = "wayfirewm";
repo = "wf-config";
rev = "e42a3870fb194842a505ad5a9671be1aebda0b0b";
sha256 = "0n6i3hizbqixxjh33950ya8avwqil5k94jbgff1pimcbh9ahpgrr";
};
});
wayfire-master = (prev.wayfireApplications-unwrapped.wayfire.overrideAttrs (old: {
version = "0.8.0-20220526";
src = prev.fetchgit {
url = "https://github.com/WayfireWM/wayfire.git";
rev = "5dbf0d0fd8ec46cf112f05fb63057f5b6d06b10d";
sha256 = "sha256-ZeaNSlDHoiLnRlHKk14meDbrizIz+nm3iYl90vvo2Ps=";
fetchSubmodules = true;
};
buildInputs = (map
# Override wlroots with wlroots_0_15
(x: if (prev.lib.getName x) == "wlroots"
then prev.wlroots_0_15
else x
) old.buildInputs) ++ [ prev.pango prev.libevdev prev.nlohmann_json ];
})).override {
wf-config = wf-config_0_8;
};
in {
inherit discord-system-electron;
@ -69,4 +96,10 @@ in {
zoom-vm = prev.callPackage scripts/zoom-vm {};
razer-cli = prev.callPackage tools/hardware/razer-cli {};
gamescope = prev.callPackage tools/games/gamescope {};
wayfire-firedecor = prev.callPackage applications/wayfire/firedecor {
wayfire = wayfire-master;
};
}

View File

@ -0,0 +1,60 @@
{ lib, stdenv, fetchFromGitHub, meson, pkgconfig, libdrm, xorg
, wayland, wayland-protocols, libxkbcommon, libcap
, SDL2, mesa, libinput, pixman, xcbutilerrors, xcbutilwm, glslang
, ninja, makeWrapper, xwayland, libuuid, xcbutilrenderutil
, pipewire, stb, writeText, wlroots, vulkan-loader, vulkan-headers }:
let
stbpc = writeText "stbpc" ''
prefix=${stb}
includedir=''${prefix}/include/stb
Cflags: -I''${includedir}
Name: stb
Version: ${stb.version}
Description: stb
'';
stb_ = stb.overrideAttrs (oldAttrs: rec {
installPhase = ''
${oldAttrs.installPhase}
install -Dm644 ${stbpc} $out/lib/pkgconfig/stb.pc
'';
});
in stdenv.mkDerivation rec {
pname = "gamescope";
version = "3.9.1";
src = fetchFromGitHub {
owner = "Plagman";
repo = "gamescope";
rev = version;
sha256 = "05a1sj1fl9wpb9jys515m96958cxmgim8i7zc5mn44rjijkfbfcb";
fetchSubmodules = true;
};
preConfigure = ''
substituteInPlace meson.build \
--replace "'examples=false'" "'examples=false', 'logind-provider=systemd', 'libseat=disabled'"
'';
postInstall = ''
wrapProgram $out/bin/gamescope \
--prefix PATH : "${lib.makeBinPath [ xwayland ]}"
'';
buildInputs = with xorg; [
libX11 libXdamage libXcomposite libXrender libXext libXxf86vm
libXtst libdrm vulkan-loader wayland wayland-protocols
libxkbcommon libcap SDL2 mesa libinput pixman xcbutilerrors
xcbutilwm libXi libXres libuuid xcbutilrenderutil xwayland
pipewire wlroots
];
nativeBuildInputs = [ meson pkgconfig glslang ninja makeWrapper stb_ ];
meta = with lib; {
description = "The micro-compositor formerly known as steamcompmgr";
license = licenses.bsd2;
homepage = src.meta.homepage;
platforms = platforms.linux;
maintainers = with maintainers; [ ];
};
}