summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/niri/jonbox.kdl6
-rw-r--r--default.nix3
-rw-r--r--flake.lock78
-rw-r--r--flake.nix18
-rw-r--r--hosts/jonbox/default.nix23
-rw-r--r--modules/desktop/apps/browsers/librewolf.nix66
-rw-r--r--modules/desktop/apps/editors/vscode.nix4
-rw-r--r--modules/desktop/apps/games/prism.nix3
-rw-r--r--modules/desktop/apps/games/vintagestory.nix31
-rw-r--r--modules/desktop/apps/mpd.nix2
-rw-r--r--modules/desktop/apps/virt.nix7
-rw-r--r--modules/hardware/gpu.nix3
-rw-r--r--modules/options.nix2
-rw-r--r--modules/shell/zsh.nix2
-rw-r--r--overlay.nix16
-rw-r--r--packages/vintagestory/default.nix117
16 files changed, 114 insertions, 267 deletions
diff --git a/config/niri/jonbox.kdl b/config/niri/jonbox.kdl
index 4952ac7..a1826f9 100644
--- a/config/niri/jonbox.kdl
+++ b/config/niri/jonbox.kdl
@@ -347,7 +347,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.
@@ -520,11 +520,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";
}
diff --git a/flake.lock b/flake.lock
index cced915..91a8a41 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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"
}
}
diff --git a/flake.nix b/flake.nix
index e93b180..a45bca1 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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
- '';
-}