From b5906d21bbe4cc15ad474397c0e08d4112057af1 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Sat, 29 Aug 2026 10:27:34 -0400 Subject: desktop changes 2026-08-29 --- config/nvim/lua/lsp.lua | 2 +- default.nix | 3 +- flake.lock | 22 ++++++------ flake.nix | 4 +-- hosts/jonbox/default.nix | 16 ++++++--- modules/desktop/apps/games/prism.nix | 17 ++++++++-- modules/desktop/apps/mpd.nix | 14 ++++---- modules/hardware/audio.nix | 9 +++++ overlay.nix | 34 +++---------------- packages/betacraft.nix | 65 ++++++++++++++++++++++++++++++++++++ packages/betacraft/default.nix | 15 +++++++++ 11 files changed, 143 insertions(+), 58 deletions(-) create mode 100644 packages/betacraft.nix create mode 100644 packages/betacraft/default.nix diff --git a/config/nvim/lua/lsp.lua b/config/nvim/lua/lsp.lua index 2e823ec..1c2b0ae 100644 --- a/config/nvim/lua/lsp.lua +++ b/config/nvim/lua/lsp.lua @@ -192,7 +192,7 @@ keyset("n", "k", ":CocPrev", opts) -- Resume latest coc list keyset("n", "p", ":CocListResume", opts) -require("nvim-treesitter.configs").setup({ +require("nvim-treesitter.config").setup({ highlight = { enable = true, }, }) diff --git a/default.nix b/default.nix index e172edf..c907742 100644 --- a/default.nix +++ b/default.nix @@ -64,6 +64,7 @@ ]; }; }; + hardware.enableAllFirmware = true; - system.stateVersion = "25.11"; + system.stateVersion = "26.05"; } diff --git a/flake.lock b/flake.lock index 91a8a41..57f28aa 100644 --- a/flake.lock +++ b/flake.lock @@ -7,43 +7,43 @@ ] }, "locked": { - "lastModified": 1764866045, - "narHash": "sha256-0GsEtXV9OquDQ1VclQfP16cU5VZh7NEVIOjSH4UaJuM=", + "lastModified": 1781319724, + "narHash": "sha256-ZGuxexEMo4Xv28KJ0dX/m/PHN4oZIOnxHZpNTyrvx4M=", "owner": "nix-community", "repo": "home-manager", - "rev": "f63d0fe9d81d36e5fc95497217a72e02b8b7bcab", + "rev": "8355f0a16b2dbb06a97959a918af5b239bbe05ae", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.11", + "ref": "release-26.05", "repo": "home-manager", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1764831616, - "narHash": "sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA=", + "lastModified": 1781216227, + "narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c97c47f2bac4fa59e2cbdeba289686ae615f8ed4", + "rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-25.11", + "ref": "nixos-26.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1758035966, - "narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=", + "lastModified": 1772198003, + "narHash": "sha256-I45esRSssFtJ8p/gLHUZ1OUaaTaVLluNkABkk6arQwE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8d4ddb19d03c65a36ad8d189d001dc32ffb0306b", + "rev": "dd9b079222d43e1943b6ebd802f04fd959dc8e61", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index a45bca1..75c9e76 100644 --- a/flake.nix +++ b/flake.nix @@ -2,11 +2,11 @@ description = "Jon's NixOS configuration"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { - url = "github:nix-community/home-manager/release-25.11"; + url = "github:nix-community/home-manager/release-26.05"; inputs.nixpkgs.follows = "nixpkgs"; }; }; diff --git a/hosts/jonbox/default.nix b/hosts/jonbox/default.nix index f74d4a0..2809f70 100644 --- a/hosts/jonbox/default.nix +++ b/hosts/jonbox/default.nix @@ -57,6 +57,7 @@ gpu = "nvidia"; drive = "nvme"; hasBluetooth = true; + hasPrinter = true; }; desktop = { niri.enable = true; @@ -112,17 +113,22 @@ pkgs.linuxPackages_latest.perf pkgs.perf-tools - pkgs.unstable.yafc-ce ]; home.packages = with pkgs; [ - cataclysm-dda - cataclysm-tlg - (callPackage (rootPath + /packages/freeciv/default.nix) {}) - unstable.unciv vintagestory + betacraft + + freeciv + freeorion + + starsector + + unstable.yafc-ce ]; + programs.gamemode.enable = true; + #services.clamav.daemon.enable = true; #services.clamav.updater.enable = true; diff --git a/modules/desktop/apps/games/prism.nix b/modules/desktop/apps/games/prism.nix index b586451..4ee10b0 100644 --- a/modules/desktop/apps/games/prism.nix +++ b/modules/desktop/apps/games/prism.nix @@ -16,9 +16,20 @@ in { }; config = lib.mkIf (prismConf.enable) { - home.packages = [ - pkgs.javaPackages.compiler.temurin-bin.jre-25 - pkgs.prismlauncher + home.packages = with pkgs; [ + (prismlauncher.override { + jdks = [ + graalvmPackages.graalvm-ce + (graalvmPackages.graalvm-ce.overrideAttrs (old: rec { + version = "17.0.9"; + src = pkgs.fetchurl { + sha256 = "sha256-5HunIpzvAjk+GdW49G9/HKtIKd0Xv+hNVDH8j/DiKpY="; + url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-17.0.9/graalvm-community-jdk-17.0.9_linux-x64_bin.tar.gz"; + }; + doInstallCheck = false; + })) + ]; + }) ]; }; } diff --git a/modules/desktop/apps/mpd.nix b/modules/desktop/apps/mpd.nix index 3ec86e4..f6f9ff3 100644 --- a/modules/desktop/apps/mpd.nix +++ b/modules/desktop/apps/mpd.nix @@ -23,12 +23,14 @@ in services.mpd = { enable = true; musicDirectory = "/home/jon/mus"; - extraConfig = '' -audio_output { - type "pipewire" - name "Pipewire Output" -} - ''; + settings = { + audio_output = [ + { + type = "pipewire"; + name = "Pipewire"; + } + ]; + }; user = "jon"; }; systemd.services.mpd.environment = { diff --git a/modules/hardware/audio.nix b/modules/hardware/audio.nix index a674597..d70b1d2 100644 --- a/modules/hardware/audio.nix +++ b/modules/hardware/audio.nix @@ -29,10 +29,19 @@ in { "bluez5.enable-sbc-xq" = true; "bluez5.enable-msbc" = true; "bluez5.enable-hw-volume" = true; + "bluez5.roles" = [ "hsp_hs" "hsp_ag" "hfp_hf" "hfp_ag" "a2dp_source" "bap_source" ]; }; }; }; + environment.systemPackages = with pkgs; [ + alsa-firmware + alsa-oss + alsa-ucm-conf + ]; + + hardware.alsa.enablePersistence = true; + user.extraGroups = ["audio"]; home.packages = [pkgs.pavucontrol]; } diff --git a/overlay.nix b/overlay.nix index a749f87..93d2283 100644 --- a/overlay.nix +++ b/overlay.nix @@ -8,6 +8,8 @@ config.allowUnfree = true; }; + betacraft = prev.pkgs.callPackage ./packages/betacraft.nix {}; + unciv = prev.unciv.overrideAttrs (old: rec { version = "4.18.14"; src = prev.fetchurl { @@ -16,40 +18,14 @@ }; }); - vintagestory = prev.vintagestory.overrideAttrs (old: { - version = "1.21.6"; - src = prev.fetchurl { - url = "https://cdn.vintagestory.at/gamefiles/stable/vs_client_linux-x64_${final.vintagestory.version}.tar.gz"; - hash = "sha256-LkiL/8W9MKpmJxtK+s5JvqhOza0BLap1SsaDvbLYR0c="; - }; - }); - - cataclysm-dda = prev.cataclysm-dda.overrideAttrs (old: { + cataclysm-dda-indigo = prev.cataclysm-dda.overrideAttrs (old: { version = "0.I"; src = prev.fetchFromGitHub { owner = "CleverRaven"; repo = "Cataclysm-DDA"; - rev = "${final.cataclysm-dda.version}-branch"; - sha256 = "sha256-1FStdkXC1b1SE+UeIn7Z7Omtm/cDmlI1b55hGxfCXPs="; + rev = "${final.cataclysm-dda-indigo.version}-branch"; + hash = "sha256-FA1ivcg+8JBKs9AM0l2iyYE7wAT7IIlnzRp+fCIomso="; }; patches = []; }); - - cataclysm-tlg = prev.cataclysm-dda-git.overrideAttrs (old: { - meta.mainProgram = "cataclysm-tlg-tiles"; - pname = "cataclysm-tlg"; - version = "2025-12-15-2247"; - src = prev.fetchFromGitHub { - owner = "Cataclysm-TLG"; - repo = "Cataclysm-TLG"; - tag = "cataclysm-tlg-1.0-${final.cataclysm-tlg.version}"; - sha256 = "sha256-KJ3/uZ6d18dES5qgElIUDdncEWBQIzaZMEHzvzcpJoA="; - }; - makeFlags = prev.cataclysm-dda-git.makeFlags ++ [ "TESTS=0" ]; - postInstall = '' - substituteInPlace $out/share/applications/com.cataclysm-tlg.cataclysm-tlg.desktop \ - --replace-fail "Exec=cataclysm-tlg-tiles" "Exec=$out/bin/cataclysm-tlg-tiles" - rm $out/bin/zzip - ''; - }); } diff --git a/packages/betacraft.nix b/packages/betacraft.nix new file mode 100644 index 0000000..1e2b080 --- /dev/null +++ b/packages/betacraft.nix @@ -0,0 +1,65 @@ +{ + lib, + stdenv, + fetchurl, + makeWrapper, + makeDesktopItem, + copyDesktopItems, + jre8, + libxxf86vm, + libGL, + openal, + pulseaudio, + xrandr +}: +stdenv.mkDerivation rec { + pname = "betacraft"; + version = "1.09_17"; + + launcherjar = fetchurl { + url = "https://github.com/betacraftuk/betacraft-launcher/releases/download/${version}/launcher-${version}.jar"; + hash = "sha256-CMemX7mrCa5d9kQJN1/ryeBnJ/s6yz3aHq9ym4WWWOM"; + }; + + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; + + runtimeLibs = lib.makeLibraryPath ([ + libxxf86vm + libGL + openal + ]); + + runtimeBins = lib.makeBinPath ([ + xrandr + ]); + + desktopItems = [ + (makeDesktopItem { + name = "betacraft"; + desktopName = "Betacraft Launcher"; + exec = "betacraft"; + categories = [ "Game" ]; + }) + ]; + + phases = [ "installPhase" "preFixup" ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/betacraft $out/bin + cp -r ${launcherjar} $out/share/betacraft/launcher-${version}.jar + runHook postInstall + ''; + preFixup = '' + makeWrapper ${pulseaudio}/bin/padsp $out/bin/betacraft \ + --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ + --prefix PATH : "${runtimeBins}" \ + --set DISPLAY ":0" \ + --add-flags ${jre8}/lib/openjdk/jre/bin/java \ + --add-flags -jar \ + --add-flags $out/share/betacraft/launcher-${version}.jar + ''; +} diff --git a/packages/betacraft/default.nix b/packages/betacraft/default.nix new file mode 100644 index 0000000..ecf90ff --- /dev/null +++ b/packages/betacraft/default.nix @@ -0,0 +1,15 @@ +{ + lib, + stdenv, + fetchFromGitHub, + autoreconfHook, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "betacraft"; + version = "1.09_17"; + + src = fetchurl { + url = "https://github.com/betacraftuk/betacraft-launcher/releases/download/${version}/launcher-${version}.jar"; + sha256 = ""; + } +}) -- cgit v1.2.3