From d8cd5aae9f931367f76a7cbe3b4740e2bf49dd46 Mon Sep 17 00:00:00 2001 From: Curt Spark Date: Sat, 15 Nov 2025 11:43:40 +0000 Subject: [PATCH] Update, niri refinements --- configurations/desktop/configuration.nix | 17 +- .../desktop/hardware-configuration.nix | 10 +- flake.lock | 212 ++++-------------- flake.nix | 23 +- global.nix | 107 +++++---- modules/nixos/cspark-desktop-niri/home.nix | 3 +- modules/nixos/cspark-desktop-niri/module.nix | 41 ++-- .../home-manager/.config/niri/config.kdl | 4 +- modules/nixos/cspark-desktop-sway/module.nix | 3 +- 9 files changed, 170 insertions(+), 250 deletions(-) diff --git a/configurations/desktop/configuration.nix b/configurations/desktop/configuration.nix index 17842f67..4d99d79f 100644 --- a/configurations/desktop/configuration.nix +++ b/configurations/desktop/configuration.nix @@ -17,6 +17,8 @@ inputs.home-manager.nixosModules.default ]; + boot.initrd.kernelModules = [ "amdgpu" ]; + # Bootloader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; @@ -28,9 +30,9 @@ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Enable musnix, a module for real-time audio. - musnix.enable = false; - musnix.kernel.realtime = true; # Realtime kernel - musnix.kernel.packages = pkgs.linuxPackages_latest_rt; # Latest kernel + #musnix.enable = false; + #musnix.kernel.realtime = true; # Realtime kernel + #musnix.kernel.packages = pkgs.linuxPackages_latest_rt; # Latest kernel # Custom desktop environments # cspark-desktop-plasma.enable = true; @@ -98,7 +100,7 @@ enable = true; # remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play # dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server - gamescopeSession.enable = true; + #gamescopeSession.enable = true; #package = pkgs.steam.override { # extraLibraries = p: with p; [ @@ -139,6 +141,11 @@ # ]; #}; }; + programs.gamescope = { + enable = true; + args = [ "--expose-wayland" ]; + }; + programs.gamemode.enable = true; # Single GPU Passthru Configuration #cspark-single-gpu-passthru.enable = true; @@ -158,7 +165,7 @@ nvtopPackages.amd # Use the android-studio-full attribute for a very complete Android SDK, including system images - android-studio + #android-studio ]; #environment.variables = { diff --git a/configurations/desktop/hardware-configuration.nix b/configurations/desktop/hardware-configuration.nix index 40d1db39..3f6de694 100644 --- a/configurations/desktop/hardware-configuration.nix +++ b/configurations/desktop/hardware-configuration.nix @@ -8,25 +8,23 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "uas" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ]; fileSystems."/" = - { device = "/dev/disk/by-uuid/3dcedddf-8ab5-42cf-a2f7-a7ed7efc3ec4"; + { device = "/dev/disk/by-uuid/86d9ebeb-83c2-42e1-a799-1da281f8df9a"; fsType = "ext4"; }; fileSystems."/boot" = - { device = "/dev/disk/by-uuid/0A25-5D7D"; + { device = "/dev/disk/by-uuid/9031-1C1D"; fsType = "vfat"; options = [ "fmask=0077" "dmask=0077" ]; }; - swapDevices = - [ { device = "/dev/disk/by-uuid/52eb83d8-cf41-4657-a3af-c54a37476a55"; } - ]; + swapDevices = [ ]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's diff --git a/flake.lock b/flake.lock index 5794684b..019b9709 100644 --- a/flake.lock +++ b/flake.lock @@ -15,11 +15,11 @@ "sf-pro": "sf-pro" }, "locked": { - "lastModified": 1752383772, - "narHash": "sha256-I5Y0gUJS85lGEuuKr+tKSRUpJWeKavE+WmiAHRcyBaU=", + "lastModified": 1758228441, + "narHash": "sha256-3mA9oFuhJ1EHyhPd17g/EuJi4jDYPGhyxkEitdh3Kmc=", "owner": "Lyndeno", "repo": "apple-fonts.nix", - "rev": "875c694d7f0ec2020d7511264907a1f0e3262931", + "rev": "aba9944f6606a69ebedf7bfb723316139eec3f72", "type": "github" }, "original": { @@ -65,24 +65,6 @@ "inputs": { "systems": "systems" }, - "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_3" - }, "locked": { "lastModified": 1731533236, "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", @@ -104,11 +86,11 @@ ] }, "locked": { - "lastModified": 1755491080, - "narHash": "sha256-ib1Xi13NEalrFqQAHceRsb+6aIPANFuQq80SS/bY10M=", + "lastModified": 1763198244, + "narHash": "sha256-oLugbe2pJv39BjWg7kAljn6vUxjVr/ArkITDX8fFd2Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "f8af2cbe386f9b96dd9efa57ab15a09377f38f4d", + "rev": "c3bc79be5ee97455262c6c677bbf065eed07948c", "type": "github" }, "original": { @@ -117,26 +99,6 @@ "type": "github" } }, - "musnix": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1741303672, - "narHash": "sha256-eRKbKccBu3PK/oJpmUuLo+0v45d0SEjosE8tVsHbpeA=", - "owner": "musnix", - "repo": "musnix", - "rev": "d56a15f30329f304151e4e05fa82264d127da934", - "type": "github" - }, - "original": { - "owner": "musnix", - "repo": "musnix", - "type": "github" - } - }, "niri": { "inputs": { "niri-stable": "niri-stable", @@ -149,11 +111,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1755424351, - "narHash": "sha256-xcorYLNdtLpb0wH5CPlUcpmYQUxeK95j1X855xQw+DY=", + "lastModified": 1763126448, + "narHash": "sha256-LVYJJObvkWwR8QB/Srr6Rks+Fw2lYvnRNOH0etV9DM8=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "9aa137af01f05386e5bb5050e983750017007a66", + "rev": "add7bcf2925547e180cc2fe6d5f4b5e7c579d086", "type": "github" }, "original": { @@ -165,16 +127,16 @@ "niri-stable": { "flake": false, "locked": { - "lastModified": 1748151941, - "narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=", + "lastModified": 1756556321, + "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", "owner": "YaLTeR", "repo": "niri", - "rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7", + "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", "type": "github" }, "original": { "owner": "YaLTeR", - "ref": "v25.05.1", + "ref": "v25.08", "repo": "niri", "type": "github" } @@ -182,11 +144,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1755419373, - "narHash": "sha256-EFH3zbpyLYjEboNV2Lmkxf9joEuFCmeYX+MMLRPStpg=", + "lastModified": 1763014447, + "narHash": "sha256-nmu7S8J9IJKLQyIkSU8QWYHygrfw76NHGTkcr+bXMX0=", "owner": "YaLTeR", "repo": "niri", - "rev": "a6febb86aa5af0df7bf2792ca027ef95a503d599", + "rev": "a52df533c4694b5ed0a04140af60fd26146df911", "type": "github" }, "original": { @@ -195,27 +157,6 @@ "type": "github" } }, - "nix-github-actions": { - "inputs": { - "nixpkgs": [ - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1729742964, - "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", - "owner": "nix-community", - "repo": "nix-github-actions", - "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-github-actions", - "type": "github" - } - }, "nixd": { "inputs": { "flake-parts": "flake-parts", @@ -226,11 +167,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1755049973, - "narHash": "sha256-gvaob2uIa06gTuBSsw+F94GeFihVaeA2FlvIVDBvthQ=", + "lastModified": 1761572354, + "narHash": "sha256-3aXsnYf/wXad8DRLTSTOlulS+65qp93eMo5R7pmaHi4=", "owner": "nix-community", "repo": "nixd", - "rev": "52322139bb3ea930c2504a5a4ab9232fa40284c6", + "rev": "b9229d79b1cd722257c16027ea79d8f033c3aa4e", "type": "github" }, "original": { @@ -241,11 +182,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1755186698, - "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=", + "lastModified": 1762977756, + "narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c", + "rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", "type": "github" }, "original": { @@ -269,11 +210,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1755274400, - "narHash": "sha256-rTInmnp/xYrfcMZyFMH3kc8oko5zYfxsowaLv1LVobY=", + "lastModified": 1763049705, + "narHash": "sha256-A5LS0AJZ1yDPTa2fHxufZN++n8MCmtgrJDtxFxrH4S8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ad7196ae55c295f53a7d1ec39e4a06d922f3b899", + "rev": "3acb677ea67d4c6218f33de0db0955f116b7588c", "type": "github" }, "original": { @@ -311,40 +252,14 @@ "url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg" } }, - "poetry2nix": { - "inputs": { - "flake-utils": "flake-utils", - "nix-github-actions": "nix-github-actions", - "nixpkgs": [ - "nixpkgs" - ], - "systems": "systems_2", - "treefmt-nix": "treefmt-nix_2" - }, - "locked": { - "lastModified": 1743690424, - "narHash": "sha256-cX98bUuKuihOaRp8dNV1Mq7u6/CQZWTPth2IJPATBXc=", - "owner": "nix-community", - "repo": "poetry2nix", - "rev": "ce2369db77f45688172384bbeb962bc6c2ea6f94", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "poetry2nix", - "type": "github" - } - }, "root": { "inputs": { "apple-fonts": "apple-fonts", "home-manager": "home-manager", - "musnix": "musnix", "niri": "niri", "nixd": "nixd", "nixpkgs": "nixpkgs", "nixpkgs-stable": "nixpkgs-stable_2", - "poetry2nix": "poetry2nix", "yt-x": "yt-x" } }, @@ -375,7 +290,7 @@ "sf-compact": { "flake": false, "locked": { - "narHash": "sha256-VMCf2Mhmx/qhLRQxlTAsQWxtonS27kPW+oTYBBRWHMg=", + "narHash": "sha256-WeqT80cdK/XzTLSaJs5DHodzxoeAzwL/xTgdq0YwQbM=", "type": "file", "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg" }, @@ -423,7 +338,7 @@ "sf-pro": { "flake": false, "locked": { - "narHash": "sha256-RX6X2ltVE88Hp1g9tpSywMT3UfdLpRxgw92KRpiAues=", + "narHash": "sha256-vprahHpCUf9O8RualBrEuLEfuLfzI/2d8AQmwlCGPPk=", "type": "file", "url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg" }, @@ -447,36 +362,6 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -498,40 +383,19 @@ "type": "github" } }, - "treefmt-nix_2": { - "inputs": { - "nixpkgs": [ - "poetry2nix", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1730120726, - "narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "9ef337e492a5555d8e17a51c911ff1f02635be15", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "xwayland-satellite-stable": { "flake": false, "locked": { - "lastModified": 1748488455, - "narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=", + "lastModified": 1755491097, + "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73", + "rev": "388d291e82ffbc73be18169d39470f340707edaa", "type": "github" }, "original": { "owner": "Supreeeme", - "ref": "v0.6", + "ref": "v0.7", "repo": "xwayland-satellite", "type": "github" } @@ -539,11 +403,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1755219541, - "narHash": "sha256-yKV6xHaPbEbh5RPxAJnb9yTs1wypr7do86hFFGQm1w8=", + "lastModified": 1762747449, + "narHash": "sha256-Z1TKiux8K09a93w4PFDFsj8HFugXNy3iCC3Z8MpR5Rk=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "5a184d435927c3423f0ad189ea2b490578450fb7", + "rev": "6338574bc5c036487486acde264f38f39ea15fad", "type": "github" }, "original": { @@ -554,17 +418,17 @@ }, "yt-x": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1755370120, - "narHash": "sha256-kiwCuAABiKawjK8g0Gun/NYeYx6oIA9RnkldJqGqNM0=", + "lastModified": 1763046220, + "narHash": "sha256-2ORtgLIbqvsExqPw5gbyaZBfB/GBGZIqyB4b3Y9OowE=", "owner": "Benexl", "repo": "yt-x", - "rev": "852dd0b3ebd5859e379e3a501582190b624ef2e9", + "rev": "a9050c9dddd21e788f8d79b5745f59c848cbbb1e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 590933b8..9b950db9 100644 --- a/flake.nix +++ b/flake.nix @@ -25,10 +25,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - musnix = { - url = "github:musnix/musnix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + #musnix = { + # url = "github:musnix/musnix"; + # inputs.nixpkgs.follows = "nixpkgs"; + #}; yt-x = { url = "github:Benexl/yt-x"; @@ -50,11 +50,15 @@ # inputs.nixpkgs.follows = "nixpkgs"; #}; - poetry2nix = { - url = "github:nix-community/poetry2nix"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + #poetry2nix = { + # url = "github:nix-community/poetry2nix"; + # inputs.nixpkgs.follows = "nixpkgs"; + #}; + #chaotic = { + # url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; + # inputs.nixpkgs.follows = "nixpkgs"; + #}; }; outputs = { self, nixpkgs, ... }@inputs: { @@ -62,7 +66,8 @@ desktop = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs;}; modules = [ - inputs.musnix.nixosModules.musnix + #inputs.musnix.nixosModules.musnix + #inputs.chaotic.nixosModules.default ./global.nix ./configurations/desktop/configuration.nix ]; diff --git a/global.nix b/global.nix index 6f789269..1206a45b 100644 --- a/global.nix +++ b/global.nix @@ -10,6 +10,9 @@ download-buffer-size = 524288000; # 500 MiB }; + # Should help address performance, crash or start-up issues for memory intensive applications + boot.kernel.sysctl."vm.max_map_count" = 2147483642; + # For USBIP Server configuration, to share USBKeys etc with my server (Which is the client) boot.extraModulePackages = with config.boot.kernelPackages; [ usbip ]; boot.kernelModules = [ "usbip_host" ]; @@ -29,8 +32,10 @@ graphics = { enable = true; enable32Bit = true; + driSupport = true; + driSupport32Bit = true; extraPackages = with pkgs; [ - gfxreconstruct + #gfxreconstruct # Issue with cmake glslang spirv-cross spirv-headers @@ -46,32 +51,38 @@ vkd3d vkd3d-proton vk-bootstrap + rocmPackages.clr.icd ]; }; - ## amdvlk: an open-source Vulkan driver from AMD - amdgpu.amdvlk = { - enable = true; - support32Bit.enable = true; - extraPackages = with pkgs; [ - gfxreconstruct - glslang - spirv-cross - spirv-headers - spirv-tools - vulkan-extension-layer - vulkan-headers - vulkan-loader - vulkan-tools - vulkan-tools-lunarg - vulkan-utility-libraries - vulkan-validation-layers - vkdisplayinfo - vkd3d - vkd3d-proton - vk-bootstrap - ]; + services.xserver = { + # Enable touchpad support (enabled default in most desktopManager). + libinput.enable = true; }; + + ## amdvlk: an open-source Vulkan driver from AMD + #amdgpu.amdvlk = { + # enable = true; + # support32Bit.enable = true; + # extraPackages = with pkgs; [ + # gfxreconstruct + # glslang + # spirv-cross + # spirv-headers + # spirv-tools + # vulkan-extension-layer + # vulkan-headers + # vulkan-loader + # vulkan-tools + # vulkan-tools-lunarg + # vulkan-utility-libraries + # vulkan-validation-layers + # vkdisplayinfo + # vkd3d + # vkd3d-proton + # vk-bootstrap + # ]; + #}; }; # Enable proper support for USB wifi/Wwan adapters. @@ -131,7 +142,7 @@ cargo lua-language-server yaml-language-server - ansible-language-server + #ansible-language-server # Removed as unmaintained in nix packages #ansible-lint nginx-language-server emmet-language-server @@ -143,6 +154,10 @@ python312Packages.jedi-language-server nixd + # For FPGA Development + verilator + gtkwave + #(neovim.overrideAttrs (oldAttrs: { # buildInputs = oldAttrs.buildInputs ++ [ pkgs.xorg.libX11 ]; #})) # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. @@ -180,7 +195,7 @@ dotnet-sdk # Tools for Vulkan - gfxreconstruct + #gfxreconstruct # Issue with cmake glslang spirv-cross spirv-headers @@ -202,6 +217,7 @@ winetricks # native wayland support (unstable) wineWowPackages.waylandFull + wineasio firefox librewolf @@ -209,22 +225,28 @@ # nyxt qutebrowser #telegram-desktop + (discord.override { # remove any overrides that you don't want withOpenASAR = true; withVencord = true; }) (vesktop.override { withSystemVencord = false; }) # Discord Client Alternative - whatsie + + #whatsie + zapzap nchat #ripcord #discordo # Discord terminal client element-desktop # cinny-desktop - freetube + # freetube + pipeline inputs.yt-x.packages."${system}".default chafa #ytfzf + + warp #(pidgin.override { # plugins = [ @@ -273,8 +295,8 @@ #easyeffects rnnoise-plugin #lsp-plugins - (yabridge.override { wine = wineWowPackages.waylandFull; }) - (yabridgectl.override { wine = wineWowPackages.waylandFull; }) + #(yabridge.override { wine = wineWowPackages.waylandFull; }) + #(yabridgectl.override { wine = wineWowPackages.waylandFull; }) #(yabridge.override { wine = wineWowPackages.full; }) #(yabridgectl.override { wine = wineWowPackages.full; }) audacity @@ -284,12 +306,12 @@ furnace vgm2x - MIDIVisualizer + #MIDIVisualizer kdePackages.kdenlive # vlc mpv # unityhub - veracrypt + # veracrypt boxbuddy distrobox qdirstat @@ -298,6 +320,7 @@ # kdePackages.k3b # xfce.xfburn ffmpeg + handbrake # ventoy-full qbittorrent krita @@ -305,7 +328,9 @@ gimp gimpPlugins.gmic - #darktable - Issue with osm-gps-map + darktable # - Issue with osm-gps-map + hugin + pngquant obs-studio prismlauncher @@ -326,7 +351,7 @@ # Just for utils # pulseaudio - alsa-utils + # alsa-utils # For curl scripts jq @@ -369,10 +394,14 @@ LC_TIME = "en_GB.UTF-8"; }; - # Configure keymap in X11 - services.xserver.xkb = { - layout = "gb"; - variant = ""; + services.xserver = { + videoDrivers = [ "amdgpu" ]; + + # Configure keymap in X11 + xkb = { + layout = "gb"; + variant = ""; + }; }; # Console (TTY) Configuration @@ -414,7 +443,7 @@ users.users.cspark = { isNormalUser = true; description = "Curt Spark"; - extraGroups = [ "plugdev" "networkmanager" "wheel" "libvirtd" "libvirt" "kvm" "input" "docker" "cdrom" "adbusers" ]; + extraGroups = [ "plugdev" "networkmanager" "wheel" "libvirtd" "libvirt" "kvm" "input" "docker" "cdrom" "adbusers" "pipewire" ]; }; # Allow unfree packages @@ -568,10 +597,12 @@ allowedTCPPorts = [ 3240 25565 ]; allowedTCPPortRanges = [ { from = 1714; to = 1764; } + { from = 27015; to = 27050; } ]; allowedUDPPorts = [ 25565 ]; allowedUDPPortRanges = [ { from = 1714; to = 1764; } + { from = 27015; to = 27050; } ]; # Or disable the firewall altogether. enable = true; diff --git a/modules/nixos/cspark-desktop-niri/home.nix b/modules/nixos/cspark-desktop-niri/home.nix index 815802f2..1d93c0de 100644 --- a/modules/nixos/cspark-desktop-niri/home.nix +++ b/modules/nixos/cspark-desktop-niri/home.nix @@ -100,7 +100,8 @@ fi SDL_VIDEODRIVER = "wayland,x11,windows"; _JAVA_AWT_WM_NONREPARENTING = "1"; SSH_ASKPASS_REQUIRE = "force"; - SSH_ASKPASS = "/run/current-system/sw/bin/lxqt-openssh-askpass"; + #SSH_ASKPASS = "/run/current-system/sw/bin/lxqt-openssh-askpass"; + SSH_ASKPASS = "/run/current-system/sw/bin/pinentry-gnome3"; MOZ_ENABLE_WAYLAND = "1"; # Enable native wayland support for chromium and electron based applications NIXOS_OZONE_WL = "1"; diff --git a/modules/nixos/cspark-desktop-niri/module.nix b/modules/nixos/cspark-desktop-niri/module.nix index bf9f9d00..cb684858 100644 --- a/modules/nixos/cspark-desktop-niri/module.nix +++ b/modules/nixos/cspark-desktop-niri/module.nix @@ -37,13 +37,16 @@ in udiskie # Automount of removable media swayimg # Image viewer - lxqt.pcmanfm-qt # File Manager - lxqt.lxqt-archiver # Archiver + #lxqt.pcmanfm-qt # File Manager + nautilus # File Manager + #lxqt.lxqt-archiver # Archiver - Issues compiling qt6Packages.qt6ct # Manage QT6 Themes libsForQt5.qt5ct # Manage QT5 Themes lxappearance # Manage GTK Themes kdePackages.polkit-kde-agent-1 # Polkit Prompt for password prompts etc - lxqt.lxqt-openssh-askpass # GUI to query passwords on behalf of SSH agents + #lxqt.lxqt-openssh-askpass # GUI to query passwords on behalf of SSH agents - Issues compiling + pinentry-gnome3 + zenity # Display custom prompts pavucontrol # Audio control pipewire.jack @@ -57,7 +60,8 @@ in export SDL_VIDEODRIVER="wayland,x11,windows" export _JAVA_AWT_WM_NONREPARENTING="1" export SSH_ASKPASS_REQUIRE="force" - export SSH_ASKPASS="/run/current-system/sw/bin/lxqt-openssh-askpass" + # export SSH_ASKPASS="/run/current-system/sw/bin/lxqt-openssh-askpass" + export SSH_ASKPASS="/run/current-system/sw/bin/pinentry-gnome3" export MOZ_ENABLE_WAYLAND="1" # Enable native wayland support for chromium and electron based applications export NIXOS_OZONE_WL="1" @@ -105,16 +109,22 @@ in services.printing.enable = true; # Enable sound with pipewire. - # sound.enable = true; Deprecated option security.rtkit.enable = true; services.pulseaudio.enable = lib.mkForce false; + + # PipeWire users must be in the `pipewire` group + #users.users.myservice1.extraGroups = [ "pipewire" ]; + #systemd.services.myservice2.serviceConfig.SupplementaryGroups = [ "pipewire" ]; + services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - # If you want to use JACK applications, uncomment this - jack.enable = true; + enable = true; + systemWide = true; + + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # # If you want to use JACK applications, uncomment this + jack.enable = true; # use the example session manager (no others are packaged yet so this is enabled by default, # no need to redefine it in your config for now) @@ -153,7 +163,8 @@ in programs.ssh = { enableAskPassword = true; - askPassword = "/run/current-system/sw/bin/lxqt-openssh-askpass"; + #askPassword = "/run/current-system/sw/bin/lxqt-openssh-askpass"; + askPassword = "/run/current-system/sw/bin/pinentry-gnome3"; }; environment.sessionVariables = { @@ -165,7 +176,8 @@ in SDL_VIDEODRIVER = "wayland,x11,windows"; _JAVA_AWT_WM_NONREPARENTING = "1"; SSH_ASKPASS_REQUIRE = "force"; - SSH_ASKPASS = "/run/current-system/sw/bin/lxqt-openssh-askpass"; + #SSH_ASKPASS = "/run/current-system/sw/bin/lxqt-openssh-askpass"; + SSH_ASKPASS = "/run/current-system/sw/bin/pinentry-gnome3"; MOZ_ENABLE_WAYLAND = "1"; # Enable native wayland support for chromium and electron based applications NIXOS_OZONE_WL = "1"; @@ -182,7 +194,8 @@ in SDL_VIDEODRIVER = "wayland,x11,windows"; _JAVA_AWT_WM_NONREPARENTING = "1"; SSH_ASKPASS_REQUIRE = "force"; - SSH_ASKPASS = lib.mkForce "/run/current-system/sw/bin/lxqt-openssh-askpass"; + #SSH_ASKPASS = lib.mkForce "/run/current-system/sw/bin/lxqt-openssh-askpass"; + SSH_ASKPASS = lib.mkForce "/run/current-system/sw/bin/pinentry-gnome3"; MOZ_ENABLE_WAYLAND = "1"; # Enable native wayland support for chromium and electron based applications NIXOS_OZONE_WL = "1"; diff --git a/modules/nixos/cspark-desktop-niri/resources/home-manager/.config/niri/config.kdl b/modules/nixos/cspark-desktop-niri/resources/home-manager/.config/niri/config.kdl index e013d735..f3578d7d 100644 --- a/modules/nixos/cspark-desktop-niri/resources/home-manager/.config/niri/config.kdl +++ b/modules/nixos/cspark-desktop-niri/resources/home-manager/.config/niri/config.kdl @@ -298,8 +298,8 @@ binds { Alt+Shift+Slash { show-hotkey-overlay; } // Suggested binds for running programs: terminal, app launcher, screen locker. - //Alt+Return { spawn "foot"; } - Alt+Return { spawn "ghostty"; } + Alt+Return { spawn "foot"; } + //Alt+Return { spawn "ghostty"; } Alt+D { spawn "fuzzel-xwayland"; } Super+L { spawn "swaylock"; } Ctrl+Alt+P { spawn "fuzzel-pass"; } diff --git a/modules/nixos/cspark-desktop-sway/module.nix b/modules/nixos/cspark-desktop-sway/module.nix index 6f3937ab..e81e335e 100644 --- a/modules/nixos/cspark-desktop-sway/module.nix +++ b/modules/nixos/cspark-desktop-sway/module.nix @@ -28,7 +28,8 @@ in wlprop # Clone of X11 xprop for wayland (To get window class names etc) wev # Clone of X11 xev for wayland - lxqt.pcmanfm-qt # File Manager + #lxqt.pcmanfm-qt # File Manager + nautilus # File Manager lxqt.lxqt-archiver # Archiver qt6Packages.qt6ct # Manage QT6 Themes libsForQt5.qt5ct # Manage QT5 Themes