From 19166952026333c2b3d823f6fee19102e9d08251 Mon Sep 17 00:00:00 2001 From: Lorde_soup Date: Sat, 8 Feb 2025 10:44:12 -0500 Subject: [PATCH] update dayo --- flake.lock | 47 +++++++++++---- flake.nix | 12 +++- hosts/kiara/configuration.nix | 106 ++++++++++++++++------------------ mods/keyd.nix | 16 +++++ mods/kmonad.nix | 17 ++++++ quirky/kmonad.kbd | 0 quirky/testing.kbd | 9 +++ 7 files changed, 138 insertions(+), 69 deletions(-) create mode 100644 mods/keyd.nix create mode 100644 mods/kmonad.nix create mode 100644 quirky/kmonad.kbd create mode 100644 quirky/testing.kbd diff --git a/flake.lock b/flake.lock index c25d0e0..6189e88 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ ] }, "locked": { - "lastModified": 1721135958, - "narHash": "sha256-H548rpPMsn25LDKn1PCFmPxmWlClJJGnvdzImHkqjuY=", + "lastModified": 1737630279, + "narHash": "sha256-wJQCxyMRc4P26zDrHmZiRD5bbfcJpqPG3e2djdGG3pk=", "owner": "nix-community", "repo": "home-manager", - "rev": "afd2021bedff2de92dfce0e257a3d03ae65c603d", + "rev": "0db5c8bfcce78583ebbde0b2abbc95ad93445f7c", "type": "github" }, "original": { @@ -36,13 +36,35 @@ "type": "github" } }, + "kmonad": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "dir": "nix", + "lastModified": 1738565510, + "narHash": "sha256-xmr17yq6/wlcF/69GkRlKKkWAUC8ZjPeZMIuHdJnpfk=", + "owner": "kmonad", + "repo": "kmonad", + "rev": "7784e590405429f5105d9d038cbe13f887160805", + "type": "github" + }, + "original": { + "dir": "nix", + "owner": "kmonad", + "repo": "kmonad", + "type": "github" + } + }, "nixpkgs": { "locked": { - "lastModified": 1721379653, - "narHash": "sha256-8MUgifkJ7lkZs3u99UDZMB4kbOxvMEXQZ31FO3SopZ0=", + "lastModified": 1737469691, + "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1d9c2c9b3e71b9ee663d11c5d298727dace8d374", + "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", "type": "github" }, "original": { @@ -71,6 +93,7 @@ "root": { "inputs": { "home-manager": "home-manager", + "kmonad": "kmonad", "nixpkgs": "nixpkgs", "spicetify-nix": "spicetify-nix", "zen-browser": "zen-browser" @@ -84,11 +107,11 @@ ] }, "locked": { - "lastModified": 1737087380, - "narHash": "sha256-T3WB7rwWDT8cWrwLR7fRRZ1gkgbk3A3dzefEfuGdMxk=", + "lastModified": 1737605771, + "narHash": "sha256-iQoI2+DTwZwLryi8sYn/xSXMmUxglmA2k8/2VflgrJI=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "6510ffbf4e3f9116923632da1e63e9a959d8aa94", + "rev": "bd69e9e814233746ae4c3165df10607624b7d9c5", "type": "github" }, "original": { @@ -102,11 +125,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1736824652, - "narHash": "sha256-8J56ngRvKVvCxdY3iDtol/9UAJfwCh0k96DnyNchUCA=", + "lastModified": 1737573247, + "narHash": "sha256-qYr17CTrtmudrwcDXBZjgZM6E8elQ8O7SfMhmZj7x00=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "a17923b5fd758700c67afdaae2a1d3123381f96b", + "rev": "c3ea41c78e72866919a46116a5231c4e92062327", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index e5a4ba2..879b512 100644 --- a/flake.nix +++ b/flake.nix @@ -17,16 +17,24 @@ url = "github:Gerg-L/spicetify-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + + kmonad = { + url = "github:kmonad/kmonad?dir=nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; - outputs = { self, nixpkgs, ... }@inputs: { + outputs = { self, nixpkgs, kmonad, ... }@inputs: { nixosConfigurations.default = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs;}; modules = [ ./hosts/kiara/configuration.nix - inputs.home-manager.nixosModules.default + kmonad.nixosModules.default + # inputs.home-manager.nixosModules.default + ]; }; }; diff --git a/hosts/kiara/configuration.nix b/hosts/kiara/configuration.nix index ccc7b26..8ebacb3 100644 --- a/hosts/kiara/configuration.nix +++ b/hosts/kiara/configuration.nix @@ -10,6 +10,8 @@ ./hardware-configuration.nix inputs.home-manager.nixosModules.default ../../mods/vm.nix + ../../mods/mini-spice.nix +# ../../mods/kmonad.nix inputs.spicetify-nix.nixosModules.default ]; @@ -17,23 +19,25 @@ - vm.enable = true; +# vm.enable = true; # Bootloader. - boot.loader.grub.enable = true; - boot.loader.grub.device = "/dev/sdb"; - boot.loader.grub.useOSProber = true; - # IOMMU - boot.kernelParams = [ "intel_iommu=on" ]; - boot.kernelModules = [ "vfio_virqfd" "vfio_pci" "vfio_iommu_type1" "vfio" "v4l2loopback" ]; - boot.blacklistedKernelModules = [ "nvidia" "nouveau" ]; - boot.extraModprobeConfig = '' - options vfio-pci ids=10de:22bc,10de:2786 - options v4l2loopback exclusive_caps=1 - ''; - boot.extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ]; + boot = { + loader.grub.enable = true; + loader.grub.device = "/dev/sdb"; + loader.grub.useOSProber = true; + # IOMMU + kernelParams = [ "intel_iommu=on" ]; + kernelModules = [ "vfio_virqfd" "vfio_pci" "vfio_iommu_type1" "vfio" "v4l2loopback" ]; + blacklistedKernelModules = [ "nvidia" "nouveau" ]; + extraModprobeConfig = '' + options vfio-pci ids=10de:22bc,10de:2786 + options v4l2loopback exclusive_caps=1 + ''; + extraModulePackages = [ pkgs.linuxPackages.v4l2loopback ]; + }; networking.hostName = "kiara"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. @@ -55,7 +59,7 @@ fileSystems."/mnt/apricot" = { - device = "192.168.4.191:/mnt/apricot" ; + device = "192.168.4.194:/mnt/apricot" ; fsType = "nfs" ; options = [ "x-systemd.automount" "noauto" ]; }; @@ -88,13 +92,6 @@ # Enable the GNOME Desktop Environment. services.xserver.displayManager.gdm.enable = true; - # services.xserver.desktopManager.gnome.enable = true; - - # Configure keymap in X11 - #services.xserver = { - # layout = "us"; - # xkbVariant = ""; - #}; # Enable CUPS to print documents. services.printing.enable = true; @@ -117,12 +114,12 @@ ROC_ENABLE_PRE_VEGA = "1"; }; - hardware.opengl.extraPackages = with pkgs; [ - rocmPackages.clr.icd - ]; - +# hardware.graphics.extraPackages = with pkgs; [ +# rocmPackages.clr.icd +# ]; + services.udisks2.enable = true; # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; @@ -137,8 +134,6 @@ ]; }; - # Install firefox. - #programs.firefox.enable = true; # Allow unfree packages nixpkgs.config.allowUnfree = true; @@ -160,31 +155,31 @@ # spicetify-nix - - programs.spicetify = - let - spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; - in - { - enable = true; - - #enabledExtensions = with spicePkgs.extensions; [ - # adblock - # hidePodcasts - # shuffle # shuffle+ (special characters are sanitized out of extension names) - #]; - #enabledCustomApps = with spicePkgs.apps; [ - # newReleases - # ncsVisualizer - #]; - #enabledSnippets = with spicePkgs.snippets; [ - # rotatingCoverart - # pointer - #]; - - theme = spicePkgs.themes.comfy; - colorScheme = "hikari"; - }; +# +# programs.spicetify = +# let +# spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; +# in +# { +# enable = true; +# +# #enabledExtensions = with spicePkgs.extensions; [ +# # adblock +# # hidePodcasts +# # shuffle # shuffle+ (special characters are sanitized out of extension names) +# #]; +# #enabledCustomApps = with spicePkgs.apps; [ +# # newReleases +# # ncsVisualizer +# #]; +# #enabledSnippets = with spicePkgs.snippets; [ +# # rotatingCoverart +# # pointer +# #]; +# +# theme = spicePkgs.themes.comfy; +# colorScheme = "hikari"; +# }; @@ -214,7 +209,7 @@ waybar dunst wofi - cinnamon.nemo + nemo btop hashcat git @@ -238,7 +233,7 @@ # linux-wallpaperengine # bug with freeimage-unstable with like 7 CVEs wait for patch libreoffice pasystray - syncthing-tray + # syncthing-tray udiskie nm-tray # hyprpicker @@ -255,7 +250,7 @@ python3 python311Packages.pip pipes-rs - spicetify-cli + # spicetify-cli spotify obs-studio lsof @@ -301,6 +296,7 @@ looking-glass-client inputs.zen-browser.packages."${system}".default tree + keyd ]; # Some programs need SUID wrappers, can be configured further or are diff --git a/mods/keyd.nix b/mods/keyd.nix new file mode 100644 index 0000000..89bbcc2 --- /dev/null +++ b/mods/keyd.nix @@ -0,0 +1,16 @@ +{ + services.keyd = { + enable = true; + keyboards.default = { + "main" = { + rightbtn = "rightbtn"; # Keep normal RMB function + "shift+rightbtn" = "layer(rmb1, 250)"; # Start sequence only if Shift is held + }; + + "rmb1" = { + "shift+rightbtn" = "toggle(rightbtn)"; # Second press (Shift still held) toggles RMB + }; + }; + }; +} + diff --git a/mods/kmonad.nix b/mods/kmonad.nix new file mode 100644 index 0000000..1154cfb --- /dev/null +++ b/mods/kmonad.nix @@ -0,0 +1,17 @@ +{ config, lib, pkgs, ... }: + +{ + services.kmonad = { + enable = true; + keyboards = { + myKMonadOutput = { + device = "/dev/input/by-id/usb-SteelSeries_SteelSeries_Rival_5-if01-event-mouse"; + config = builtins.readFile ../quirky/testing.kbd; + }; + }; +}; + + + + +} diff --git a/quirky/kmonad.kbd b/quirky/kmonad.kbd new file mode 100644 index 0000000..e69de29 diff --git a/quirky/testing.kbd b/quirky/testing.kbd new file mode 100644 index 0000000..19759fd --- /dev/null +++ b/quirky/testing.kbd @@ -0,0 +1,9 @@ +(defcfg + input (low-level-hook) + output (send-event-sink 300 100) +) + +(defsrc q w e r t y lsft) + +(deflayer base + q w e r t y lsft)