diff options
| -rw-r--r-- | config/niri/jonbox.kdl | 6 | ||||
| -rw-r--r-- | default.nix | 3 | ||||
| -rw-r--r-- | flake.lock | 78 | ||||
| -rw-r--r-- | flake.nix | 18 | ||||
| -rw-r--r-- | hosts/jonbox/default.nix | 23 | ||||
| -rw-r--r-- | modules/desktop/apps/browsers/librewolf.nix | 66 | ||||
| -rw-r--r-- | modules/desktop/apps/editors/vscode.nix | 4 | ||||
| -rw-r--r-- | modules/desktop/apps/games/prism.nix | 3 | ||||
| -rw-r--r-- | modules/desktop/apps/games/vintagestory.nix | 31 | ||||
| -rw-r--r-- | modules/desktop/apps/mpd.nix | 2 | ||||
| -rw-r--r-- | modules/desktop/apps/virt.nix | 7 | ||||
| -rw-r--r-- | modules/hardware/gpu.nix | 3 | ||||
| -rw-r--r-- | modules/options.nix | 2 | ||||
| -rw-r--r-- | modules/shell/zsh.nix | 2 | ||||
| -rw-r--r-- | overlay.nix | 16 | ||||
| -rw-r--r-- | packages/vintagestory/default.nix | 117 |
16 files changed, 114 insertions, 267 deletions
diff --git a/config/niri/jonbox.kdl b/config/niri/jonbox.kdl index 950e728..e885c1d 100644 --- a/config/niri/jonbox.kdl +++ b/config/niri/jonbox.kdl @@ -343,7 +343,7 @@ binds { // Suggested binds for running programs: terminal, app launcher, screen locker. Mod+Return hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; } Mod+D hotkey-overlay-title="Run an Application: wofi" { spawn "wofi" "--show" "drun"; } - Mod+W hotkey-overlay-title="Open a Web Browser: firefox" { spawn "firefox"; } + Mod+W hotkey-overlay-title="Open a Web Browser: librewolf" { spawn "librewolf"; } // You can also use a shell. Do this if you need pipes, multiple commands, etc. // Note: the entire command goes as a single argument in the end. @@ -516,11 +516,9 @@ binds { Mod+R { switch-preset-column-width; } Mod+Shift+R { switch-preset-window-height; } Mod+Ctrl+R { reset-window-height; } + Mod+F { maximize-column; } Mod+Shift+F { fullscreen-window; } - - // Expand the focused column to space not taken up by other fully visible columns. - // Makes the column "fill the rest of the space". Mod+Ctrl+F { expand-column-to-available-width; } Mod+C { center-column; } diff --git a/default.nix b/default.nix index f7d4eb1..e172edf 100644 --- a/default.nix +++ b/default.nix @@ -47,7 +47,6 @@ }; boot = { - kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; loader = { systemd-boot.enable = lib.mkDefault true; systemd-boot.configurationLimit = lib.mkDefault 5; @@ -66,5 +65,5 @@ }; }; - system.stateVersion = "25.05"; + system.stateVersion = "25.11"; } @@ -7,70 +7,32 @@ ] }, "locked": { - "lastModified": 1750713626, - "narHash": "sha256-uM+hqdMxp+H53d8R7EHn2yY+nLNGgg59pdipIgCZ5yY=", + "lastModified": 1764866045, + "narHash": "sha256-0GsEtXV9OquDQ1VclQfP16cU5VZh7NEVIOjSH4UaJuM=", "owner": "nix-community", "repo": "home-manager", - "rev": "86402a17b6c67b07c5536354da5d56c14196de46", + "rev": "f63d0fe9d81d36e5fc95497217a72e02b8b7bcab", "type": "github" }, "original": { "owner": "nix-community", + "ref": "release-25.11", "repo": "home-manager", "type": "github" } }, - "lsfg-vk-flake": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1753938292, - "narHash": "sha256-akeUWgvIIi163s/femzvTOuqqOiOB/8US5ioHsNqhYY=", - "owner": "pabloaul", - "repo": "lsfg-vk-flake", - "rev": "081cd66b1369188777ea146a759d35e99ea6b031", - "type": "github" - }, - "original": { - "owner": "pabloaul", - "ref": "main", - "repo": "lsfg-vk-flake", - "type": "github" - } - }, - "nix-index-database": { - "inputs": { - "nixpkgs": "nixpkgs" - }, - "locked": { - "lastModified": 1728790083, - "narHash": "sha256-grMdAd4KSU6uPqsfLzA1B/3pb9GtGI9o8qb0qFzEU/Y=", - "owner": "Mic92", - "repo": "nix-index-database", - "rev": "5c54c33aa04df5dd4b0984b7eb861d1981009b22", - "type": "github" - }, - "original": { - "owner": "Mic92", - "repo": "nix-index-database", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1728492678, - "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=", - "owner": "NixOS", + "lastModified": 1764831616, + "narHash": "sha256-OtzF5wBvO0jgW1WW1rQU9cMGx7zuvkF7CAVJ1ypzkxA=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7", + "rev": "c97c47f2bac4fa59e2cbdeba289686ae615f8ed4", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-unstable", + "owner": "nixos", + "ref": "nixos-25.11", "repo": "nixpkgs", "type": "github" } @@ -91,28 +53,10 @@ "type": "github" } }, - "nixpkgs_2": { - "locked": { - "lastModified": 1763948260, - "narHash": "sha256-dY9qLD0H0zOUgU3vWacPY6Qc421BeQAfm8kBuBtPVE0=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1c8ba8d3f7634acac4a2094eef7c32ad9106532c", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-25.05", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "home-manager": "home-manager", - "lsfg-vk-flake": "lsfg-vk-flake", - "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable" } } @@ -1,27 +1,21 @@ { description = "Jon's NixOS configuration"; - + inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; - + home-manager = { - url = "github:nix-community/home-manager"; + url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; - - lsfg-vk-flake.url = "github:pabloaul/lsfg-vk-flake/main"; - lsfg-vk-flake.inputs.nixpkgs.follows = "nixpkgs"; - - nix-index-database.url = "github:Mic92/nix-index-database"; }; outputs = inputs @ { self, nixpkgs, nixpkgs-unstable, - nix-index-database, - lsfg-vk-flake, + home-manager, ... }: let system = "x86_64-linux"; @@ -51,8 +45,6 @@ inherit system; specialArgs = {inherit lib inputs system; rootPath=./.;}; modules = [ - nix-index-database.nixosModules.nix-index - lsfg-vk-flake.nixosModules.default { nixpkgs.pkgs = pkgs; modules.device.name = lib.mkDefault (builtins.baseNameOf path); diff --git a/hosts/jonbox/default.nix b/hosts/jonbox/default.nix index 1ed69bf..f74d4a0 100644 --- a/hosts/jonbox/default.nix +++ b/hosts/jonbox/default.nix @@ -48,7 +48,6 @@ liberation_ttf noto-fonts noto-fonts-cjk-sans - noto-fonts-emoji nerd-fonts.fira-code ]; @@ -60,20 +59,19 @@ hasBluetooth = true; }; desktop = { - hyprland.enable = true; + niri.enable = true; apps = { - browsers.firefox.enable = true; + browsers.librewolf.enable = true; games = { enable = true; prism.enable = true; steam.enable = true; - vintagestory.enable = true; openttd.enable = true; luanti.enable = true; }; editors = { neovim.enable = true; - vscode.enable = true; + vscodium.enable = true; }; mpd.enable = true; flatpak.enable = true; @@ -85,7 +83,6 @@ }; services.printing.enable = true; - services.mullvad-vpn.enable = true; networking.nameservers = [ "1.1.1.1" @@ -119,10 +116,11 @@ ]; home.packages = with pkgs; [ - cataclysm-dda - cataclysm-tlg - (callPackage (rootPath + /packages/freeciv/default.nix) {}) - unstable.unciv + cataclysm-dda + cataclysm-tlg + (callPackage (rootPath + /packages/freeciv/default.nix) {}) + unstable.unciv + vintagestory ]; #services.clamav.daemon.enable = true; @@ -141,9 +139,4 @@ programs.nix-ld.enable = true; programs.nix-index.enableZshIntegration = false; programs.nix-index.enableBashIntegration = false; - - services.lsfg-vk = { - enable = false; - ui.enable = false; - }; } diff --git a/modules/desktop/apps/browsers/librewolf.nix b/modules/desktop/apps/browsers/librewolf.nix new file mode 100644 index 0000000..1700754 --- /dev/null +++ b/modules/desktop/apps/browsers/librewolf.nix @@ -0,0 +1,66 @@ +{ + config, + options, + lib, + pkgs, + ... +}: let + librewolfConf = config.modules.desktop.apps.browsers.librewolf; +in +{ + options.modules.desktop.apps.browsers.librewolf = { + enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + }; + config = lib.mkIf (librewolfConf.enable) { + home.manager.programs.librewolf = { + enable = true; + profiles = { + "user" = { + id = 0; + isDefault = true; + + search.engines = { + "Nix Packages" = { + urls = [{ + template = "https://search.nixos.org/packages"; + params = [ + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + definedAliases = [ "@np" ]; + }; + "Nix Options" = { + urls = [{ + template = "https://search.nixos.org/options"; + params = [ + { name = "query"; value = "{searchTerms}"; } + ]; + }]; + definedAliases = [ "@no" ]; + }; + "Nix Wiki" = { + urls = [{ + template = "https://wiki.nixos.org/w/index.php"; + params = [ + { name = "search"; value = "{searchTerms}"; } + ]; + }]; + definedAliases = [ "@nw" ]; + }; + }; + }; + }; + }; + + modules.desktop.defaultApplications.apps.browser = rec { + package = pkgs.librewolf; + install = false; + cmd = "${package}/bin/librewolf"; + desktop = "librewolf"; + }; + }; +} diff --git a/modules/desktop/apps/editors/vscode.nix b/modules/desktop/apps/editors/vscode.nix index a775be8..d9f3bd4 100644 --- a/modules/desktop/apps/editors/vscode.nix +++ b/modules/desktop/apps/editors/vscode.nix @@ -5,10 +5,10 @@ pkgs, ... }: let - codeConf = config.modules.desktop.apps.editors.vscode; + codeConf = config.modules.desktop.apps.editors.vscodium; configDir = config.nixosConfig.configDir; in { - options.modules.desktop.apps.editors.vscode = { + options.modules.desktop.apps.editors.vscodium = { enable = lib.mkOption { type = lib.types.bool; default = false; diff --git a/modules/desktop/apps/games/prism.nix b/modules/desktop/apps/games/prism.nix index d3ceee7..b586451 100644 --- a/modules/desktop/apps/games/prism.nix +++ b/modules/desktop/apps/games/prism.nix @@ -16,7 +16,8 @@ in { }; config = lib.mkIf (prismConf.enable) { - environment.systemPackages = [ + home.packages = [ + pkgs.javaPackages.compiler.temurin-bin.jre-25 pkgs.prismlauncher ]; }; diff --git a/modules/desktop/apps/games/vintagestory.nix b/modules/desktop/apps/games/vintagestory.nix deleted file mode 100644 index a15935a..0000000 --- a/modules/desktop/apps/games/vintagestory.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - config, - options, - lib, - pkgs, - rootPath, - ... -}: let - vsConf = config.modules.desktop.apps.games.vintagestory; - configDir = config.nixosConfig.configDir; -in { - options.modules.desktop.apps.games.vintagestory = { - enable = lib.mkOption { - type = lib.types.bool; - default = false; - }; - }; - - config = lib.mkIf (vsConf.enable) { - home.manager.xdg.mimeApps = { - defaultApplications = { - "x-scheme-handler/vintagestoryjoin" = [ "Vintagestory_url_connect.desktop" ]; - "x-scheme-handler/vintagestorymodinstall" = [ "Vintagestory_url_mod.desktop" ]; - }; - }; - - home.packages = with pkgs; [ - (callPackage (rootPath + /packages/vintagestory/default.nix) {}) - ]; - }; -} diff --git a/modules/desktop/apps/mpd.nix b/modules/desktop/apps/mpd.nix index 17b22ec..3ec86e4 100644 --- a/modules/desktop/apps/mpd.nix +++ b/modules/desktop/apps/mpd.nix @@ -17,7 +17,7 @@ in config = lib.mkIf (mpdConfig.enable) { home.packages = [ - pkgs.mpc-cli + pkgs.mpc ]; services.mpd = { diff --git a/modules/desktop/apps/virt.nix b/modules/desktop/apps/virt.nix index a9eaef4..ec4a41a 100644 --- a/modules/desktop/apps/virt.nix +++ b/modules/desktop/apps/virt.nix @@ -26,13 +26,6 @@ in package = pkgs.qemu_kvm; runAsRoot = true; swtpm.enable = true; - ovmf = { - enable = true; - packages = [(pkgs.OVMF.override { - secureBoot = true; - tpmSupport = true; - }).fd]; - }; }; }; programs.virt-manager.enable = true; diff --git a/modules/hardware/gpu.nix b/modules/hardware/gpu.nix index a71d9d3..32fdf68 100644 --- a/modules/hardware/gpu.nix +++ b/modules/hardware/gpu.nix @@ -42,12 +42,11 @@ in { hardware.nvidia = { modesetting.enable = true; - powerManagement.enable = false; + powerManagement.enable = true; powerManagement.finegrained = false; open = true; nvidiaSettings = true; - package = config.boot.kernelPackages.nvidiaPackages.latest; }; environment.systemPackages = with pkgs; [ diff --git a/modules/options.nix b/modules/options.nix index c2463b4..04566eb 100644 --- a/modules/options.nix +++ b/modules/options.nix @@ -6,6 +6,7 @@ home-manager, ... }: { + options = { user = lib.mkOption { type = lib.types.attrs; @@ -111,6 +112,7 @@ xdg = { enable = true; configFile = lib.mkAliasDefinitions options.home.configFile; + configHome = config.user.home + "/.config"; }; }; diff --git a/modules/shell/zsh.nix b/modules/shell/zsh.nix index c844564..b786356 100644 --- a/modules/shell/zsh.nix +++ b/modules/shell/zsh.nix @@ -44,7 +44,7 @@ in { syntaxHighlighting.enable = true; autocd = true; defaultKeymap = "viins"; - dotDir = ".config/zsh"; + dotDir = config.home.manager.xdg.configHome; history = { size = 10000; diff --git a/overlay.nix b/overlay.nix index 0f08d5e..a749f87 100644 --- a/overlay.nix +++ b/overlay.nix @@ -16,13 +16,21 @@ }; }); + 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: { version = "0.I"; src = prev.fetchFromGitHub { owner = "CleverRaven"; repo = "Cataclysm-DDA"; - tag = "cdda-0.I-2025-10-02-0217"; - sha256 = "sha256-wD11w1u4hJfvh003ce+7Kq3/OgZDDDDd3VUh7fDgY5Q="; + rev = "${final.cataclysm-dda.version}-branch"; + sha256 = "sha256-1FStdkXC1b1SE+UeIn7Z7Omtm/cDmlI1b55hGxfCXPs="; }; patches = []; }); @@ -30,12 +38,12 @@ cataclysm-tlg = prev.cataclysm-dda-git.overrideAttrs (old: { meta.mainProgram = "cataclysm-tlg-tiles"; pname = "cataclysm-tlg"; - version = "2025-10-17-1123"; + 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-rpfRBVKyFTLOLl8AOdTueaXI+TozVAEGy5aycoE+ZDs="; + sha256 = "sha256-KJ3/uZ6d18dES5qgElIUDdncEWBQIzaZMEHzvzcpJoA="; }; makeFlags = prev.cataclysm-dda-git.makeFlags ++ [ "TESTS=0" ]; postInstall = '' diff --git a/packages/vintagestory/default.nix b/packages/vintagestory/default.nix deleted file mode 100644 index 8df3a75..0000000 --- a/packages/vintagestory/default.nix +++ /dev/null @@ -1,117 +0,0 @@ -{ - lib, - stdenv, - fetchurl, - makeWrapper, - makeDesktopItem, - copyDesktopItems, - xorg, - gtk2, - sqlite, - openal, - cairo, - libGLU, - SDL2, - freealut, - libglvnd, - pipewire, - libpulseaudio, - wayland, - libxkbcommon, - dotnet-runtime_8 -}: - -stdenv.mkDerivation rec { - name = "vintagestory-${version}"; - version = "1.21.4"; - - src = fetchurl { - url = "https://cdn.vintagestory.at/gamefiles/stable/vs_client_linux-x64_${version}.tar.gz"; - hash = "sha256-npffJgxgUMefX9OiveNk1r4kVqsMaVCC1jcWaibz9l8="; - }; - - nativeBuildInputs = [ - makeWrapper - copyDesktopItems - ]; - - buildInputs = [ dotnet-runtime_8 ]; - - runtimeLibs = lib.makeLibraryPath ( - [ - gtk2 - sqlite - openal - cairo - libGLU - SDL2 - freealut - libglvnd - pipewire - libpulseaudio - wayland - libxkbcommon - ] - ++ (with xorg; [ - libX11 - libXi - libXcursor - ]) - ); - - desktopItems = [ - (makeDesktopItem { - name = "vintagestory"; - desktopName = "Vintage Story"; - exec = "vintagestory"; - icon = "vintagestory"; - comment = "Innovate and explore in a sandbox world"; - categories = [ "Game" ]; - }) - (makeDesktopItem { - name = "Vintagestory_url_connect"; - desktopName = "Vintage Story URI Connect"; - type = "Application"; - noDisplay = true; - mimeTypes = [ "x-scheme-handler/vintagestoryjoin" ]; - exec = "vintagestory -c %U"; - categories = [ "Game" ]; - }) - (makeDesktopItem { - name = "Vintagestory_url_mod"; - desktopName = "Vintage Story URI mod install"; - type = "Application"; - noDisplay = true; - mimeTypes = [ "x-scheme-handler/vintagestorymodinstall" ]; - exec = "vintagestory -i %U"; - categories = [ "Game" ]; - }) - ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/share/vintagestory $out/bin $out/share/pixmaps $out/share/fonts/truetype - cp -r * $out/share/vintagestory - cp $out/share/vintagestory/assets/gameicon.xpm $out/share/pixmaps/vintagestory.xpm - cp $out/share/vintagestory/assets/game/fonts/*.ttf $out/share/fonts/truetype - - runHook postInstall - ''; - - preFixup = - '' - makeWrapper ${dotnet-runtime_8}/bin/dotnet $out/bin/vintagestory \ - --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ - --add-flags $out/share/vintagestory/Vintagestory.dll - makeWrapper ${dotnet-runtime_8}/bin/dotnet $out/bin/vintagestory-server \ - --prefix LD_LIBRARY_PATH : "${runtimeLibs}" \ - --add-flags $out/share/vintagestory/VintagestoryServer.dll - '' - + '' - find "$out/share/vintagestory/assets/" -not -path "*/fonts/*" -regex ".*/.*[A-Z].*" | while read -r file; do - local filename="$(basename -- "$file")" - ln -sf "$filename" "''${file%/*}"/"''${filename,,}" - done - ''; -} |
