Merge branch 'main' of github.com:bloxx12/nichts

This commit is contained in:
Charlie Root 2024-04-23 11:00:03 +02:00
commit 12425e3496
10 changed files with 270 additions and 196 deletions

View file

@ -3,6 +3,7 @@
imports = [
./hyprland.nix
./programs.nix
# ./xwayland.nix
];
nixpkgs.config.allowUnfree = true;
@ -119,6 +120,14 @@
# services.flatpak.enable = true;
services = {
twingate.enable = true;
pcscd.enable = true;
};
security.pam.yubico = {
enable = true;
debug = false;
mode = "challenge-response";
id = [ "28067815" "28067816" ];
};
# SSH AGENT

View file

@ -18,6 +18,11 @@
enable = true;
gamescope = true;
};
minecraft = {
enable = true;
wayland = true;
};
};
hyprland = {
@ -37,4 +42,5 @@
};
services.getty.autologinUser = "lars";
services.flatpak.enable = true;
}

View file

@ -3,7 +3,7 @@ _: {
../../../options/boot/grub-boot.nix
../../../options/desktop/fonts.nix
../../../options/common/networking.nix
../../../options/common/gpu/nvidia.nix
../../../options/common/gpu/nvidia_wayland.nix
../../../options/common/pin-registry.nix
../../../options/common/preserve-system.nix
../../../options/common/bluetooth.nix

View file

@ -1,41 +1,6 @@
{ config, inputs, pkgs, lib, ... }:
let
username = config.modules.other.system.username;
{ config, lib, pkgs, ... }:
# Fetch the GLFW with Wayland patches for Minecraft
customGLFW = let
mcWaylandPatchRepo = pkgs.fetchFromGitHub {
owner = "Admicos";
repo = "minecraft-wayland";
rev = "370ce5b95e3ae9bc4618fb45113bc641fbb13867";
sha256 = "sha256-RPRg6Gd7N8yyb305V607NTC1kUzvyKiWsh6QlfHW+JE=";
};
mcWaylandPatches = map (name: "${mcWaylandPatchRepo}/${name}")
(lib.naturalSort (builtins.attrNames (lib.filterAttrs
(name: type:
type == "regular" && lib.hasSuffix ".patch" name)
(builtins.readDir mcWaylandPatchRepo))));
in pkgs.glfw.overrideAttrs (previousAttrs: {
patches = previousAttrs.patches ++ mcWaylandPatches;
buildInputs = previousAttrs.buildInputs ++ [ pkgs.wayland ];
});
# Minecraft launcher with the custom GLFW
minecraftPrismLauncher = pkgs.prismlauncher.override {
glfw = customGLFW;
};
in {
home-manager.users.${username} = {
home.packages = let
fenix = inputs.fenix.packages.${pkgs.system};
in with pkgs; [
];
};
# System-wide installation of Minecraft PrismLauncher
environment.systemPackages = [
minecraftPrismLauncher
];
{
environment.systemPackages = with pkgs; [
];
}

View file

@ -64,6 +64,7 @@ in {
yubioath-flutter
fzf
tldr
feh
];
};
}

53
hosts/lars/xwayland.nix Normal file
View file

@ -0,0 +1,53 @@
{ inputs, outputs, lib, pkgs, pkg-config, ... }:
let
newer_xwayland = self: super: {
xwayland = super.xwayland.overrideAttrs (prev: {
version = "23.2.6-HEAD";
src = pkgs.fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "xorg";
repo = "xserver";
rev = "43f47e8e6597f06cf2082514c10a71965fa6d3c8";
sha256 = "93DzgA8nXVodDvllCOIuTtOYWpUdXwzPIGpi2SUSNqo=";
};
mesonFlags = [
# (lib.mesonBool "xwayland_eglstream" true)
(lib.mesonBool "xcsecurity" true)
# (lib.mesonOption "default_font_path" defaultFontPath)
# (lib.mesonOption "xkb_bin_dir" "${xkbcomp}/bin")
# (lib.mesonOption "xkb_dir" "${xkeyboard_config}/etc/X11/xkb")
# (lib.mesonOption "xkb_output_dir" "${placeholder "out"}/share/X11/xkb/compiled")
# (lib.mesonBool "libunwind" withLibunwind)
];
});
};
newer_xorgproto = self: super: {
xorg.xorgproto = super.xorg.xorgproto.overrideAttrs (prev: {
pname = "xorgproto";
version = "2023.2";
builder = ./builder.sh;
src = pkgs.fetchurl {
url = "mirror://xorg/individual/proto/xorgproto-2023.2.tar.xz";
sha256 = "0b4c27aq25w1fccks49p020avf9jzh75kaq5qwnww51bp1yvq7xn";
};
hardeningDisable = [ "bindnow" "relro" ];
strictDeps = true;
nativeBuildInputs = [ pkg-config pkgs.python3 ];
buildInputs = [ pkgs.libXt ];
# passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ "applewmproto" "bigreqsproto" "compositeproto" "damageproto" "dmxproto" "dpmsproto" "dri2proto" "dri3proto" "evieproto" "fixesproto" "fontcacheproto" "fontsproto" "glproto" "inputproto" "kbproto" "lg3dproto" "presentproto" "printproto" "randrproto" "recordproto" "renderproto" "resourceproto" "scrnsaverproto" "trapproto" "videoproto" "windowswmproto" "xcalibrateproto" "xcmiscproto" "xextproto" "xf86bigfontproto" "xf86dgaproto" "xf86driproto" "xf86miscproto" "xf86rushproto" "xf86vidmodeproto" "xineramaproto" "xproto" "xproxymngproto" "xwaylandproto" ];
platforms = lib.platforms.unix;
};
});
};
in
{
nixpkgs.overlays = [
newer_xwayland
newer_xorgproto
];
}