Compare commits
174 Commits
7c61d646a6
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 1238fa76db | |||
| 58e0b82520 | |||
| b4bac11cf9 | |||
| bb45b7b08a | |||
| 9a07fe0d59 | |||
| 5c8ebb84bb | |||
| 6dfacb91da | |||
| 128a560bb0 | |||
| 86fbc59bcf | |||
| 82e15df890 | |||
| a60a5b738b | |||
| 191a54670e | |||
| 7949acb8f0 | |||
| 11e881b1cc | |||
| 2223acef57 | |||
| b1d54ce420 | |||
| d3c63aa684 | |||
| dac6771f58 | |||
| cf784f3847 | |||
| e9c4339640 | |||
| 386c4d6561 | |||
| 66171880bc | |||
| 65430099bf | |||
| a65cfacb79 | |||
| c6a21aee85 | |||
| 514e4864ca | |||
| 69d16e38a8 | |||
| e86a839bd7 | |||
| 65f878b20d | |||
| b893475db6 | |||
| 1ada91d5ef | |||
| 42bf08084e | |||
| 50d192c809 | |||
| c028bad2a6 | |||
| 9b218f88fa | |||
| 276823d2aa | |||
| ab47a1ea52 | |||
| 4a7615b50c | |||
| ea37cbe865 | |||
| 8cc337ca0e | |||
| f99cb4f761 | |||
| 6abef03321 | |||
| f584fb2e32 | |||
| b7763031dd | |||
| 761624c21c | |||
| 43d87cb6b3 | |||
| be310b9ae7 | |||
| 39fb19f62e | |||
| f7041607d7 | |||
| 6ef3081bd1 | |||
| c69e8ed0ef | |||
| 9e3023c26b | |||
| 3a6c6673eb | |||
| c6baa8fc5b | |||
| 9a89b1ee6a | |||
| eda60a7fec | |||
| e69f8348be | |||
| 23b4035da1 | |||
| 02427aca71 | |||
| 03274e6e46 | |||
| bf994f7e13 | |||
| 3696bab033 | |||
| ea2a03037a | |||
| 0947941c11 | |||
| c48ecab2bd | |||
| 55b1cae63b | |||
| 76a072d274 | |||
| 346907fce4 | |||
| 86810b6105 | |||
| eba2b6e52f | |||
| 96e4476934 | |||
| 560f36b18e | |||
| 0c9d45ad39 | |||
| e39eeac850 | |||
| 46cc39c91f | |||
| 9f7b03679a | |||
| 96ab25c6ad | |||
| d530844886 | |||
| 8bb52d7df6 | |||
| 05d4280ad6 | |||
| 90b99dbf19 | |||
| f96f7182c4 | |||
| bd8b5f1327 | |||
| d13b59e7ac | |||
| 69b47de1fc | |||
| 06cb547197 | |||
| f0ec952442 | |||
| 2fab28204d | |||
| 9b32b8a6db | |||
| 71e6fbcef4 | |||
| 1b140efc19 | |||
| 8c21db0a08 | |||
| d5a7657410 | |||
| e5b8871d4e | |||
| a6808a984e | |||
| e5f6a4bc69 | |||
| eb857b8d03 | |||
| 712aaab720 | |||
| 778433b318 | |||
| 7440ef91b4 | |||
| 265a526c8b | |||
| 6cd5770452 | |||
| 66d2dde112 | |||
| 7974a95659 | |||
| 8b605d692f | |||
| b911a7931e | |||
| 574b2c058b | |||
| f4f69a4a25 | |||
| 640c5911f6 | |||
| be74b8caaf | |||
| be199acad3 | |||
| 3335542d54 | |||
| e008cd4d89 | |||
| 4dbffa89c2 | |||
| c89816839a | |||
| b5b1e07f3a | |||
| 340ea873ce | |||
| 1fa30bdb94 | |||
| f480a1f8c9 | |||
| fd3f3639bd | |||
| be4f0c5e6b | |||
| 46f546a0e0 | |||
| 22535fbbaf | |||
| 10cf6bba46 | |||
| f07c4ae0d3 | |||
| c1f8c704b3 | |||
| 0aa7f459dd | |||
| 15dfb83bb7 | |||
| 6b8a9a2152 | |||
| 482f1b5912 | |||
| 78277afa8a | |||
| 680454c6b2 | |||
| ec1a12e2a1 | |||
| 960af2d43b | |||
| a7e636e7a2 | |||
| 099b8e40b2 | |||
| 32bf3e0bc0 | |||
| 905de63f78 | |||
| c977f9d3a2 | |||
| bc666ecab5 | |||
| 8e0d66eff5 | |||
| c657f03912 | |||
| 2ec608c5ae | |||
| 6a3a44b2f0 | |||
| 1c96a54c52 | |||
| 30d55ebb5a | |||
| daf0ea1169 | |||
| bd20e9a29b | |||
| f8d3994ad9 | |||
| 3b376d7657 | |||
| 082f0bdcc5 | |||
| 137e3753da | |||
| c012163715 | |||
| be4b7c7d82 | |||
| 6c88dcd775 | |||
| a1f0bf30cd | |||
| 873230cfe3 | |||
| 1bf5944f11 | |||
| ff5e0d6bb2 | |||
| 795bca39f8 | |||
| 707e839517 | |||
| a9db2c09e7 | |||
| c657dae471 | |||
| d1237dab12 | |||
| 61bcc8776f | |||
| e05dc795b3 | |||
| eafa73042a | |||
| e36f899e93 | |||
| 671b5f92c0 | |||
| 4e3d74795b | |||
| 036969de6e | |||
| 793956deba | |||
| f3ecc2cfc6 | |||
| c212117355 |
9
.gitmodules
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
[submodule "machines/homebox"]
|
||||||
|
path = machines/homebox
|
||||||
|
url = ssh://gitea@gitea.esotericbytes.com:2222/Blunkall-Technologies/homebox
|
||||||
|
[submodule "machines/laptop"]
|
||||||
|
path = machines/laptop
|
||||||
|
url = ssh://gitea@gitea.esotericbytes.com:2222/Blunkall-Technologies/laptop
|
||||||
|
[submodule "machines/android"]
|
||||||
|
path = machines/android
|
||||||
|
url = ssh://gitea@gitea.esotericbytes.com:2222/Blunkall-Technologies/android
|
||||||
22
.sops.yaml
@@ -3,28 +3,6 @@ keys:
|
|||||||
- &laptop age1yqgyp2uxz4lzrc9f9ka0mfjl5fr6ahf8nf24nlmran2wulg6fpvq9hyp9q
|
- &laptop age1yqgyp2uxz4lzrc9f9ka0mfjl5fr6ahf8nf24nlmran2wulg6fpvq9hyp9q
|
||||||
- &android age12pnf36uqesjmy3e0lythfnpwam3zg5mv8m936fc4jphy4ces2fdqwn0s74
|
- &android age12pnf36uqesjmy3e0lythfnpwam3zg5mv8m936fc4jphy4ces2fdqwn0s74
|
||||||
creation_rules:
|
creation_rules:
|
||||||
- path_regex: homebox/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *homebox
|
|
||||||
- path_regex: laptop/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
- path_regex: pi4/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
- path_regex: live/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
- path_regex: nathan/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
- *homebox
|
|
||||||
- *android
|
|
||||||
- path_regex: system/secrets.yaml$
|
- path_regex: system/secrets.yaml$
|
||||||
key_groups:
|
key_groups:
|
||||||
- age:
|
- age:
|
||||||
|
|||||||
106
flake.lock
generated
@@ -20,11 +20,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765900596,
|
"lastModified": 1767024902,
|
||||||
"narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=",
|
"narHash": "sha256-sMdk6QkMDhIOnvULXKUM8WW8iyi551SWw2i6KQHbrrU=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "aquamarine",
|
"repo": "aquamarine",
|
||||||
"rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace",
|
"rev": "b8a0c5ba5a9fbd2c660be7dd98bdde0ff3798556",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -40,11 +40,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766150702,
|
"lastModified": 1768923567,
|
||||||
"narHash": "sha256-P0kM+5o+DKnB6raXgFEk3azw8Wqg5FL6wyl9jD+G5a4=",
|
"narHash": "sha256-GVJ0jKsyXLuBzRMXCDY6D5J8wVdwP1DuQmmvYL/Vw/Q=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "916506443ecd0d0b4a0f4cf9d40a3c22ce39b378",
|
"rev": "00395d188e3594a1507f214a2f15d4ce5c07cb28",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -61,11 +61,11 @@
|
|||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "pkgs/firefox-addons",
|
"dir": "pkgs/firefox-addons",
|
||||||
"lastModified": 1767153827,
|
"lastModified": 1769054619,
|
||||||
"narHash": "sha256-TWBjaSJ0AAmG/T2XZ9848IW/fBzCOlAqMAvzJH792Jk=",
|
"narHash": "sha256-LCc0gbSgjehdy41Gi1H5WNxEuW9PtRHFVaPXoFzslQU=",
|
||||||
"owner": "rycee",
|
"owner": "rycee",
|
||||||
"repo": "nur-expressions",
|
"repo": "nur-expressions",
|
||||||
"rev": "59f10bed3c115555d256720b1a28934c86e78d12",
|
"rev": "6509620630f68dc02ac3e99f15a67760778444ff",
|
||||||
"type": "gitlab"
|
"type": "gitlab"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -78,15 +78,15 @@
|
|||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1761588595,
|
"lastModified": 1767039857,
|
||||||
"narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
|
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
|
||||||
"owner": "edolstra",
|
"owner": "NixOS",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
|
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "edolstra",
|
"owner": "NixOS",
|
||||||
"repo": "flake-compat",
|
"repo": "flake-compat",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -212,16 +212,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763992789,
|
"lastModified": 1768949235,
|
||||||
"narHash": "sha256-WHkdBlw6oyxXIra/vQPYLtqY+3G8dUVZM8bEXk0t8x4=",
|
"narHash": "sha256-TtjKgXyg1lMfh374w5uxutd6Vx2P/hU81aEhTxrO2cg=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "44831a7eaba4360fb81f2acc5ea6de5fde90aaa3",
|
"rev": "75ed713570ca17427119e7e204ab3590cc3bf2a5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-25.05",
|
"ref": "release-25.11",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -271,11 +271,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1763733840,
|
"lastModified": 1766946335,
|
||||||
"narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=",
|
"narHash": "sha256-MRD+Jr2bY11MzNDfenENhiK6pvN+nHygxdHoHbZ1HtE=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprgraphics",
|
"repo": "hyprgraphics",
|
||||||
"rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a",
|
"rev": "4af02a3925b454deb1c36603843da528b67ded6c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -301,11 +301,11 @@
|
|||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767201430,
|
"lastModified": 1769095012,
|
||||||
"narHash": "sha256-4BUM06GqP5YAVnWvxkdeYuweMF6n+oKdxJI5S9TmA1E=",
|
"narHash": "sha256-vx8uFvwLPdrN7E0HgW1nc8+fTbTwcA7jkdwXoba8XUU=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "48a024e0322bbd7c4c88126498ec478444ec4cb2",
|
"rev": "82de66a030e6818ec3d21f49c8cdf9db31eebfa6",
|
||||||
"revCount": 6763,
|
"revCount": 6831,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
@@ -349,11 +349,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765643131,
|
"lastModified": 1767023960,
|
||||||
"narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=",
|
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-guiutils",
|
"repo": "hyprland-guiutils",
|
||||||
"rev": "e50ae912813bdfa8372d62daf454f48d6df02297",
|
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -480,11 +480,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766160771,
|
"lastModified": 1766253372,
|
||||||
"narHash": "sha256-roINUGikWRqqgKrD4iotKbGj3ZKJl3hjMz5l/SyKrHw=",
|
"narHash": "sha256-1+p4Kw8HdtMoFSmJtfdwjxM4bPxDK9yg27SlvUMpzWA=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprutils",
|
"repo": "hyprutils",
|
||||||
"rev": "5ac060bfcf2f12b3a6381156ebbc13826a05b09f",
|
"rev": "51a4f93ce8572e7b12b7284eb9e6e8ebf16b4be9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -534,11 +534,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766253200,
|
"lastModified": 1767473322,
|
||||||
"narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=",
|
"narHash": "sha256-RGOeG+wQHeJ6BKcsSB8r0ZU77g9mDvoQzoTKj2dFHwA=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwire",
|
"repo": "hyprwire",
|
||||||
"rev": "1079777525b30a947c8d657fac158e00ae85de9d",
|
"rev": "d5e7d6b49fe780353c1cf9a1cf39fa8970bd9d11",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -584,11 +584,11 @@
|
|||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767147099,
|
"lastModified": 1768962252,
|
||||||
"narHash": "sha256-395ehjdAtaqCbKmx+PhKAqnkYLvTtAzq2qzFG9qaGDw=",
|
"narHash": "sha256-HyWOOHcySV8rl36gs4+n0sxPinxpwWOgwXibfFPYeZ0=",
|
||||||
"owner": "Infinidoge",
|
"owner": "Infinidoge",
|
||||||
"repo": "nix-minecraft",
|
"repo": "nix-minecraft",
|
||||||
"rev": "01f571579edd64433f97c4294137fbc366deef4b",
|
"rev": "433cf697394104123e1fd02fa689534ac1733bfa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -599,11 +599,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766070988,
|
"lastModified": 1767379071,
|
||||||
"narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=",
|
"narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c6245e83d836d0433170a16eb185cefe0572f8b8",
|
"rev": "fb7944c166a3b630f177938e478f0378e64ce108",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -630,11 +630,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-us": {
|
"nixpkgs-us": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766902085,
|
"lastModified": 1769018530,
|
||||||
"narHash": "sha256-coBu0ONtFzlwwVBzmjacUQwj3G+lybcZ1oeNSQkgC0M=",
|
"narHash": "sha256-MJ27Cy2NtBEV5tsK+YraYr2g851f3Fl1LpNHDzDX15c=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "c0b0e0fddf73fd517c3471e546c0df87a42d53f4",
|
"rev": "88d3861acdd3d2f0e361767018218e51810df8a1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -662,16 +662,16 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1767051569,
|
"lastModified": 1768940263,
|
||||||
"narHash": "sha256-0MnuWoN+n1UYaGBIpqpPs9I9ZHW4kynits4mrnh1Pk4=",
|
"narHash": "sha256-sJERJIYTKPFXkoz/gBaBtRKke82h4DkX3BBSsKbfbvI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "40ee5e1944bebdd128f9fbada44faefddfde29bd",
|
"rev": "3ceaaa8bc963ced4d830e06ea2d0863b6490ff03",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-25.05",
|
"ref": "nixos-25.11",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -783,11 +783,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1765911976,
|
"lastModified": 1767281941,
|
||||||
"narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=",
|
"narHash": "sha256-6MkqajPICgugsuZ92OMoQcgSHnD6sJHwk8AxvMcIgTE=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "git-hooks.nix",
|
"repo": "git-hooks.nix",
|
||||||
"rev": "b68b780b69702a090c8bb1b973bab13756cc7a27",
|
"rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -816,11 +816,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1766894905,
|
"lastModified": 1768863606,
|
||||||
"narHash": "sha256-pn8AxxfajqyR/Dmr1wnZYdUXHgM3u6z9x0Z1Ijmz2UQ=",
|
"narHash": "sha256-1IHAeS8WtBiEo5XiyJBHOXMzECD6aaIOJmpQKzRRl64=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "61b39c7b657081c2adc91b75dd3ad8a91d6f07a7",
|
"rev": "c7067be8db2c09ab1884de67ef6c4f693973f4a2",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
41
flake.nix
@@ -2,12 +2,12 @@
|
|||||||
description = "Nixos config flake";
|
description = "Nixos config flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||||
|
|
||||||
nixpkgs-us.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-us.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.05";
|
url = "github:nix-community/home-manager/release-25.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -29,17 +29,19 @@
|
|||||||
|
|
||||||
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
nix-minecraft.url = "github:Infinidoge/nix-minecraft";
|
||||||
|
|
||||||
#simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05";
|
#simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-25.11";
|
||||||
|
|
||||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
|
|
||||||
nixvim.url = "git+https://gitea.esotericbytes.com/Blunkall-Technologies/Moirai";
|
nixvim.url = "git+https://gitea.esotericbytes.com/Blunkall-Technologies/Moirai";
|
||||||
|
|
||||||
|
self.submodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, ... } @ inputs: {
|
outputs = { self, nixpkgs, home-manager, ... } @ inputs: {
|
||||||
|
|
||||||
profiles = let
|
profiles = let
|
||||||
dir = builtins.readDir ./system/profiles;
|
dir = builtins.readDir ./profiles;
|
||||||
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
||||||
in (builtins.listToAttrs
|
in (builtins.listToAttrs
|
||||||
(builtins.map
|
(builtins.map
|
||||||
@@ -49,14 +51,14 @@
|
|||||||
value = { ... }: {
|
value = { ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./system
|
./system
|
||||||
./system/profiles/${name}
|
./profiles/${name}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
})) filtered)
|
})) filtered)
|
||||||
);
|
);
|
||||||
|
|
||||||
homes = let
|
homes = let
|
||||||
dir = builtins.readDir ./system/users;
|
dir = builtins.readDir ./homes;
|
||||||
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
filtered = builtins.filter (x: dir.${x} == "directory") (builtins.attrNames dir);
|
||||||
in (builtins.listToAttrs
|
in (builtins.listToAttrs
|
||||||
(builtins.map
|
(builtins.map
|
||||||
@@ -64,10 +66,9 @@
|
|||||||
inherit name;
|
inherit name;
|
||||||
|
|
||||||
value = { ... } @ exputs: {
|
value = { ... } @ exputs: {
|
||||||
imports = [
|
imports = [ (import ./homes/${name}/home-manager (exputs // inputs)) ];
|
||||||
(./system/users/${name}/home-manager (inputs // exputs))
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
})) filtered)
|
})) filtered)
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -180,5 +181,27 @@
|
|||||||
|
|
||||||
default = self.templates.nixos;
|
default = self.templates.nixos;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
nixosConfigurations = let
|
||||||
|
dir = builtins.readDir ./machines;
|
||||||
|
filtered = builtins.filter (x: dir.${x} == "directory" && x != "android") (builtins.attrNames dir);
|
||||||
|
in (builtins.listToAttrs
|
||||||
|
(builtins.map
|
||||||
|
(name: ({
|
||||||
|
inherit name;
|
||||||
|
|
||||||
|
value = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = inputs;
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
{ sysconfig.host = name; }
|
||||||
|
./machines/${name}
|
||||||
|
self.profiles.${name}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
})) filtered)
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.05";
|
url = "github:nix-community/home-manager/release-25.11";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
11
homes/nathan/home-manager/.sops.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
keys:
|
||||||
|
- &homebox age1640eg0pnmkruc89m5xguz0m8fek44fl4tzez6qwuzlz6kmapqewsp8esxd
|
||||||
|
- &laptop age1yqgyp2uxz4lzrc9f9ka0mfjl5fr6ahf8nf24nlmran2wulg6fpvq9hyp9q
|
||||||
|
- &android age12pnf36uqesjmy3e0lythfnpwam3zg5mv8m936fc4jphy4ces2fdqwn0s74
|
||||||
|
creation_rules:
|
||||||
|
- path_regex: ^secrets.yaml$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *laptop
|
||||||
|
- *homebox
|
||||||
|
- *android
|
||||||
@@ -1,10 +1,12 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }: {
|
{ config, lib, pkgs, inputs, ... }: {
|
||||||
|
|
||||||
imports = [
|
imports = let
|
||||||
./programs
|
dir = builtins.readDir ./.;
|
||||||
./services
|
in (builtins.map (x: ./${x}) (builtins.filter
|
||||||
./packages
|
(file: (dir.${file} == "directory"))
|
||||||
./dotfiles
|
(builtins.attrNames dir)
|
||||||
|
)) ++ [
|
||||||
|
inputs.sops-nix.homeManagerModules.sops
|
||||||
];
|
];
|
||||||
|
|
||||||
options.homeconfig = with lib; {
|
options.homeconfig = with lib; {
|
||||||
@@ -37,7 +39,7 @@
|
|||||||
nh.enable = lib.mkDefault true;
|
nh.enable = lib.mkDefault true;
|
||||||
|
|
||||||
minimal = lib.mkDefault false;
|
minimal = lib.mkDefault false;
|
||||||
hyprland.enable = lib.mkDefault (config.homeconfig.graphical && !config.homeconfig.standalone);
|
hyprland.enable = lib.mkDefault config.homeconfig.graphical;
|
||||||
hyprlock.enable = lib.mkDefault config.homeconfig.hyprland.enable;
|
hyprlock.enable = lib.mkDefault config.homeconfig.hyprland.enable;
|
||||||
wal.enable = lib.mkDefault config.homeconfig.graphical;
|
wal.enable = lib.mkDefault config.homeconfig.graphical;
|
||||||
hyprpanel.enable = lib.mkDefault config.homeconfig.hyprland.enable;
|
hyprpanel.enable = lib.mkDefault config.homeconfig.hyprland.enable;
|
||||||
@@ -49,8 +51,6 @@
|
|||||||
|
|
||||||
home.homeDirectory = lib.mkDefault "/home/${config.home.username}";
|
home.homeDirectory = lib.mkDefault "/home/${config.home.username}";
|
||||||
|
|
||||||
programs.home-manager.enable = config.homeconfig.standalone;
|
|
||||||
|
|
||||||
home.stateVersion = "23.11";
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
home.pointerCursor = lib.mkIf config.homeconfig.graphical {
|
home.pointerCursor = lib.mkIf config.homeconfig.graphical {
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
size = 16;
|
size = 16;
|
||||||
};
|
};
|
||||||
|
|
||||||
gtk = lib.mkIf config.homeconfig.graphical {
|
gtk = lib.mkIf (config.homeconfig.graphical && config.homeconfig.hyprland.enable) {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme.name = "Tokyonight-Dark";
|
theme.name = "Tokyonight-Dark";
|
||||||
theme.package = pkgs.tokyonight-gtk-theme;
|
theme.package = pkgs.tokyonight-gtk-theme;
|
||||||
@@ -72,15 +72,8 @@
|
|||||||
age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
|
age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
|
||||||
defaultSopsFile = ./secrets.yaml;
|
defaultSopsFile = ./secrets.yaml;
|
||||||
defaultSopsFormat = "yaml";
|
defaultSopsFormat = "yaml";
|
||||||
};
|
|
||||||
|
|
||||||
nix = lib.mkIf config.homeconfig.standalone {
|
#secrets."remoteBuildKey" = {};
|
||||||
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
|
||||||
settings = {
|
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
|
||||||
builders = "ssh://builder x86_64-linux,aarch64-linux /run/secrets/remoteBuildKey 1 1 nixos-test,benchmark,big-parallel,kvm - -";
|
|
||||||
builders-use-substituters = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mpris-proxy.enable = true;
|
services.mpris-proxy.enable = true;
|
||||||
@@ -90,17 +83,17 @@
|
|||||||
|
|
||||||
matchBlocks = {
|
matchBlocks = {
|
||||||
"builder" = {
|
"builder" = {
|
||||||
hostname = "blunkall.us";
|
hostname = "esotericbytes.com";
|
||||||
user = "remote-builder";
|
user = "remote-builder";
|
||||||
identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519";
|
identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519";
|
||||||
port = 2222;
|
port = 22;
|
||||||
};
|
};
|
||||||
|
|
||||||
"remote" = {
|
"remote" = {
|
||||||
hostname = "blunkall.us";
|
hostname = "esotericbytes.com";
|
||||||
user = "nathan";
|
user = "nathan";
|
||||||
identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519";
|
identityFile = "${config.home.homeDirectory}/.ssh/id_ed25519";
|
||||||
port = 2222;
|
port = 22;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 1007 KiB After Width: | Height: | Size: 1007 KiB |
|
Before Width: | Height: | Size: 110 MiB After Width: | Height: | Size: 110 MiB |
|
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 191 KiB |
|
Before Width: | Height: | Size: 874 KiB After Width: | Height: | Size: 874 KiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 48 MiB After Width: | Height: | Size: 48 MiB |
|
Before Width: | Height: | Size: 203 MiB After Width: | Height: | Size: 203 MiB |
|
Before Width: | Height: | Size: 670 KiB After Width: | Height: | Size: 670 KiB |
|
Before Width: | Height: | Size: 273 KiB After Width: | Height: | Size: 273 KiB |
|
Before Width: | Height: | Size: 140 MiB After Width: | Height: | Size: 140 MiB |
|
Before Width: | Height: | Size: 3.1 MiB After Width: | Height: | Size: 3.1 MiB |
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 2.8 MiB |
|
Before Width: | Height: | Size: 36 MiB After Width: | Height: | Size: 36 MiB |
@@ -5,6 +5,7 @@
|
|||||||
".config/hyprpanel" = lib.mkIf config.homeconfig.hyprpanel.enable { source = ./hyprpanel; recursive = true; };
|
".config/hyprpanel" = lib.mkIf config.homeconfig.hyprpanel.enable { source = ./hyprpanel; recursive = true; };
|
||||||
".config/wal/templates" = lib.mkIf config.homeconfig.wal.enable { source = ./wal/templates; recursive = true; };
|
".config/wal/templates" = lib.mkIf config.homeconfig.wal.enable { source = ./wal/templates; recursive = true; };
|
||||||
".config/ohmyposh" = { source = ./ohmyposh; recursive = true; };
|
".config/ohmyposh" = { source = ./ohmyposh; recursive = true; };
|
||||||
|
".config/quickshell" = lib.mkIf config.homeconfig.quickshell.enable { source = ./quickshell; recursive = true; };
|
||||||
"Pictures/Wallpaper" = lib.mkIf config.homeconfig.graphical { source = ./Wallpaper; recursive = true; };
|
"Pictures/Wallpaper" = lib.mkIf config.homeconfig.graphical { source = ./Wallpaper; recursive = true; };
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
|
|
||||||
$font = Monospace
|
$font = Monospace
|
||||||
|
|
||||||
|
source = ~/.cache/wal/colors-hypr.conf
|
||||||
|
|
||||||
general {
|
general {
|
||||||
hide_cursor = false
|
hide_cursor = false
|
||||||
}
|
}
|
||||||
@@ -45,9 +47,9 @@ input-field {
|
|||||||
outline_thickness = 3
|
outline_thickness = 3
|
||||||
inner_color = rgba(0, 0, 0, 0.0) # no fill
|
inner_color = rgba(0, 0, 0, 0.0) # no fill
|
||||||
|
|
||||||
outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
|
outer_color = $color1 $color5 100deg
|
||||||
check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg
|
check_color = $color2 $color6 120deg
|
||||||
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg
|
fail_color = $color3 $color7 40deg
|
||||||
|
|
||||||
font_color = rgb(143, 143, 143)
|
font_color = rgb(143, 143, 143)
|
||||||
fade_on_empty = false
|
fade_on_empty = false
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
# #
|
# #
|
||||||
#------------------------------------------------#
|
#------------------------------------------------#
|
||||||
|
|
||||||
exec-once=onSystemStart
|
exec-once = hyprrun onSystemStart
|
||||||
|
|
||||||
# Some default env vars.
|
# Some default env vars.
|
||||||
env = XCURSOR_SIZE,16
|
env = XCURSOR_SIZE,16
|
||||||
@@ -93,11 +93,6 @@ master {
|
|||||||
new_status = "master"
|
new_status = "master"
|
||||||
}
|
}
|
||||||
|
|
||||||
gestures {
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
|
||||||
workspace_swipe = off
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
misc {
|
||||||
disable_hyprland_logo = false
|
disable_hyprland_logo = false
|
||||||
disable_splash_rendering = true
|
disable_splash_rendering = true
|
||||||
@@ -112,13 +107,11 @@ ecosystem {
|
|||||||
# Binds
|
# Binds
|
||||||
$mainMod = ALT
|
$mainMod = ALT
|
||||||
|
|
||||||
bind = CTRL SHIFT, H, exec, colorPrefix kitty -e 'bash -c "hyprctl binds | less"'
|
bind = $mainMod SHIFT, E, exec, colorPrefix hyprrun kitty
|
||||||
|
|
||||||
bind = $mainMod SHIFT, E, exec, colorPrefix kitty
|
bind = $mainMod, B, exec, hyprrun firefox
|
||||||
|
|
||||||
bind = $mainMod, B, exec, firefox
|
bind = $mainMod SHIFT, B, exec, hyprrun firefox --private-window
|
||||||
|
|
||||||
bind = $mainMod SHIFT, B, exec, firefox --private-window
|
|
||||||
|
|
||||||
bind = $mainMod, Q, killactive,
|
bind = $mainMod, Q, killactive,
|
||||||
|
|
||||||
@@ -126,20 +119,20 @@ bind = $mainMod, Q, killactive,
|
|||||||
|
|
||||||
#bind = $mainMod SHIFT, R, exec, colorPrefix kitty -e _homeRebuild
|
#bind = $mainMod SHIFT, R, exec, colorPrefix kitty -e _homeRebuild
|
||||||
|
|
||||||
bind = $mainMod, F, exec, thunar
|
bind = $mainMod, F, exec, hyprrun thunar
|
||||||
bind = $mainMod SHIFT, F, fullscreen
|
bind = $mainMod SHIFT, F, fullscreen
|
||||||
|
|
||||||
bind = $mainMod SHIFT, semicolon, exec, colorPrefix kitty -e lf
|
bind = $mainMod SHIFT, semicolon, exec, colorPrefix hyprrun kitty -e lf
|
||||||
|
|
||||||
bind = $mainMod, Insert, exec, libreoffice
|
bind = $mainMod, Insert, exec, hyprrun libreoffice
|
||||||
|
|
||||||
bind = $mainMod, V, togglefloating,
|
bind = $mainMod, V, togglefloating,
|
||||||
|
|
||||||
bind = $mainMod SHIFT, V, exec, vlc
|
bind = $mainMod SHIFT, V, exec, hyprrun vlc
|
||||||
|
|
||||||
bind = , Menu, exec, rofi -show drun
|
bind = , Menu, exec, rofi -show drun -show-icons -run-command 'hyprrun {cmd}'
|
||||||
|
|
||||||
bind = $mainMod, Menu, exec, hyprpanel -q; hyprpanel
|
bind = $mainMod, Menu, exec, hyprrun hyprpanel -q; hyprrun hyprpanel
|
||||||
|
|
||||||
#bind = $mainMod, P, pseudo, # dwindle
|
#bind = $mainMod, P, pseudo, # dwindle
|
||||||
#bind = $mainMod, Z, togglesplit, # dwindle
|
#bind = $mainMod, Z, togglesplit, # dwindle
|
||||||
@@ -147,34 +140,34 @@ bind = $mainMod, Menu, exec, hyprpanel -q; hyprpanel
|
|||||||
bind = $mainMod, N, layoutmsg, rollnext # master
|
bind = $mainMod, N, layoutmsg, rollnext # master
|
||||||
bind = $mainMod, P, layoutmsg, rollprev # master
|
bind = $mainMod, P, layoutmsg, rollprev # master
|
||||||
|
|
||||||
bind = $mainMod, M, exec, spotify
|
bind = $mainMod, M, exec, hyprrun spotify
|
||||||
|
|
||||||
bind = $mainMod SHIFT, M, exec, firefox soundcloud.com/you/library
|
bind = $mainMod SHIFT, M, exec, hyprrun firefox soundcloud.com/you/library
|
||||||
|
|
||||||
bind = $mainMod CTRL, M, exec, colorPrefix kitty -e ncmpcpp -s browser
|
bind = $mainMod CTRL, M, exec, colorPrefix hyprrun kitty -e ncmpcpp -s browser
|
||||||
|
|
||||||
bind = $mainMod, XF86AudioPlay, exec, mpc load casual
|
bind = $mainMod, XF86AudioPlay, exec, hyprrun mpc load casual
|
||||||
|
|
||||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
bind = , XF86AudioPlay, exec, hyprrun playerctl play-pause
|
||||||
|
|
||||||
bind = , XF86AudioPause, exec, playerctl pause
|
bind = , XF86AudioPause, exec, hyprrun playerctl pause
|
||||||
|
|
||||||
bind = , XF86AudioNext, exec, playerctl next
|
bind = , XF86AudioNext, exec, hyprrun playerctl next
|
||||||
|
|
||||||
bind = , XF86AudioPrev, exec, playerctl previous
|
bind = , XF86AudioPrev, exec, hyprrun playerctl previous
|
||||||
|
|
||||||
bind = , XF86Launch2, exec, steam
|
bind = , XF86Launch2, exec, hyprrun steam
|
||||||
bind = $mainMod, XF86Launch2, exec, prismlauncher
|
bind = $mainMod, XF86Launch2, exec, hyprrun prismlauncher
|
||||||
|
|
||||||
bind = , XF86Calculator, exec, geogebra
|
bind = , XF86Calculator, exec, hyprrun geogebra
|
||||||
|
|
||||||
bind = $mainMod SHIFT, Print, exec, firefox localhost:631
|
bind = $mainMod SHIFT, Print, exec, hyprrun firefox localhost:631
|
||||||
|
|
||||||
bind = $mainMod, Return, exec, discord --enable-features=UseOzonePlatform --ozone-platform=wayland
|
bind = $mainMod, Return, exec, hyprrun discord --enable-features=UseOzonePlatform --ozone-platform=wayland
|
||||||
|
|
||||||
bind = $mainMod CTRL, Return, exec, firefox https://discord.com/app
|
bind = $mainMod CTRL, Return, exec, hyprrun firefox https://discord.com/app
|
||||||
|
|
||||||
bind = , Home, exec, setWallpaper
|
bind = , Home, exec, hyprrun setWallpaper
|
||||||
|
|
||||||
# Move focus with mainMod + arrow keys
|
# Move focus with mainMod + arrow keys
|
||||||
bind = $mainMod, W, movefocus, u
|
bind = $mainMod, W, movefocus, u
|
||||||
@@ -246,7 +239,7 @@ bind = , XF86MonBrightnessDown, exec, brightnessctl set 10%-
|
|||||||
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ 10%+
|
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_SINK@ 10%+
|
||||||
binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_SINK@ 10%-
|
binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_SINK@ 10%-
|
||||||
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle
|
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle
|
||||||
bind = $mainMod, F9, exec, pavucontrol
|
bind = $mainMod, F9, exec, hyprrun pavucontrol
|
||||||
|
|
||||||
#screen lock key
|
#screen lock key
|
||||||
#bind = $mainMod, F12, exec, swaylock
|
#bind = $mainMod, F12, exec, swaylock
|
||||||
@@ -264,29 +257,29 @@ bind = $mainMod SHIFT, D, movewindow, r
|
|||||||
bindm = $mainMod, mouse:272, movewindow
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
bindm = $mainMod SHIFT, mouse:272, resizewindow
|
bindm = $mainMod SHIFT, mouse:272, resizewindow
|
||||||
|
|
||||||
$scratchpadsize = size 60% 80%
|
$scratchpadsize = size (monitor_w*0.6) (monitor_h*0.8)
|
||||||
|
|
||||||
$kitty = class:^(scratchpad-kitty)$
|
$kitty = ^(scratchpad-kitty)$
|
||||||
windowrulev2 = float, $kitty
|
windowrule = float on, match:class $kitty
|
||||||
windowrulev2 = $scratchpadsize, $kitty
|
windowrule = $scratchpadsize, match:class $kitty
|
||||||
windowrulev2 = workspace special silent, $kitty
|
windowrule = workspace special silent, match:class $kitty
|
||||||
|
|
||||||
$lf = class:^(scratchpad-lf)$
|
$lf = ^(scratchpad-lf)$
|
||||||
windowrulev2 = float, $lf
|
windowrule = float on, match:class $lf
|
||||||
windowrulev2 = $scratchpadsize, $lf
|
windowrule = $scratchpadsize, match:class $lf
|
||||||
windowrulev2 = workspace special silent, $lf
|
windowrule = workspace special silent, match:class $lf
|
||||||
|
|
||||||
$cal = class:^(scratchpad-cal)$
|
$cal = ^(scratchpad-cal)$
|
||||||
windowrulev2 = float, $cal
|
windowrule = float on, match:class $cal
|
||||||
windowrulev2 = $scratchpadsize, $cal
|
windowrule = $scratchpadsize, match:class $cal
|
||||||
windowrulev2 = workspace special silent, $cal
|
windowrule = workspace special silent, match:class $cal
|
||||||
|
|
||||||
bind = $mainMod, semicolon, exec, pypr toggle lf
|
bind = $mainMod, semicolon, exec, pypr toggle lf
|
||||||
bind = $mainMod, E, exec, pypr toggle kitty
|
bind = $mainMod, E, exec, pypr toggle kitty
|
||||||
bind = $mainMod, C, exec, pypr toggle calendar
|
bind = $mainMod, C, exec, pypr toggle calendar
|
||||||
|
|
||||||
|
|
||||||
bind = CTRL SHIFT, Home, exec, ssh nathan@esotericbytes.com -fL 5900:localhost:5900 sleep 10; vncviewer localhost:5900 -fullscreen
|
bind = CTRL SHIFT, Home, exec, hyprrun ssh nathan@esotericbytes.com -fL 5900:localhost:5900 sleep 10; vncviewer localhost:5900 -fullscreen
|
||||||
bind = CTRL SHIFT, Home, submap, clean
|
bind = CTRL SHIFT, Home, submap, clean
|
||||||
|
|
||||||
|
|
||||||
112
homes/nathan/home-manager/dotfiles/wal/templates/ohmyposh.toml
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
#:schema https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json
|
||||||
|
|
||||||
|
version = 2
|
||||||
|
final_space = true
|
||||||
|
console_title_template = '{{{{ .Shell }}}} in {{{{ .Folder }}}}'
|
||||||
|
|
||||||
|
[[blocks]]
|
||||||
|
type = 'prompt'
|
||||||
|
alignment = 'left'
|
||||||
|
newline = true
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'os'
|
||||||
|
style = 'diamond'
|
||||||
|
trailing_diamond = ''
|
||||||
|
background = 'p:c1'
|
||||||
|
foreground = 'p:c12'
|
||||||
|
template = ' {{{{ .Icon }}}} '
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'session'
|
||||||
|
style = 'diamond'
|
||||||
|
trailing_diamond = ''
|
||||||
|
background = 'p:c2'
|
||||||
|
foreground = 'p:c14'
|
||||||
|
template = '{{{{ .UserName }}}}@{{{{ .HostName }}}}'
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'path'
|
||||||
|
style = 'diamond'
|
||||||
|
trailing_diamond = ''
|
||||||
|
background = 'p:c4'
|
||||||
|
foreground = 'p:c13'
|
||||||
|
template = '{{{{ .Path }}}}'
|
||||||
|
|
||||||
|
[blocks.segments.properties]
|
||||||
|
style = 'full'
|
||||||
|
|
||||||
|
[[blocks]]
|
||||||
|
type = 'prompt'
|
||||||
|
overflow = 'hidden'
|
||||||
|
alignment = 'right'
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'executiontime'
|
||||||
|
style = 'diamond'
|
||||||
|
leading_diamond = ''
|
||||||
|
background = 'p:c4'
|
||||||
|
foreground = 'p:c13'
|
||||||
|
template = '{{{{ .FormattedMs }}}}'
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'time'
|
||||||
|
style = 'diamond'
|
||||||
|
leading_diamond = ''
|
||||||
|
background = 'p:c2'
|
||||||
|
foreground = 'p:c14'
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'shell'
|
||||||
|
style = 'diamond'
|
||||||
|
leading_diamond = ''
|
||||||
|
background = 'p:c1'
|
||||||
|
foreground = 'p:c12'
|
||||||
|
|
||||||
|
[[blocks]]
|
||||||
|
type = 'prompt'
|
||||||
|
alignment = 'left'
|
||||||
|
newline = true
|
||||||
|
|
||||||
|
[[blocks.segments]]
|
||||||
|
type = 'text'
|
||||||
|
style = 'plain'
|
||||||
|
background = 'transparent'
|
||||||
|
foreground_templates = [
|
||||||
|
"{{{{ if gt .Code 0 }}}}p:c13{{{{end}}}}",
|
||||||
|
"{{{{ if eq .Code 0 }}}}p:c14{{{{end}}}}",
|
||||||
|
]
|
||||||
|
template = "{{{{ if gt .Code 0 }}}}!❭ {{{{else}}}}❭ {{{{end}}}}"
|
||||||
|
|
||||||
|
[transient_prompt]
|
||||||
|
foreground_templates = [
|
||||||
|
"{{{{ if gt .Code 0 }}}}p:c13{{{{end}}}}",
|
||||||
|
"{{{{ if eq .Code 0 }}}}p:c14{{{{end}}}}",
|
||||||
|
]
|
||||||
|
background = 'transparent'
|
||||||
|
template = "{{{{ if gt .Code 0 }}}}!❭ {{{{else}}}}❭ {{{{end}}}}"
|
||||||
|
|
||||||
|
[secondary_prompt]
|
||||||
|
background = 'transparent'
|
||||||
|
forground = 'p:c14'
|
||||||
|
template = "❭❭ "
|
||||||
|
|
||||||
|
|
||||||
|
[palette]
|
||||||
|
|
||||||
|
c0 = "{color0}"
|
||||||
|
c1 = "{color1}"
|
||||||
|
c2 = "{color2}"
|
||||||
|
c3 = "{color3}"
|
||||||
|
c4 = "{color4}"
|
||||||
|
c5 = "{color5}"
|
||||||
|
c6 = "{color6}"
|
||||||
|
c7 = "{color7}"
|
||||||
|
c8 = "{color8}"
|
||||||
|
c9 = "{color9}"
|
||||||
|
c10 = "{color10}"
|
||||||
|
c11 = "{color11}"
|
||||||
|
c12 = "{color12}"
|
||||||
|
c13 = "{color13}"
|
||||||
|
c14 = "{color14}"
|
||||||
|
c15 = "{color15}"
|
||||||
119
homes/nathan/home-manager/packages/default.nix
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
{ config, lib, pkgs, inputs, ... }: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
|
||||||
|
pkgs-us = import inputs.nixpkgs-us {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./scripts
|
||||||
|
];
|
||||||
|
|
||||||
|
options.homeconfig.minimal = with lib; options.mkOption {
|
||||||
|
type = with types; bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
config = with lib; mkMerge [
|
||||||
|
{
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
|
||||||
|
kjv
|
||||||
|
openssh
|
||||||
|
sops
|
||||||
|
dig
|
||||||
|
toybox
|
||||||
|
btop
|
||||||
|
zip
|
||||||
|
unzip
|
||||||
|
rsync
|
||||||
|
curl
|
||||||
|
|
||||||
|
(python313.withPackages (ps: with ps; [
|
||||||
|
gpustat
|
||||||
|
numpy
|
||||||
|
matplotlib
|
||||||
|
scipy
|
||||||
|
pandas
|
||||||
|
pyaudio
|
||||||
|
pyusb
|
||||||
|
debugpy
|
||||||
|
requests
|
||||||
|
]))
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
(mkIf config.homeconfig.graphical {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
xfce.thunar
|
||||||
|
wl-clipboard
|
||||||
|
blueberry
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
(mkIf (!config.homeconfig.minimal) {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
cava
|
||||||
|
android-tools
|
||||||
|
neovim-remote
|
||||||
|
zulu
|
||||||
|
fastfetch
|
||||||
|
ncmpcpp
|
||||||
|
playerctl
|
||||||
|
mpc
|
||||||
|
ffmpeg
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
(mkIf (!config.homeconfig.minimal && config.homeconfig.graphical) {
|
||||||
|
|
||||||
|
nixpkgs.config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
|
||||||
|
handbrake
|
||||||
|
quickemu
|
||||||
|
bottles
|
||||||
|
|
||||||
|
pkgs-us.runapp
|
||||||
|
brightnessctl
|
||||||
|
libdbusmenu-gtk3
|
||||||
|
lmms
|
||||||
|
|
||||||
|
#unfree {
|
||||||
|
geogebra
|
||||||
|
spotify
|
||||||
|
discord
|
||||||
|
#}
|
||||||
|
rustdesk-flutter
|
||||||
|
mpv
|
||||||
|
vlc
|
||||||
|
pavucontrol
|
||||||
|
rpi-imager
|
||||||
|
tigervnc
|
||||||
|
keepassxc
|
||||||
|
|
||||||
|
#3D modeling/printing
|
||||||
|
blender
|
||||||
|
freecad-wayland
|
||||||
|
cura-appimage
|
||||||
|
|
||||||
|
#productivity
|
||||||
|
libreoffice
|
||||||
|
|
||||||
|
#games
|
||||||
|
prismlauncher
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,4 +1,13 @@
|
|||||||
{ config, lib, pkgs, ... }: {
|
{ config, lib, pkgs, inputs, ... }: let
|
||||||
|
|
||||||
|
system = "x86_64-linux";
|
||||||
|
|
||||||
|
pkgs-us = import inputs.nixpkgs-us {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
homeconfig.scripts.enable = lib.options.mkOption {
|
homeconfig.scripts.enable = lib.options.mkOption {
|
||||||
@@ -7,16 +16,28 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.homeconfig.scripts.enable {
|
config = lib.mkMerge [
|
||||||
|
(lib.mkIf (config.homeconfig.hyprland.enable && config.homeconfig.scripts.enable) {
|
||||||
|
home.packages = [
|
||||||
|
(pkgs.writeShellScriptBin "hyprrun" ''
|
||||||
|
${pkgs-us.runapp}/bin/runapp ''$@
|
||||||
|
#uwsm app -- ''$@
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
(lib.mkIf (!config.homeconfig.hyprland.enable && config.homeconfig.scripts.enable) {
|
||||||
|
home.packages = [
|
||||||
|
(pkgs.writeShellScriptBin "hyprrun" ''
|
||||||
|
eval "''$@"
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
})
|
||||||
|
|
||||||
|
(lib.mkIf config.homeconfig.scripts.enable {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
|
|
||||||
#scripts
|
#scripts
|
||||||
(pkgs.writeShellScriptBin "_systemRebuild" ''
|
|
||||||
${pkgs.nh}/bin/nh os switch --ask
|
|
||||||
echo //////Enter to close//////
|
|
||||||
read
|
|
||||||
'')
|
|
||||||
|
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "randWallpaper" ''
|
(pkgs.writeShellScriptBin "randWallpaper" ''
|
||||||
file=''$(ls ${config.home.homeDirectory}/Pictures/Wallpaper/ | shuf -n 1)
|
file=''$(ls ${config.home.homeDirectory}/Pictures/Wallpaper/ | shuf -n 1)
|
||||||
@@ -32,24 +53,25 @@
|
|||||||
img=''$(realpath "''${1:-$(find ~/Pictures/Wallpaper/* | rofi -dmenu)}")
|
img=''$(realpath "''${1:-$(find ~/Pictures/Wallpaper/* | rofi -dmenu)}")
|
||||||
n=''$(basename "''$img")
|
n=''$(basename "''$img")
|
||||||
ext="''${n''\#''\#*.}"
|
ext="''${n''\#''\#*.}"
|
||||||
|
out=''${3:-/dev/null}
|
||||||
|
|
||||||
if [[ ''$ext == "gif" || ''$ext == "mp4" ]]; then
|
if [[ ''$ext == "gif" || ''$ext == "mp4" ]]; then
|
||||||
yes | ${pkgs.ffmpeg}/bin/ffmpeg -i "''$img" -vframes 1 /tmp/nathan/tmp.jpg
|
yes | ${pkgs.ffmpeg}/bin/ffmpeg -i "''$img" -vframes 1 /tmp/nathan/tmp.jpg >> ''$out
|
||||||
cp /tmp/nathan/tmp.jpg /tmp/nathan/tmp2.jpg
|
cp /tmp/nathan/tmp.jpg /tmp/nathan/tmp2.jpg
|
||||||
pidof mpvpaper && pkill mpvpaper
|
pidof mpvpaper && pkill mpvpaper
|
||||||
${pkgs.swww}/bin/swww img /tmp/nathan/tmp.jpg -t wipe
|
${pkgs.swww}/bin/swww img /tmp/nathan/tmp.jpg -t wipe >> ''$out
|
||||||
${pkgs.hyprpanel}/bin/hyprpanel sw /tmp/nathan/tmp2.jpg
|
${pkgs.hyprpanel}/bin/hyprpanel sw /tmp/nathan/tmp2.jpg >> ''$out
|
||||||
sleep 0.3
|
sleep 0.3
|
||||||
hyprctl dispatch exec "${pkgs.mpvpaper}/bin/mpvpaper ALL ''$img -o loop"
|
hyprctl dispatch exec "${pkgs.mpvpaper}/bin/mpvpaper ALL ''$img -o loop"
|
||||||
${pkgs.hyprpanel}/bin/hyprpanel sw /tmp/nathan/tmp.jpg
|
${pkgs.hyprpanel}/bin/hyprpanel sw /tmp/nathan/tmp.jpg >> ''$out
|
||||||
rm /tmp/nathan/tmp2.jpg
|
rm /tmp/nathan/tmp2.jpg
|
||||||
else
|
else
|
||||||
pidof mpvpaper && pkill mpvpaper
|
pidof mpvpaper && pkill mpvpaper
|
||||||
hyprctl dispatch exec "${pkgs.swww}/bin/swww img ''$img -t wipe"
|
hyprctl dispatch exec "${pkgs.swww}/bin/swww img ''$img -t wipe" >> ''$out
|
||||||
${pkgs.hyprpanel}/bin/hyprpanel sw "''$img"
|
${pkgs.hyprpanel}/bin/hyprpanel sw "''$img" >> ''$out
|
||||||
fi
|
fi
|
||||||
|
|
||||||
changeColors "''$img" "''$2"
|
changeColors "''$img" "''$2" >> ''$out
|
||||||
'')
|
'')
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "changeColors" ''
|
(pkgs.writeShellScriptBin "changeColors" ''
|
||||||
@@ -73,14 +95,14 @@
|
|||||||
'')
|
'')
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "colorPrefix" ''
|
(pkgs.writeShellScriptBin "colorPrefix" ''
|
||||||
exec -a "$0" "$@" &
|
pidof firefox > /dev/null && ${pkgs.pywalfox-native}/bin/pywalfox update &
|
||||||
sleep 0.4
|
pidof kitty > /dev/null && pkill -USR1 kitty
|
||||||
${pkgs.pywalfox-native}/bin/pywalfox update &
|
pidof cava > /dev/null && pkill -USR1 cava
|
||||||
pkill -USR1 kitty
|
|
||||||
pidof cava && pkill -USR1 cava
|
|
||||||
for i in ''$(ls /run/user/1000 | grep nvim); do
|
for i in ''$(ls /run/user/1000 | grep nvim); do
|
||||||
${pkgs.neovim-remote}/bin/nvr -s --servername /run/user/1000/''$i --remote-send '<cmd>colorscheme pywal<CR>';
|
${pkgs.neovim-remote}/bin/nvr -s --servername /run/user/1000/''$i --remote-send '<cmd>colorscheme pywal<CR>';
|
||||||
done
|
done
|
||||||
|
|
||||||
|
eval "''$@"
|
||||||
'')
|
'')
|
||||||
|
|
||||||
(pkgs.writeShellScriptBin "onSystemStart" ''
|
(pkgs.writeShellScriptBin "onSystemStart" ''
|
||||||
@@ -106,14 +128,8 @@
|
|||||||
#tmux new-session -s hyprland
|
#tmux new-session -s hyprland
|
||||||
'')
|
'')
|
||||||
|
|
||||||
] ++ (if config.homeconfig.standalone.enable then [
|
];
|
||||||
|
})
|
||||||
(pkgs.writeShellScriptBin "_homeRebuild" ''
|
];
|
||||||
${pkgs.nh}/bin/nh home switch --ask
|
|
||||||
echo //////Enter to close//////
|
|
||||||
read
|
|
||||||
'')
|
|
||||||
] else []);
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
19
homes/nathan/home-manager/programs/default.nix
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{ config, lib, pkgs, inputs, ... }: {
|
||||||
|
|
||||||
|
imports = let
|
||||||
|
dir = builtins.readDir ./.;
|
||||||
|
in builtins.map (x: ./${x}) (builtins.filter
|
||||||
|
(file: (dir.${file} == "directory"))
|
||||||
|
(builtins.attrNames dir)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
config = {
|
||||||
|
|
||||||
|
home.packages = lib.mkIf (!config.homeconfig.wal.enable) [
|
||||||
|
inputs.nixvim.packages.${pkgs.stdenv.hostPlatform.system}.default
|
||||||
|
];
|
||||||
|
|
||||||
|
home.sessionVariables.EDITOR = "nvim";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
'';
|
'';
|
||||||
in lib.replaceStrings [ "<path>" ] [
|
in lib.replaceStrings [ "<path>" ] [
|
||||||
"${pywalfox-wrapper}/bin/pywalfox-wrapper"
|
"${pywalfox-wrapper}/bin/pywalfox-wrapper"
|
||||||
] (lib.readFile "${pkgs.pywalfox-native}/lib/python3.12/site-packages/pywalfox/assets/manifest.json");
|
] (lib.readFile "${pkgs.pywalfox-native}/lib/python3.13/site-packages/pywalfox/assets/manifest.json");
|
||||||
|
|
||||||
|
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [
|
extensions.packages = with inputs.firefox-addons.packages.${pkgs.stdenv.hostPlatform.system}; [
|
||||||
ublock-origin
|
ublock-origin
|
||||||
keepassxc-browser
|
keepassxc-browser
|
||||||
pywalfox
|
pywalfox
|
||||||
@@ -27,12 +27,15 @@
|
|||||||
{ path = "${config.sops.templates.gitconfig.path}"; }
|
{ path = "${config.sops.templates.gitconfig.path}"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
extraConfig = {
|
settings = {
|
||||||
init = {
|
init = {
|
||||||
defaultBranch = "master";
|
defaultBranch = "master";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
safe.directory = "/etc/nixos";
|
||||||
|
|
||||||
url = {
|
url = {
|
||||||
"ssh://gitea@esotericbytes.com/" = {
|
"ssh://gitea@gitea.esotericbytes.com/" = {
|
||||||
insteadOf = [
|
insteadOf = [
|
||||||
"server:"
|
"server:"
|
||||||
];
|
];
|
||||||
@@ -32,26 +32,11 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
systemd = {
|
systemd = {
|
||||||
enable = true;
|
enable = false;
|
||||||
variables = [ "--all" ];
|
variables = [ "--all" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = (if config.homeconfig.host == "laptop" then ''
|
extraConfig = (if config.homeconfig.hyprpanel.enable then ''
|
||||||
bind = CTRL SHIFT, XF86Launch2, exec, bash -c 'if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then pkexec --user root /nix/var/nix/profiles/system/bin/switch-to-configuration switch; else pkexec --user root /nix/var/nix/profiles/system/specialisation/docked/bin/switch-to-configuration switch; fi'
|
|
||||||
bind = ALT, Escape, exec, if [[ $(hyprctl monitors | grep 0x0 | sed -n -e "s/\t*1920x1080@//" -e "s/.[1234567890]* at 0x0//p") == 300 ]]; then hyprctl keyword monitor eDP-1,1920x1080@60,0x0,1; else hyprctl keyword monitor eDP-1,1920x1080@300,0x0,1; fi
|
|
||||||
'' else if config.homeconfig.host == "homebox" then ''
|
|
||||||
monitor=HDMI-A-2,1920x1080@60,0x0,1
|
|
||||||
monitor=HEADLESS-2,1920x1080@60,0x0,1
|
|
||||||
exec-once=hyprctl output create headless HEADLESS-2
|
|
||||||
exec-once=hyprctl keyword monitor HDMI-A-2,disable
|
|
||||||
exec-once=${pkgs.wayvnc}/bin/wayvnc 0.0.0.0 -o HEADLESS-2
|
|
||||||
'' else if config.homeconfig.host == "container" then ''
|
|
||||||
monitor=HEADLESS-2,1920x1080@60,0x0,1
|
|
||||||
exec-once=hyprctl output create headless HEADLESS-2
|
|
||||||
exec-once=${pkgs.wayvnc}/bin/wayvnc 0.0.0.0 -o HEADLESS-2
|
|
||||||
'' else ''
|
|
||||||
monitor= , prefered, auto, 1
|
|
||||||
'') + (if config.homeconfig.hyprpanel.enable then ''
|
|
||||||
bind = , Print, exec, bash -c ${pkgs.hyprpanel}/share/scripts/screenshot.sh"
|
bind = , Print, exec, bash -c ${pkgs.hyprpanel}/share/scripts/screenshot.sh"
|
||||||
'' else ''
|
'' else ''
|
||||||
bind = , Print, exec, grim -g "$(slurp)"
|
bind = , Print, exec, grim -g "$(slurp)"
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, ... }: {
|
{ config, lib, inputs, ... }: {
|
||||||
|
|
||||||
options.homeconfig.nh.enable = lib.options.mkOption {
|
options.homeconfig.nh.enable = lib.options.mkOption {
|
||||||
type = lib.types.bool;
|
type = lib.types.bool;
|
||||||
@@ -9,7 +9,8 @@
|
|||||||
|
|
||||||
programs.nh = {
|
programs.nh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
flake = "${config.home.homeDirectory}/Projects/Olympus";
|
package = let pkgs-us = import inputs.nixpkgs-us { system = "x86_64-linux"; }; in pkgs-us.nh;
|
||||||
|
#flake = "${config.home.homeDirectory}/Projects/Olympus";
|
||||||
|
|
||||||
clean = {
|
clean = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
config = lib.mkIf config.homeconfig.wal.enable {
|
config = lib.mkIf config.homeconfig.wal.enable {
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
inputs.nixvim.packages.${pkgs.system}.pywal
|
inputs.nixvim.packages.${pkgs.stdenv.hostPlatform.system}.pywal
|
||||||
|
|
||||||
pywal16
|
pywal16
|
||||||
imagemagick
|
imagemagick
|
||||||
26
homes/nathan/home-manager/programs/quickshell/default.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{ config, lib, ... }: {
|
||||||
|
|
||||||
|
options.homeconfig.quickshell.enable = with lib; mkOption {
|
||||||
|
type = with types; bool;
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.homeconfig.quickshell.enable {
|
||||||
|
|
||||||
|
programs.quickshell = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
configs = {
|
||||||
|
|
||||||
|
default = config.homeDirectory + "/${config.home.file.".config/quickshell".target}";
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
enable = true;
|
||||||
|
target = lib.mkIf config.homeconfig.hyprland.enable "wayland-session@Hyprland.target";
|
||||||
|
};
|
||||||
|
|
||||||
|
activeConfig = "default";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
|
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.rofi-wayland;
|
package = pkgs.rofi;
|
||||||
|
|
||||||
cycle = true;
|
cycle = true;
|
||||||
|
|
||||||
@@ -12,5 +12,6 @@
|
|||||||
./zsh
|
./zsh
|
||||||
./ssh
|
./ssh
|
||||||
./ohmyposh
|
./ohmyposh
|
||||||
|
./opencode
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -6,12 +6,16 @@
|
|||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
|
|
||||||
initContent = if config.homeconfig.wal.enable then (lib.mkBefore ''
|
initContent = with lib; mkMerge [
|
||||||
|
(mkIf config.homeconfig.wal.enable (mkBefore ''
|
||||||
cat ${config.home.homeDirectory}/.cache/wal/sequences
|
cat ${config.home.homeDirectory}/.cache/wal/sequences
|
||||||
eval "$(oh-my-posh init zsh --config ${config.home.homeDirectory}/.cache/wal/ohmyposh.toml)"
|
eval "$(oh-my-posh init zsh --config ${config.home.homeDirectory}/.cache/wal/ohmyposh.toml)"
|
||||||
'') else (lib.mkBefore ''
|
''))
|
||||||
|
|
||||||
|
(mkIf (!config.homeconfig.wal.enable) (mkBefore ''
|
||||||
eval "$(oh-my-posh init zsh --config ${config.home.homeDirectory}/.config/ohmyposh/ohmyposh.toml)"
|
eval "$(oh-my-posh init zsh --config ${config.home.homeDirectory}/.config/ohmyposh/ohmyposh.toml)"
|
||||||
'');
|
''))
|
||||||
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
{ config, lib, ... }: {
|
||||||
|
|
||||||
|
options.homeconfig.opencode.enable = with lib; mkOption {
|
||||||
|
type = with types; bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.homeconfig.opencode.enable {
|
||||||
|
|
||||||
|
programs.opencode = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
theme = "system";
|
||||||
|
model = "ollama-local/llama3.2";
|
||||||
|
|
||||||
|
provider = {
|
||||||
|
ollama-local = {
|
||||||
|
name = "Ollama (local)";
|
||||||
|
|
||||||
|
npm = "@ai-sdk/openai-compatible";
|
||||||
|
|
||||||
|
options.baseURL = "http://localhost:11434/v1";
|
||||||
|
|
||||||
|
models = {
|
||||||
|
"ministral-3:8b".name = "Ministral 3 8B";
|
||||||
|
"llama3.2".name = "Llama 3.2";
|
||||||
|
"qwen3:8b".name = "Qwen 3";
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
24
homes/nathan/home-manager/programs/terminal/ssh/default.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{ ... }: {
|
||||||
|
|
||||||
|
programs.ssh = {
|
||||||
|
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# defaults as of 25.11
|
||||||
|
matchBlocks."*" = {
|
||||||
|
forwardAgent = false;
|
||||||
|
addKeysToAgent = "no";
|
||||||
|
compression = false;
|
||||||
|
serverAliveInterval = 0;
|
||||||
|
serverAliveCountMax = 3;
|
||||||
|
hashKnownHosts = false;
|
||||||
|
userKnownHostsFile = "~/.ssh/known_hosts";
|
||||||
|
controlMaster = "no";
|
||||||
|
controlPath = "~/.ssh/master-%r@%n:%p";
|
||||||
|
controlPersist = "no";
|
||||||
|
};
|
||||||
|
enableDefaultConfig = false;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,9 +1,13 @@
|
|||||||
{ config, lib, pkgs, ... }: {
|
{ lib, ... }: {
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
|
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
initContent = lib.mkOrder 1200 ''
|
||||||
|
bindkey ' ' magic-space
|
||||||
|
'';
|
||||||
|
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
|
|
||||||
autosuggestion.enable = true;
|
autosuggestion.enable = true;
|
||||||
1
homes/nathan/home-manager/services/custom/default.nix
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{ ... }: {}
|
||||||
9
homes/nathan/home-manager/services/default.nix
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{ ... }: {
|
||||||
|
|
||||||
|
imports = let
|
||||||
|
dir = builtins.readDir ./.;
|
||||||
|
in builtins.map (x: ./${x}) (builtins.filter
|
||||||
|
(file: (dir.${file} == "directory"))
|
||||||
|
(builtins.attrNames dir)
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -1,11 +1,25 @@
|
|||||||
{ ... }:
|
{ lib, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
homeconfig = {
|
homeconfig = {
|
||||||
graphical = false;
|
graphical = lib.mkDefault false;
|
||||||
minimal = false;
|
minimal = lib.mkDefault false;
|
||||||
|
|
||||||
|
hyprland.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
||||||
|
settings = {
|
||||||
|
experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
builders = "ssh://builder x86_64-linux,aarch64-linux /run/secrets/remoteBuildKey 1 1 nixos-test,benchmark,big-parallel,kvm - -";
|
||||||
|
builders-use-substituters = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
1
machines/android
Submodule
@@ -1,33 +0,0 @@
|
|||||||
keys:
|
|
||||||
- &homebox age1640eg0pnmkruc89m5xguz0m8fek44fl4tzez6qwuzlz6kmapqewsp8esxd
|
|
||||||
- &laptop age1yqgyp2uxz4lzrc9f9ka0mfjl5fr6ahf8nf24nlmran2wulg6fpvq9hyp9q
|
|
||||||
- &android age12pnf36uqesjmy3e0lythfnpwam3zg5mv8m936fc4jphy4ces2fdqwn0s74
|
|
||||||
creation_rules:
|
|
||||||
- path_regex: homebox/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *homebox
|
|
||||||
- path_regex: laptop/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
- path_regex: pi4/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
- path_regex: live/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
- path_regex: nathan/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
- *homebox
|
|
||||||
- *android
|
|
||||||
- path_regex: system-config/secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
- *homebox
|
|
||||||
- *android
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
{ config, lib, pkgs, inputs, ... }: {
|
|
||||||
|
|
||||||
options.sysconfig.remoteBuildClient = with lib; mkOption {
|
|
||||||
type = with types; bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
sysconfig.remoteBuildClient = true;
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
backupFileExtension = ".backup";
|
|
||||||
useUserPackages = true;
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
extraSpecialArgs = { inherit inputs; };
|
|
||||||
sharedModules = [
|
|
||||||
inputs.sops-nix.homeManagerModules.sops
|
|
||||||
inputs.home-manager-config
|
|
||||||
];
|
|
||||||
config = { config, lib, pkgs, ... }: {
|
|
||||||
imports = [
|
|
||||||
inputs.olympus.homes.nathan
|
|
||||||
];
|
|
||||||
config = {
|
|
||||||
homeconfig = {
|
|
||||||
graphical = false;
|
|
||||||
minimal = true;
|
|
||||||
host = "android";
|
|
||||||
scripts.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.username = "nathan";
|
|
||||||
|
|
||||||
home.homeDirectory = "/data/data/com.termux.nix/files/home";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
terminal.font = "${pkgs.fira-code}/share/fonts/truetype/FiraCode-VF.ttf";
|
|
||||||
|
|
||||||
user = {
|
|
||||||
userName = "nathan";
|
|
||||||
uid = 10472; #update this for your device!
|
|
||||||
shell = "${pkgs.zsh}/bin/zsh";
|
|
||||||
};
|
|
||||||
|
|
||||||
time.timeZone = "America/Chicago";
|
|
||||||
|
|
||||||
android-integration = {
|
|
||||||
xdg-open.enable = true;
|
|
||||||
|
|
||||||
termux-open.enable = true;
|
|
||||||
termux-open-url.enable = true;
|
|
||||||
|
|
||||||
termux-setup-storage.enable = true;
|
|
||||||
|
|
||||||
termux-wake-lock.enable = true;
|
|
||||||
termux-wake-unlock.enable = true;
|
|
||||||
|
|
||||||
am.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
|
||||||
|
|
||||||
environment = {
|
|
||||||
etcBackupExtension = ".backup";
|
|
||||||
motd = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
|
||||||
extraOptions = ''
|
|
||||||
experimental-features = nix-command flakes
|
|
||||||
builders-use-substitutes = true
|
|
||||||
builders = ssh://builder x86_64-linux,aarch64-linux /run/secrets/remoteBuildKey 1 1 nixos-test,benchmark,big-parallel,kvm - -
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
{
|
|
||||||
|
|
||||||
description = "System Configuration";
|
|
||||||
|
|
||||||
inputs = {
|
|
||||||
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
url = "github:nix-community/home-manager/release-25.05";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nix-on-droid = {
|
|
||||||
url = "github:nix-community/nix-on-droid";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.home-manager.follows = "home-manager";
|
|
||||||
};
|
|
||||||
|
|
||||||
olympus = {
|
|
||||||
url = "git+https://gitea.esotericbytes.com/Blunkall-Technologies/Olympus";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.home-manager.follows = "home-manager";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = { self, nixpkgs, olympus, ... } @ inputs: let
|
|
||||||
host = "laptop";
|
|
||||||
|
|
||||||
in {
|
|
||||||
|
|
||||||
nixOnDroidConfigurations.default = inputs.nix-on-droid.lib.nixOnDroidConfiguration {
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
system = "aarch64-linux";
|
|
||||||
overlays = [ inputs.nix-on-droid.overlays.default ];
|
|
||||||
};
|
|
||||||
|
|
||||||
modules = [
|
|
||||||
./configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit inputs;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
1
machines/homebox
Submodule
1
machines/laptop
Submodule
@@ -1,7 +0,0 @@
|
|||||||
keys:
|
|
||||||
- &laptop age1yqgyp2uxz4lzrc9f9ka0mfjl5fr6ahf8nf24nlmran2wulg6fpvq9hyp9q
|
|
||||||
creation_rules:
|
|
||||||
- path_regex: ^secrets.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *laptop
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [ # Include the results of the hardware scan.
|
|
||||||
./hardware-configuration.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
config = {
|
|
||||||
|
|
||||||
boot.kernelParams = [ "snd-intel-dspcfg.dsp_driver=1" ];
|
|
||||||
|
|
||||||
hardware.nvidia = {
|
|
||||||
modesetting.enable = true;
|
|
||||||
powerManagement.enable = true;
|
|
||||||
powerManagement.finegrained = true;
|
|
||||||
open = false;
|
|
||||||
nvidiaSettings = true;
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
||||||
|
|
||||||
prime = {
|
|
||||||
# Make sure to use the correct Bus ID values for your system!
|
|
||||||
intelBusId = "PCI:0:2:0";
|
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
|
||||||
# WARNING: sync and offload are mutually exclusive.
|
|
||||||
# You can only pick one!!
|
|
||||||
#sync.enable = true;
|
|
||||||
offload = {
|
|
||||||
enable = true;
|
|
||||||
enableOffloadCmd = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sops = {
|
|
||||||
defaultSopsFile = ./secrets.yaml;
|
|
||||||
secrets = {
|
|
||||||
"nathan/pass" = {
|
|
||||||
neededForUsers = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sysconfig = {
|
|
||||||
users = {
|
|
||||||
nathan = {
|
|
||||||
isSuperuser = true;
|
|
||||||
extraGroups = [ "networkmanager" ];
|
|
||||||
hashedPasswordFile = config.sops.secrets."nathan/pass".path;
|
|
||||||
shell = pkgs.zsh;
|
|
||||||
home-manager = {
|
|
||||||
enable = true;
|
|
||||||
standalone = false;
|
|
||||||
extraModules = [
|
|
||||||
{
|
|
||||||
homeconfig = {
|
|
||||||
minimal = false;
|
|
||||||
hyprland.enable = true;
|
|
||||||
hyprlock.enable = true;
|
|
||||||
wal.enable = true;
|
|
||||||
mpd.enable = true;
|
|
||||||
hyprpanel.enable = true;
|
|
||||||
calcurse.enable = true;
|
|
||||||
rofi.enable = true;
|
|
||||||
firefox.enable = true;
|
|
||||||
git.enable = true;
|
|
||||||
nh.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
#monitor=eDP-1, addreserved, 40,0,0,0
|
|
||||||
wayland.windowManager.hyprland.extraConfig = ''
|
|
||||||
monitor=eDP-1,1920x1080@60,0x0,1
|
|
||||||
'';
|
|
||||||
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
|
||||||
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
|
||||||
# settings for stateful data, like file locations and database versions
|
|
||||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
|
||||||
# this value at the release version of the first install of this system.
|
|
||||||
# Before changing this value read the documentation for this option
|
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
||||||
system.stateVersion = "23.05"; # Did you read the comment?
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
{
|
|
||||||
|
|
||||||
description = "System Configuration";
|
|
||||||
|
|
||||||
inputs = {
|
|
||||||
|
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
|
|
||||||
|
|
||||||
home-manager = {
|
|
||||||
url = "github:nix-community/home-manager/release-25.05";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
olympus = {
|
|
||||||
#url = "git+https://gitea.esotericbytes.com/Blunkall-Technologies/Olympus";
|
|
||||||
url = "git+file:///home/nathan/Projects/Olympus";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.home-manager.follows = "home-manager";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = { self, nixpkgs, olympus, ... }: let
|
|
||||||
host = "laptop";
|
|
||||||
|
|
||||||
in {
|
|
||||||
|
|
||||||
nixosConfigurations."${host}" = nixpkgs.lib.nixosSystem {
|
|
||||||
|
|
||||||
specialArgs = olympus.inputs;
|
|
||||||
|
|
||||||
modules = [
|
|
||||||
{ sysconfig.host = host; }
|
|
||||||
./configuration.nix
|
|
||||||
olympus.profiles.laptop
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,39 +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.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "sdhci_pci" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/78c0964d-c09e-4e31-8a73-eb719d79917a";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/AE5E-AC86";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
nathan:
|
|
||||||
pass: ENC[AES256_GCM,data:H/duNPyclGoCF/Z90TQcqaUymowHOLRDmcfDxSubNGdmijknsCq+UH5PaWUmXGZ7uZqcpYWBcsVbYfQO/98OHH/kbwAFD/Hgkw==,iv:74M2PQqVzAgMXA8Z4RVLJKawt0Lzh94IKbn8YCTx3tY=,tag:B/xgA4mrhWEccaXQ+qvjCA==,type:str]
|
|
||||||
remoteBuildKey: ENC[AES256_GCM,data:CN7AyOCV4iYzYrwVh2Af5YB0nwR4raXfj5FbbeIZg5Bfha0sUPnLAG+oqVUyzVQA3yftFhfwPGaALOyb6VlT13pTifG+uEoyiq1dQP6dimlmk/p/6kVtg4aiETJ/61EUeQF/HTVTZ3F7akgQRsKNFQYbF2srcurPQSY0Q2gjlkkFA3A3aLoN2LrkFPJvtnNP6SJzXDFHVOTPmbc/DvF9UbMiYu0viIlfiPqeBs26lAqcOWhrYlOxKqEL2IoP3kADDncedxT42c1rCPB/2kGvKg+mXSlaIH3a0Hb8hrnjVUB0edyqYnNCurVhPF8mg2yoqrtyaxRkZKvUsa5LBZwS+iL9bYQdU/4hxT9c7wRC+ZtWkwF4l/gy8Ggc+VuB+YT9JUCJY96o8f2wKFup0BS+oiYLGJKpcOLMFrPJLEtOMrqPN/Z6+gZ9LVbhlSliIV/yUTJAa26el0w6tP9Ebs6tHiFakpkMahsBbRxmHBmqkHW5zfa5YpvD5Ii/EC+F8Vb/Efn6LkBZBwSB6K33NSOy,iv:4i0bGQe7wiDSvmygY2VNSEhuYfYIi9YY1g7qLgDTcMo=,tag:MJqOovOcZ97COsVjxZus8w==,type:str]
|
|
||||||
sops:
|
|
||||||
age:
|
|
||||||
- recipient: age1yqgyp2uxz4lzrc9f9ka0mfjl5fr6ahf8nf24nlmran2wulg6fpvq9hyp9q
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2MEIyRjR0a25UU3hnR2Zw
|
|
||||||
WXFaaXJYNWFSMmZsR1FsYVB1WlBkZWptSHhzCkRGRitnNkc3MEtjV05KRXlXT3RR
|
|
||||||
TVhnVlpUdzFiSEwxbHNOT3dyQ0dzbG8KLS0tIElMc3g4SHRxZTVnOCtVcktRb25D
|
|
||||||
Y2ZpR25VNGVoMi9ibW8wbW5rYTQ3R00Ka6/KLXSSRP9WJDV0RBHHS5nALfd/3xDu
|
|
||||||
y+QS+Ueh56kQT2zbYpYBRIPDgI3LZgwlTifQCDJ9ZPq0LGgu4XbEqQ==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2025-08-23T03:46:50Z"
|
|
||||||
mac: ENC[AES256_GCM,data:QJLMqnmkrgtTqqmLN9NCfV8PPm5N/F0gtGw/XlX+nnfbesGVeYubSjtHmYWmY7ha41jEvLYu8rmIXaxDepfogyOf4wzuRPLkJxO7Wu0UVdr5uZlHNrcxZh4Ex6YGgg8Lbcjs0iVCev66lWfuhuxuvPOKsGLZvoNTq0V1hLpo/Fw=,iv:VFrL0L6tC1JvWM3BOJP4Dh+q1xSMBecCtPnNcY/loAU=,tag:p5VmBaGPTxyTmm1Ha9Le3Q==,type:str]
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.10.2
|
|
||||||
124
profiles/homebox/default.nix
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
{ config, pkgs, lib, disko, sops-nix, home-manager, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[
|
||||||
|
disko.nixosModules.default
|
||||||
|
|
||||||
|
sops-nix.nixosModules.sops
|
||||||
|
|
||||||
|
home-manager.nixosModules.default
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
config = {
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
kernelPackages = pkgs.linuxKernel.packages.linux_6_18;
|
||||||
|
loader = {
|
||||||
|
systemd-boot.enable = true;
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
binfmt.emulatedSystems = lib.mkIf config.sysconfig.remoteBuildHost [ "aarch64-linux" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
systemd.settings.Manager.DefaultLimitNOFILE = 2048;
|
||||||
|
|
||||||
|
programs.zsh.enable = true;
|
||||||
|
environment.shells = with pkgs; [ zsh bashInteractive ];
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
nameservers = lib.mkDefault [ "1.1.1.1" "1.0.0.1" ];
|
||||||
|
networkmanager = {
|
||||||
|
enable = true;
|
||||||
|
dns = "none";
|
||||||
|
};
|
||||||
|
useDHCP = false;
|
||||||
|
dhcpcd.enable = false;
|
||||||
|
|
||||||
|
nftables = {};
|
||||||
|
nat = {
|
||||||
|
enable = true;
|
||||||
|
internalInterfaces = [ "ve-.+" ];
|
||||||
|
externalInterface = "wlp7s0"; # wifi
|
||||||
|
#externalInterface = "enp6s0"; # ethernet
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
sysconfig = {
|
||||||
|
remoteBuildHost = true;
|
||||||
|
graphical = false;
|
||||||
|
|
||||||
|
services = {
|
||||||
|
sddm.enable = false;
|
||||||
|
openssh.enable = true;
|
||||||
|
pipewire.enable = true;
|
||||||
|
netbird.enable = true;
|
||||||
|
|
||||||
|
ollama.enable = false;
|
||||||
|
wyoming = {
|
||||||
|
enable = true;
|
||||||
|
piper = true;
|
||||||
|
openwakeword = true;
|
||||||
|
faster-whisper = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
hyprland.enable = false;
|
||||||
|
hyprpanel.enable = false;
|
||||||
|
steam.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
docker = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
portainer.enable = true;
|
||||||
|
pihole.enable = true;
|
||||||
|
ollama.enable = true;
|
||||||
|
searxng.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
containers = {
|
||||||
|
traefik.enable = true;
|
||||||
|
jellyfin.enable = true;
|
||||||
|
"esotericbytes.com".enable = true;
|
||||||
|
nextcloud.enable = true;
|
||||||
|
ntfy.enable = false;
|
||||||
|
gitea.enable = true;
|
||||||
|
n8n.enable = true;
|
||||||
|
keycloak.enable = true;
|
||||||
|
netbird.enable = true;
|
||||||
|
|
||||||
|
openwebui.enable = true;
|
||||||
|
|
||||||
|
wyoming = {
|
||||||
|
enable = false;
|
||||||
|
piper = false;
|
||||||
|
openwakeword = true;
|
||||||
|
faster-whisper = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
rustdesk.enable = false; #broken
|
||||||
|
|
||||||
|
code-server.enable = true;
|
||||||
|
|
||||||
|
novnc.enable = false;
|
||||||
|
|
||||||
|
minecraft.enable = true;
|
||||||
|
|
||||||
|
sandbox.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
virtual-machines = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [ nerd-fonts.fira-code ];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||