diff --git a/.gitignore b/.gitignore index 7dcd526..d6230a0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ tmp/ .direnv/ .pre-commit-config.yaml +.aider* +.env diff --git a/flake.lock b/flake.lock index 2dcff6d..ade90e2 100644 --- a/flake.lock +++ b/flake.lock @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1729527199, - "narHash": "sha256-D5/YksfRga8Akd04ZtIkuYSIOjXVrAzQIQBSeplokzU=", + "lastModified": 1731959031, + "narHash": "sha256-TGcvIjftziC1CjuiHCzrYDwmOoSFYIhdiKmLetzB5L0=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "8d732fa8aff8b12ef2b1e2f00fc8153e41312b72", + "rev": "4468981c1c50999f315baa1508f0e53c4ee70c52", "type": "github" }, "original": { @@ -59,11 +59,11 @@ "arkenfox-userjs": { "flake": false, "locked": { - "lastModified": 1724661688, - "narHash": "sha256-XLswsa2u2qsUPsLYRYn6lwis7VwSjAW6BRNdI4brbSM=", + "lastModified": 1731156949, + "narHash": "sha256-0qwqVc3hrpbQMMJOhbelSrR8cZOqLLWs4T+qyeHfiAc=", "owner": "arkenfox", "repo": "user.js", - "rev": "f906f7f3b41fe3f6aaa744980431f4fdcd086379", + "rev": "eae5762d29f18115fbffd73d89bd9e2510b25427", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1729712798, - "narHash": "sha256-a+Aakkb+amHw4biOZ0iMo8xYl37uUL48YEXIC5PYJ/8=", + "lastModified": 1733168902, + "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", "owner": "nix-community", "repo": "disko", - "rev": "09a776702b004fdf9c41a024e1299d575ee18a7d", + "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", "type": "github" }, "original": { @@ -166,11 +166,11 @@ "flake-compat_2": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -196,22 +196,6 @@ } }, "flake-compat_4": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_5": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -225,7 +209,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_6": { + "flake-compat_5": { "flake": false, "locked": { "lastModified": 1696426674, @@ -246,11 +230,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -267,11 +251,11 @@ ] }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -289,11 +273,11 @@ ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -304,16 +288,16 @@ "flake-parts_4": { "inputs": { "nixpkgs-lib": [ - "nix-super", + "nur", "nixpkgs" ] }, "locked": { - "lastModified": 1719994518, - "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -327,11 +311,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -363,11 +347,29 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_6" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -383,11 +385,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1729829295, - "narHash": "sha256-r9bRVnLdsLPsuFb+iqUiKzxgSHWAOCt9BYxNWKwHy9Y=", + "lastModified": 1733783261, + "narHash": "sha256-SnLO3H9RKzqwEqpsjGIm4XWaiznK8H6kJBxFprgTyeY=", "ref": "refs/heads/main", - "rev": "582b8d039a9e36a370c9a60d702e27e06dc2e19d", - "revCount": 7809, + "rev": "5dcca19038f57519e91dbd6d5510978bb8553909", + "revCount": 8194, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -410,42 +412,11 @@ ] }, "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "lastModified": 1733665616, + "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", - "type": "github" - }, - "original": { - "owner": "cachix", - "repo": "git-hooks.nix", - "type": "github" - } - }, - "git-hooks-nix": { - "inputs": { - "flake-compat": [ - "nix-super" - ], - "gitignore": [ - "nix-super" - ], - "nixpkgs": [ - "nix-super", - "nixpkgs" - ], - "nixpkgs-stable": [ - "nix-super", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1721042469, - "narHash": "sha256-6FPUl7HVtvRHCCBQne7Ylp4p+dpP3P/OYuzjztZ4s70=", - "owner": "cachix", - "repo": "git-hooks.nix", - "rev": "f451c19376071a90d8c58ab1a953c6e9840527fd", + "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", "type": "github" }, "original": { @@ -471,11 +442,11 @@ ] }, "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "lastModified": 1733318908, + "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "type": "github" }, "original": { @@ -580,11 +551,11 @@ ] }, "locked": { - "lastModified": 1724947644, - "narHash": "sha256-MHHrHasTngp7EYQOObHJ1a/IsRF+wodHqOckhH6uZbk=", + "lastModified": 1733333617, + "narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "dba4367b9a9d9615456c430a6d6af716f6e84cef", + "rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", "type": "github" }, "original": { @@ -621,11 +592,11 @@ ] }, "locked": { - "lastModified": 1729716953, - "narHash": "sha256-FbRKGRRd0amsk/WS/UV9ukJ8jT1dZ2pJBISxkX+uq6A=", + "lastModified": 1733769654, + "narHash": "sha256-aVvYDt8eitZVF6fdOrSoIzYRkQ5Gh6kfRvqkiaDRLL0=", "owner": "nix-community", "repo": "home-manager", - "rev": "a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7", + "rev": "e952e94955dcc6fa2120c1430789fc41363f5237", "type": "github" }, "original": { @@ -639,11 +610,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1729224425, - "narHash": "sha256-w9dNUedNe2qnhHuhcRf7A1l29+/6DxdMfwN6g4U3c/w=", + "lastModified": 1733056338, + "narHash": "sha256-sp14z0mrqrtmouz1+bU4Jh8/0xi+xwQHF2l7mhGSSVU=", "owner": "hyprwm", "repo": "contrib", - "rev": "d72bc8b1cd30d448bd438e8328f8eeb4c0f2ddb6", + "rev": "d7c55140f1785b8d9fef351f1cd2a4c9e1eaa466", "type": "github" }, "original": { @@ -681,11 +652,42 @@ "type": "github" } }, + "hyprgraphics": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1733248371, + "narHash": "sha256-FFLJzFTyNhS7tBEEECx0B8Ye/bpmxhFVEKlECgMLc6c=", + "owner": "hyprwm", + "repo": "hyprgraphics", + "rev": "cc95e5babc6065bc3ab4cd195429a9900836ef13", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprgraphics", + "type": "github" + } + }, "hyprland": { "inputs": { "aquamarine": "aquamarine", "hyprcursor": "hyprcursor", + "hyprgraphics": "hyprgraphics", "hyprland-protocols": "hyprland-protocols", + "hyprland-qtutils": "hyprland-qtutils", "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", @@ -695,11 +697,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1729781453, - "narHash": "sha256-vSZSNXXNEPN5JJcUobCBl6FaDvXjmLHhAJWoX3ZmHUQ=", + "lastModified": 1733794835, + "narHash": "sha256-QuWCtRJS/CwejkdAnkn3+O2jx/jVJeL5TyM+8nup+Jg=", "ref": "refs/heads/main", - "rev": "3cec45d82113051d35e846e5d80719d8ea0f7002", - "revCount": 5372, + "rev": "bb5c3f27023e0702642b72d1869427b9b0ff72e0", + "revCount": 5526, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -735,6 +737,35 @@ "type": "github" } }, + "hyprland-qtutils": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1733472316, + "narHash": "sha256-PvXiFLIExJEJj+goLbIuXLTN5CSDSAUsAfiYSdbbWg0=", + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "rev": "969427419276c7ee170301ef1ebe0f68eb6eb2e2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-qtutils", + "type": "github" + } + }, "hyprlang": { "inputs": { "hyprutils": [ @@ -776,11 +807,11 @@ ] }, "locked": { - "lastModified": 1728941256, - "narHash": "sha256-WRypmcZ2Bw94lLmcmxYokVOHPJSZ7T06V49QZ4tkZeQ=", + "lastModified": 1732288281, + "narHash": "sha256-XTU9B53IjGeJiJ7LstOhuxcRjCOFkQFl01H78sT9Lg4=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "fd4be8b9ca932f7384e454bcd923c5451ef2aa85", + "rev": "b26f33cc1c8a7fd5076e19e2cce3f062dca6351c", "type": "github" }, "original": { @@ -816,11 +847,11 @@ }, "impermanence": { "locked": { - "lastModified": 1729068498, - "narHash": "sha256-C2sGRJl1EmBq0nO98TNd4cbUy20ABSgnHWXLIJQWRFA=", + "lastModified": 1731242966, + "narHash": "sha256-B3C3JLbGw0FtLSWCjBxU961gLNv+BOOBC6WvstKLYMw=", "owner": "nix-community", "repo": "impermanence", - "rev": "e337457502571b23e449bf42153d7faa10c0a562", + "rev": "3ed3f0eaae9fcc0a8331e77e9319c8a4abd8a71a", "type": "github" }, "original": { @@ -843,44 +874,53 @@ ] }, "locked": { - "lastModified": 1729544999, - "narHash": "sha256-YcyJLvTmN6uLEBGCvYoMLwsinblXMkoYkNLEO4WnKus=", + "lastModified": 1729958008, + "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", "owner": "NuschtOS", "repo": "ixx", - "rev": "65c207c92befec93e22086da9456d3906a4e999c", + "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", "type": "github" }, "original": { "owner": "NuschtOS", - "ref": "v0.0.5", + "ref": "v0.0.6", "repo": "ixx", "type": "github" } }, - "libgit2": { - "flake": false, + "ixx_2": { + "inputs": { + "flake-utils": [ + "search", + "flake-utils" + ], + "nixpkgs": [ + "search", + "nixpkgs" + ] + }, "locked": { - "lastModified": 1715853528, - "narHash": "sha256-J2rCxTecyLbbDdsyBWn9w7r3pbKRMkI9E7RvRgAqBdY=", - "owner": "libgit2", - "repo": "libgit2", - "rev": "36f7e21ad757a3dacc58cf7944329da6bc1d6e96", + "lastModified": 1729958008, + "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=", + "owner": "NuschtOS", + "repo": "ixx", + "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb", "type": "github" }, "original": { - "owner": "libgit2", - "ref": "v1.8.1", - "repo": "libgit2", + "owner": "NuschtOS", + "ref": "v0.0.6", + "repo": "ixx", "type": "github" } }, "master": { "locked": { - "lastModified": 1729839280, - "narHash": "sha256-1sU4rzJow2Fphk3G5IGjudBtI3y9sgNM9a4BN2Us/Qs=", + "lastModified": 1733838917, + "narHash": "sha256-Bf7aGqER5qTMF3Ldl0Fs1i3EGznbczrc46LYoHFM3a8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e9eca9b6e9828be9ccddf1007f6f30feb9a40e24", + "rev": "a68d6ce6f58cad982057c26791f42046184a0c18", "type": "github" }, "original": { @@ -921,11 +961,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1729147490, - "narHash": "sha256-F0/iQVbbIFctMPwK4JEd4fxVzNwaq7NnD5oen59S24s=", + "lastModified": 1733812790, + "narHash": "sha256-PxxXxmwGeAkJ/FQ3iEqaphwnK/b1zazGyczJJVyq6dU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "e2047498667aeb24e8493ff430a20cff713915f4", + "rev": "34c8b396834adaa253131d65c9250f073f721175", "type": "github" }, "original": { @@ -937,11 +977,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1729121305, - "narHash": "sha256-c94xkA/RuszC4PfmB+MWqOo2vbO66GTO6XKer0mbltA=", + "lastModified": 1733731191, + "narHash": "sha256-Xtd0YLx6RKJMDu2GfE9geO48Dw3KnpVkfZjUqA51xDw=", "owner": "neovim", "repo": "neovim", - "rev": "852954ff6d96adce0158f74ca494fdcef3aa1921", + "rev": "3bb2d027597107a3d7f84ef61507104fd4dc050a", "type": "github" }, "original": { @@ -950,6 +990,64 @@ "type": "github" } }, + "niri": { + "inputs": { + "niri-stable": "niri-stable", + "niri-unstable": "niri-unstable", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": "nixpkgs-stable_3", + "xwayland-satellite-stable": "xwayland-satellite-stable", + "xwayland-satellite-unstable": "xwayland-satellite-unstable" + }, + "locked": { + "lastModified": 1733826408, + "narHash": "sha256-9OOlIYIQA9mO8ZCiGYV0elyh9NwI1iHvSlZDYNQx3V0=", + "owner": "sodiboo", + "repo": "niri-flake", + "rev": "2f95cc0bda721e25816a114d9d8619f0b95af256", + "type": "github" + }, + "original": { + "owner": "sodiboo", + "repo": "niri-flake", + "type": "github" + } + }, + "niri-stable": { + "flake": false, + "locked": { + "lastModified": 1731483594, + "narHash": "sha256-Qjf7alRbPPERfiZsM9EMKX+HwjESky1tieh5PJIkLwE=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "75c79116a7e40cbc0e110ce0cdd500e896458679", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "ref": "v0.1.10.1", + "repo": "niri", + "type": "github" + } + }, + "niri-unstable": { + "flake": false, + "locked": { + "lastModified": 1733739952, + "narHash": "sha256-LU4gFrPdB29qzZKJaEoIj87m7N+XaOoFu7POuiiIKhg=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "40fa82275cc092d313a9a60d01a2b4e3e8e3f7d3", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, "nix-darwin": { "inputs": { "nixpkgs": [ @@ -958,11 +1056,11 @@ ] }, "locked": { - "lastModified": 1729757100, - "narHash": "sha256-x+8uGaX66V5+fUBHY23Q/OQyibQ38nISzxgj7A7Jqds=", + "lastModified": 1733570843, + "narHash": "sha256-sQJAxY1TYWD1UyibN/FnN97paTFuwBw3Vp3DNCyKsMk=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "04193f188e4144d7047f83ad1de81d6034d175cd", + "rev": "a35b08d09efda83625bef267eb24347b446c80b8", "type": "github" }, "original": { @@ -978,11 +1076,11 @@ ] }, "locked": { - "lastModified": 1729394935, - "narHash": "sha256-2ntUG+NJKdfhlrh/tF+jOU0fOesO7lm5ZZVSYitsvH8=", + "lastModified": 1733629314, + "narHash": "sha256-U0vivjQFAwjNDYt49Krevs1murX9hKBFe2Ye0cHpgbU=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "04f8a11f247ba00263b060fbcdc95484fd046104", + "rev": "f1e477a7dd11e27e7f98b646349cd66bbabf2fb8", "type": "github" }, "original": { @@ -998,11 +1096,11 @@ ] }, "locked": { - "lastModified": 1715016928, - "narHash": "sha256-JZx+enK1RlsMSJGmX/KTpADtxrCPDztQRKpO22LKZZM=", + "lastModified": 1733253839, + "narHash": "sha256-bx/mrhuiyPVUVtfWG8dG4WvgLWUK0zbb+OI7123Xne0=", "owner": "ners", "repo": "nix-monitored", - "rev": "776e497a13b8b403065d59c45a3fdc07b76a0db1", + "rev": "42716246502d3aef15f598f9af27479665df13d7", "type": "github" }, "original": { @@ -1011,37 +1109,13 @@ "type": "github" } }, - "nix-super": { - "inputs": { - "flake-compat": "flake-compat_4", - "flake-parts": "flake-parts_4", - "git-hooks-nix": "git-hooks-nix", - "libgit2": "libgit2", - "nixpkgs": "nixpkgs_6", - "nixpkgs-23-11": "nixpkgs-23-11", - "nixpkgs-regression": "nixpkgs-regression" - }, - "locked": { - "lastModified": 1723852416, - "narHash": "sha256-iEwS5PbPBk433xZ5/Ll5hzOU9K2MAE6iqYh8EYoaIgk=", - "owner": "privatevoid-net", - "repo": "nix-super", - "rev": "7bf3b90d4d67b18d4cbfe28fd5d786aab17d009b", - "type": "github" - }, - "original": { - "owner": "privatevoid-net", - "repo": "nix-super", - "type": "github" - } - }, "nixos-facter-modules": { "locked": { - "lastModified": 1728725827, - "narHash": "sha256-io1UeGaV2HcmK1zCZPnawJu3CxKHhiZ83NBJ+qshWIo=", + "lastModified": 1732288619, + "narHash": "sha256-zSQ2cR+NRJfHUVfkv+O6Wi53wXfzX8KHiO8fRfnvc0M=", "owner": "numtide", "repo": "nixos-facter-modules", - "rev": "9f2a45b372830d28412160413d1d83f5ee11cc2f", + "rev": "862648589993a96480c2255197a28feea712f68f", "type": "github" }, "original": { @@ -1066,73 +1140,41 @@ "type": "github" } }, - "nixpkgs-23-11": { - "locked": { - "lastModified": 1717159533, - "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446", - "type": "github" - } - }, "nixpkgs-lib": { "locked": { - "lastModified": 1727825735, - "narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=", + "lastModified": 1733096140, + "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz" - } - }, - "nixpkgs-regression": { - "locked": { - "lastModified": 1643052045, - "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" - }, - "original": { - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", - "type": "github" + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1726062281, - "narHash": "sha256-PyFVySdGj3enKqm8RQuo4v1KLJLmNLOq2yYOHsI6e2Q=", + "lastModified": 1733423277, + "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e65aa8301ba4f0ab8cb98f944c14aa9da07394f8", + "rev": "e36963a147267afc055f7cf65225958633e536bf", "type": "github" }, "original": { "owner": "nixos", - "ref": "release-24.05", + "ref": "release-24.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { @@ -1144,11 +1186,27 @@ }, "nixpkgs-stable_3": { "locked": { - "lastModified": 1720386169, - "narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=", + "lastModified": 1733730953, + "narHash": "sha256-dlK7n82FEyZlHH7BFHQAM5tua+lQO1Iv7aAtglc1O5s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "194846768975b7ad2c4988bdb82572c00222c0d7", + "rev": "7109b680d161993918b0a126f38bc39763e5a709", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_4": { + "locked": { + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { @@ -1160,11 +1218,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1719082008, - "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "lastModified": 1733229606, + "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", "type": "github" }, "original": { @@ -1175,6 +1233,22 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1692934111, "narHash": "sha256-9EEE59v/esKNMR5zKbLRV9NoRPYvERw5jHQOnfr47bk=", @@ -1192,11 +1266,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1725194671, - "narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=", + "lastModified": 1732238832, + "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b833ff01a0d694b910daca6e2ff4a3f26dee478c", + "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", "type": "github" }, "original": { @@ -1224,11 +1298,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1729413321, - "narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=", + "lastModified": 1733392399, + "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26", + "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", "type": "github" }, "original": { @@ -1240,11 +1314,11 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1728863046, - "narHash": "sha256-DZBO2465PL5V89e8hFSJewyH4QbCPpW3ssws7ckT/0A=", + "lastModified": 1733656523, + "narHash": "sha256-w0FXPfpGhOihoJDiwMsyN1EzpsXi2F8VQ+NVZQSMtys=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732", + "rev": "93dc9803a1ee435e590b02cde9589038d5cc3a4e", "type": "github" }, "original": { @@ -1256,27 +1330,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1723688146, - "narHash": "sha256-sqLwJcHYeWLOeP/XoLwAtYjr01TISlkOfz+NG82pbdg=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "c3d4ac725177c030b1e289015989da2ad9d56af0", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1729788628, - "narHash": "sha256-3suayUinicnvE/4shMZwp9FHT5izUM8gMpdEO/NHBTo=", + "lastModified": 1733686850, + "narHash": "sha256-NQEO/nZWWGTGlkBWtCs/1iF1yl2lmQ1oY/8YZrumn3I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "63487b2f26fa065cfeeaa47dddb08e2856ba53e8", + "rev": "dd51f52372a20a93c219e8216fe528a648ffcbf4", "type": "github" }, "original": { @@ -1286,13 +1344,13 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { - "lastModified": 1729665710, - "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=", + "lastModified": 1733392399, + "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d", + "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", "type": "github" }, "original": { @@ -1302,13 +1360,29 @@ "type": "github" } }, + "nixpkgs_8": { + "locked": { + "lastModified": 1733759999, + "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_9": { "locked": { - "lastModified": 1719082008, - "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", + "lastModified": 1730768919, + "narHash": "sha256-8AKquNnnSaJRXZxc5YmF/WfmxiHX6MMZZasRP6RRQkE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9693852a2070b398ee123a329e68f0dab5526681", + "rev": "a04d33c0c3f1a59a2c1cb0c6e34cd24500e5a1dc", "type": "github" }, "original": { @@ -1323,7 +1397,7 @@ "devshell": [ "devshell" ], - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_4", "flake-parts": [ "flake-parts" ], @@ -1332,16 +1406,16 @@ "home-manager" ], "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_7", "nuschtosSearch": "nuschtosSearch", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1729791159, - "narHash": "sha256-i5TKYCs9tJ2qaYTsjQh3WwExmj4O0EU+L1jq6ZBVMfM=", + "lastModified": 1733820424, + "narHash": "sha256-ci29NFN3iwO2v62uSjegjnOq/JLdjhc/HfMXNKBHPgE=", "owner": "nix-community", "repo": "nixvim", - "rev": "4726334e4413ff55f1db3768c8d08722abbf09cf", + "rev": "8dfa5fa8a204f0dc14654c07619bb3df132099e0", "type": "github" }, "original": { @@ -1351,12 +1425,17 @@ } }, "nur": { + "inputs": { + "flake-parts": "flake-parts_4", + "nixpkgs": "nixpkgs_8", + "treefmt-nix": "treefmt-nix_2" + }, "locked": { - "lastModified": 1729839538, - "narHash": "sha256-uS2m5oW/Jhi3UxMfCChj64NndOsE2+4Px+jYDXmpcjM=", + "lastModified": 1733838654, + "narHash": "sha256-EfWbtK0v+avWV6NlX4uXCTy/MUvWQfPpLfC5UPLgdsM=", "owner": "nix-community", "repo": "NUR", - "rev": "6f557f568d3a16cda792132ad82e9f0c14ba5ef0", + "rev": "7a6f816d46e34b05efb80e2e12378b6199882da5", "type": "github" }, "original": { @@ -1375,11 +1454,11 @@ ] }, "locked": { - "lastModified": 1729763753, - "narHash": "sha256-M8WAUgKFBU5TvFt92g/dHBtGJmBP33LHird+solHt0g=", + "lastModified": 1733411491, + "narHash": "sha256-315rJ7O9cOllPDaFscnJhcMleORHbxon0Kq9LAKJ5p4=", "owner": "NuschtOS", "repo": "search", - "rev": "bedc2f2ada220815a98a896e10f5e61bfc329bfc", + "rev": "68e9fad70d95d08156cf10a030bd39487bed8ffe", "type": "github" }, "original": { @@ -1399,11 +1478,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "lastModified": 1733318908, + "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "type": "github" }, "original": { @@ -1414,17 +1493,17 @@ }, "pre-commit-hooks_2": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_5", "gitignore": "gitignore_4", "nixpkgs": "nixpkgs_9", - "nixpkgs-stable": "nixpkgs-stable_3" + "nixpkgs-stable": "nixpkgs-stable_4" }, "locked": { - "lastModified": 1729104314, - "narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", + "lastModified": 1733665616, + "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", + "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", "type": "github" }, "original": { @@ -1436,11 +1515,11 @@ "river": { "flake": false, "locked": { - "lastModified": 1729764469, - "narHash": "sha256-uhgvV+GTxeTJNxZ4lUpqPlaonnon7MD/qFi3a6OU5t0=", + "lastModified": 1732457502, + "narHash": "sha256-M2omvAtaXKCIvgpGeZktxAw6ngUGJ1ONQk/peI+p97g=", "ref": "refs/heads/master", - "rev": "1b5dd21ee610b30d13c9165dfde23989c5e97e8d", - "revCount": 1299, + "rev": "5ca829bd5acea4c68abcf16332ccfe6202da4aeb", + "revCount": 1301, "submodules": true, "type": "git", "url": "https://github.com/riverwm/river" @@ -1467,26 +1546,47 @@ "impermanence": "impermanence", "master": "master", "neovim-nightly-overlay": "neovim-nightly-overlay", + "niri": "niri", "nix-index-database": "nix-index-database", "nix-monitored": "nix-monitored", - "nix-super": "nix-super", "nixos-facter-modules": "nixos-facter-modules", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "nixvim": "nixvim", "nur": "nur", "pre-commit-hooks": "pre-commit-hooks_2", "river": "river", + "search": "search", "stable": "stable", "timers": "timers" } }, + "search": { + "inputs": { + "flake-utils": "flake-utils_4", + "ixx": "ixx_2", + "nixpkgs": "nixpkgs_10" + }, + "locked": { + "lastModified": 1733773348, + "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", + "owner": "NuschtOS", + "repo": "search", + "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", + "type": "github" + }, + "original": { + "owner": "NuschtOS", + "repo": "search", + "type": "github" + } + }, "stable": { "locked": { - "lastModified": 1729691686, - "narHash": "sha256-BAuPWW+9fa1moZTU+jFh+1cUtmsuF8asgzFwejM4wac=", + "lastModified": 1733730953, + "narHash": "sha256-dlK7n82FEyZlHH7BFHQAM5tua+lQO1Iv7aAtglc1O5s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "32e940c7c420600ef0d1ef396dc63b04ee9cad37", + "rev": "7109b680d161993918b0a126f38bc39763e5a709", "type": "github" }, "original": { @@ -1586,10 +1686,25 @@ "type": "github" } }, + "systems_7": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "timers": { "inputs": { "naersk": "naersk", - "nixpkgs": "nixpkgs_10", + "nixpkgs": "nixpkgs_11", "utils": "utils" }, "locked": { @@ -1614,11 +1729,32 @@ ] }, "locked": { - "lastModified": 1729613947, - "narHash": "sha256-XGOvuIPW1XRfPgHtGYXd5MAmJzZtOuwlfKDgxX5KT3s=", + "lastModified": 1733440889, + "narHash": "sha256-qKL3vjO+IXFQ0nTinFDqNq/sbbnnS5bMI1y0xX215fU=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "aac86347fb5063960eccb19493e0cadcdb4205ca", + "rev": "50862ba6a8a0255b87377b9d2d4565e96f29b410", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { + "inputs": { + "nixpkgs": [ + "nur", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733222881, + "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "49717b5af6f80172275d47a418c9719a31a78b53", "type": "github" }, "original": { @@ -1629,7 +1765,7 @@ }, "utils": { "inputs": { - "systems": "systems_6" + "systems": "systems_7" }, "locked": { "lastModified": 1692799911, @@ -1673,11 +1809,11 @@ ] }, "locked": { - "lastModified": 1728166987, - "narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=", + "lastModified": 1733157064, + "narHash": "sha256-NetqJHAN4bbZDQADvpep+wXk2AbMZ2bN6tINz8Kpz6M=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787", + "rev": "fd85ef39369f95eed67fdf3f025e86916edeea2f", "type": "github" }, "original": { @@ -1686,6 +1822,39 @@ "type": "github" } }, + "xwayland-satellite-stable": { + "flake": false, + "locked": { + "lastModified": 1730166465, + "narHash": "sha256-nq7bouXQXaaPPo/E+Jbq+wNHnatD4dY8OxSrRqzvy6s=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "a713cf46cb7db84a0d1b57c3a397c610cad3cf98", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "ref": "v0.5", + "repo": "xwayland-satellite", + "type": "github" + } + }, + "xwayland-satellite-unstable": { + "flake": false, + "locked": { + "lastModified": 1732233710, + "narHash": "sha256-gWf9dX6DVx0ssK2G3yrFG9yMT9UU0mDwyD51z/Q6FTA=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "02f30546264ff8407cbb39528b3a3cc3045e53c1", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "type": "github" + } + }, "zig": { "inputs": { "flake-compat": [ diff --git a/flake.nix b/flake.nix index bebb754..29cbbed 100644 --- a/flake.nix +++ b/flake.nix @@ -5,25 +5,36 @@ # Nix agenix.inputs.nixpkgs.follows = "nixpkgs"; agenix.url = "github:ryantm/agenix"; + devshell.url = "github:numtide/devshell"; + disko.url = "github:nix-community/disko"; + flake-parts.url = "github:hercules-ci/flake-parts"; flake-utils.url = "github:numtide/flake-utils"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager"; + impermanence.url = "github:nix-community/impermanence"; + master.url = "github:nixos/nixpkgs"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; - pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; stable.url = "github:nixos/nixpkgs/nixos-24.05"; + + pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; + nur.url = "github:nix-community/NUR"; + nix-index-database.url = "github:Mic92/nix-index-database"; nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; - # Programs - nix-super.url = "github:privatevoid-net/nix-super"; + nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; + nix-monitored.url = "github:ners/nix-monitored"; nix-monitored.inputs.nixpkgs.follows = "nixpkgs"; + + # Programs timers.url = "git+https://gitea.moritzboeh.me/moritz/timers.git"; # Neovim @@ -46,6 +57,10 @@ submodules = true; }; + # Niri + niri.url = "github:sodiboo/niri-flake"; + niri.inputs.nixpkgs.follows = "nixpkgs"; + # Laptop asus-touchpad-numpad-driver.url = "github:MoritzBoehme/asus-touchpad-numpad-driver/german-layout"; asus-touchpad-numpad-driver.flake = false; @@ -54,10 +69,9 @@ arkenfox-userjs.url = "github:arkenfox/user.js"; arkenfox-userjs.flake = false; - ghostty.url = "git+ssh://git@github.com/ghostty-org/ghostty"; - # ghostty.url = "/home/moritz/Documents/ghostty"; + search.url = "github:NuschtOS/search"; - nixos-facter-modules.url = "github:numtide/nixos-facter-modules"; + ghostty.url = "git+ssh://git@github.com/ghostty-org/ghostty"; }; outputs = inputs@{ self, flake-parts, ... }: @@ -80,29 +94,6 @@ sudo EDITOR="${pkgs.lib.getExe pkgs.vim}" ${pkgs.lib.getExe' inputs'.agenix.packages.default "agenix"} --identity /etc/ssh/ssh_host_ed25519_key "$@" ''; } - { - name = "build"; - help = "use nom to build system"; - command = - '' - nom build --no-link ".#nixosConfigurations.$(hostname).config.system.build.toplevel" $@ - ''; - } - { - name = "apply"; - help = "wrapper for nixos-rebuild switch"; - command = "sudo nixos-rebuild switch --flake . $@"; - } - { - name = "test"; - help = "wrapper for nixos-rebuild switch"; - command = "sudo nixos-rebuild test --flake . $@"; - } - { - name = "boot"; - help = "wrapper for nixos-rebuild switch"; - command = "sudo nixos-rebuild boot --flake . $@"; - } { name = "vim-startuptime"; help = "test vim startup time"; @@ -113,6 +104,7 @@ stylua sumneko-lua-language-server nixpkgs-fmt + nh ]; }; @@ -129,7 +121,28 @@ }; legacyPackages = pkgs; - + packages = + let + modules = [ + { name = "My stuff"; } + ]; + mkName = name: "${name} Search"; + mkSearch = name: value: inputs'.search.packages.mkSearch { + urlPrefix = "file://${self}/flake.nix"; + title = mkName name; + optionsJSON = "${(pkgs.nixosOptionsDoc { inherit (value) options; warningsAreErrors = false; }).optionsJSON}/share/doc/nixos/options.json"; + }; + serveSearch = name: value: + pkgs.writeShellApplication { + name = mkName name; + text = '' + xdg-open http://127.0.0.1:8080 + static-web-server -p 8080 -d ${mkSearch name value} + ''; + runtimeInputs = with pkgs; [ static-web-server xdg-utils ]; + }; + in + pkgs.lib.mapAttrs serveSearch self.nixosConfigurations; }; flake = { @@ -161,6 +174,7 @@ inputs.impermanence.nixosModules.impermanence inputs.nix-index-database.nixosModules.nix-index inputs.nixos-facter-modules.nixosModules.facter + inputs.niri.nixosModules.niri path ]; }) @@ -181,16 +195,18 @@ nixConfig = { extra-substituters = [ - "https://hyprland.cachix.org" + # "https://hyprland.cachix.org" "https://nix-community.cachix.org" "https://pre-commit-hooks.cachix.org" - "https://ghostty.cachix.org" + # "https://ghostty.cachix.org" + "https://cache.lix.systems" ]; extra-trusted-public-keys = [ - "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" + # "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "pre-commit-hooks.cachix.org-1:Pkk3Panw5AW24TOv6kz3PvLhlH8puAsJTBbOPmBo7Rc=" - "ghostty.cachix.org-1:QB389yTa6gTyneehvqG58y0WnHjQOqgnA+wBnpWWxns=" + # "ghostty.cachix.org-1:QB389yTa6gTyneehvqG58y0WnHjQOqgnA+wBnpWWxns=" + "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o=" ]; }; } diff --git a/hosts/nixos-laptop/default.nix b/hosts/nixos-laptop/default.nix index 48f97f7..072bab7 100644 --- a/hosts/nixos-laptop/default.nix +++ b/hosts/nixos-laptop/default.nix @@ -12,6 +12,7 @@ facter.reportPath = ./facter.json; my = { + ai.enable = true; virtualisation.libvirtd.enable = true; yubikey.luksSupport.enable = false; profiles = { @@ -20,12 +21,14 @@ webis.enable = true; impermanence.enable = true; }; - terminal.package = pkgs.kitty; programs.exercism.enable = true; services.mullvad.enable = true; }; - users.users.moritz.packages = [ pkgs.poetry ]; + users.users.moritz.packages = with pkgs; [ + poetry + wl-clipboard + ]; home-manager.users.moritz.services.kanshi.settings = [ { @@ -37,14 +40,14 @@ ]; } { - profile.name = "docked"; + profile.name = "docked-scads"; profile.outputs = [ { criteria = "eDP-1"; position = "640,1800"; # NOTE: 2160 / 1.2 = 1800 } { - criteria = "DP-3"; + criteria = "Dell Inc. DELL S2721QS DWTC513"; scale = 1.2; position = "0,0"; } diff --git a/modules/config/terminal.nix b/modules/config/terminal.nix index dbae99b..871e9bd 100644 --- a/modules/config/terminal.nix +++ b/modules/config/terminal.nix @@ -6,6 +6,7 @@ with lib; { options.my.terminal = { package = mkOption { + description = "Terminal emulator package to use. Gets converted to path of bin automatically."; type = types.package; apply = lib.getExe; }; diff --git a/modules/config/theming/default.nix b/modules/config/theming/default.nix index 9704874..6764501 100644 --- a/modules/config/theming/default.nix +++ b/modules/config/theming/default.nix @@ -35,9 +35,7 @@ in font-size = "20"; font = let - fontBasePath = pkgs.nerdfonts.override { - fonts = [ "FiraCode" ]; - }; + fontBasePath = pkgs.nerd-fonts.fira-code; in "${fontBasePath}/share/fonts/truetype/NerdFonts/FiraCodeNerdFont-Regular.ttf"; height = "360"; diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index 6d301d6..bf8994f 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -255,9 +255,7 @@ in fonts = { enableDefaultPackages = true; packages = [ - (pkgs.nerdfonts.override { - fonts = [ "FiraCode" ]; - }) + pkgs.nerd-fonts.fira-code pkgs.master.intel-one-mono ]; }; @@ -311,10 +309,4 @@ in }; xdg.userDirs.enable = true; }; - - system.activationScripts.diff = '' - if [ -e /run/current-system ]; then - ${pkgs.nvd}/bin/nvd --nix-bin-dir ${pkgs.nix}/bin diff /run/current-system/ "$systemConfig" - fi - ''; } diff --git a/modules/profiles/work.nix b/modules/profiles/work.nix index a45d067..7267598 100644 --- a/modules/profiles/work.nix +++ b/modules/profiles/work.nix @@ -15,7 +15,7 @@ in config = mkIf cfg.enable { my = { programs = { - spotify-player.enable = false; + spotify-player.enable = true; ssh.enable = mkForce false; git.identity.email = mkDefault "moritz.boehme@l.de"; miracast.enable = mkDefault true; @@ -44,10 +44,10 @@ in gnumake pavucontrol poetry + podman-compose ]; networking.networkmanager.enableStrongSwan = true; - virtualisation.podman.dockerSocket.enable = true; systemd.user.tmpfiles.rules = [ "L /run/user/1000/docker.sock - - - - /run/user/1000/podman/podman.sock" ]; }; } diff --git a/modules/programs/niri.nix b/modules/programs/niri.nix new file mode 100644 index 0000000..763d3ae --- /dev/null +++ b/modules/programs/niri.nix @@ -0,0 +1,258 @@ +{ config +, lib +, pkgs +, ... +}: + +with lib; +let + cfg = config.my.programs.niri; + inherit (config.home-manager.users.moritz.lib.niri) actions; +in +{ + options.my.programs.niri.enable = mkEnableOption "niri"; + + config = mkIf cfg.enable { + users.users.moritz.packages = with pkgs; [ + brightnessctl # control brightness + grimblast # screenshot tool + pamixer # pulse audio cli + playerctl # control media playback + slurp # region select for wayland (for screensharing) + wdisplays # manage monitors + wl-clipboard # clipboard tool for wayland + ]; + + # adds pam module for swaylock + security.pam.services.swaylock = { }; + + programs.niri.enable = true; + + my = { + programs = { + wallpaper.enable = true; + kitty.enable = true; + tofi.enable = true; + }; + wallpapers.enable = true; + services = { + dunst.enable = true; + wallpaper = { + enable = true; + target = "niri-session.target"; + }; + spotify-player.target = "niri-session.target"; + }; + }; + home-manager.users.moritz = { + programs.waybar = { + enable = true; + + # start using systemd service + systemd = { + enable = true; + target = "river-session.target"; + }; + + settings = { + mainBar = { + start_hidden = true; + layer = "top"; + position = "top"; + height = 20; + modules-left = [ "niri/workspaces" ]; + modules-center = [ "niri/window" ]; + modules-right = [ "network" "memory" "cpu" "battery" "clock" ]; + }; + }; + }; + + # lock screen after timeout + programs.swaylock = { + enable = true; + settings = { + color = "000000"; + }; + }; + services.swayidle = { + enable = true; + events = [ + { + event = "before-sleep"; + command = "${lib.getExe pkgs.swaylock} -fF"; + } + { + event = "lock"; + command = "${lib.getExe pkgs.swaylock} -fF"; + } + ]; + timeouts = + let + lockTimeout = 10; + in + [ + { + timeout = lockTimeout * 60 - 10; + command = "${pkgs.libnotify}/bin/notify-send 'Locking screen!'"; + } + { + timeout = lockTimeout * 60 + 10; + command = "${pkgs.systemd}/bin/loginctl lock-session"; + } + ]; + systemdTarget = "river-session.target"; + }; + home.packages = with pkgs; [ + wlr-randr + jq + ]; + services.kanshi = { + enable = true; + systemdTarget = "niri-session.target"; + }; + programs.niri = { + settings = { + environment = { + "NIXOS_OZONE_WL" = "1"; + "QT_QPA_PLATFORM" = "wayland"; + }; + binds = { + # spawn different programs + "Mod+Return".action.spawn = config.my.terminal.package; + "Mod+Shift+escape".action.spawn = [ "loginctl" "lock-session" ]; + "Mod+D".action.spawn = "tofi"; + + # keyboard layout + "Mod+Space".action = actions.switch-layout "next"; + + "Mod+I".action = actions.show-hotkey-overlay; + "Mod+Q".action = actions.close-window; + "Mod+Shift+Q".action = actions.quit; + "Mod+Shift+C".action = actions.screenshot; + + # resizing / swapping / switching + "Mod+F".action = actions.fullscreen-window; + + "Mod+Shift+H".action.set-column-width = "-5%"; + "Mod+Shift+L".action.set-column-width = "+5%"; + + "Mod+J".action = actions.focus-window-down-or-column-right; + "Mod+K".action = actions.focus-window-up-or-column-left; + + "Mod+H".action = actions.move-column-left-or-to-monitor-left; + "Mod+L".action = actions.move-column-right-or-to-monitor-right; + + "Mod+W".action.spawn = [ "pkill" "-USR1" "waybar" ]; + + # "Mod+comma".action = actions.consume-window-into-column; + # "Mod+period".action = actions.expel-window-from-column; + + "Mod+comma".action = actions.focus-monitor-up; + "Mod+period".action = actions.focus-monitor-down; + + "Mod+Shift+comma".action = actions.move-workspace-to-monitor-up; + "Mod+Shift+period".action = actions.move-workspace-to-monitor-down; + "Mod+T".action = actions.switch-preset-column-width; + + "Mod+Shift+1".action.move-window-to-workspace = 1; + "Mod+Shift+2".action.move-window-to-workspace = 2; + "Mod+Shift+3".action.move-window-to-workspace = 3; + "Mod+Shift+4".action.move-window-to-workspace = 4; + "Mod+Shift+5".action.move-window-to-workspace = 5; + "Mod+Shift+6".action.move-window-to-workspace = 6; + "Mod+Shift+7".action.move-window-to-workspace = 7; + "Mod+Shift+8".action.move-window-to-workspace = 8; + "Mod+Shift+9".action.move-window-to-workspace = 9; + "Mod+Shift+0".action.move-window-to-workspace = 10; + + "Mod+1".action.focus-workspace = 1; + "Mod+2".action.focus-workspace = 2; + "Mod+3".action.focus-workspace = 3; + "Mod+4".action.focus-workspace = 4; + "Mod+5".action.focus-workspace = 5; + "Mod+6".action.focus-workspace = 6; + "Mod+7".action.focus-workspace = 7; + "Mod+8".action.focus-workspace = 8; + "Mod+9".action.focus-workspace = 9; + "Mod+0".action.focus-workspace = 10; + + # audio + "XF86_AudioMute".action.spawn = [ "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle" ]; + "XF86AudioRaiseVolume".action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%+" "-l" "1.0" ]; + "XF86AudioLowerVolume".action.spawn = [ "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "5%-" ]; + # TODO(mangoiv): mic mute toggle + }; + + layout = { + border.enable = false; + focus-ring.enable = false; + default-column-width.proportion = 2.0 / 3.0; + preset-column-widths = [ + { proportion = 1.0 / 3.0; } + { proportion = 2.0 / 3.0; } + ]; + gaps = 3; + }; + animations = { + enable = true; + slowdown = 0.5; + }; + prefer-no-csd = true; + hotkey-overlay.skip-at-startup = true; + window-rules = [ + { + matches = [ + { title = "^.*1Password.*$"; } + { title = "^.*Bitwarden.*$"; } + { title = "^.*Keepass.*$"; } + ]; + block-out-from = "screen-capture"; + } + { + clip-to-geometry = true; + geometry-corner-radius = { + bottom-left = 5.0; + bottom-right = 5.0; + top-left = 5.0; + top-right = 5.0; + }; + } + ]; + switch-events = { + lid-close.action.spawn = [ "loginctl" "lock-session" ]; + }; + input = { + touchpad.natural-scroll = false; + focus-follows-mouse.enable = true; + warp-mouse-to-focus = true; + keyboard = { + xkb.layout = "us, de"; + }; + }; + }; + }; + }; + + services = { + dbus.enable = true; + # use pipewire (needed for screensharing) + pipewire = { + enable = true; + alsa.enable = true; + pulse.enable = true; + }; + displayManager = { + autoLogin = { + enable = true; + user = "moritz"; + }; + defaultSession = "niri"; + }; + xserver = { + enable = true; + displayManager.lightdm.enable = true; + }; + }; + security.rtkit.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/comment.nix b/modules/programs/nvim/new_plugins/comment.nix new file mode 100644 index 0000000..7dd0ae1 --- /dev/null +++ b/modules/programs/nvim/new_plugins/comment.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.comment.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/conform.nix b/modules/programs/nvim/new_plugins/conform.nix index a8b94f3..7e3ca5b 100644 --- a/modules/programs/nvim/new_plugins/conform.nix +++ b/modules/programs/nvim/new_plugins/conform.nix @@ -66,7 +66,7 @@ in "conform.nvim" ]; keymaps = [ - { key = "cf"; action.__raw = ''function() require("conform").format() end''; options.desc = "Format current file"; } + { key = "="; action.__raw = ''function() require("conform").format() end''; options.desc = "Format current file"; } ]; }; diff --git a/modules/programs/nvim/new_plugins/crates-nvim.nix b/modules/programs/nvim/new_plugins/crates-nvim.nix new file mode 100644 index 0000000..dd50bfd --- /dev/null +++ b/modules/programs/nvim/new_plugins/crates-nvim.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.crates-nvim.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/direnv.nix b/modules/programs/nvim/new_plugins/direnv.nix new file mode 100644 index 0000000..3f6922a --- /dev/null +++ b/modules/programs/nvim/new_plugins/direnv.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.direnv.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/friendly-snippets.nix b/modules/programs/nvim/new_plugins/friendly-snippets.nix new file mode 100644 index 0000000..9c64552 --- /dev/null +++ b/modules/programs/nvim/new_plugins/friendly-snippets.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.friendly-snippets.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/fugitive.nix b/modules/programs/nvim/new_plugins/fugitive.nix new file mode 100644 index 0000000..97d5d11 --- /dev/null +++ b/modules/programs/nvim/new_plugins/fugitive.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.fugitive.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/gitsigns.nix b/modules/programs/nvim/new_plugins/gitsigns.nix new file mode 100644 index 0000000..2e1db6e --- /dev/null +++ b/modules/programs/nvim/new_plugins/gitsigns.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.gitsigns.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/helpview.nix b/modules/programs/nvim/new_plugins/helpview.nix new file mode 100644 index 0000000..6b00df4 --- /dev/null +++ b/modules/programs/nvim/new_plugins/helpview.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.helpview.enable = true; + performance.combinePlugins.standalonePlugins = [ "helpview.nvim" ]; + }; +} diff --git a/modules/programs/nvim/new_plugins/hmts.nix b/modules/programs/nvim/new_plugins/hmts.nix new file mode 100644 index 0000000..041793f --- /dev/null +++ b/modules/programs/nvim/new_plugins/hmts.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.hmts.enable = true; + performance.combinePlugins.standalonePlugins = [ "hmts.nvim" ]; + }; +} diff --git a/modules/programs/nvim/new_plugins/keymaps.nix b/modules/programs/nvim/new_plugins/keymaps.nix new file mode 100644 index 0000000..7c14693 --- /dev/null +++ b/modules/programs/nvim/new_plugins/keymaps.nix @@ -0,0 +1,15 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + keymaps = [ + { key = ""; action = "noh"; options.desc = "Escape and clear hlsearch"; mode = [ "i" "n" ]; } + { key = "<"; action = "n" = { action.__raw = ''function() return vim.cmd("ObsidianNew") end''; opts.desc = "New Note"; opts.buffer = true; }; + "q" = { action.__raw = ''function() return vim.cmd("ObsidianQuickSwitch") end''; opts.desc = "Quick Switch"; opts.buffer = true; }; + "b" = { action.__raw = ''function() return vim.cmd("ObsidianBacklinks") end''; opts.desc = "Backlinks"; opts.buffer = true; }; + "l" = { action.__raw = ''function() return vim.cmd("ObsidianLink") end''; opts.desc = "Link"; opts.buffer = true; }; + "e" = { action.__raw = ''function() return vim.cmd("ObsidianExtractNote") end''; opts.desc = "Extract Note"; opts.buffer = true; }; + "r" = { action.__raw = ''function() return vim.cmd("ObsidianRename") end''; opts.desc = "Rename"; opts.buffer = true; }; + "" = { action.__raw = ''function() return require("obsidian").util.smart_action() end''; opts.buffer = true; opts.expr = true; }; + "gf" = { action.__raw = ''function() return require("obsidian").util.gf_passthrough() end''; opts = { noremap = false; expr = true; buffer = true; }; }; + }; + }; + }; + }; +} diff --git a/modules/programs/nvim/new_plugins/oil.nix b/modules/programs/nvim/new_plugins/oil.nix new file mode 100644 index 0000000..bf01b58 --- /dev/null +++ b/modules/programs/nvim/new_plugins/oil.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.oil.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/other.nix b/modules/programs/nvim/new_plugins/other.nix deleted file mode 100644 index 3107253..0000000 --- a/modules/programs/nvim/new_plugins/other.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ config, lib, pkgs, inputs, ... }: - -let - inherit (lib) mkEnableOption mkIf readFile; -in -{ - home-manager.users.moritz = { - programs.nixvim = lib.mkMerge [ - { plugins.which-key.enable = true; } - { plugins.lastplace.enable = true; } - { plugins.comment.enable = true; } - { plugins.ts-context-commentstring.enable = true; } - { - plugins.vimtex = { - enable = true; - settings.view_method = "zathura"; - }; - } - { - plugins.todo-comments = { - enable = true; - keymaps.todoTelescope.key = "fc"; - }; - } - - { - keymaps = [ - { key = ""; action = "noh"; options.desc = "Escape and clear hlsearch"; mode = [ "i" "n" ]; } - { key = "<"; action = "fc" = { + action = "commands"; + options.desc = "Commands"; + }; }; }; web-devicons.enable = true; diff --git a/modules/programs/nvim/new_plugins/todo-comments.nix b/modules/programs/nvim/new_plugins/todo-comments.nix new file mode 100644 index 0000000..288c4e4 --- /dev/null +++ b/modules/programs/nvim/new_plugins/todo-comments.nix @@ -0,0 +1,13 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.todo-comments = { + enable = true; + keymaps.todoTelescope.key = "ft"; + }; + }; +} diff --git a/modules/programs/nvim/new_plugins/ts-context-commentstring.nix b/modules/programs/nvim/new_plugins/ts-context-commentstring.nix new file mode 100644 index 0000000..14dd92a --- /dev/null +++ b/modules/programs/nvim/new_plugins/ts-context-commentstring.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.ts-context-commentstring.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/vim-surround.nix b/modules/programs/nvim/new_plugins/vim-surround.nix new file mode 100644 index 0000000..08f8c0d --- /dev/null +++ b/modules/programs/nvim/new_plugins/vim-surround.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.vim-surround.enable = true; + }; +} diff --git a/modules/programs/nvim/new_plugins/vimtex.nix b/modules/programs/nvim/new_plugins/vimtex.nix new file mode 100644 index 0000000..1cf842c --- /dev/null +++ b/modules/programs/nvim/new_plugins/vimtex.nix @@ -0,0 +1,13 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.vimtex = { + enable = true; + settings.view_method = "zathura"; + }; + }; +} diff --git a/modules/programs/nvim/new_plugins/which-key.nix b/modules/programs/nvim/new_plugins/which-key.nix new file mode 100644 index 0000000..e4e4eec --- /dev/null +++ b/modules/programs/nvim/new_plugins/which-key.nix @@ -0,0 +1,10 @@ +{ config, lib, pkgs, inputs, ... }: + +let + inherit (lib) mkEnableOption mkIf readFile; +in +{ + home-manager.users.moritz.programs.nixvim = { + plugins.which-key.enable = true; + }; +} diff --git a/modules/programs/python.nix b/modules/programs/python.nix index 41c4959..9fbfb26 100644 --- a/modules/programs/python.nix +++ b/modules/programs/python.nix @@ -10,7 +10,7 @@ let cfg = config.my.programs.python; - pythonVersions = map (version: "3${toString version}") (range 8 13); + pythonVersions = map (version: "3${toString version}") (range 9 13); enabledVersions = filterAttrs (_: value: value.enable) cfg.versions; pythonPackages = version: attrNames pkgs."python${version}Packages"; diff --git a/modules/programs/river/default.nix b/modules/programs/river/default.nix index 7b3692c..5436ea1 100644 --- a/modules/programs/river/default.nix +++ b/modules/programs/river/default.nix @@ -15,10 +15,10 @@ in enable = mkEnableOption "river"; keyboardLayouts = mkOption { type = types.listOf types.str; - description = "list of keyboard layouts"; + description = "List of keyboard layouts."; default = [ "us" "de" ]; }; - nvidiaSupport = mkEnableOption "nvidiaSupport"; + nvidiaSupport = mkEnableOption "nvidia gpu support"; }; config = mkIf cfg.enable { @@ -66,6 +66,9 @@ in open = "spawn 'wlr-randr --output eDP-1 --on'"; }; map = { + passthrough = { + "Super F11" = "enter-mode normal"; + }; normal = { "Super Q" = "close"; "Super Return" = "spawn '${config.my.terminal.package}'"; @@ -103,6 +106,8 @@ in "None XF86AudioNext" = "spawn 'playerctl -p spotifyd,firefox next'"; "None XF86AudioPlay" = "spawn 'playerctl -p spotifyd,firefox play-pause'"; "None XF86AudioPrev" = "spawn 'playerctl -p spotifyd,firefox previous'"; + + "Super F11" = "enter-mode passthrough"; } // # tags ( @@ -257,7 +262,6 @@ in pipewire = { enable = true; alsa.enable = true; - alsa.support32Bit = true; pulse.enable = true; }; displayManager = {