Merge branch 'nixos' into nixos-work

This commit is contained in:
Moritz Böhme 2024-11-05 09:38:52 +01:00
commit 988789346c
27 changed files with 4918 additions and 249 deletions

491
flake.lock generated
View file

@ -43,11 +43,11 @@
]
},
"locked": {
"lastModified": 1727261104,
"narHash": "sha256-rxDI7WrxIRV9it9mDCHcLa7xQykf1JloXnoXr5xQ8zI=",
"lastModified": 1729527199,
"narHash": "sha256-D5/YksfRga8Akd04ZtIkuYSIOjXVrAzQIQBSeplokzU=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "b82fdaff917582a9d568969e15e61b398c71e990",
"rev": "8d732fa8aff8b12ef2b1e2f00fc8153e41312b72",
"type": "github"
},
"original": {
@ -116,11 +116,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1722113426,
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
"lastModified": 1728330715,
"narHash": "sha256-xRJ2nPOXb//u1jaBnDP56M7v5ldavjbtR6lfGqSvcKg=",
"owner": "numtide",
"repo": "devshell",
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
"rev": "dd6b80932022cea34a019e2bb32f6fa9e494dfef",
"type": "github"
},
"original": {
@ -134,11 +134,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1728109432,
"narHash": "sha256-wmbErh8FG7dRKOtMMpHUqDtFjeqt9Zjx4zssSeTalwU=",
"lastModified": 1729712798,
"narHash": "sha256-a+Aakkb+amHw4biOZ0iMo8xYl37uUL48YEXIC5PYJ/8=",
"owner": "nix-community",
"repo": "disko",
"rev": "48ebb577855fb2398653f033b3b2208a9249203d",
"rev": "09a776702b004fdf9c41a024e1299d575ee18a7d",
"type": "github"
},
"original": {
@ -196,6 +196,22 @@
}
},
"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=",
@ -209,7 +225,7 @@
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
"flake-compat_5": {
"flake-compat_6": {
"flake": false,
"locked": {
"lastModified": 1696426674,
@ -326,7 +342,25 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_4"
"systems": "systems_3"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_5"
},
"locked": {
"lastModified": 1726560853,
@ -342,10 +376,30 @@
"type": "github"
}
},
"ghostty": {
"inputs": {
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable",
"zig": "zig"
},
"locked": {
"lastModified": 1729829295,
"narHash": "sha256-r9bRVnLdsLPsuFb+iqUiKzxgSHWAOCt9BYxNWKwHy9Y=",
"ref": "refs/heads/main",
"rev": "582b8d039a9e36a370c9a60d702e27e06dc2e19d",
"revCount": 7809,
"type": "git",
"url": "ssh://git@github.com/ghostty-org/ghostty"
},
"original": {
"type": "git",
"url": "ssh://git@github.com/ghostty-org/ghostty"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"flake-compat": "flake-compat_3",
"gitignore": "gitignore_2",
"nixpkgs": [
"neovim-nightly-overlay",
"nixpkgs"
@ -356,11 +410,11 @@
]
},
"locked": {
"lastModified": 1727805723,
"narHash": "sha256-b8flytpuc4Ey/g3mcvpS/ICORcD4h56QDZeP5LogevY=",
"lastModified": 1729104314,
"narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "2f5ae3fc91db865eff2c5a418da85a0fbe6238a3",
"rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6",
"type": "github"
},
"original": {
@ -406,7 +460,7 @@
"nixvim",
"flake-compat"
],
"gitignore": "gitignore_2",
"gitignore": "gitignore_3",
"nixpkgs": [
"nixvim",
"nixpkgs"
@ -417,11 +471,11 @@
]
},
"locked": {
"lastModified": 1728092656,
"narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=",
"lastModified": 1729104314,
"narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "1211305a5b237771e13fcca0c51e60ad47326a9a",
"rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6",
"type": "github"
},
"original": {
@ -431,6 +485,28 @@
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": {
"nixpkgs": [
"neovim-nightly-overlay",
@ -452,7 +528,7 @@
"type": "github"
}
},
"gitignore_2": {
"gitignore_3": {
"inputs": {
"nixpkgs": [
"nixvim",
@ -474,7 +550,7 @@
"type": "github"
}
},
"gitignore_3": {
"gitignore_4": {
"inputs": {
"nixpkgs": [
"pre-commit-hooks",
@ -545,11 +621,11 @@
]
},
"locked": {
"lastModified": 1728041527,
"narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=",
"lastModified": 1729716953,
"narHash": "sha256-FbRKGRRd0amsk/WS/UV9ukJ8jT1dZ2pJBISxkX+uq6A=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e",
"rev": "a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7",
"type": "github"
},
"original": {
@ -563,11 +639,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1725551787,
"narHash": "sha256-6LgsZHz8w3g4c9bRUwRAR+WIMwFGGf3P1VZQcKNRf2o=",
"lastModified": 1729224425,
"narHash": "sha256-w9dNUedNe2qnhHuhcRf7A1l29+/6DxdMfwN6g4U3c/w=",
"owner": "hyprwm",
"repo": "contrib",
"rev": "1e531dc49ad36c88b45bf836081a7a2c8927e072",
"rev": "d72bc8b1cd30d448bd438e8328f8eeb4c0f2ddb6",
"type": "github"
},
"original": {
@ -592,11 +668,11 @@
]
},
"locked": {
"lastModified": 1727532803,
"narHash": "sha256-ZaZ7h7PY8mQc4vtGmVqWLAq9CAO02gHMyNR5yY8zDmM=",
"lastModified": 1728669738,
"narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "b98726e431d4d3ed58bd58bee1047cdb81cec69f",
"rev": "0264e698149fcb857a66a53018157b41f8d97bb0",
"type": "github"
},
"original": {
@ -614,15 +690,16 @@
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_4",
"systems": "systems_3",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_4",
"xdph": "xdph"
},
"locked": {
"lastModified": 1728223706,
"narHash": "sha256-HrsylIpk+17wwsh/+sgUBmL7VHakF+EWv9v9Dx1268I=",
"lastModified": 1729781453,
"narHash": "sha256-vSZSNXXNEPN5JJcUobCBl6FaDvXjmLHhAJWoX3ZmHUQ=",
"ref": "refs/heads/main",
"rev": "4e41cda27ed4176005082436cb35878335e63fae",
"revCount": 5301,
"rev": "3cec45d82113051d35e846e5d80719d8ea0f7002",
"revCount": 5372,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -645,38 +722,11 @@
]
},
"locked": {
"lastModified": 1727451107,
"narHash": "sha256-qV9savtHwmZUa0eJE294WYJjKPGB2+bJhwByFShsVyo=",
"lastModified": 1728345020,
"narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "6b3261ee13a6d2b99de79a31d352f6996e35bde3",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-protocols_2": {
"inputs": {
"nixpkgs": [
"hyprland",
"xdph",
"nixpkgs"
],
"systems": [
"hyprland",
"xdph",
"systems"
]
},
"locked": {
"lastModified": 1721326555,
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
"rev": "a7c183800e74f337753de186522b9017a07a8cee",
"type": "github"
},
"original": {
@ -701,11 +751,11 @@
]
},
"locked": {
"lastModified": 1725997860,
"narHash": "sha256-d/rZ/fHR5l1n7PeyLw0StWMNLXVU9c4HFyfskw568so=",
"lastModified": 1728168612,
"narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "dfeb5811dd6485490cce18d6cc1e38a055eea876",
"rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e",
"type": "github"
},
"original": {
@ -726,11 +776,11 @@
]
},
"locked": {
"lastModified": 1727300645,
"narHash": "sha256-OvAtVLaSRPnbXzOwlR1fVqCXR7i+ICRX3aPMCdIiv+c=",
"lastModified": 1728941256,
"narHash": "sha256-WRypmcZ2Bw94lLmcmxYokVOHPJSZ7T06V49QZ4tkZeQ=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "3f5293432b6dc6a99f26aca2eba3876d2660665c",
"rev": "fd4be8b9ca932f7384e454bcd923c5451ef2aa85",
"type": "github"
},
"original": {
@ -766,11 +816,11 @@
},
"impermanence": {
"locked": {
"lastModified": 1727649413,
"narHash": "sha256-FA53of86DjFdeQzRDVtvgWF9o52rWK70VHGx0Y8fElQ=",
"lastModified": 1729068498,
"narHash": "sha256-C2sGRJl1EmBq0nO98TNd4cbUy20ABSgnHWXLIJQWRFA=",
"owner": "nix-community",
"repo": "impermanence",
"rev": "d0b38e550039a72aff896ee65b0918e975e6d48e",
"rev": "e337457502571b23e449bf42153d7faa10c0a562",
"type": "github"
},
"original": {
@ -779,6 +829,34 @@
"type": "github"
}
},
"ixx": {
"inputs": {
"flake-utils": [
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [
"nixvim",
"nuschtosSearch",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729544999,
"narHash": "sha256-YcyJLvTmN6uLEBGCvYoMLwsinblXMkoYkNLEO4WnKus=",
"owner": "NuschtOS",
"repo": "ixx",
"rev": "65c207c92befec93e22086da9456d3906a4e999c",
"type": "github"
},
"original": {
"owner": "NuschtOS",
"ref": "v0.0.5",
"repo": "ixx",
"type": "github"
}
},
"libgit2": {
"flake": false,
"locked": {
@ -798,11 +876,11 @@
},
"master": {
"locked": {
"lastModified": 1728286420,
"narHash": "sha256-o2MfGdzZsQxcBDlAiYASBqMrAUOgz2b/EzzCtIo6RNI=",
"lastModified": 1729839280,
"narHash": "sha256-1sU4rzJow2Fphk3G5IGjudBtI3y9sgNM9a4BN2Us/Qs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a825406b157355e5fe73c48d04db97439a02edc9",
"rev": "e9eca9b6e9828be9ccddf1007f6f30feb9a40e24",
"type": "github"
},
"original": {
@ -835,7 +913,7 @@
},
"neovim-nightly-overlay": {
"inputs": {
"flake-compat": "flake-compat",
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts_2",
"git-hooks": "git-hooks",
"hercules-ci-effects": "hercules-ci-effects",
@ -843,11 +921,11 @@
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1727852635,
"narHash": "sha256-eY0Y5ZDMo5IS+K42kMwAMCLsYHoAgPW3R4UxeGfzP0U=",
"lastModified": 1729147490,
"narHash": "sha256-F0/iQVbbIFctMPwK4JEd4fxVzNwaq7NnD5oen59S24s=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "377cf41246ee443c86c4ae48f66f5100038fe158",
"rev": "e2047498667aeb24e8493ff430a20cff713915f4",
"type": "github"
},
"original": {
@ -859,11 +937,11 @@
"neovim-src": {
"flake": false,
"locked": {
"lastModified": 1727825968,
"narHash": "sha256-7DbbGIAbJesqYEkZh2FaEo5wycZ/cRbvZP6k01Z5+ZM=",
"lastModified": 1729121305,
"narHash": "sha256-c94xkA/RuszC4PfmB+MWqOo2vbO66GTO6XKer0mbltA=",
"owner": "neovim",
"repo": "neovim",
"rev": "2168d772b864fd05109fb4299e409d4bdc1df39d",
"rev": "852954ff6d96adce0158f74ca494fdcef3aa1921",
"type": "github"
},
"original": {
@ -880,11 +958,11 @@
]
},
"locked": {
"lastModified": 1727999297,
"narHash": "sha256-LTJuQPCsSItZ/8TieFeP30iY+uaLoD0mT0tAj1gLeyQ=",
"lastModified": 1729757100,
"narHash": "sha256-x+8uGaX66V5+fUBHY23Q/OQyibQ38nISzxgj7A7Jqds=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "8c8388ade72e58efdeae71b4cbb79e872c23a56b",
"rev": "04193f188e4144d7047f83ad1de81d6034d175cd",
"type": "github"
},
"original": {
@ -900,11 +978,11 @@
]
},
"locked": {
"lastModified": 1728263287,
"narHash": "sha256-GJDtsxz2/zw6g/Nrp4XVWBS5IaZ7ZUkuvxPOBEDe7pg=",
"lastModified": 1729394935,
"narHash": "sha256-2ntUG+NJKdfhlrh/tF+jOU0fOesO7lm5ZZVSYitsvH8=",
"owner": "Mic92",
"repo": "nix-index-database",
"rev": "5fce10c871bab6d7d5ac9e5e7efbb3a2783f5259",
"rev": "04f8a11f247ba00263b060fbcdc95484fd046104",
"type": "github"
},
"original": {
@ -935,7 +1013,7 @@
},
"nix-super": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-compat": "flake-compat_4",
"flake-parts": "flake-parts_4",
"git-hooks-nix": "git-hooks-nix",
"libgit2": "libgit2",
@ -957,6 +1035,21 @@
"type": "github"
}
},
"nixos-facter-modules": {
"locked": {
"lastModified": 1728725827,
"narHash": "sha256-io1UeGaV2HcmK1zCZPnawJu3CxKHhiZ83NBJ+qshWIo=",
"owner": "numtide",
"repo": "nixos-facter-modules",
"rev": "9f2a45b372830d28412160413d1d83f5ee11cc2f",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "nixos-facter-modules",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1722073938,
@ -1018,6 +1111,22 @@
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1726062281,
"narHash": "sha256-PyFVySdGj3enKqm8RQuo4v1KLJLmNLOq2yYOHsI6e2Q=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e65aa8301ba4f0ab8cb98f944c14aa9da07394f8",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": {
"lastModified": 1720386169,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
@ -1033,6 +1142,38 @@
"type": "github"
}
},
"nixpkgs-stable_3": {
"locked": {
"lastModified": 1720386169,
"narHash": "sha256-NGKVY4PjzwAa4upkGtAMz1npHGoRzWotlSnVlqI40mo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "194846768975b7ad2c4988bdb82572c00222c0d7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1719082008,
"narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "9693852a2070b398ee123a329e68f0dab5526681",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1692934111,
@ -1083,11 +1224,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1727348695,
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
"lastModified": 1729413321,
"narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
"rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26",
"type": "github"
},
"original": {
@ -1099,11 +1240,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1727747005,
"narHash": "sha256-2PBox0LkPhxirg1asEIpvfFARjq5KLw0EHPCy4unjPs=",
"lastModified": 1728863046,
"narHash": "sha256-DZBO2465PL5V89e8hFSJewyH4QbCPpW3ssws7ckT/0A=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9682b2197dabc185fcca802ac1ac21136e48fcc2",
"rev": "d4f247e89f6e10120f911e2e2d2254a050d0f732",
"type": "github"
},
"original": {
@ -1131,11 +1272,11 @@
},
"nixpkgs_7": {
"locked": {
"lastModified": 1728249353,
"narHash": "sha256-7NBJm1jfMeAowE1J2oljYqWVvI9X7FyyxBY4O8uB/Os=",
"lastModified": 1729788628,
"narHash": "sha256-3suayUinicnvE/4shMZwp9FHT5izUM8gMpdEO/NHBTo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c8a17040be4a20b29589cb4043a9e0c36af1930e",
"rev": "63487b2f26fa065cfeeaa47dddb08e2856ba53e8",
"type": "github"
},
"original": {
@ -1147,11 +1288,11 @@
},
"nixpkgs_8": {
"locked": {
"lastModified": 1728018373,
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
"lastModified": 1729665710,
"narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
"rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d",
"type": "github"
},
"original": {
@ -1182,7 +1323,7 @@
"devshell": [
"devshell"
],
"flake-compat": "flake-compat_4",
"flake-compat": "flake-compat_5",
"flake-parts": [
"flake-parts"
],
@ -1196,11 +1337,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1728245494,
"narHash": "sha256-bulK/Z+SEJaHM2PPk7W/kRvO51Ag9bTebcaWai9EEJc=",
"lastModified": 1729791159,
"narHash": "sha256-i5TKYCs9tJ2qaYTsjQh3WwExmj4O0EU+L1jq6ZBVMfM=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "33d030d23c9b88bb29e300d702aade58c3734612",
"rev": "4726334e4413ff55f1db3768c8d08722abbf09cf",
"type": "github"
},
"original": {
@ -1211,11 +1352,11 @@
},
"nur": {
"locked": {
"lastModified": 1728282432,
"narHash": "sha256-ftGSLQ5W9Jq8lQa3+ta/v7RtnY3MNwLQ6ybXtLbbLSw=",
"lastModified": 1729839538,
"narHash": "sha256-uS2m5oW/Jhi3UxMfCChj64NndOsE2+4Px+jYDXmpcjM=",
"owner": "nix-community",
"repo": "NUR",
"rev": "baa11edb344e5715eedaeb2a92b6bc5c220a69e4",
"rev": "6f557f568d3a16cda792132ad82e9f0c14ba5ef0",
"type": "github"
},
"original": {
@ -1226,18 +1367,19 @@
},
"nuschtosSearch": {
"inputs": {
"flake-utils": "flake-utils_2",
"flake-utils": "flake-utils_3",
"ixx": "ixx",
"nixpkgs": [
"nixvim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1728017046,
"narHash": "sha256-ofWYux/uUAv8wq7sWw8XWke0sh8p4qYxSOn8d+EaJ8c=",
"lastModified": 1729763753,
"narHash": "sha256-M8WAUgKFBU5TvFt92g/dHBtGJmBP33LHird+solHt0g=",
"owner": "NuschtOS",
"repo": "search",
"rev": "ba81d9c1eae20fc3a1cd066062a05ac2e799e629",
"rev": "bedc2f2ada220815a98a896e10f5e61bfc329bfc",
"type": "github"
},
"original": {
@ -1248,17 +1390,41 @@
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_5",
"gitignore": "gitignore_3",
"nixpkgs": "nixpkgs_9",
"nixpkgs-stable": "nixpkgs-stable"
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": {
"lastModified": 1728092656,
"narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=",
"lastModified": 1729104314,
"narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"pre-commit-hooks_2": {
"inputs": {
"flake-compat": "flake-compat_6",
"gitignore": "gitignore_4",
"nixpkgs": "nixpkgs_9",
"nixpkgs-stable": "nixpkgs-stable_3"
},
"locked": {
"lastModified": 1729104314,
"narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "1211305a5b237771e13fcca0c51e60ad47326a9a",
"rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6",
"type": "github"
},
"original": {
@ -1270,11 +1436,11 @@
"river": {
"flake": false,
"locked": {
"lastModified": 1727948541,
"narHash": "sha256-pC8D581CMhh3XCVBbwZ/8woAuD58ilGCrBX4ic5G9Zo=",
"lastModified": 1729764469,
"narHash": "sha256-uhgvV+GTxeTJNxZ4lUpqPlaonnon7MD/qFi3a6OU5t0=",
"ref": "refs/heads/master",
"rev": "fd55f51ba1b53af95fe3a24611490d42a895ef98",
"revCount": 1297,
"rev": "1b5dd21ee610b30d13c9165dfde23989c5e97e8d",
"revCount": 1299,
"submodules": true,
"type": "git",
"url": "https://github.com/riverwm/river"
@ -1294,6 +1460,7 @@
"disko": "disko",
"flake-parts": "flake-parts",
"flake-utils": "flake-utils",
"ghostty": "ghostty",
"home-manager": "home-manager_2",
"hypr-contrib": "hypr-contrib",
"hyprland": "hyprland",
@ -1303,10 +1470,11 @@
"nix-index-database": "nix-index-database",
"nix-monitored": "nix-monitored",
"nix-super": "nix-super",
"nixos-facter-modules": "nixos-facter-modules",
"nixpkgs": "nixpkgs_7",
"nixvim": "nixvim",
"nur": "nur",
"pre-commit-hooks": "pre-commit-hooks",
"pre-commit-hooks": "pre-commit-hooks_2",
"river": "river",
"stable": "stable",
"timers": "timers"
@ -1314,11 +1482,11 @@
},
"stable": {
"locked": {
"lastModified": 1728193676,
"narHash": "sha256-PbDWAIjKJdlVg+qQRhzdSor04bAPApDqIv2DofTyynk=",
"lastModified": 1729691686,
"narHash": "sha256-BAuPWW+9fa1moZTU+jFh+1cUtmsuF8asgzFwejM4wac=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ecbc1ca8ffd6aea8372ad16be9ebbb39889e55b6",
"rev": "32e940c7c420600ef0d1ef396dc63b04ee9cad37",
"type": "github"
},
"original": {
@ -1359,6 +1527,21 @@
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_4": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -1373,7 +1556,7 @@
"type": "github"
}
},
"systems_4": {
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -1388,7 +1571,7 @@
"type": "github"
}
},
"systems_5": {
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -1431,11 +1614,11 @@
]
},
"locked": {
"lastModified": 1727984844,
"narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=",
"lastModified": 1729613947,
"narHash": "sha256-XGOvuIPW1XRfPgHtGYXd5MAmJzZtOuwlfKDgxX5KT3s=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64",
"rev": "aac86347fb5063960eccb19493e0cadcdb4205ca",
"type": "github"
},
"original": {
@ -1446,7 +1629,7 @@
},
"utils": {
"inputs": {
"systems": "systems_5"
"systems": "systems_6"
},
"locked": {
"lastModified": 1692799911,
@ -1464,7 +1647,10 @@
},
"xdph": {
"inputs": {
"hyprland-protocols": "hyprland-protocols_2",
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
@ -1487,11 +1673,11 @@
]
},
"locked": {
"lastModified": 1727524473,
"narHash": "sha256-1DGktDtSWIJpnDbVoj/qpvJSH5zg6JbOfuh6xqZMap0=",
"lastModified": 1728166987,
"narHash": "sha256-w6dVTguAn9zJ+7aPOhBQgDz8bn6YZ7b56cY8Kg5HJRI=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "7e500e679ede40e79cf2d89b5f5fa3e34923bd26",
"rev": "fb9c8d665af0588bb087f97d0f673ddf0d501787",
"type": "github"
},
"original": {
@ -1499,6 +1685,31 @@
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"zig": {
"inputs": {
"flake-compat": [
"ghostty"
],
"flake-utils": "flake-utils_2",
"nixpkgs": [
"ghostty",
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1717848532,
"narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
}
},
"root": "root",

View file

@ -53,6 +53,11 @@
# Firefox user.js
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";
nixos-facter-modules.url = "github:numtide/nixos-facter-modules";
};
outputs = inputs@{ self, flake-parts, ... }:
@ -155,6 +160,7 @@
inputs.home-manager.nixosModule
inputs.impermanence.nixosModules.impermanence
inputs.nix-index-database.nixosModules.nix-index
inputs.nixos-facter-modules.nixosModules.facter
path
];
})
@ -178,11 +184,13 @@
"https://hyprland.cachix.org"
"https://nix-community.cachix.org"
"https://pre-commit-hooks.cachix.org"
"https://ghostty.cachix.org"
];
extra-trusted-public-keys = [
"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="
];
};
}

View file

@ -14,6 +14,7 @@
];
my = {
ai.enable = true;
profiles = {
desktop.enable = true;
gaming.enable = true;
@ -21,16 +22,9 @@
impermanence.enable = true;
webis.enable = true;
};
programs.hyprland.enable = true;
programs.hyprland.nvidiaSupport = true;
programs.hyprland.keyboardLayouts = [ "us" "de" ];
programs.hyprland.monitors."HDMI-A-2" = { scale = 1.2; };
programs.exercism.enable = true;
services.wallpaper.enable = true;
};
virtualisation.containers.cdi.dynamic.nvidia.enable = true;
home-manager.users.moritz.home.packages = with pkgs; [
anki
stable.calibre # NOTE: breaks often in unstable
@ -38,10 +32,14 @@
hardware = {
keyboard.qmk.enable = true;
nvidia.modesetting.enable = true;
opengl = {
nvidia = {
modesetting.enable = true;
open = true;
};
nvidia-container-toolkit.enable = true;
graphics = {
enable = true;
driSupport32Bit = true;
enable32Bit = true;
};
# sensors
@ -50,9 +48,6 @@
};
boot = {
# KERNEL
kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; # NOTE: use latest zfs compatible kernel
# BOOT
supportedFilesystems = [ "zfs" "btrfs" "ntfs" ];
loader = {

View file

@ -1,4 +1,4 @@
{ lib, ... }:
{ lib, pkgs, ... }:
{
# needed for zfs pool
@ -83,9 +83,27 @@
};
};
# rollback to blank
boot.initrd.postDeviceCommands = lib.mkAfter ''
zfs rollback -r zroot/encrypted/root@blank && echo "rollback complete"
'';
boot.initrd.systemd.services.rollback = {
description = "Rollback ZFS datasets to a pristine state";
wantedBy = [
"initrd.target"
];
after = [
"zfs-import-zroot.service"
];
before = [
"sysroot.mount"
];
path = with pkgs; [
zfs
];
unitConfig.DefaultDependencies = "no";
serviceConfig.Type = "oneshot";
script = ''
zfs rollback -r zroot/encrypted/root@blank && echo "rollback complete"
'';
};
boot.initrd.systemd.enable = true;
fileSystems."/persist".neededForBoot = true;
# HACK: to fix issue of agenix running before impermanence
age.identityPaths = [

View file

@ -6,11 +6,11 @@
, ...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
./disko.nix
];
facter.reportPath = ./facter.json;
my = {
virtualisation.libvirtd.enable = true;
yubikey.luksSupport.enable = false;
@ -20,8 +20,7 @@
webis.enable = true;
impermanence.enable = true;
};
programs.river.enable = true;
programs.hyprland.enable = false;
terminal.package = pkgs.kitty;
programs.exercism.enable = true;
};
@ -35,7 +34,6 @@
criteria = "eDP-1";
}
];
}
{
profile.name = "docked";
@ -142,6 +140,7 @@
supportedFilesystems = [ "zfs" ];
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
initrd.availableKernelModules = [ "rtsx_pci_sdmmc" ];
};
# SERVICES
@ -151,7 +150,6 @@
printing.enable = true;
logind.lidSwitch = "hybrid-sleep";
};
hardware.bluetooth.enable = true;
# NETWORKING
networking = {
@ -172,6 +170,7 @@
# Powersaving
services.tlp.enable = true;
powerManagement.enable = true;
powerManagement.powertop.enable = true;
systemd = {
# Hibernare on low battery

File diff suppressed because it is too large Load diff

View file

@ -1,17 +0,0 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ modulesPath
, lib
, ...
}: {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot = {
initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "rtsx_pci_sdmmc" ];
initrd.kernelModules = [ ];
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ];
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}

8
modules/config/ai.nix Normal file
View file

@ -0,0 +1,8 @@
{ lib
, ...
}:
with lib;
{
options.my.ai.enable = mkEnableOption "AI stuff";
}

View file

@ -0,0 +1,13 @@
{ lib
, ...
}:
with lib;
{
options.my.terminal = {
package = mkOption {
type = types.package;
apply = lib.getExe;
};
};
}

View file

@ -48,6 +48,7 @@ in
(_: value:
import value {
inherit (prev) system;
config.allowUnfree = true;
overlays = optional cfg.overlaysForAllChannels cfg.overlays;
}
)

View file

@ -187,14 +187,13 @@ in
rs = "sudo systemctl";
uj = "journalctl --user";
rj = "sudo journalctl";
lg = "lazygit";
};
aliases = {
ls = "${getExe pkgs.eza} -lh --icons --git";
cat = "bat";
rm = "rm -i";
mv = "mv -i";
nixos-update = "pushd ~/.dotfiles && nix flake update && popd";
};
variables = { EDITOR = "vim"; };
};
@ -241,6 +240,7 @@ in
which-nix
# utils
(viu.override { withSixel = true; })
bat
cht-sh
f
@ -249,7 +249,6 @@ in
parallel
ripgrep
vim
(viu.override { withSixel = true; })
wget
];
@ -300,6 +299,65 @@ in
];
};
starship.enable = true;
lazygit.enable = true;
lazygit.settings = {
customCommands = [
{
key = "<c-v>";
context = "global";
description = "Create new conventional commit";
prompts = [
{
type = "menu";
key = "Type";
title = "Type of change";
options = [
{ name = "build"; description = "Changes that affect the build system or external dependencies"; value = "build"; }
{ name = "feat"; description = "A new feature"; value = "feat"; }
{ name = "fix"; description = "A bug fix"; value = "fix"; }
{ name = "chore"; description = "Other changes that don't modify src or test files"; value = "chore"; }
{ name = "ci"; description = "Changes to CI configuration files and scripts"; value = "ci"; }
{ name = "docs"; description = "Documentation only changes"; value = "docs"; }
{ name = "perf"; description = "A code change that improves performance"; value = "perf"; }
{ name = "refactor"; description = "A code change that neither fixes a bug nor adds a feature"; value = "refactor"; }
{ name = "revert"; description = "Reverts a previous commit"; value = "revert"; }
{ name = "style"; description = "Changes that do not affect the meaning of the code"; value = "style"; }
{ name = "test"; description = "Adding missing tests or correcting existing tests"; value = "test"; }
];
}
{
type = "input";
title = "Scope";
key = "Scope";
initialValue = "";
}
{
type = "menu";
key = "Breaking";
title = "Breaking change";
options = [
{ name = "no"; value = ""; }
{ name = "yes"; value = "!"; }
];
}
{
type = "input";
title = "message";
key = "Message";
initialValue = "";
}
{
type = "confirm";
key = "Confirm";
title = "Commit";
body = "Are you sure you want to commit?";
}
];
command = "git commit --message '{{.Form.Type}}{{ if .Form.Scope }}({{ .Form.Scope }}){{ end }}{{.Form.Breaking}}: {{.Form.Message}}'";
loadingText = "Creating conventional commit...";
}
];
};
};
home = {
username = "moritz";

View file

@ -31,7 +31,7 @@ in
chromium.enable = mkDefault true;
firefox.enable = mkDefault true;
gpg.enable = mkDefault true;
hyprland.enable = mkDefault true;
river.enable = mkDefault true;
nix-edit.enable = mkDefault true;
nvim.enable = mkDefault true;
python.versions."311".enable = mkDefault true;

View file

@ -45,6 +45,8 @@ in
".cat_installer" # eduroam
".config/JetBrains"
".config/Nextcloud"
".config/Signal/"
".config/Mullvad VPN/"
".config/calibre"
".config/github-copilot"
".config/kdeconnect"

View file

@ -0,0 +1,35 @@
{ config
, lib
, pkgs
, inputs
, ...
}:
with lib;
let
cfg = config.my.programs.ghostty;
format = pkgs.formats.keyValue {
listsAsDuplicateKeys = true;
};
in
{
options.my.programs.ghostty.enable = mkEnableOption "Ghostty";
options.my.programs.ghostty.package = (mkPackageOption pkgs "Ghostty" { }) // {
inherit (inputs.ghostty.packages.${pkgs.system}) default;
};
options.my.programs.ghostty.settings = mkOption {
inherit (format) type;
description = ''
Configuration written to {file}`$XDG_CONFIG_HOME/ghostty/config`.
'';
default = { };
};
config = mkIf cfg.enable {
my.terminal.package = cfg.package;
home-manager.users.moritz = {
home.packages = [ cfg.package ];
xdg.configFile."ghostty/config".source = format.generate "ghostty-config" cfg.settings;
};
};
}

View file

@ -44,12 +44,17 @@ in
nix = config.nix.package;
};
age.secrets.nix-github-token.file = ../../secrets/nix-github-token.age;
nix = {
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
package = pkgs.nix;
extraOptions = "experimental-features = nix-command flakes";
extraOptions = ''
!include ${config.age.secrets.nix-github-token.path}
experimental-features = nix-command flakes
'';
gc = {
automatic = cfg.gc.enable;

View file

@ -17,30 +17,6 @@ in
xdotool # for vimtex
];
# programs.neovim = {
# extraPackages = with pkgs;
# [
# alejandra
# checkmake
# codespell
# deadnix
# dotenv-linter
# fish
# jq
# nil
# nixd
# nixpkgs-fmt
# nodePackages.bash-language-server
# python3Packages.python-lsp-server
# shellcheck
# shfmt
# stable.yamlfix
# statix
# taplo
# yamllint
# ];
# };
programs.nixvim = {
enable = true;
package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default;

View file

@ -1,37 +1,55 @@
{ config, lib, pkgs, inputs, ... }:
{ config, lib, pkgs, ... }:
let
inherit (lib) mkEnableOption mkIf readFile;
inherit (lib) mkIf;
cfg = config.my.ai;
in
{
home-manager.users.moritz.programs.nixvim = {
extraPlugins = with pkgs.vimPlugins; [
nui-nvim
render-markdown-nvim
avante-nvim
];
extraConfigLuaPost = ''
require("render-markdown").setup({ file_types = {"markdown", "Avante"} })
config = mkIf cfg.enable {
home-manager.users.moritz.programs.nixvim = {
extraPlugins = with pkgs.vimPlugins; [
nui-nvim
render-markdown-nvim
avante-nvim
];
extraConfigLuaPost = ''
require("render-markdown").setup({ file_types = {"markdown", "Avante"} })
require("avante_lib").load()
require("avante").setup({
provider = "openai",
auto_suggestions_provider = "openai",
behaviour = {
-- auto_suggestions = true,
},
openai = {
model = "gpt-4o",
api_key_name = "cmd:cat /run/agenix/openai"
}
})
'';
# plugins.copilot-lua.enable = true;
# plugins.copilot-lua.suggestion.enabled = false;
# plugins.copilot-lua.panel.enabled = false;
plugins.dressing.enable = true;
# performance.combinePlugins.standalonePlugins = [ "copilot.lua" ];
require("avante_lib").load()
require("avante").setup({
provider = "openai",
auto_suggestions_provider = "openai-cheap",
behaviour = {
auto_suggestions = false,
},
openai = {
model = "gpt-4o",
api_key_name = "cmd:cat /run/agenix/openai",
},
vendors = {
---@type AvanteProvider
["openai-cheap"] = {
model = "gpt-4o-mini",
api_key_name = "cmd:cat /run/agenix/openai",
endpoint = "https://api.openai.com/v1",
parse_curl_args = function(opts, code_opts)
return require("avante.providers").openai.parse_curl_args(opts, code_opts)
end,
parse_response_data = function(data_stream, event_state, opts)
return require("avante.providers").openai.parse_response(data_stream, event_state, opts)
end
},
},
})
'';
plugins.dressing.enable = true;
};
age.secrets = {
"openai".file = ../../../../secrets/openai.age;
"openai".owner = "moritz";
anthropic.file = ../../../../secrets/anthropic.age;
anthropic.owner = "moritz";
};
};
age.secrets."openai".file = ../../../../secrets/openai.age;
age.secrets."openai".owner = "moritz";
}

View file

@ -10,6 +10,7 @@ in
colorschemes.catppuccin = {
enable = true;
settings.flavour = "macchiato";
settings.default_integrations = true;
};
};
}

View file

@ -0,0 +1,14 @@
_:
{
home-manager.users.moritz.programs.nixvim = {
keymaps = [
{ key = "<leader>g"; action = "<cmd>LazyGit<cr>"; options.desc = "Lazygit"; }
];
plugins.lazygit = {
enable = true;
settings = { };
};
};
}

View file

@ -10,7 +10,7 @@ in
inlayHints = true;
servers.elixirls.enable = true;
servers.nextls.enable = true;
servers.nil-ls.enable = true;
servers.nil_ls.enable = true;
servers.nixd.enable = true;
servers.nixd.extraOptions.settings.nixd = {
nixpkgs = {

View file

@ -26,16 +26,21 @@ in
{
keymaps = [
{ key = "<esc>"; action = "<cmd>noh<cr><esc>"; options.desc = "Escape and clear hlsearch"; mode = [ "i" "n" ]; }
{ key = "<"; action = "<gv"; options.desc = "Shift left"; mode = [ "v" ]; }
{ key = ">"; action = ">gv"; options.desc = "Shift right"; mode = [ "v" ]; }
{ key = "y"; action = "ygv<esc>"; options.desc = "Yank"; mode = [ "v" ]; }
];
}
{ plugins.oil.enable = true; }
{ plugins.nvim-autopairs.enable = true; }
{ plugins.vim-surround.enable = true; }
{
plugins.lint.enable = true;
# TODO: add linters
plugins.lint.lintersByFt = { };
}
# TODO: add linters
# {
# plugins.lint.enable = true;
# plugins.lint.lintersByFt = { };
# }
{
plugins.marks.enable = true;
plugins.marks.defaultMappings = false;

View file

@ -0,0 +1,91 @@
{ config, lib, pkgs, inputs, ... }:
let
inherit (lib) mkEnableOption mkIf readFile;
in
{
home-manager.users.moritz.programs.nixvim = {
plugins.treesitter-textobjects = {
enable = true;
move = {
enable = true;
gotoNext = {
"]f" = {
desc = "Next function";
query = "@function.outer";
};
"]c" = {
desc = "Next class";
query = "@class.outer";
};
"]b" = {
desc = "Next block";
query = "@block.outer";
};
"]P" = {
desc = "Next parameter";
query = "@parameter.outer";
};
};
gotoPrevious = {
"[f" = {
desc = "Previous function";
query = "@function.outer";
};
"[c" = {
desc = "Previous class";
query = "@class.outer";
};
"[b" = {
desc = "Previous block";
query = "@block.outer";
};
"[P" = {
desc = "Previous parameter";
query = "@parameter.outer";
};
};
};
select = {
enable = true;
keymaps = {
"af" = {
desc = "function";
query = "@function.outer";
};
"if" = {
desc = "inner function";
query = "@function.inner";
};
"ac" = {
desc = "class";
query = "@class.outer";
};
"ic" = {
desc = "inner class";
query = "@class.inner";
};
"ab" = {
desc = "block";
query = "@block.outer";
};
"ib" = {
desc = "inner block";
query = "@block.inner";
};
"aP" = {
desc = "parameter";
query = "@parameter.outer";
};
"iP" = {
desc = "inner parameter";
query = "@parameter.inner";
};
};
};
};
performance.combinePlugins.standalonePlugins = [
"nvim-treesitter-textobjects"
];
};
}

View file

@ -11,6 +11,12 @@ in
nixvimInjections = true;
settings.indent.enable = true;
settings.highlight.enable = true;
settings.incremental_selection = {
enable = true;
keymaps.init_selection = "gn";
keymaps.node_decremental = "gp";
keymaps.node_incremental = "gn";
};
};
performance.combinePlugins.standalonePlugins = [
"nvim-treesitter"

View file

@ -61,14 +61,14 @@ in
];
map-switch.normal.lid = {
close = ''
spawn 'wlr-randr --output eDP-1 --off; monitors=$(wlr-randr --json | jq .[].name | count); [ "$monitors" = 1] && loginctl lock-session'
spawn 'monitors=$(wlr-randr --json | jq .[].name | count); [ "$monitors" = 1] && loginctl lock-session'
'';
open = "spawn 'wlr-randr --output eDP-1 --on'";
};
map = {
normal = {
"Super Q" = "close";
"Super Return" = "spawn kitty";
"Super Return" = "spawn '${config.my.terminal.package}'";
"Super R" = ''spawn 'exec $(tofi-run --fuzzy-match=true)' '';
"Super W" = ''spawn "pkill -USR1 waybar"'';
"Super+Shift R" = "spawn ~/.config/river/init";
@ -94,6 +94,7 @@ in
# lock screen
"Super+Alt L" = ''spawn "loginctl lock-session"'';
"Control I" = ''spawn "loginctl lock-session"'';
# XF86 keys
"None XF86AudioLowerVolume" = "spawn 'pamixer -d 5'";
@ -213,10 +214,9 @@ in
# adds pam module for swaylock
security.pam.services.swaylock = { };
# add user packages for wayland and hyprland in particular
users.users.moritz.packages = with pkgs; [
brightnessctl # control brightness
grimblast # screenshot tool for hyprland
grimblast # screenshot tool
pamixer # pulse audio cli
playerctl # control media playback
slurp # region select for wayland (for screensharing)

9
secrets/anthropic.age Normal file
View file

@ -0,0 +1,9 @@
age-encryption.org/v1
-> ssh-ed25519 CjuqfA ob0n5W6N0VlEKzLv673P7EPgdy44Fp31QEZODiFNME0
lP7281rBedn1sl7ZIBzi4omjQ/LGxL0z1bbkDJHn/QE
-> ssh-ed25519 wG6LYg YeKjGo2RpduY3OZbpBmraAzTIPtqUMJKJlBMH4yPOAs
jJgqfViKWxDmJ/RM1jmX02WwBxN5AQQy13SVnffKlAI
-> ssh-ed25519 ZYd7Zg A8/d+6fWYfJQHBCONGxxF7pJgkT7BCG0zrfdCgPKTzk
fxPs3RHIBEtycgogvCF/dr5FPpnm8VB+TviALw4JjfY
--- lgatpj1jTFhdwNZaRQv187tNYHvMpfqDasa9uSH9Kig
Ç¥<‰Ì~¯÷„p~©sì$ŒŠÔ!?—|T(]= ^zLP7<77>€8?ˆ¶í…ÏE•¬pÉÊnš£\àÑ¥;ݼsŸ6úº`_ìÊtïüýxý4àâýa´»Ä4Š]OMhHзsh!Á7Öó€-ì+ÝŸ <0A>r<>~éZ}CuÃÒ·ñ†ã®¾

View file

@ -0,0 +1,10 @@
age-encryption.org/v1
-> ssh-ed25519 CjuqfA H1gL8k/o7kvJoVEZ0UrbUv1G7Ceb3cUCIVFhch9rDhc
0531muHlievVhT5piGLXC+/zOymCkPM9P9csRxLsnpM
-> ssh-ed25519 wG6LYg Z9cm/TUZbV35tzgHywx1AHmF8jrFFqBl3sCIELEvcH0
OmLY/ThgZ4f8CFFA5YpYFiRK+ro7cBqoFY6UY7/VS8I
-> ssh-ed25519 ZYd7Zg xpjSILAYRyQ4kkbdLAVJQXChX+t/DeL3qWWJae2sczI
wamYh70/AGSh5j4uqsPFTvn36E3TmGoVL8XlxbSfX9g
--- NNsTU7Fsi/WLegSpkuoNaxN0kFQG38mgdhCQ8y+CSQE
vâî"²úÃF
=‰rûazÜ6h<>ÍQâN÷&DpvðGÄXQ$d7tíˆ݈ElÃIèÀXŠãYrV'‚ç×ï)J¬€Hí<48>ɦ Úƒ?fåœÊWÃH_Ô®Ô±‰ª"

View file

@ -27,4 +27,6 @@ in
"moritz-password.age".publicKeys = personal;
"exercism.age".publicKeys = personal;
"openai.age".publicKeys = personal;
"anthropic.age".publicKeys = personal;
"nix-github-token.age".publicKeys = personal;
}