Compare commits

..
12 Commits
9 changed files with 213 additions and 44 deletions
Generated
+131 -33
View File
@@ -261,6 +261,22 @@
} }
}, },
"flake-compat_4": { "flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_5": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
@@ -296,6 +312,24 @@
} }
}, },
"flake-parts_2": { "flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1782949081,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixvim", "nixvim",
@@ -316,7 +350,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_3": { "flake-parts_4": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nur", "nur",
@@ -337,7 +371,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-parts_4": { "flake-parts_5": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"stylix", "stylix",
@@ -410,6 +444,31 @@
"type": "github" "type": "github"
} }
}, },
"git-hooks": {
"inputs": {
"flake-compat": [
"nix-gaming",
"flake-compat"
],
"nixpkgs": [
"nix-gaming",
"nixpkgs"
]
},
"locked": {
"lastModified": 1784288435,
"narHash": "sha256-ReRHaLgr/uVqdD8afFSn+myXIfpHeOhP0yYe0TJqAA8=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "43b3c1ab9d40fb1dbb008f451988a91e375825e9",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -972,15 +1031,15 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1781234038, "lastModified": 1784970463,
"narHash": "sha256-jo4a47qDgsx1F1i0MtHZl12FfzqKJOES25vbm0ZUxeI=", "narHash": "sha256-DZAPpKpsb4HbsVFIRN1hgC3AV3L7g+np8QyyfSI+sJ4=",
"owner": "sodiboo", "owner": "epireyn",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "eb5789cba8d37802d330df5a13c691622c83121f", "rev": "13ea222907ca78d5d55312ce2d9e460d369b3ca1",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "sodiboo", "owner": "epireyn",
"repo": "niri-flake", "repo": "niri-flake",
"type": "github" "type": "github"
} }
@@ -988,16 +1047,16 @@
"niri-stable": { "niri-stable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1756556321, "lastModified": 1777115961,
"narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", "narHash": "sha256-ehSMsSpE+0k8r+2Vseu8kangsYxToZv3vinynsDp9zs=",
"owner": "YaLTeR", "owner": "niri-wm",
"repo": "niri", "repo": "niri",
"rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", "rev": "8ed0da44d974c32c6877d2f4630c314da0717ecb",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "YaLTeR", "owner": "niri-wm",
"ref": "v25.08", "ref": "v26.04",
"repo": "niri", "repo": "niri",
"type": "github" "type": "github"
} }
@@ -1005,15 +1064,15 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1780938415, "lastModified": 1784570726,
"narHash": "sha256-QHyIMGSbCQW8d5qbOrMsm6gem10bO3Au2YLa3alJfHo=", "narHash": "sha256-9EMn69JBcFWFgUM7f0VBAX+jBby5b9H3M59U75+5yI4=",
"owner": "YaLTeR", "owner": "niri-wm",
"repo": "niri", "repo": "niri",
"rev": "6f1a2c5f0e8274223d4204b1f8d6f7f91538967e", "rev": "7f26c3ee804fb6ed458ef7fb0e3c794f14e0b3bc",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "YaLTeR", "owner": "niri-wm",
"repo": "niri", "repo": "niri",
"type": "github" "type": "github"
} }
@@ -1075,6 +1134,29 @@
"type": "github" "type": "github"
} }
}, },
"nix-gaming": {
"inputs": {
"flake-compat": "flake-compat_4",
"flake-parts": "flake-parts_2",
"git-hooks": "git-hooks",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1785207248,
"narHash": "sha256-SrVCwM5vEDVDiHasiYgoakQWTfyog/MU63PFz2RneBU=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "424ce3e87bef8b7f2e6fa3c748cfaaafcf0d4c9b",
"type": "github"
},
"original": {
"owner": "fufexan",
"repo": "nix-gaming",
"type": "github"
}
},
"nix-index-database": { "nix-index-database": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -1112,18 +1194,33 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": {
"locked": {
"lastModified": 1782614948,
"narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1780952837, "lastModified": 1784856561,
"narHash": "sha256-Fwd1+spDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv+G/Hds=", "narHash": "sha256-J+Bx1Z6Oeoj2FgnBhRMKyUhhtDoOpTgXYaVLZpDjW4A=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e820eb4a444b46a19b2e03e8dfd2359439ff30fe", "rev": "597283ad8aa0b331c788e97c4c262d58877074ef",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-25.11", "ref": "nixos-26.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@@ -1303,7 +1400,7 @@
}, },
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_3",
"nixpkgs": "nixpkgs_9", "nixpkgs": "nixpkgs_9",
"systems": "systems_4" "systems": "systems_4"
}, },
@@ -1323,7 +1420,7 @@
}, },
"nps": { "nps": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_5",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"naersk": "naersk", "naersk": "naersk",
"nixpkgs": [ "nixpkgs": [
@@ -1346,7 +1443,7 @@
}, },
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_3", "flake-parts": "flake-parts_4",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
@@ -1455,6 +1552,7 @@
"nix-alien": "nix-alien", "nix-alien": "nix-alien",
"nix-darwin": "nix-darwin", "nix-darwin": "nix-darwin",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nix-gaming": "nix-gaming",
"nixpkgs": "nixpkgs_8", "nixpkgs": "nixpkgs_8",
"nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-stable": "nixpkgs-stable_2",
"nixvim": "nixvim", "nixvim": "nixvim",
@@ -1531,7 +1629,7 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-parts": "flake-parts_4", "flake-parts": "flake-parts_5",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
@@ -1813,16 +1911,16 @@
"xwayland-satellite-stable": { "xwayland-satellite-stable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1755491097, "lastModified": 1771195969,
"narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", "narHash": "sha256-BUE41HjLIGPjq3U8VXPjf8asH8GaMI7FYdgrIHKFMXA=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "388d291e82ffbc73be18169d39470f340707edaa", "rev": "536bd32efc935bf876d6de385ec18a1b715c9358",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "Supreeeme", "owner": "Supreeeme",
"ref": "v0.7", "ref": "v0.8.1",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"type": "github" "type": "github"
} }
@@ -1830,11 +1928,11 @@
"xwayland-satellite-unstable": { "xwayland-satellite-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1781226823, "lastModified": 1784679892,
"narHash": "sha256-28696iIw8uE0ZUyFTtzhEM8xMh85clCYypMxkvUi+sc=", "narHash": "sha256-Mb7jpqnrcYCfNSItIkkHpuR3YxWFxPuIBfcwNKlRBkk=",
"owner": "Supreeeme", "owner": "Supreeeme",
"repo": "xwayland-satellite", "repo": "xwayland-satellite",
"rev": "8575d0ef55d70f9b4c46b6bffb3accf912217e1e", "rev": "8d135d3b2854b30fd01ea6cd6c27e523dd50a839",
"type": "github" "type": "github"
}, },
"original": { "original": {
+8 -2
View File
@@ -47,6 +47,10 @@
nps.url = "github:OleMussmann/nps"; nps.url = "github:OleMussmann/nps";
nps.inputs.nixpkgs.follows = "nixpkgs"; nps.inputs.nixpkgs.follows = "nixpkgs";
# Nix Gaming
nix-gaming.url = "github:fufexan/nix-gaming";
nix-gaming.inputs.nixpkgs.follows = "nixpkgs";
# Run unpatched binaries on NixOS # Run unpatched binaries on NixOS
nix-alien.url = "github:thiagokokada/nix-alien"; nix-alien.url = "github:thiagokokada/nix-alien";
# Don't follow nixpkgs: # Don't follow nixpkgs:
@@ -54,7 +58,8 @@
# nix-alien.inputs.nixpkgs.follows = "nixpkgs"; # nix-alien.inputs.nixpkgs.follows = "nixpkgs";
# Niri # Niri
niri.url = "github:sodiboo/niri-flake"; # niri.url = "github:sodiboo/niri-flake";
niri.url = "github:epireyn/niri-flake"; # NOTE: Updated fork of sodiboo's
niri.inputs.nixpkgs.follows = "nixpkgs"; niri.inputs.nixpkgs.follows = "nixpkgs";
# Hyprland # Hyprland
@@ -214,7 +219,6 @@
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.impermanence.nixosModules.impermanence inputs.impermanence.nixosModules.impermanence
inputs.lanzaboote.nixosModules.lanzaboote inputs.lanzaboote.nixosModules.lanzaboote
inputs.stylix.nixosModules.stylix
# We need the niri module also on the headless hosts # We need the niri module also on the headless hosts
# so nix can parse the config (although it is disabled...) # so nix can parse the config (although it is disabled...)
@@ -263,6 +267,8 @@
extraModules = extraModules =
[ [
inputs.disko.nixosModules.disko inputs.disko.nixosModules.disko
inputs.stylix.nixosModules.stylix
inputs.nix-gaming.nixosModules.platformOptimizations
] ]
++ commonModules; ++ commonModules;
}; };
+35 -1
View File
@@ -296,7 +296,7 @@
plugin = [ plugin = [
"opencode-claude-auth@latest" # https://github.com/griffinmartin/opencode-claude-auth "opencode-claude-auth@latest" # https://github.com/griffinmartin/opencode-claude-auth
"@tarquinen/opencode-dcp@latest" # better compacting "@tarquinen/opencode-dcp@latest" # better compacting
"opencode-lmstudio@0.3.1" # "opencode-lmstudio@0.3.1"
# "@slkiser/opencode-quota" # "@slkiser/opencode-quota"
]; ];
share = "disabled"; share = "disabled";
@@ -451,6 +451,33 @@
stateVersion = "22.05"; stateVersion = "22.05";
}; };
# Cyberpunk 2077 NXM handler
xdg.desktopEntries."modorganizer2-nxm-handler-cyberpunk" = {
type = "Application";
categories = ["Game"];
name = "Mod Organizer 2 NXM Handler (Cyberpunk 2077)";
mimeType = ["x-scheme-handler/nxm"];
exec = let
# Paths seen from inside the Flatpak Steam sandbox
steam = "$HOME/.steam/steam";
steamapps = "$HOME/Games/SteamLibrary/steamapps";
proton = "Proton 11.0";
# Runs inside flatpak's sandbox
innerCommand = ''
export STEAM_COMPAT_CLIENT_INSTALL_PATH="${steam}"
export STEAM_COMPAT_DATA_PATH="${steamapps}/compatdata/1091500"
exec "${steam}/steamapps/common/${proton}/proton" run \
"$HOME/Games/CyberpunkMO2/nxmhandler.exe" "$1"
'';
# Important: Run through flatpak's/steam's runtimes
nxmHandler = pkgs.writeShellScript "cyberpunk-nxm-handler" ''
exec flatpak run --command=sh com.valvesoftware.Steam -c ${lib.escapeShellArg innerCommand} _ "$1"
'';
in "${nxmHandler} %u";
};
services = { services = {
flatpak = { flatpak = {
packages = [ packages = [
@@ -505,6 +532,13 @@
}; };
}; };
"com.valvesoftware.Steam.Utility.steamtinkerlaunch".Context = {
filesystems = [
"${config.home.homeDirectory}/.var/app/com.valvesoftware.Steam"
"${config.home.homeDirectory}/Games"
];
};
"net.davidotek.pupgui2".Context = { "net.davidotek.pupgui2".Context = {
filesystems = [ filesystems = [
"${config.home.homeDirectory}/.var/app/com.valvesoftware.Steam" "${config.home.homeDirectory}/.var/app/com.valvesoftware.Steam"
+31 -4
View File
@@ -731,6 +731,32 @@ in {
# opacity = 0.8; # opacity = 0.8;
} }
# Blurred windows
{
matches = [
# {app-id = "code";}
# {app-id = "code-url-handler";}
# {app-id = "dev.zed.Zed";}
# {app-id = "discord";}
# {app-id = "firefox";}
# {app-id = "jetbrains-clion";}
# {app-id = "jetbrains-idea";}
# {app-id = "jetbrains-pycharm";}
# {app-id = "jetbrains-rustrover";}
# {app-id = "jetbrains-rider";}
# {app-id = "jetbrains-webstorm";}
{app-id = "kitty";}
{app-id = "neovide";}
# {app-id = "obsidian";}
# {app-id = "org.qutebrowser.qutebrowser";}
# {app-id = "signal";}
# {app-id = "steam";}
];
opacity = 0.9;
background-effect.blur = true;
}
# Floating + unmaximized windows # Floating + unmaximized windows
{ {
matches = [ matches = [
@@ -852,14 +878,15 @@ in {
enable = true; enable = true;
draw-behind-window = true; draw-behind-window = true;
}; };
background-effect.blur = true;
} }
# TODO: Missing niri-flake update # TODO: Makes entire screen blank and blurred?
# { # {
# matches = [{namespace = "walker";}]; # matches = [{namespace = "walker";}];
# #
# background-effect = { # opacity = 0.0;
# blur = true; # background-effect.blur = true;
# };
# } # }
]; ];
+1 -1
View File
@@ -200,7 +200,7 @@ in {
border-width: ${border-width}; border-width: ${border-width};
border-radius: ${border-radius}; border-radius: ${border-radius};
border-color: #${color.hex.accent}; border-color: #${color.hex.accent};
background-color: rgba(${color.rgbS.mantle}, 1.0); background-color: rgba(${color.rgbS.mantle}, 0.7);
} }
tooltip { tooltip {
+2
View File
@@ -25,12 +25,14 @@
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
# "https://app.cachix.org/cache/nixos-rocm" # "https://app.cachix.org/cache/nixos-rocm"
"https://hyprland.cachix.org" "https://hyprland.cachix.org"
"https://nix-gaming.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
# "nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE=" # "nixos-rocm.cachix.org-1:VEpsf7pRIijjd8csKjFNBGzkBqOmw8H9PRmgAq14LnE="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="
]; ];
}; };
+2 -1
View File
@@ -337,7 +337,8 @@ with mylib.networking; {
niri = { niri = {
enable = !headless; enable = !headless;
package = pkgs.niri-unstable; # TODO: Can remove this again once niri-flake is updated for 25.11 package = pkgs.niri;
# package = pkgs.niri-unstable; # TODO: Can remove this again once niri-flake is updated for 25.11
}; };
ssh.startAgent = true; # Use gnupg ssh.startAgent = true; # Use gnupg
+1
View File
@@ -255,6 +255,7 @@
gdb = true; gdb = true;
}; };
steam.platformOptimizations.enable = true; # From nix-gaming module
virt-manager.enable = true; virt-manager.enable = true;
}; };
+2 -2
View File
@@ -5,8 +5,8 @@
pkgs, pkgs,
... ...
}: let }: let
giteaVersion = "1.24.2"; giteaVersion = "1.27.0";
runnerVersion = "0.2.12"; runnerVersion = "0.6.1";
in { in {
users = { users = {
groups.git = {}; groups.git = {};