diff --git a/flake.lock b/flake.lock index baf2205..90955e3 100644 --- a/flake.lock +++ b/flake.lock @@ -49,11 +49,11 @@ ] }, "locked": { - "lastModified": 1716274896, - "narHash": "sha256-WsyEkdt8ReGQ40+yV4Cb99A2MEmV0O/i6rmFQura5ww=", + "lastModified": 1740725613, + "narHash": "sha256-j6HoX1k4+alRX35/Z/K+kfqfWytNLcO+eBOnyoh42iw=", "owner": "slotThe", "repo": "emacs-lsp-booster-flake", - "rev": "7d110295988fc9bf7fd43bb0cabfbe58a4a5ecf8", + "rev": "007bdf3f48a28f611fdfe0b480534cc110637043", "type": "github" }, "original": { @@ -68,11 +68,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1740678710, - "narHash": "sha256-VP3pDWBT1SKTl0x8kRR5y09GTkkTc79VThpeadUQL94=", + "lastModified": 1741022982, + "narHash": "sha256-RKsvU8WZX7lxQedHfgoqxThNgfVXULccwYerbhmghlQ=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "0f095d48c2018d23ba5d7c4ff59ddd7e65364532", + "rev": "a3bf20522b1fa7295ca05ea4a8d37546915e598e", "type": "github" }, "original": { @@ -322,11 +322,11 @@ ] }, "locked": { - "lastModified": 1740679976, - "narHash": "sha256-6U/zvgtcGJqpOTKsIgf+mRO7/djwV07ImU/t0nZBix8=", + "lastModified": 1740845322, + "narHash": "sha256-AXEgFj3C0YJhu9k1OhbRhiA6FnDr81dQZ65U3DhaWpw=", "owner": "nix-community", "repo": "home-manager", - "rev": "343646e092696d94b6f22b6875ae685756fd4cf0", + "rev": "fcac3d6d88302a5e64f6cb8014ac785e08874c8d", "type": "github" }, "original": { @@ -376,11 +376,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1739465717, - "narHash": "sha256-8Ulwr1Z6n5YjM518DYMSHZUbPsZOG53d6QO/bwhb4SA=", + "lastModified": 1740698205, + "narHash": "sha256-9/X4+kKFcrldylDSC4hkyewG3UqVg1EFRYJkZazYXO0=", "owner": "hyprwm", "repo": "hypridle", - "rev": "3e30a63b5db64a208e9394328a81048044571368", + "rev": "9d97c2288316f7ed474c0d8cd248516d8fb72037", "type": "github" }, "original": { @@ -640,28 +640,6 @@ "type": "github" } }, - "kmonad": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "dir": "nix", - "lastModified": 1739962668, - "narHash": "sha256-ns7btNiKU6+JViXt6k3g7iQp2Xyy0ZCi3wf59y3lS6s=", - "owner": "kmonad", - "repo": "kmonad", - "rev": "356c69f45b8cbb3c875616c91892f8b28ce40c13", - "type": "github" - }, - "original": { - "dir": "nix", - "owner": "kmonad", - "repo": "kmonad", - "type": "github" - } - }, "libpng": { "flake": false, "locked": { @@ -699,6 +677,26 @@ "type": "github" } }, + "nh": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1740563087, + "narHash": "sha256-ILEarFQp89V6RWr5GRU/ip9dB1SEqUFQGs1QMPrk9TQ=", + "owner": "viperML", + "repo": "nh", + "rev": "1b25d633376f50139f7b8fe314c8914711d44b42", + "type": "github" + }, + "original": { + "owner": "viperML", + "repo": "nh", + "type": "github" + } + }, "niri": { "inputs": { "niri-stable": "niri-stable", @@ -711,11 +709,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1740690416, - "narHash": "sha256-ZVyJvL/sEkBuxNh1+Y5K3XXzYowIz5UUyOqrzK2rkdc=", + "lastModified": 1741007220, + "narHash": "sha256-EiBhMwybAgrgXlgCIRBIKf+WJc6Uxd5rcrg6jDAQYMA=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "18a5c6286802a8ef1109760d61740b6f321c810c", + "rev": "590b86cdc34a434dc6f97d8af0e033dee4cbf5fd", "type": "github" }, "original": { @@ -744,11 +742,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1740683787, - "narHash": "sha256-Q3ZqUR1xVG9MuHxInsLfqytgqCZKICYpWDIz8L11av8=", + "lastModified": 1741001804, + "narHash": "sha256-rMc6olQE1pT8M9wxapgDLLROBgUUX11SmAcPMRSivsA=", "owner": "YaLTeR", "repo": "niri", - "rev": "311f3be5d861bfb12ee8b3d7241bd1d1fcb5110b", + "rev": "26618f8d50dffda41791a211fd2aa02479a6d6a9", "type": "github" }, "original": { @@ -892,11 +890,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1740463929, - "narHash": "sha256-4Xhu/3aUdCKeLfdteEHMegx5ooKQvwPHNkOgNCXQrvc=", + "lastModified": 1740865531, + "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5d7db4668d7a0c6cc5fc8cf6ef33b008b2b1ed8b", + "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", "type": "github" }, "original": { @@ -908,11 +906,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1740603184, - "narHash": "sha256-t+VaahjQAWyA+Ctn2idyo1yxRIYpaDxMgHkgCNiMJa4=", + "lastModified": 1740865531, + "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f44bd8ca21e026135061a0a57dcf3d0775b67a49", + "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", "type": "github" }, "original": { @@ -940,11 +938,11 @@ }, "nixpkgs-stable_4": { "locked": { - "lastModified": 1740603184, - "narHash": "sha256-t+VaahjQAWyA+Ctn2idyo1yxRIYpaDxMgHkgCNiMJa4=", + "lastModified": 1740865531, + "narHash": "sha256-h00vGIh/jxcGl8aWdfnVRD74KuLpyY3mZgMFMy7iKIc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f44bd8ca21e026135061a0a57dcf3d0775b67a49", + "rev": "5ef6c425980847c78a80d759abc476e941a9bf42", "type": "github" }, "original": { @@ -956,11 +954,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1740560979, - "narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=", + "lastModified": 1740828860, + "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5135c59491985879812717f4c9fea69604e7f26f", + "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", "type": "github" }, "original": { @@ -1004,11 +1002,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1740560979, - "narHash": "sha256-Vr3Qi346M+8CjedtbyUevIGDZW8LcA1fTG0ugPY/Hic=", + "lastModified": 1740828860, + "narHash": "sha256-cjbHI+zUzK5CPsQZqMhE3npTyYFt9tJ3+ohcfaOF/WM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5135c59491985879812717f4c9fea69604e7f26f", + "rev": "303bd8071377433a2d8f76e684ec773d70c5b642", "type": "github" }, "original": { @@ -1097,8 +1095,8 @@ "hypridle": "hypridle", "hyprlock": "hyprlock", "isd": "isd", - "kmonad": "kmonad", "musnix": "musnix", + "nh": "nh", "niri": "niri", "nix-flatpak": "nix-flatpak", "nix-rice": "nix-rice", @@ -1337,11 +1335,11 @@ }, "locked": { "dir": "nix", - "lastModified": 1740350337, - "narHash": "sha256-Ue+ERNL8y9l/0BTay1/fm1V2zcKFf/dX5H1DHI2TO+w=", + "lastModified": 1740857660, + "narHash": "sha256-fm/EVyg2soItlrRHSLyYUilcT2kCWxuj8KP7pN6SGXA=", "owner": "wez", "repo": "wezterm", - "rev": "fd532a8c2fb3b56593597cf8be1775da1feda0a3", + "rev": "7d0bff0698813c9feeba91a342cd6df94aa34630", "type": "github" }, "original": { @@ -1393,11 +1391,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1740668882, - "narHash": "sha256-XBZMkdqWmHQi/EuXFhEqYzBL6oFvTA4uMD44C43dmzE=", + "lastModified": 1741011607, + "narHash": "sha256-l7W704Tb80nykq2kKHaeJqHgWG/sfKO7nSWkHS9dOKc=", "owner": "sxyazi", "repo": "yazi", - "rev": "f80446fb2a8dbd6668ea03c2fc982fded21dd4d6", + "rev": "3082cad16c0d0acc65c36dcc0ab17d9dd2abfb58", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 6ba9974..09e0c5c 100644 --- a/flake.nix +++ b/flake.nix @@ -31,8 +31,8 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - kmonad = { - url = "github:kmonad/kmonad?dir=nix"; + nh = { + url = "github:viperML/nh"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -133,7 +133,6 @@ }; }; modules = [ - inputs.kmonad.nixosModules.default inputs.musnix.nixosModules.musnix inputs.niri.nixosModules.niri inputs.sops-nix.nixosModules.sops diff --git a/homes/emenel/dotfiles/dot_config/nyxt/config.lisp b/homes/emenel/dotfiles/dot_config/nyxt/config.lisp new file mode 100644 index 0000000..1eee1ac --- /dev/null +++ b/homes/emenel/dotfiles/dot_config/nyxt/config.lisp @@ -0,0 +1,45 @@ +(in-package #:nyxt-user) + +;;; Reset ASDF registries to allow loading Lisp systems from +;;; everywhere. +#+nyxt-3 (reset-asdf-registries) + +(define-configuration browser + ((theme default))) + +;; Ad block +(define-configuration :web-buffer + ((default-modes + (pushnew 'nyxt/mode/blocker:blocker-mode %slot-value%)))) + +;; search engine +(defvar *my-search-engines* + (list + '("kagi" "https://kagi.com/search?q=~a" "https://www.kagi.com/") + '("wiki" "https://en.wikipedia.org/w/index.php?search=~a" "https://en.wikipedia.org/"))) + +(define-configuration :buffer + ((search-engines (append (mapcar (lambda (engine) (apply 'make-search-engine engine)) + *my-search-engines*) + %slot-default%)))) + +;; keybindings: small emacs experience in CUA (default mode) of Nyxt +(define-configuration buffer + ((override-map (let ((map (make-keymap "override-map"))) + (define-key map + "C-space" 'noop + "M-x" 'execute-command + "C-n" 'nyxt/web-mode:scroll-down + "C-p" 'nyxt/web-mode:scroll-up + "C-f" 'nyxt/web-mode:scroll-right + "C-b" 'nyxt/web-mode:scroll-left + "C-g" 'query-selection-in-search-engine + "M-s->" 'nyxt/web-mode:scroll-to-bottom + "M-s-<" 'nyxt/web-mode:scroll-to-top + "C-s" 'nyxt/web-mode:search-buffer + "M-w" 'nyxt/web-mode:copy + "C-y" 'nyxt/web-mode:paste + "C-Y" 'nyxt/web-mode:paste-from-clipboard-ring))))) + +;; (define-configuration bookmark-frequent-visits-mode +;; ((threshold 10))) diff --git a/hosts/eddie/configuration.nix b/hosts/eddie/configuration.nix index e05bdcc..c8d9d99 100644 --- a/hosts/eddie/configuration.nix +++ b/hosts/eddie/configuration.nix @@ -26,7 +26,8 @@ inputs.niri.overlays.niri inputs.emacs-overlay.overlays.default inputs.nix-rice.overlays.default - # inputs.emacs-lsp-booster.overlays.default + inputs.nh.overlays.default + inputs.emacs-lsp-booster.overlays.default (final: prev: { wineWowPackages.stagingFull = @@ -39,6 +40,12 @@ }); }) + (fina: prev: { + development.python-modules.openrazer = pkgs.development.python-modules.openrazer.overrideAttrs (old: { + patches = old.patches ++ [ ../../patches/openrazer-384992.patch ]; + }); + }) + (final: prev: { bitwig-studio5-3 = nix-config.packages.x86_64-linux.bitwig-studio.bitwig-bubblewrap.override { bitwig-studio = nix-config.packages.x86_64-linux.bitwig-studio.bitwig-studio5-3-unwrapped; @@ -145,6 +152,23 @@ ddcutil ddcui greetd.tuigreet + bluez-tools + bluetui + + qemu + quickemu + + # virt-manager + virt-viewer + spice + spice-gtk + spice-protocol + win-virtio + win-spice + + protonup + steam-run + mangohud ]; # Bootloader. @@ -163,6 +187,7 @@ "ddcci-backlight" "amd_3d_vcache" "uinput" + "xpadneo" "amd_pstate=active" ]; extraModulePackages = with config.boot.kernelPackages; [ ddcci-driver ]; @@ -203,12 +228,12 @@ enable32Bit = true; extraPackages = [ pkgs.rocmPackages.clr.icd - pkgs.amdvlk + # pkgs.amdvlk ]; - extraPackages32 = [ - pkgs.driversi686Linux.amdvlk - ]; + # extraPackages32 = [ + # pkgs.driversi686Linux.amdvlk + # ]; }; enableAllFirmware = true; @@ -244,6 +269,7 @@ nvidiaSettings = true; }; brillo.enable = true; + xpadneo.enable = true; }; services.fstrim.enable = true; @@ -382,7 +408,6 @@ }; programs.dconf.enable = true; - programs.gpaste.enable = true; programs.xwayland.enable = true; services.xserver.xkb = { @@ -414,12 +439,25 @@ ]; }; + programs.gamemode.enable = true; + programs.gamescope = { + enable = true; + capSysNice = true; + }; + + environment.sessionVariables = { + STEAM_EXTRA_COMPAT_TOOLS_PATHS = "\${HOME}/.steam/root/compatibilitytools.d"; + }; + programs.steam = { enable = true; protontricks.enable = true; extraCompatPackages = [ pkgs.proton-ge-bin ]; + gamescopeSession.enable = true; }; + programs.java.enable = true; + # enable fish and launch it from bash for interactive shells programs.fish.enable = true; environment.pathsToLink = [ "/share/fish" ]; @@ -450,7 +488,7 @@ services.gnome.gnome-online-accounts.enable = true; programs.virt-manager.enable = true; - + systemd.tmpfiles.rules = [ "L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware" ]; virtualisation = { libvirtd = { enable = true; @@ -467,6 +505,33 @@ services.qemuGuest.enable = true; services.spice-vdagentd.enable = true; + systemd.network.enable = true; + + systemd.network.networks."10-lan" = { + matchConfig.Name = ["eno1" "vm-*"]; + networkConfig = { + Bridge = "br0"; + }; + }; + + systemd.network.netdevs."br0" = { + netdevConfig = { + Name = "br0"; + Kind = "bridge"; + }; + }; + + systemd.network.networks."10-lan-bridge" = { + matchConfig.Name = "br0"; + networkConfig = { + Address = ["192.168.1.2/24" "2001:db8::a/64"]; + Gateway = "192.168.1.1"; + DNS = ["192.168.1.1"]; + IPv6AcceptRA = true; + }; + linkConfig.RequiredForOnline = "routable"; + }; + programs.appimage = { enable = true; binfmt = true; diff --git a/modules/home/desktop.nix b/modules/home/desktop.nix index 83d6764..f0c9565 100644 --- a/modules/home/desktop.nix +++ b/modules/home/desktop.nix @@ -135,6 +135,14 @@ wineWowPackages.stagingFull winetricks + + nautilus + nautilus-open-any-terminal + turtle + gnome-online-accounts + gnome-online-accounts-gtk + + wordbook ]) ]; @@ -214,8 +222,12 @@ exec = "/home/emenel/.local/bin/wezapp btop"; categories = [ "System" ]; }; + steam-offload = { + name = "Steam (nvidia-offload)"; + exec = "nvidia-offload gamescope -- steam"; + }; }; xdg.configFile."halloy/config.toml".source = ../../homes/emenel/dotfiles/dot_config/halloy/config.toml; - + xdg.configFile."nyxt/config.lisp".source = ../../homes/emenel/dotfiles/dot_config/nyxt/config.lisp; } diff --git a/modules/home/waybar.nix b/modules/home/waybar.nix index 4fa4188..1a97ab9 100644 --- a/modules/home/waybar.nix +++ b/modules/home/waybar.nix @@ -27,12 +27,21 @@ in { "memory" "network" "wireplumber" + "bluetooth" "power-profiles-daemon" "upower" "idle_inhibitor" "custom/notification" ]; + "bluetooth" = { + "format" = ""; + "format-off" = ""; + "format-disabled" = "!"; + "on-click" = "$HOME/.local/bin/wezlauncher bluetui"; + "tooltip-format" = "{status}"; + }; + "custom/notification" = { "tooltip" = false; "format" = "{icon}"; diff --git a/overlays/openrazer.nix b/overlays-disabled/openrazer.nix similarity index 100% rename from overlays/openrazer.nix rename to overlays-disabled/openrazer.nix diff --git a/patches/openrazer-384992.patch b/patches/openrazer-384992.patch new file mode 100644 index 0000000..77161ff --- /dev/null +++ b/patches/openrazer-384992.patch @@ -0,0 +1,77 @@ +From 3775c5a66437e9624405e23dfecbb6d7d8331c72 Mon Sep 17 00:00:00 2001 +From: emaryn +Date: Tue, 25 Feb 2025 19:52:54 +0800 +Subject: [PATCH] openrazer-daemon: 3.9.0 -> 3.10.0 + +--- + .../python-modules/openrazer/common.nix | 14 +++++++------- + .../python-modules/openrazer/daemon.nix | 4 +++- + .../development/python-modules/openrazer/pylib.nix | 2 +- + 3 files changed, 11 insertions(+), 9 deletions(-) + +diff --git a/pkgs/development/python-modules/openrazer/common.nix b/pkgs/development/python-modules/openrazer/common.nix +index a54f14c996029..8478b03a8133c 100644 +--- a/pkgs/development/python-modules/openrazer/common.nix ++++ b/pkgs/development/python-modules/openrazer/common.nix +@@ -1,19 +1,19 @@ + { lib, fetchFromGitHub }: + rec { +- version = "3.9.0"; ++ version = "3.10.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "openrazer"; + repo = "openrazer"; +- rev = "v${version}"; +- hash = "sha256-MLwhqLPWdjg1ZUZP5Sig37RgZEeHlU+DyELpyMif6iY="; ++ tag = "v${version}"; ++ hash = "sha256-F7lAWM/14texc1PVhch5R2oztcfkoub/9oGdjEmtTZ8="; + }; + +- meta = with lib; { ++ meta = { + homepage = "https://openrazer.github.io/"; +- license = licenses.gpl2Only; +- maintainers = with maintainers; [ evanjs ] ++ teams.lumiguide.members; +- platforms = platforms.linux; ++ license = lib.licenses.gpl2Only; ++ maintainers = with lib.maintainers; [ evanjs ] ++ lib.teams.lumiguide.members; ++ platforms = lib.platforms.linux; + }; + } +diff --git a/pkgs/development/python-modules/openrazer/daemon.nix b/pkgs/development/python-modules/openrazer/daemon.nix +index 0bcfd6b516540..ac6f14869203d 100644 +--- a/pkgs/development/python-modules/openrazer/daemon.nix ++++ b/pkgs/development/python-modules/openrazer/daemon.nix +@@ -33,6 +33,8 @@ buildPythonPackage ( + postPatch = '' + substituteInPlace openrazer_daemon/daemon.py \ + --replace-fail "plugdev" "openrazer" ++ substituteInPlace run_openrazer_daemon.py \ ++ --replace-fail "/usr" "$out" + ''; + + nativeBuildInputs = [ +@@ -46,7 +48,7 @@ buildPythonPackage ( + gtk3 + ]; + +- propagatedBuildInputs = [ ++ dependencies = [ + daemonize + dbus-python + pygobject3 +diff --git a/pkgs/development/python-modules/openrazer/pylib.nix b/pkgs/development/python-modules/openrazer/pylib.nix +index 577f8595aba6b..9f711dafa64e2 100644 +--- a/pkgs/development/python-modules/openrazer/pylib.nix ++++ b/pkgs/development/python-modules/openrazer/pylib.nix +@@ -20,7 +20,7 @@ buildPythonPackage ( + + nativeBuildInputs = [ setuptools ]; + +- propagatedBuildInputs = [ ++ dependencies = [ + dbus-python + numpy + openrazer-daemon