impl single-gpu-passthru

This commit is contained in:
zack 2025-01-13 17:07:11 -05:00
parent a8219d7148
commit 82c3c45428
No known key found for this signature in database
GPG key ID: EE8A2B709E2401D1
8 changed files with 312 additions and 130 deletions

202
flake.lock generated
View file

@ -151,11 +151,11 @@
"nuscht-search": "nuscht-search" "nuscht-search": "nuscht-search"
}, },
"locked": { "locked": {
"lastModified": 1736069220, "lastModified": 1736785029,
"narHash": "sha256-76MaB3COao55nlhWmSmq9PKgu2iGIs54C1cAE0E5J6Y=", "narHash": "sha256-xHe4X4Je/4WjBL3BPlI1KGqA5N7VQpi4x57YYU9ZOlI=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "8eada392fd6571a747e1c5fc358dd61c14c8704e", "rev": "4a5ac694d7f8a63dec75cbe0ac1c84c818b6b789",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -180,12 +180,12 @@
}, },
"catppuccin-v1_2": { "catppuccin-v1_2": {
"locked": { "locked": {
"lastModified": 1734728407, "lastModified": 1734734291,
"narHash": "sha256-Let3uJo4YDyfqbqaw66dpZxhJB2TrDyZWSFd5rpPLJA=", "narHash": "sha256-CFX4diEQHKvZYjnhf7TLg20m3ge1O4vqgplsk/Kuaek=",
"rev": "23ee86dbf4ed347878115a78971d43025362fab1", "rev": "1e4c3803b8da874ff75224ec8512cb173036bbd8",
"revCount": 341, "revCount": 344,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.0/0193e5e0-33b7-7149-a362-bfe56b20f64e/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/catppuccin/nix/1.2.1/0193e646-1107-7f69-a402-f2a3988ecf1d/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -250,11 +250,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1736591904, "lastModified": 1736711425,
"narHash": "sha256-LFO8pSrPKrH8OPq2HaAuBG5skk8/MNJ/9YmK3KsnSks=", "narHash": "sha256-8hKhPQuMtXfJi+4lPvw3FBk/zSJVHeb726Zo0uF1PP8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "33827d2bd16bfe2e21b62956526c72d313595dfd", "rev": "f720e64ec37fa16ebba6354eadf310f81555cc07",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -269,11 +269,11 @@
"nixpkgs-stable": "nixpkgs-stable_2" "nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1736615554, "lastModified": 1736788127,
"narHash": "sha256-R/YjqNsVVSzJT50zPRaxwr0foAMIGfeoqU2jOF4G5qk=", "narHash": "sha256-ssFq6P15HEhT1gVU8LD464hlnhapYRky449Y1R7QXfA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "38789ef3dafe7a3a8927ccc874ddc90d0d5ef3b2", "rev": "2126f88367e999c4ec9b50cd3966b32f7a27c66e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -862,11 +862,11 @@
"zig": "zig" "zig": "zig"
}, },
"locked": { "locked": {
"lastModified": 1736633944, "lastModified": 1736780823,
"narHash": "sha256-AQsDtTcYFN1ETxeETysvI0f79/5DHQ4ON4c9quB9vrg=", "narHash": "sha256-0O+w/MYI7xC4h1MmNg8rPVUIGPIIZYv+Vq0ZAY+MnW4=",
"owner": "ghostty-org", "owner": "ghostty-org",
"repo": "ghostty", "repo": "ghostty",
"rev": "bdbd0263a1c55e656408c772718370c92374bedb", "rev": "132c4f1f68d75813370cadfc090f96a32be19705",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1015,11 +1015,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734366194, "lastModified": 1736373539,
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=", "narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f", "rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1037,11 +1037,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734622215, "lastModified": 1736508663,
"narHash": "sha256-OOfI0XhSJGHblfdNDhfnn8QnZxng63rWk9eeJ2tCbiI=", "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "1395379a7a36e40f2a76e7b9936cc52950baa1be", "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1057,11 +1057,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1736508663, "lastModified": 1736785676,
"narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1168,11 +1168,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1736613484, "lastModified": 1736701836,
"narHash": "sha256-gYlminxNivqjOur5Zp6xDOh1U3VesO7/t+fNlV1WFH8=", "narHash": "sha256-gD2SA08Lfngi1Eguhoc4QHS5Tf4I76GaLr5ATpUXwwE=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "2778aff08fba59a34b404751039d7acb6bfb3bdf", "rev": "a6b263713a2b862ed41362082e2147e081934077",
"revCount": 5665, "revCount": 5670,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -1370,21 +1370,6 @@
"type": "github" "type": "github"
} }
}, },
"impermanence": {
"locked": {
"lastModified": 1734945620,
"narHash": "sha256-olIfsfJK4/GFmPH8mXMmBDAkzVQ1TWJmeGT3wBGfQPY=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "d000479f4f41390ff7cf9204979660ad5dd16176",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "impermanence",
"type": "github"
}
},
"ixx": { "ixx": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@ -1531,11 +1516,11 @@
"treefmt-nix": "treefmt-nix_3" "treefmt-nix": "treefmt-nix_3"
}, },
"locked": { "locked": {
"lastModified": 1736553940, "lastModified": 1736753650,
"narHash": "sha256-xicqHwvq2S/Y36DwcY+xGy6+4jdFT78bclBhwjs4KJY=", "narHash": "sha256-qSbPnZ2utGL39UD6lKi+K/7sWyZVl/kGZfOoy+xJEjA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "b2237869f288c278b6fd429445d460cb44a0e788", "rev": "9e2c41b7c12adc3ca17b1b50589f5234bcc0bbac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1547,11 +1532,11 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1736553525, "lastModified": 1736752727,
"narHash": "sha256-Kfx1r0yVTTa83EdP7Ta5ValnXy4ak3F10hHCymDAU7o=", "narHash": "sha256-sFD18EfXyQrN51ru6uzCt20C3DT4qBipJ1PbP9hnw80=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "fbe546e25d21f3184814d696c329d23d146bd615", "rev": "2c16c849986794682a4776ff4ec100d00eeba5ca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1562,11 +1547,11 @@
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1734829460, "lastModified": 1736643958,
"narHash": "sha256-dPhc+f2wkmhMqMIfq+hColJdysgVxKP9ilZ5bR0NRZI=", "narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "0a31e8d833173ae63e43fd9dbff1ccf09c4f778c", "rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1583,11 +1568,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734915500, "lastModified": 1736730523,
"narHash": "sha256-A7CTIQ8SW0hfbhKlwK+vSsu4pD+Oaelw3v6goX6go+U=", "narHash": "sha256-mvTZ7fLKA6ggGnA8GZwcXV57EvVReRTCfi26xc08Q3g=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "051d1b2dda3b2e81b38d82e2b691e5c2f4d335f4", "rev": "74b8e31dd709760c86eed16b6c1d0b88d7360937",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1598,11 +1583,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1736523798, "lastModified": 1736701207,
"narHash": "sha256-Xb8mke6UCYjge9kPR9o4P1nVrhk7QBbKv3xQ9cj7h2s=", "narHash": "sha256-jG/+MvjVY7SlTakzZ2fJ5dC3V1PrKKrUEOEE30jrOKA=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "130595eba61081acde9001f43de3248d8888ac4a", "rev": "ed4a395ea001367c1f13d34b1e01aa10290f67d6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1672,11 +1657,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1734600368, "lastModified": 1736061677,
"narHash": "sha256-nbG9TijTMcfr+au7ZVbKpAhMJzzE2nQBYmRvSdXUD8g=", "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b47fd6fa00c6afca88b8ee46cfdb00e104f50bca", "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1688,11 +1673,11 @@
}, },
"nixpkgs-stable_2": { "nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1736200483, "lastModified": 1736684107,
"narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", "narHash": "sha256-vH5mXxEvZeoGNkqKoCluhTGfoeXCZ1seYhC2pbMN0sg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", "rev": "635e887b48521e912a516625eee7df6cf0eba9c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1736,11 +1721,11 @@
}, },
"nixpkgs-stable_5": { "nixpkgs-stable_5": {
"locked": { "locked": {
"lastModified": 1736634154, "lastModified": 1736795688,
"narHash": "sha256-7Qoh6wVDj2Tov7uV2szrsVV4mJruh295DPd4EcBkL9c=", "narHash": "sha256-QRYJ/l4UcjcotdOWkT8Xdi5NNRRqWvIPhLjWtxwJHOk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "56571f191ac650bb336b1451253add751ef91b1a", "rev": "4616bdf77fdfc7c1b6276718c7496d305e4aa694",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1800,11 +1785,11 @@
}, },
"nixpkgs_12": { "nixpkgs_12": {
"locked": { "locked": {
"lastModified": 1736320768, "lastModified": 1736657626,
"narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", "narHash": "sha256-FWlPMUzp0lkQBdhKlPqtQdqmp+/C+1MBiEytaYfrCTY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", "rev": "2f9e2f85cb14a46410a1399aa9ea7ecf433e422e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1816,11 +1801,11 @@
}, },
"nixpkgs_13": { "nixpkgs_13": {
"locked": { "locked": {
"lastModified": 1736344531, "lastModified": 1736701207,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "narHash": "sha256-jG/+MvjVY7SlTakzZ2fJ5dC3V1PrKKrUEOEE30jrOKA=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", "rev": "ed4a395ea001367c1f13d34b1e01aa10290f67d6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1864,11 +1849,11 @@
}, },
"nixpkgs_16": { "nixpkgs_16": {
"locked": { "locked": {
"lastModified": 1728538411, "lastModified": 1736320768,
"narHash": "sha256-f0SBJz1eZ2yOuKUr5CA9BHULGXVSn6miBuUWdTyhUhU=", "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1954,11 +1939,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1734424634, "lastModified": 1736012469,
"narHash": "sha256-cHar1vqHOOyC7f1+tVycPoWTfKIaqkoe1Q6TnKzuti4=", "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d3c42f187194c26d9f0309a8ecc469d6c878ce33", "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1970,11 +1955,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1736344531, "lastModified": 1736701207,
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "narHash": "sha256-jG/+MvjVY7SlTakzZ2fJ5dC3V1PrKKrUEOEE30jrOKA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", "rev": "ed4a395ea001367c1f13d34b1e01aa10290f67d6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2058,11 +2043,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733773348, "lastModified": 1735854821,
"narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", "narHash": "sha256-Iv59gMDZajNfezTO0Fw6LHE7uKAShxbvMidmZREit7c=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "search", "repo": "search",
"rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", "rev": "836908e3bddd837ae0f13e215dd48767aee355f0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2203,11 +2188,11 @@
"systems": "systems_17" "systems": "systems_17"
}, },
"locked": { "locked": {
"lastModified": 1736531727, "lastModified": 1736732675,
"narHash": "sha256-OP1LAyC8RE/TuqHZ9sEfEWBRZnGlLNsmCRngI0608LY=", "narHash": "sha256-8O/YgYql1hJz0h+ldLsgU9bXZdm3RVwLPG5vl7LqtkY=",
"owner": "raphamorim", "owner": "raphamorim",
"repo": "rio", "repo": "rio",
"rev": "6239ed8df9ef6f922d34df3268aa2000cb1d8b32", "rev": "d8a5e2e2c4f5b926c8183465983a5adba8366667",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2231,7 +2216,6 @@
"home-manager": "home-manager_3", "home-manager": "home-manager_3",
"hypridle": "hypridle", "hypridle": "hypridle",
"hyprland": "hyprland", "hyprland": "hyprland",
"impermanence": "impermanence",
"kb-gui": "kb-gui", "kb-gui": "kb-gui",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"lix-module": "lix-module", "lix-module": "lix-module",
@ -2318,11 +2302,11 @@
"nixpkgs": "nixpkgs_16" "nixpkgs": "nixpkgs_16"
}, },
"locked": { "locked": {
"lastModified": 1736476219, "lastModified": 1736632357,
"narHash": "sha256-+qyv3QqdZCdZ3cSO/cbpEY6tntyYjfe1bB12mdpNFaY=", "narHash": "sha256-o+XYHMxGi8oiJlQ7UkDv0lzUuED6iaxZwPzD3kY7R38=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "de30cc5963da22e9742bbbbb9a3344570ed237b9", "rev": "09f2869b164f8b6d5e30f0bd7ed30d6eb8237058",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2338,11 +2322,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1736632357, "lastModified": 1736735482,
"narHash": "sha256-o+XYHMxGi8oiJlQ7UkDv0lzUuED6iaxZwPzD3kY7R38=", "narHash": "sha256-QOA4jCDyyUM9Y2Vba+HSZ/5LdtCMGaTE/7NkkUzBr50=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "09f2869b164f8b6d5e30f0bd7ed30d6eb8237058", "rev": "cf960a1938ee91200fe0d2f7b2582fde2429d562",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2406,11 +2390,11 @@
"snowfall-lib": "snowfall-lib_2" "snowfall-lib": "snowfall-lib_2"
}, },
"locked": { "locked": {
"lastModified": 1736321133, "lastModified": 1736760170,
"narHash": "sha256-WcMlGvUYUEUCxtrG3DHExdnvAHKuJazi9FLhAiqOorw=", "narHash": "sha256-GvMN9vsy59xitBKt0Qh/grANYi0AWHXokrr6FY4JXRM=",
"owner": "Svenum", "owner": "Svenum",
"repo": "Solaar-Flake", "repo": "Solaar-Flake",
"rev": "808a089a32a2c0f436f106fc554215c4930b3c69", "rev": "255c70259546c7201141e7903cd94b0507c6377e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2428,11 +2412,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1736568948, "lastModified": 1736741830,
"narHash": "sha256-nnaMeMQPDg1GLQPBejn4nBtvQKSRVv64IIPZ7XmX5u0=", "narHash": "sha256-7cXbJ3t/gvuHTI1uJ8juBK1NmSs4tRSGsb0MtCGo70o=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "3da50a44c6c47b3361e56231123797101892c565", "rev": "e1a0822469d975d25de4953860a15662fe5d6595",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2837,11 +2821,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1736498040, "lastModified": 1736677965,
"narHash": "sha256-fen7o+m7nVlRc1YEhxdWXZTZvcTYEy078nrccTulb7w=", "narHash": "sha256-vj4NpvjjW5cUBYJc9AUbH8D8LIkoSwQyKJ+02tHKAAU=",
"owner": "Alexays", "owner": "Alexays",
"repo": "Waybar", "repo": "Waybar",
"rev": "369c81d6f29e46287a961e8ef26dbf349021d4fb", "rev": "a4241d700823cbee9e717c90a8408e2dfc977b45",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -2896,11 +2880,11 @@
"nixpkgs": "nixpkgs_17" "nixpkgs": "nixpkgs_17"
}, },
"locked": { "locked": {
"lastModified": 1736565714, "lastModified": 1736742126,
"narHash": "sha256-/OyRMWPzV7027/Zvi5Kwb7D8UM0mhRLqPkC0WRHre2I=", "narHash": "sha256-vncZtYaV+MKOZrDJW/OkvtXEu2a5bYvgO6ldN6s+1To=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "48a7f03cdc23ca81c668d0f09ea4ab2278f61162", "rev": "ee8352faad5be12f7088431b979fa36088be65c4",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -118,10 +118,6 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
impermanence = {
url = "github:nix-community/impermanence";
};
g2claude.url = "git+https://git.zoeys.cloud/zoey/g2claude.git"; g2claude.url = "git+https://git.zoeys.cloud/zoey/g2claude.git";
rust-overlay = { rust-overlay = {
@ -155,7 +151,6 @@
catppuccin.homeManagerModules.catppuccin catppuccin.homeManagerModules.catppuccin
anyrun.homeManagerModules.default anyrun.homeManagerModules.default
ags.homeManagerModules.default ags.homeManagerModules.default
impermanence.nixosModules.home-manager.impermanence
]; ];
systems.modules.nixos = with inputs; [ systems.modules.nixos = with inputs; [
@ -168,7 +163,6 @@
zoeycomputer.nixosModules.default zoeycomputer.nixosModules.default
lix-module.nixosModules.default lix-module.nixosModules.default
disko.nixosModules.default disko.nixosModules.default
impermanence.nixosModules.impermanence
]; ];
}; };
in in

View file

@ -60,11 +60,11 @@
enable = true; enable = true;
defaultApplications = { defaultApplications = {
"text/html" = "zen_twilight.desktop"; "text/html" = "zen_beta.desktop";
"x-scheme-handler/http" = "zen_twilight.desktop"; "x-scheme-handler/http" = "zen_beta.desktop";
"x-scheme-handler/https" = "zen_twilight.desktop"; "x-scheme-handler/https" = "zen_beta.desktop";
"x-scheme-handler/about" = "zen_twilight.desktop"; "x-scheme-handler/about" = "zen_beta.desktop";
"x-scheme-handler/unknown" = "zen_twilight.desktop"; "x-scheme-handler/unknown" = "zen_beta.desktop";
"inode/directory" = ["org.gnome.Nautilus.desktop"]; "inode/directory" = ["org.gnome.Nautilus.desktop"];
@ -118,6 +118,7 @@
pkgs.custom.enc pkgs.custom.enc
pkgs.nix-tree pkgs.nix-tree
inputs.g2claude.packages.${pkgs.system}.default
pkgs.mongodb-compass pkgs.mongodb-compass
pkgs.postman pkgs.postman
@ -174,6 +175,9 @@
options = ["--cmd cd"]; options = ["--cmd cd"];
}; };
catppuccin.helix.enable = true;
programs.helix.enable = true;
programs.cava = { programs.cava = {
enable = true; enable = true;
catppuccin.enable = true; catppuccin.enable = true;
@ -190,7 +194,6 @@
programs.lazygit = { programs.lazygit = {
enable = true; enable = true;
catppuccin.enable = true;
}; };
programs.fzf = { programs.fzf = {

View file

@ -18,8 +18,8 @@ in {
package = pkgs.rofi; package = pkgs.rofi;
# Basic configuration # Basic configuration
terminal = "ghostty"; terminal = "kitty";
font = "Lexend Medium 16px"; font = "Cantarell";
extraConfig = { extraConfig = {
modi = "drun"; modi = "drun";
@ -138,7 +138,7 @@ in {
cursor = mkLiteral "inherit"; cursor = mkLiteral "inherit";
"vertical-align" = mkLiteral "0.5"; "vertical-align" = mkLiteral "0.5";
"horizontal-align" = mkLiteral "0.0"; "horizontal-align" = mkLiteral "0.0";
font = mkLiteral ''"Lexend Medium 16px"''; font = mkLiteral ''"Cantarell 16px"'';
}; };
}; };
}; };

View file

@ -58,6 +58,10 @@ in {
bindkey "^[[1;5C" forward-word bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word bindkey "^[[1;5D" backward-word
if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
tmux attach-session -t default || tmux new-session -s default
fi
''; '';
# oh my zsh # oh my zsh

View file

@ -0,0 +1,202 @@
{
inputs,
lib,
config,
pkgs,
...
}:
with lib;
with lib.custom; let
cfg = config.hardware.gpu-passthru;
in {
options.hardware.gpu-passthru = with types; {
enable = mkBoolOpt false "Enable support for single gpu-passthru";
};
config = mkIf cfg.enable {
boot.kernelParams = ["intel_iommu=on" "iommu=pt"];
boot.kernelModules = ["vfio-pci"];
virtualisation.libvirtd = {
enable = true;
onBoot = "ignore";
onShutdown = "shutdown";
qemuOvmf = true;
qemuRunAsRoot = true;
};
systemd.services.libvirtd = {
path = let
env = pkgs.buildEnv {
name = "qemu-hook-env";
paths = with pkgs; [
bash
libvirt
kmod
systemd
ripgrep
sd
];
};
in [env];
};
system.activationScripts.libvirt-hooks.text = ''
ln -Tfs /etc/libvirt/hooks /var/lib/libvirt/hooks
'';
# environment.systemPackages = with pkgs; [
# virt-manager
# gnome3.dconf
# libguestfs
# ];
environment.etc = {
"/libvirt/hooks/qemu" = {
text = ''
#!/run/current-system/sw/bin/bash
#
# Author: Sebastiaan Meijer (sebastiaan@passthroughpo.st)
#
# Copy this file to /etc/libvirt/hooks, make sure it's called "qemu".
# After this file is installed, restart libvirt.
# From now on, you can easily add per-guest qemu hooks.
# Add your hooks in /etc/libvirt/hooks/qemu.d/vm_name/hook_name/state_name.
# For a list of available hooks, please refer to https://www.libvirt.org/hooks.html
#
GUEST_NAME="$1"
HOOK_NAME="$2"
STATE_NAME="$3"
MISC="''${@:4}"
BASEDIR="$(dirname $0)"
HOOKPATH="$BASEDIR/qemu.d/$GUEST_NAME/$HOOK_NAME/$STATE_NAME"
set -e # If a script exits with an error, we should as well.
# check if it's a non-empty executable file
if [ -f "$HOOKPATH" ] && [ -s "$HOOKPATH"] && [ -x "$HOOKPATH" ]; then
eval \"$HOOKPATH\" "$@"
elif [ -d "$HOOKPATH" ]; then
while read file; do
# check for null string
if [ ! -z "$file" ]; then
eval \"$file\" "$@"
fi
done <<< "$(find -L "$HOOKPATH" -maxdepth 1 -type f -executable -print;)"
fi
'';
mode = "0755";
};
"libvirt/hooks/kvm.conf" = {
text = ''
VIRSH_GPU_VIDEO=pci_0000_0B_00_0
VIRSH_GPU_AUDIO=pci_0000_0B_00_1
'';
mode = "0755";
};
"libvirt/hooks/qemu.d/win10/prepare/begin/start.sh" = {
text = ''
#!/run/current-system/sw/bin/bash
# Debugging
exec 19>/home/zoey/Desktop/startlogfile
BASH_XTRACEFD=19
set -x
# Load variables we defined
source "/etc/libvirt/hooks/kvm.conf"
# Change to performance governor
echo performance | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# Isolate host to core 0
systemctl set-property --runtime -- user.slice AllowedCPUs=0-6
systemctl set-property --runtime -- system.slice AllowedCPUs=0-6
systemctl set-property --runtime -- init.scope AllowedCPUs=0-6
# Logout
# source "/home/owner/Desktop/Sync/Files/Tools/logout.sh"
# Stop display manager
systemctl stop display-manager.service
killall gdm-wayland-session
# Unbind VTconsoles
echo 0 > /sys/class/vtconsole/vtcon0/bind
echo 0 > /sys/class/vtconsole/vtcon1/bind
# Unbind EFI Framebuffer
echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind
# Avoid race condition
sleep 5
# Unload NVIDIA kernel modules
modprobe -r nvidia_drm nvidia_modeset nvidia_uvm nvidia
# Detach GPU devices from host
virsh nodedev-detach $VIRSH_GPU_VIDEO
virsh nodedev-detach $VIRSH_GPU_AUDIO
# Load vfio module
modprobe vfio-pci
'';
mode = "0755";
};
"libvirt/hooks/qemu.d/win10/release/end/stop.sh" = {
text = ''
#!/run/current-system/sw/bin/bash
# Debugging
exec 19>/home/zoey/Desktop/stoplogfile
BASH_XTRACEFD=19
set -x
# Load variables we defined
source "/etc/libvirt/hooks/kvm.conf"
# Unload vfio module
modprobe -r vfio-pci
# Attach GPU devices from host
virsh nodedev-reattach $VIRSH_GPU_VIDEO
virsh nodedev-reattach $VIRSH_GPU_AUDIO
# Read nvidia x config
nvidia-xconfig --query-gpu-info > /dev/null 2>&1
# Load NVIDIA kernel modules
modprobe nvidia_drm nvidia_modeset nvidia_uvm nvidia
# Avoid race condition
sleep 5
# Bind EFI Framebuffer
echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/bind
# Bind VTconsoles
echo 1 > /sys/class/vtconsole/vtcon0/bind
echo 1 > /sys/class/vtconsole/vtcon1/bind
# Start display manager
systemctl start display-manager.service
# Return host to all cores
systemctl set-property --runtime -- user.slice AllowedCPUs=0-31
systemctl set-property --runtime -- system.slice AllowedCPUs=0-31
systemctl set-property --runtime -- init.scope AllowedCPUs=0-31
# Change to powersave governor
echo powersave | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
'';
mode = "0755";
};
};
};
}

View file

@ -6,10 +6,8 @@
}: }:
writeShellScriptBin "sc" '' writeShellScriptBin "sc" ''
# Take a screenshot with grim and slurp
${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp})" /tmp/screenshot.png ${lib.getExe pkgs.grim} -g "$(${lib.getExe pkgs.slurp})" /tmp/screenshot.png
# Upload the screenshot and store the response
response=$(${lib.getExe pkgs.curl} -s \ response=$(${lib.getExe pkgs.curl} -s \
-X POST \ -X POST \
-H "Accept: application/json" \ -H "Accept: application/json" \
@ -17,12 +15,9 @@ writeShellScriptBin "sc" ''
-F "file=@/tmp/screenshot.png" \ -F "file=@/tmp/screenshot.png" \
https://zoeys.computer/api/images/create) https://zoeys.computer/api/images/create)
# Extract the URL using jq and copy to clipboard
echo "$response" | ${lib.getExe pkgs.jq} -r '.url' | ${pkgs.wl-clipboard}/bin/wl-copy echo "$response" | ${lib.getExe pkgs.jq} -r '.url' | ${pkgs.wl-clipboard}/bin/wl-copy
# Clean up the temporary file
rm /tmp/screenshot.png rm /tmp/screenshot.png
# Notify user
echo "Screenshot uploaded and URL copied to clipboard!" echo "Screenshot uploaded and URL copied to clipboard!"
'' ''

View file

@ -187,7 +187,7 @@
dockerCompat = true; dockerCompat = true;
defaultNetwork.settings.dns_enabled = true; defaultNetwork.settings.dns_enabled = true;
}; };
virtualisation.libvirtd.enable = true; hardware.gpu-passthru.enable = true;
system.stateVersion = "24.05"; system.stateVersion = "24.05";
} }