Compare commits
19 Commits
48e9ae18ef
...
6463a9e869
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6463a9e869 | ||
|
|
105c9737f6 | ||
|
|
089bf927e0 | ||
|
|
b4bc7490fc | ||
|
|
0dd087f4b8 | ||
|
|
f60718619f | ||
|
|
c47509ef99 | ||
|
|
c5767b775b | ||
|
|
ef4869d2cc | ||
|
|
0207f790ef | ||
|
|
b4500a59c1 | ||
|
|
e6f20d1d69 | ||
|
|
51e5e00ab6 | ||
|
|
31e86618c3 | ||
|
|
e28a22ec11 | ||
|
|
93c3ae48c5 | ||
|
|
1abec387cd | ||
|
|
081ffed1e1 | ||
|
|
583a1a1905 |
@ -14,6 +14,7 @@ in
|
||||
my-namespace.home = {
|
||||
stream-tools = enabled;
|
||||
gnome-customizations = enabled;
|
||||
vesktop-appimage = enabled;
|
||||
# networking = enabled;
|
||||
# personal-apps = enabled;
|
||||
# suites.laptop = enabled;
|
||||
@ -25,7 +26,10 @@ in
|
||||
pkgs.beeper
|
||||
pkgs.my-namespace.udev-steelseries
|
||||
pkgs.qbittorrent
|
||||
pkgs.vesktop
|
||||
pkgs.hyfetch
|
||||
pkgs.libreoffice
|
||||
pkgs.localsend
|
||||
# pkgs.vesktop
|
||||
pkgs.obsidian
|
||||
inputs.zen-browser.packages.x86_64-linux.default
|
||||
inputs.kwin-effects-forceblur.packages.${pkgs.system}.default
|
||||
|
||||
@ -24,7 +24,7 @@ in
|
||||
pkgs.beeper
|
||||
pkgs.my-namespace.udev-steelseries
|
||||
pkgs.qbittorrent
|
||||
pkgs.vesktop
|
||||
#pkgs.vesktop
|
||||
];
|
||||
};
|
||||
}
|
||||
49
modules/home/vesktop-appimage/default.nix
Normal file
49
modules/home/vesktop-appimage/default.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf;
|
||||
cfg = config.my-namespace.home.vesktop-appimage;
|
||||
vesktopVersion = "1.6.1";
|
||||
|
||||
vesktopAppImage = pkgs.runCommand "vesktop-appimage" { } ''
|
||||
cp ${pkgs.fetchurl {
|
||||
url = "https://github.com/Vencord/Vesktop/releases/download/v${vesktopVersion}/Vesktop-${vesktopVersion}.AppImage";
|
||||
sha256 = "sha256-zK098H7iiOEe5y5YhgsUCPYVQQPcsnZw6/6q6Nx7h+w=";
|
||||
}} $out
|
||||
chmod +x $out
|
||||
'';
|
||||
|
||||
vesktopWrapped = pkgs.writeShellScriptBin "vesktop" ''
|
||||
exec ${pkgs.appimage-run}/bin/appimage-run ${vesktopAppImage} "$@"
|
||||
'';
|
||||
|
||||
vesktopIcon = pkgs.fetchurl {
|
||||
url = "https://raw.githubusercontent.com/Vencord/Vesktop/main/build/icon.svg";
|
||||
sha256 = "sha256-fQ+dvbPIb4AFd9f7JqIt7+twJdEMQF9jTTwrk5p1vn8=";
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
options.my-namespace.home.vesktop-appimage = {
|
||||
enable = mkEnableOption "Install Vesktop (AppImage) with Vencord support";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
xdg.dataFile."icons/hicolor/scalable/apps/vesktop.svg".source = vesktopIcon;
|
||||
|
||||
home.packages = [
|
||||
pkgs.appimage-run
|
||||
vesktopWrapped
|
||||
];
|
||||
|
||||
xdg.desktopEntries.vesktop = {
|
||||
name = "Vesktop";
|
||||
comment = "Discord client with Vencord (AppImage)";
|
||||
exec = "${vesktopWrapped}/bin/vesktop";
|
||||
icon = "vesktop";
|
||||
terminal = false;
|
||||
type = "Application";
|
||||
categories = [ "Network" "Chat" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
113
modules/nixos/keychron-keyboard/default.nix
Normal file
113
modules/nixos/keychron-keyboard/default.nix
Normal file
@ -0,0 +1,113 @@
|
||||
{ config, lib, pkgs, namespace, ... }:
|
||||
|
||||
let
|
||||
cfg = config.${namespace}.keychron-keyboard;
|
||||
in {
|
||||
options.${namespace}.keychron-keyboard = {
|
||||
enable = lib.mkEnableOption "Enable Keychron keyboard configuration";
|
||||
# Add additional options here, e.g. vendor/product IDs, keymaps, etc.
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
services.udev.packages = with pkgs; [ qmk qmk-udev-rules ];
|
||||
|
||||
|
||||
# Example udev rule or keychron-specific settings
|
||||
services.udev.extraRules = ''
|
||||
# Atmel DFU
|
||||
### ATmega16U2
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fef", TAG+="uaccess"
|
||||
### ATmega32U2
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess"
|
||||
### ATmega16U4
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff3", TAG+="uaccess"
|
||||
### ATmega32U4
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess"
|
||||
### AT90USB64
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff9", TAG+="uaccess"
|
||||
### AT90USB162
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", TAG+="uaccess"
|
||||
### AT90USB128
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess"
|
||||
|
||||
# Input Club
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess"
|
||||
|
||||
# STM32duino
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess"
|
||||
# STM32 DFU
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess"
|
||||
|
||||
# BootloadHID
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess"
|
||||
|
||||
# USBAspLoader
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", TAG+="uaccess"
|
||||
|
||||
# USBtinyISP
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1782", ATTRS{idProduct}=="0c9f", TAG+="uaccess"
|
||||
|
||||
# ModemManager should ignore the following devices
|
||||
# Atmel SAM-BA (Massdrop)
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
|
||||
# Caterina (Pro Micro)
|
||||
## pid.codes shared PID
|
||||
### Keyboardio Atreus 2 Bootloader
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2302", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
## Spark Fun Electronics
|
||||
### Pro Micro 3V3/8MHz
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### Pro Micro 5V/16MHz
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### LilyPad 3V3/8MHz (and some Pro Micro clones)
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9207", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
## Pololu Electronics
|
||||
### A-Star 32U4
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ffb", ATTRS{idProduct}=="0101", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
## Arduino SA
|
||||
### Leonardo
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### Micro
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
## Adafruit Industries LLC
|
||||
### Feather 32U4
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000c", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### ItsyBitsy 32U4 3V3/8MHz
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000d", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### ItsyBitsy 32U4 5V/16MHz
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000e", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
## dog hunter AG
|
||||
### Leonardo
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
### Micro
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
|
||||
|
||||
# hid_listen
|
||||
KERNEL=="hidraw*", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"
|
||||
|
||||
# hid bootloaders
|
||||
## QMK HID
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2067", TAG+="uaccess"
|
||||
## PJRC's HalfKay
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0478", TAG+="uaccess"
|
||||
|
||||
# APM32 DFU
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="314b", ATTRS{idProduct}=="0106", TAG+="uaccess"
|
||||
|
||||
# GD32V DFU
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", TAG+="uaccess"
|
||||
|
||||
# WB32 DFU
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="342d", ATTRS{idProduct}=="dfa0", TAG+="uaccess"
|
||||
|
||||
# AT32 DFU
|
||||
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", TAG+="uaccess"
|
||||
'';
|
||||
#
|
||||
# home.file.".config/some-config".text = ''
|
||||
# # keyboard-related configuration
|
||||
# '';
|
||||
};
|
||||
}
|
||||
@ -28,6 +28,15 @@
|
||||
# enable = true;
|
||||
# capSysNice = true;
|
||||
# };
|
||||
environment.systemPackages = with pkgs; [
|
||||
steam
|
||||
# proton-ge-bin
|
||||
lutris
|
||||
protontricks
|
||||
mangohud
|
||||
vkbasalt
|
||||
gamemode
|
||||
];
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||
|
||||
@ -161,12 +161,25 @@
|
||||
qemu
|
||||
mpv
|
||||
krita
|
||||
ntfs3g
|
||||
];
|
||||
environment.etc."xdg/autostart/xwaylandvideobridge.desktop".text = ''
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
'';
|
||||
|
||||
services.udisks2.settings = { # Should fix mounting ntfs system partition - Did not work
|
||||
"udisks2.conf" = {
|
||||
defaults = {
|
||||
allow_mount_internal = true;
|
||||
allow_mount_system = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.gvfs.enable = true; # For file manager integration
|
||||
|
||||
|
||||
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
@ -195,9 +208,11 @@
|
||||
# Open ports in the firewall.
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
24800 #Synergy
|
||||
53317 #localsend
|
||||
];
|
||||
networking.firewall.allowedUDPPorts = [
|
||||
24800 #Synergy
|
||||
53317 #localsend
|
||||
];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
@ -69,6 +69,8 @@ in
|
||||
};
|
||||
services.gnome.gnome-remote-desktop.enable = true;
|
||||
my-namespace.wallpaper-engine-kde-plugin.enable = true;
|
||||
my-namespace.keychron-keyboard.enable = true;
|
||||
|
||||
# lib.my-namespace.home.stream-tools.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
@ -86,6 +88,15 @@ in
|
||||
# networking.firewall.enable = false;
|
||||
programs.steam.gamescopeSession.enable = true;
|
||||
programs.gamescope.enable = true;
|
||||
programs.steam.gamescopeSession = {
|
||||
enable = true;
|
||||
args = [
|
||||
"-w" "1920"
|
||||
"-h" "1080"
|
||||
"-r" "172"
|
||||
|
||||
];
|
||||
};
|
||||
|
||||
# Install firefox.
|
||||
programs.firefox.enable = true;
|
||||
@ -100,9 +111,22 @@ in
|
||||
ntfs3g
|
||||
ntfsprogs
|
||||
synergy
|
||||
mangohud
|
||||
my-namespace.udev-steelseries
|
||||
my-namespace.hello
|
||||
kde-rounded-corners
|
||||
(pkgs.writeShellScriptBin "switch-to-desktop" ''
|
||||
#!/bin/sh
|
||||
# Kill Steam and return to display manager
|
||||
pkill steam || true
|
||||
pkill gamescope || true
|
||||
# End the session cleanly
|
||||
loginctl terminate-session "$XDG_SESSION_ID"
|
||||
'')
|
||||
(pkgs.writeShellScriptBin "steamos-session-select" ''
|
||||
#!/bin/sh
|
||||
exec switch-to-desktop
|
||||
'')
|
||||
# stuff I installed to try to get gamescope to work to no avail Gamescope is just broken it seems.
|
||||
# pkgs.mesa
|
||||
# pkgs.vulkan-loader
|
||||
|
||||
@ -0,0 +1,64 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
############################
|
||||
## Display + Mesa Settings
|
||||
############################
|
||||
|
||||
# hardware.enableRedistributableFirmware = true;
|
||||
|
||||
hardware.firmware = [
|
||||
pkgs.linux-firmware
|
||||
# pkgs.firmwareLinuxNonfree
|
||||
# pkgs.firmwareLinuxStrict
|
||||
# pkgs.firmwareLinuxLatest
|
||||
];
|
||||
|
||||
# boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
boot.kernelParams = [
|
||||
"console=tty0"
|
||||
"efifb=off"
|
||||
"xe.force_probe=*"
|
||||
"module_blacklist=nouveau,nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm"
|
||||
];
|
||||
|
||||
|
||||
environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/intel_icd.x86_64.json";
|
||||
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver # Intel VAAPI
|
||||
vpl-gpu-rt # oneVPL runtime
|
||||
intel-vaapi-driver # fallback
|
||||
];
|
||||
};
|
||||
|
||||
# Ensure Arc driver is available (usually auto-loaded)
|
||||
boot.kernelModules = [ "xe" ];
|
||||
# Blacklist everything for nvidia
|
||||
boot.blacklistedKernelModules = [
|
||||
"nouveau"
|
||||
"nvidia"
|
||||
"nvidia_drm"
|
||||
"nvidia_modeset"
|
||||
"nvidia_uvm"
|
||||
];
|
||||
|
||||
environment.variables = {
|
||||
KWIN_DRM_DEVICES = "/dev/dri/card0";
|
||||
};
|
||||
|
||||
|
||||
|
||||
############################
|
||||
## X / Wayland GPU Drivers
|
||||
############################
|
||||
|
||||
############################
|
||||
## User Access
|
||||
############################
|
||||
users.users.andreas.extraGroups = [ "video" "render" ];
|
||||
}
|
||||
@ -7,7 +7,7 @@
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
./graphics/intel_nvidia.nix
|
||||
./graphics/intel.nix
|
||||
# ./graphics/nvidia.nix
|
||||
./acer-monitor-edid.nix
|
||||
];
|
||||
@ -21,13 +21,13 @@
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
|
||||
boot.supportedFilesystems = [ "ntfs" ];
|
||||
boot.blacklistedKernelModules = [ ];
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/563805a1-5277-4488-bbdd-c1a7ed37be76";
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/563805a1-5277-4488-bbdd-c1a7ed37be76";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/E846-D998";
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/E846-D998";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user