diff --git a/flake.lock b/flake.lock index bc99f84..05f2543 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ ] }, "locked": { - "lastModified": 1753121425, - "narHash": "sha256-TVcTNvOeWWk1DXljFxVRp+E0tzG1LhrVjOGGoMHuXio=", + "lastModified": 1756770412, + "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "644e0fc48951a860279da645ba77fe4a6e814c5e", + "rev": "4524271976b625a4a605beefd893f270620fd751", "type": "github" }, "original": { @@ -79,11 +79,11 @@ ] }, "locked": { - "lastModified": 1753848447, - "narHash": "sha256-fsld/crW9XRodFUG1GK8Lt0ERv6ARl9Wj3Xb0x96J4w=", + "lastModified": 1757809953, + "narHash": "sha256-29mlXbfAJhz9cWVrPP4STvVPDVZFCfCOmaIN5lFJa+Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "d732b648e5a7e3b89439ee25895e4eb24b7e5452", + "rev": "17a10049486f6698fca32097d8f52c0c895542b0", "type": "github" }, "original": { @@ -106,16 +106,16 @@ ] }, "locked": { - "lastModified": 1748294338, - "narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=", + "lastModified": 1754860581, + "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=", "owner": "NuschtOS", "repo": "ixx", - "rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85", + "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.8", + "ref": "v0.1.1", "repo": "ixx", "type": "github" } @@ -123,11 +123,11 @@ "lix": { "flake": false, "locked": { - "lastModified": 1753223229, - "narHash": "sha256-tkT4aCZZE6IEmjYotOzKKa2rV3pGpH3ZREeQn7ACgdU=", - "rev": "7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a", + "lastModified": 1753306924, + "narHash": "sha256-jLCEW0FvjFhC+c4RHzH+xbkSOxrnpFHnhjOw6sudhx0=", + "rev": "1a4393d0aac31aba21f5737ede1b171e11336d77", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a.tar.gz?rev=7ac20fc47cf2f1b7469c7a2f379e5a3a51a6789a" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/1a4393d0aac31aba21f5737ede1b171e11336d77.tar.gz?rev=1a4393d0aac31aba21f5737ede1b171e11336d77" }, "original": { "type": "tarball", @@ -144,15 +144,15 @@ ] }, "locked": { - "lastModified": 1753282722, - "narHash": "sha256-KYMUrTV7H/RR5/HRnjV5R3rRIuBXMemyJzTLi50NFTs=", - "rev": "46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873", + "lastModified": 1756125859, + "narHash": "sha256-6a+PWILmqHCs9B5eIBLg6HSZ8jYweZpgOWO8FlyVwYI=", + "rev": "d3292125035b04df00d01549a26e948631fabe1e", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873.tar.gz?rev=46a9e8fcfe4be72b4c7c8082ee11d2c42da1e873" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/d3292125035b04df00d01549a26e948631fabe1e.tar.gz?rev=d3292125035b04df00d01549a26e948631fabe1e" }, "original": { "type": "tarball", - "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz" + "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-2.tar.gz" } }, "matugen": { @@ -195,11 +195,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1753694789, - "narHash": "sha256-cKgvtz6fKuK1Xr5LQW/zOUiAC0oSQoA9nOISB0pJZqM=", + "lastModified": 1757745802, + "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dc9637876d0dcc8c9e5e22986b857632effeb727", + "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", "type": "github" }, "original": { @@ -219,11 +219,11 @@ "systems": "systems_4" }, "locked": { - "lastModified": 1753805595, - "narHash": "sha256-5m0FqObrj/0/nfoaKlgpye4+SZzj1nMPnlxGxlIxKNg=", + "lastModified": 1757864383, + "narHash": "sha256-oMoFAEC8A8BGBHIYiUNsgsVhEyNwTbn066J68LtbelY=", "owner": "nix-community", "repo": "nixvim", - "rev": "fe0bcc92c8c593d5e2b45ffb0d1253c3aa55eb72", + "rev": "db1a991f33fb43cf0e2a4aff54a8c53b4dc12128", "type": "github" }, "original": { @@ -242,11 +242,11 @@ ] }, "locked": { - "lastModified": 1753450833, - "narHash": "sha256-Pmpke0JtLRzgdlwDC5a+aiLVZ11JPUO5Bcqkj0nHE/k=", + "lastModified": 1757624466, + "narHash": "sha256-25ExS2AkQD05Jf0Y2Wnn5KHpucN2d3ObEQOVaDh7ubg=", "owner": "NuschtOS", "repo": "search", - "rev": "40987cc1a24feba378438d691f87c52819f7bd75", + "rev": "da8bcb74407e41d334fc79081fdd8948b795bd6f", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 71479d4..aa78bb6 100644 --- a/flake.nix +++ b/flake.nix @@ -2,7 +2,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; lix-module = { - url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-1.tar.gz"; + url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.3-2.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { @@ -33,54 +33,57 @@ let inherit (nixpkgs.lib) genAttrs; eachSystem = genAttrs [ "x86_64-linux" ]; - legacyPackages = eachSystem ( - system: - import nixpkgs { - inherit system; - config = { - allowUnfree = true; - allowUnsupportedSystem = true; - experimental-features = "nix-command flakes"; - }; - overlays = [ - (final: prev: { - matugen = matugen.packages.${prev.system}.default; - gccdiag = prev.callPackage ./overlays/gccdiag { }; - gbmonctl = prev.callPackage ./overlays/gbmonctl { }; - lpc21isp = prev.callPackage ./overlays/lpc21isp { }; - rquickshare = prev.callPackage ./overlays/rquickshare { }; - rastertokpsl-re = prev.callPackage ./overlays/rastertokpsl-re { }; - usb-sniffer = prev.callPackage ./overlays/usb-sniffer { }; - wireshark = prev.wireshark.overrideAttrs ( - finalAttrs: prevAttrs: { - postInstall = prevAttrs.postInstall + '' - ln -s ${final.usb-sniffer}/bin/usb_sniffer $out/lib/wireshark/extcap/usb_sniffer - ''; - } - ); - plymouth = prev.plymouth.overrideAttrs ( - final: prev: { - patches = prev.patches ++ [ ./overlays/plymouth/drm-close-fb.patch ]; - } - ); - }) - ]; - } - ); + legacyPackages = + config: + (eachSystem ( + system: + import nixpkgs { + inherit system; + config = config // { + allowUnfree = true; + allowUnsupportedSystem = true; + experimental-features = "nix-command flakes"; + }; + overlays = [ + (final: prev: { + matugen = matugen.packages.${prev.system}.default; + gccdiag = prev.callPackage ./overlays/gccdiag { }; + gbmonctl = prev.callPackage ./overlays/gbmonctl { }; + lpc21isp = prev.callPackage ./overlays/lpc21isp { }; + rquickshare = prev.callPackage ./overlays/rquickshare { }; + rastertokpsl-re = prev.callPackage ./overlays/rastertokpsl-re { }; + usb-sniffer = prev.callPackage ./overlays/usb-sniffer { }; + wireshark = prev.wireshark.overrideAttrs ( + finalAttrs: prevAttrs: { + postInstall = prevAttrs.postInstall + '' + ln -s ${final.usb-sniffer}/bin/usb_sniffer $out/lib/wireshark/extcap/usb_sniffer + ''; + } + ); + plymouth = prev.plymouth.overrideAttrs ( + final: prev: { + patches = prev.patches ++ [ ./overlays/plymouth/drm-close-fb.patch ]; + } + ); + }) + ]; + } + )); mkHost = { hostname, username, system, + config ? { }, }: nixpkgs.lib.nixosSystem rec { - pkgs = legacyPackages.${system}; + pkgs = (legacyPackages config).${system}; modules = [ ./modules/nixos ./hosts/${hostname} home-manager.nixosModules.home-manager - lix-module.nixosModules.default + # lix-module.nixosModules.default nix-flatpak.nixosModules.nix-flatpak { _module.args = @@ -127,7 +130,7 @@ sharedModules = [ matugen.homeManagerModules.default nix-flatpak.homeManagerModules.nix-flatpak - nixvim.homeManagerModules.nixvim + nixvim.homeModules.nixvim ./modules/home-manager/modules/nixvim ]; users.${username} = { @@ -153,6 +156,9 @@ hostname = "MONSTER"; username = "theaninova"; system = "x86_64-linux"; + config = { + rocmSupport = true; + }; }; aero = mkHost { hostname = "aero"; diff --git a/hosts/MONSTER/default.nix b/hosts/MONSTER/default.nix index 0e7bd40..d251aaf 100644 --- a/hosts/MONSTER/default.nix +++ b/hosts/MONSTER/default.nix @@ -48,11 +48,20 @@ }; locale.preset.theaninova.enable = true; + networking.hosts = { + "127.0.0.1:57461" = [ "ai.local" ]; + }; services = { - ollama = { + ollama.enable = true; + open-webui = { enable = true; - acceleration = "rocm"; - rocmOverrideGfx = "10.3.0"; + port = 57461; + environment = { + ANONYMIZED_TELEMETRY = "False"; + DO_NOT_TRACK = "True"; + SCARF_NO_ANALYTICS = "True"; + WEBUI_AUTH = "False"; + }; }; xserver.xkb.variant = "altgr-intl"; @@ -73,7 +82,7 @@ fv43u.enable = true; astro-a50.enable = true; # virtual-camera.enable = true; - hid-fanatecff.enable = true; + # hid-fanatecff.enable = true; enableAllFirmware = true; bluetooth = { diff --git a/hosts/MONSTER/home.nix b/hosts/MONSTER/home.nix index 25e79b0..f268a60 100644 --- a/hosts/MONSTER/home.nix +++ b/hosts/MONSTER/home.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { theme.md3-evo = { enable = true; @@ -9,4 +9,44 @@ }; }; programs.zoxide.enable = true; + home.packages = with pkgs; [ + hyperhdr + /* + (hyperion-ng.overrideAttrs ( + final: prev: rec { + version = "2.1.1"; + src = fetchFromGitHub { + owner = "hyperion-project"; + repo = prev.pname; + rev = version; + hash = "sha256-lKLXgOrXp8DLmlpQe/33A30l4K9VX8P0q2LUA+lLYws="; + # needed for `dependencies/external/`: + # * rpi_ws281x` - not possible to use as a "system" lib + # * qmdnsengine - not in nixpkgs yet + fetchSubmodules = true; + }; + buildInputs = prev.buildInputs ++ [ + pkgs.libsForQt5.qtwebsockets + pkgs.libftdi1 + ]; + nativeBuildInputs = prev.nativeBuildInputs ++ [ pkgs.git ]; + cmakeFlags = prev.cmakeFlags ++ [ + "-DUSE_SYSTEM_LIBFTDI_LIBS=ON" + ]; + } + )) + */ + ]; + wayland.windowManager.hyprland.settings.device = + let + targetDPI = 1200; + actualDPI = 3200; + in + [ + { + name = "endgame-gear-endgame-gear-op1-8k-v2-gaming-mouse"; + sensitivity = builtins.toString (((targetDPI + 0.0) / actualDPI) - 1); + accel_profile = "flat"; + } + ]; } diff --git a/hosts/shark/default.nix b/hosts/shark/default.nix index 5f04fd5..a2a1cdf 100644 --- a/hosts/shark/default.nix +++ b/hosts/shark/default.nix @@ -101,6 +101,28 @@ security.tpm2.enable = true; users.defaultUserShell = pkgs.zsh; + networking.hosts = { + "127.0.0.1:57461" = [ "ai.local" ]; + }; + services.ollama = { + enable = true; + package = pkgs.ollama.override { + config.cudaSupport = true; + config.rocmSupport = false; + }; + acceleration = "cuda"; + }; + services.open-webui = { + enable = true; + port = 57461; + environment = { + ANONYMIZED_TELEMETRY = "False"; + DO_NOT_TRACK = "True"; + SCARF_NO_ANALYTICS = "True"; + WEBUI_AUTH = "False"; + }; + }; + services.openssh = { enable = true; settings = { diff --git a/hosts/shark/home.nix b/hosts/shark/home.nix index b557825..22c05fa 100755 --- a/hosts/shark/home.nix +++ b/hosts/shark/home.nix @@ -13,6 +13,7 @@ packages = with pkgs; [ blueman kdePackages.okular + bitbox ]; }; systemd.user.services = { diff --git a/modules/home-manager/desktops/hyprland/default.nix b/modules/home-manager/desktops/hyprland/default.nix index d103056..b9ddbff 100644 --- a/modules/home-manager/desktops/hyprland/default.nix +++ b/modules/home-manager/desktops/hyprland/default.nix @@ -59,8 +59,8 @@ in disable_splash_rendering = true; vrr = lib.mkDefault 2; }; + decoration.border_part_of_window = false; input.touchpad.natural_scroll = true; - gestures.workspace_swipe = true; }; }; diff --git a/modules/home-manager/modules/nixvim/base/completion.nix b/modules/home-manager/modules/nixvim/base/completion.nix index 53f6221..c8ac599 100644 --- a/modules/home-manager/modules/nixvim/base/completion.nix +++ b/modules/home-manager/modules/nixvim/base/completion.nix @@ -51,7 +51,7 @@ in luasnip.enable = true; lspkind = { enable = true; - mode = "symbol_text"; + settings.mode = "symbol_text"; }; lualine.settings.sections.lualine_x = lib.mkIf cfg.ollama ( lib.mkBefore [ diff --git a/modules/home-manager/packages/default.nix b/modules/home-manager/packages/default.nix index 9e8469d..9740420 100644 --- a/modules/home-manager/packages/default.nix +++ b/modules/home-manager/packages/default.nix @@ -19,7 +19,6 @@ chromium # media - jellyfin-media-player yt-dlp f3d mpv diff --git a/modules/home-manager/theme/hyprland.conf b/modules/home-manager/theme/hyprland.conf index 293ded5..471f021 100644 --- a/modules/home-manager/theme/hyprland.conf +++ b/modules/home-manager/theme/hyprland.conf @@ -1,5 +1,6 @@ general { - col.inactive_border = rgba({{colors.surface.default.hex_stripped}}{{custom.transparency_hex | to_lower}}) + col.inactive_border = 0x00000000 + # col.inactive_border = rgba({{colors.surface.default.hex_stripped}}{{custom.transparency_hex | to_lower}}) col.active_border = rgb({{colors.primary.default.hex_stripped}}) border_size = 4 extend_border_grab_area = 4 diff --git a/modules/nixos/desktops/hyprland.nix b/modules/nixos/desktops/hyprland.nix index 4f80fb2..1a586fb 100644 --- a/modules/nixos/desktops/hyprland.nix +++ b/modules/nixos/desktops/hyprland.nix @@ -94,7 +94,7 @@ in user = username; }; default_session = { - command = "${lib.getExe pkgs.greetd.tuigreet} --asterisks --remember --user-menu --cmd 'uwsm start hyprland-uwsm.desktop'"; + command = "${lib.getExe pkgs.tuigreet} --asterisks --remember --user-menu --cmd 'uwsm start hyprland-uwsm.desktop'"; user = username; }; };