Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
76168f8b05 | ||
|
|
673284c227 | ||
|
|
9eadcbf6a7 | ||
|
|
ba42268e49 | ||
|
|
01e8bed0fc | ||
|
|
5210fb36a0 | ||
|
|
cf553889d6 | ||
|
|
0aa11e118c | ||
|
|
8aafd5c9b9 | ||
|
|
37bcd81e39 | ||
|
|
19ec68c058 | ||
|
|
c48368b501 | ||
|
|
eb69b51756 | ||
|
|
63404da10f | ||
|
|
ad1b6da6cf | ||
|
|
8c7e72d18c | ||
|
|
1ec7ef8ccd | ||
|
|
ffac8ef90a | ||
|
|
10d3cb4dbe | ||
|
|
42bd0e2cac | ||
|
|
f495530a86 | ||
|
|
067e656a05 | ||
|
|
d980e233e4 | ||
|
|
5a79c1cf68 | ||
|
|
70299a152e | ||
|
|
50bab47767 | ||
|
|
a65672e1bf | ||
|
|
e21894da75 | ||
|
|
5b116bfe53 | ||
|
|
cb978aae73 | ||
|
|
af11b7eddf | ||
|
|
bf89c7cfaf | ||
|
|
55f2f5e6f8 | ||
|
|
2e7ba8e8ba | ||
|
|
ca39e1f8c4 | ||
|
|
f85aad4f95 | ||
|
|
14b36f71bf | ||
|
|
44df22fef4 | ||
|
|
892e5681a1 | ||
|
|
91c03b7751 | ||
|
|
c7762fdebd | ||
|
|
a6da384ba0 | ||
|
|
a8ad063d7a | ||
|
|
4f6d2e0350 | ||
|
|
664c5a332a | ||
|
|
fbf381f476 | ||
|
|
764967bd53 | ||
|
|
7f1eccf9e8 | ||
|
|
6d245ab923 | ||
|
|
20413934e4 | ||
|
|
b73a6f488b | ||
|
|
f929dd3e20 | ||
|
|
07c5d42539 | ||
|
|
b24fc7bd16 | ||
|
|
fd8e52d6d6 | ||
|
|
8956d1790e | ||
|
|
e8c1bb2b2d | ||
|
|
f37c47818a | ||
|
|
1f0756b051 | ||
|
|
87046167e1 | ||
|
|
bf97f9bddf | ||
|
|
75f60590ad | ||
|
|
5ce68a33b6 | ||
|
|
058f8318e5 | ||
|
|
3dac11f8d9 | ||
|
|
f97a86c7bd | ||
|
|
199e90e1f8 | ||
|
|
8c7713c8bc | ||
|
|
9f9d69577e | ||
|
|
8043192d6b | ||
|
|
3585f6dd9c | ||
|
|
39a2171cb1 | ||
|
|
b5c5a2bfef | ||
|
|
7564cff2a9 | ||
|
|
9d0b8aa3c2 | ||
|
|
91ff1c9b59 | ||
|
|
682d15a98d | ||
|
|
8b9a0673a6 | ||
|
|
2ba484163e | ||
|
|
6ea77befc9 | ||
|
|
3be4071e9f | ||
|
|
e55a047241 | ||
|
|
3bdcaa3d53 | ||
|
|
e76974c83c | ||
|
|
aa22dca424 | ||
|
|
b01c562f3a | ||
|
|
d54bad1c90 | ||
|
|
4475bc7129 | ||
|
|
83143b1a05 | ||
|
|
33ef812e07 | ||
|
|
00fa7a3c36 | ||
|
|
cd9d91e189 | ||
|
|
b4c7a4371c | ||
|
|
3566c46ac5 | ||
|
|
afcc0dadfe | ||
|
|
861b58ffe6 | ||
|
|
0210a58bf5 | ||
|
|
526618f959 | ||
|
|
a710b74b92 | ||
|
|
09080f9847 | ||
|
|
fe2b8afda2 | ||
|
|
631c57933a | ||
|
|
42e50ad6f3 | ||
|
|
5f417add31 | ||
|
|
5b5de445e9 | ||
|
|
fec12375cf | ||
|
|
9b6de54e34 | ||
|
|
5551b13801 | ||
|
|
fede2f5799 | ||
|
|
c4cf3d1ba8 | ||
|
|
548b791539 | ||
|
|
b67b4f9202 | ||
|
|
e069aecc8e | ||
|
|
c41e4cd6e9 | ||
|
|
56c920d58e | ||
|
|
e1daf39fb5 | ||
|
|
2535c0966b | ||
|
|
684e083884 | ||
|
|
589bb177d5 | ||
|
|
99accbec6b | ||
|
|
513ca78544 | ||
|
|
228a3eb0d6 | ||
|
|
4ba4eaa831 | ||
|
|
cce705e664 | ||
|
|
34775227e9 | ||
|
|
d1329448d8 | ||
|
|
74218acbf3 | ||
|
|
f2f589884d | ||
|
|
2b7c1d4a64 | ||
|
|
66d9b83dc8 | ||
|
|
d341c0c3f1 | ||
|
|
e776e94484 | ||
|
|
6d43bd1968 | ||
|
|
a5f63ee766 | ||
|
|
7d294ac8b1 | ||
|
|
0f6af3cf48 | ||
|
|
6e49715a28 | ||
|
|
230315f0f6 | ||
|
|
cda218d254 | ||
|
|
48c09ce5ae | ||
|
|
c8082d5b87 | ||
|
|
6b003a8648 | ||
|
|
f7306e8760 | ||
|
|
0ec6a7dbbe | ||
|
|
1a51b5a9c2 | ||
|
|
9f7f9aac84 | ||
|
|
87a7013d51 | ||
|
|
9c1ba99c88 | ||
|
|
26b49e8a8d | ||
|
|
0a43a381cc | ||
|
|
d3f7fe76d8 | ||
|
|
38c4e7a674 | ||
|
|
924395d64e | ||
|
|
8f12835e33 | ||
|
|
f776ca11b8 | ||
|
|
1532be3e5e | ||
|
|
78769733a2 | ||
|
|
669b93bd4a | ||
|
|
9d9c3f5e64 | ||
|
|
e630fd5097 | ||
|
|
e5f57c30da | ||
|
|
14d81a36d3 | ||
|
|
478487d1b9 | ||
|
|
a6aea5e01b | ||
|
|
5a95c0cd66 | ||
|
|
c97a14d603 | ||
|
|
7ffe9399e7 | ||
|
|
fe057f88e5 | ||
|
|
6d70290289 | ||
|
|
ecdfd5867e | ||
|
|
1c4c356479 | ||
|
|
9037f01470 | ||
|
|
325a193a38 | ||
|
|
0b6e55da82 | ||
|
|
f9c605dcf7 | ||
|
|
e3ecdaa1da | ||
|
|
ffec6e9b29 | ||
|
|
65ffb35fd0 | ||
|
|
b6a4563d95 | ||
|
|
f1259be78c | ||
|
|
ab35d54e05 | ||
|
|
7ed89d05ed | ||
|
|
0ce0d549ba | ||
|
|
771a2b88a7 | ||
|
|
6488e6b203 | ||
|
|
32a46708fb | ||
|
|
0275bf10c1 | ||
|
|
d429fbd1d6 | ||
|
|
6624ebeff3 | ||
|
|
91240b2a50 | ||
|
|
858a4a1bf1 | ||
|
|
5ae50d488f | ||
|
|
8814466d57 | ||
|
|
a8a5ae780c | ||
|
|
fb7213dfb6 | ||
|
|
170cf22a58 | ||
|
|
fb8207c1c9 | ||
|
|
ade07ccd6f | ||
|
|
8676253432 | ||
|
|
a5cf020c70 | ||
|
|
46c9281a62 | ||
|
|
ff32a25403 | ||
|
|
1df5c12921 | ||
|
|
fec9e18710 | ||
|
|
cacd136ca9 | ||
|
|
5798a8bcb2 | ||
|
|
6f2936f567 | ||
|
|
f9fae2f75a | ||
|
|
ca3c77768d | ||
|
|
23f407b824 | ||
|
|
1e8525927c | ||
|
|
923232aed9 | ||
|
|
852d9a2baa | ||
|
|
1f6904cbc9 | ||
|
|
6c094967e3 | ||
|
|
1635d78674 | ||
|
|
27bc4cf9a4 | ||
|
|
12b0f8e27a | ||
|
|
614a10248f | ||
|
|
f48152ff7a | ||
|
|
b5a63b3cbd | ||
|
|
39ab82ae47 | ||
|
|
6d83bd12d9 | ||
|
|
e95fd7de47 | ||
|
|
092579af98 | ||
|
|
8ce74dd7bf | ||
|
|
412ce8623a | ||
|
|
72e91c49fb | ||
|
|
7fc040a279 | ||
|
|
e5394dde16 | ||
|
|
1585912162 | ||
|
|
c5ef752a66 | ||
|
|
40546f121f | ||
|
|
a5f666c221 | ||
|
|
64a83c51ed | ||
|
|
d4d2f6d51c | ||
|
|
2dc084b0ea | ||
|
|
923e6f4bee | ||
|
|
7868336d5b | ||
|
|
c44c480e61 | ||
|
|
85f0b82334 | ||
|
|
763cd548f4 | ||
|
|
b100324fba | ||
|
|
9b0b088ecc | ||
|
|
88c98588f6 | ||
|
|
4a049d94ce | ||
|
|
57a949c2bf | ||
|
|
6171b51218 | ||
|
|
a99c4b33a3 | ||
|
|
904e582cc8 | ||
|
|
8da7382a1a | ||
|
|
c440d392fa | ||
|
|
10120f7c2d | ||
|
|
8b40b00a31 | ||
|
|
c0af9fd516 | ||
|
|
2d30c4d267 | ||
|
|
080f529395 | ||
|
|
4dc8f7d2a5 | ||
|
|
f7d1929d01 | ||
|
|
b615415531 | ||
|
|
af8a984163 | ||
|
|
dbcbce2a62 | ||
|
|
e83ff7f66a | ||
|
|
bd68c1e103 | ||
|
|
d71fe5304c | ||
|
|
25971a4629 | ||
|
|
a17e38a905 | ||
|
|
4b0fbf5900 | ||
|
|
d451540b66 | ||
|
|
04624a1e1e | ||
|
|
0f6b4119b9 | ||
|
|
6113564818 | ||
|
|
35742893ed | ||
|
|
7d10b331f0 | ||
|
|
c77a276ba9 | ||
|
|
141a488871 | ||
|
|
1278ea0985 | ||
|
|
a42df2c07e | ||
|
|
3379ce4c3c | ||
|
|
3864013e1a | ||
|
|
168492c26b | ||
|
|
7c40fea9b0 | ||
|
|
81f636ad86 | ||
|
|
93f0e31379 | ||
|
|
3d4e9dde5c | ||
|
|
33cc5b43b8 | ||
|
|
100306baed | ||
|
|
4186ce739b | ||
|
|
ddb5c2872c | ||
|
|
c115d3e220 | ||
|
|
98a77d86ee | ||
|
|
423050d79f | ||
|
|
86d3ebf9d2 | ||
|
|
9ab7166714 | ||
|
|
198bd37782 | ||
|
|
2ca970a578 | ||
|
|
8014c0e97a | ||
|
|
3411c49648 | ||
|
|
01b743ebbe | ||
|
|
aef3ab28a2 | ||
|
|
34d8c64808 | ||
|
|
ddb12a56b8 | ||
|
|
9f76cea35e | ||
|
|
57acb81759 | ||
|
|
8eed8cf9f1 | ||
|
|
873fa8703d | ||
|
|
3b1d577018 |
@@ -0,0 +1,44 @@
|
|||||||
|
name: nixos config pipeline
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
show-flake:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
check-success: ${{ steps.check.outcome == 'success' }}
|
||||||
|
steps:
|
||||||
|
- name: checkout repo
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: install nix
|
||||||
|
uses: cachix/install-nix-action@v31
|
||||||
|
- id: check
|
||||||
|
name: run nix flake show
|
||||||
|
run: nix flake show --show-trace
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
needs: show-flake
|
||||||
|
if: needs.show-flake.result == 'success'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: ssh to server1 and rebuild
|
||||||
|
uses: appleboy/ssh-action@v1.2.0
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.SERVER1_HOST }}
|
||||||
|
username: root
|
||||||
|
key: ${{ secrets.SERVER1_KEY }}
|
||||||
|
script: |
|
||||||
|
set -e
|
||||||
|
cd /home/smayzy/nix-config
|
||||||
|
sudo -u smayzy git pull
|
||||||
|
old_gen="$(readlink /run/current-system)"
|
||||||
|
if nixos-rebuild switch --flake git+https://gitea.smayzy.ovh/Smayzy/nix-config#server1; then
|
||||||
|
echo "Deployment successful"
|
||||||
|
else
|
||||||
|
new_gen="$(readlink /run/current-system)"
|
||||||
|
if [ "$new_gen" != "$old_gen" ]; then
|
||||||
|
nixos-rebuild switch --rollback
|
||||||
|
fi
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2025 Smayzy
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
|
||||||
|
# Smayzy's nixos config
|
||||||
|
|
||||||
|
This repo is Smayzy's nixos config repo you are free to use anything you need.
|
||||||
|
If you see a error or a simple improvement you can write feel free to make a pull request but if you just want to customize it to your need just fork it.
|
||||||
|
|
||||||
|
## Author
|
||||||
|
|
||||||
|
- [@smayzy](https://gitea.smayzy.ovh/Smayzy)
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- See the modules description for more info
|
||||||
|
- If you want to add anything do a pull request
|
||||||
|
- If you want to have an account send a email to smayzy@smayzy.ovh with the username you want, your email address and why you want an account
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
[MIT](https://gitea.smayzy.ovh/Smayzy/nix-config/src/branch/main/LICENCE)
|
||||||
|
|
||||||
|
|
||||||
|
## Deployment
|
||||||
|
|
||||||
|
To deploy the config run
|
||||||
|
```bash
|
||||||
|
nixos-rebuild switch --flake git+https://gitea.smayzy.ovh/Smayzy/nix-config#hostname
|
||||||
|
```
|
||||||
|
To update changes run
|
||||||
|
```bash
|
||||||
|
nh os switch --ask
|
||||||
|
```
|
||||||
|
To upgrade run
|
||||||
|
```bash
|
||||||
|
nh os switch -u --ask
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
[Wiki](https://gitea.smayzy.ovh/Smayzy/nix-config/wiki)
|
||||||
|
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
#### Is this production ready ?
|
||||||
|
|
||||||
|
Absolutly NOT it's just my config
|
||||||
|
|
||||||
|
## Feedback
|
||||||
|
|
||||||
|
If you have any feedback, please reach out to us at smayzy@smayzy.ovh
|
||||||
|
|
||||||
|
|
||||||
|
## 🚀 About Me
|
||||||
|
I'm a student that loves pentesting and tinkering with things
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
convert hyprland config to nix
|
||||||
|
simplify the config
|
||||||
|
remove useless modules
|
||||||
|
move things from groups to configs
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
---------------
|
||||||
|
--- SOURCES ---
|
||||||
|
---------------
|
||||||
|
|
||||||
|
-- MONITORS
|
||||||
|
require("source/monitors")
|
||||||
|
-- BINDS
|
||||||
|
require("source/binds")
|
||||||
|
-- AUTOSTART
|
||||||
|
require("source/autostart")
|
||||||
|
-- ENVIRONMENT VARIABLES
|
||||||
|
require("source/ev")
|
||||||
|
-- LOOK AND FEEL
|
||||||
|
require("source/look")
|
||||||
|
-- INPUT
|
||||||
|
require("source/input")
|
||||||
|
-- WINDOWS AND WORKSPACES
|
||||||
|
require("source/winandwork")
|
||||||
@@ -1,7 +1,11 @@
|
|||||||
#preload the wallpapers
|
wallpaper {
|
||||||
preload = ~/wallpaper/itachi-uchiha-sharingan-crow-akatsuki-4k-wallpaper-uhdpaper.com-294@2@a.jpg
|
monitor = DP-1
|
||||||
preload = ~/wallpaper/eren-attack-on-titan-final-season-part-3-4k-wallpaper-uhdpaper.com-917@1@j.jpg
|
path = ~/wallpaper/itachi-uchiha-sharingan-crow-akatsuki-4k-wallpaper-uhdpaper.com-294@2@a.jpg
|
||||||
|
fit_mode = cover
|
||||||
#set the wallpaper
|
}
|
||||||
wallpaper = DP-1,~/wallpaper/itachi-uchiha-sharingan-crow-akatsuki-4k-wallpaper-uhdpaper.com-294@2@a.jpg
|
wallpaper {
|
||||||
wallpaper = DP-2,~/wallpaper/eren-attack-on-titan-final-season-part-3-4k-wallpaper-uhdpaper.com-917@1@j.jpg
|
monitor = DP-2
|
||||||
|
path = ~/wallpaper/eren-attack-on-titan-final-season-part-3-4k-wallpaper-uhdpaper.com-917@1@j.jpg
|
||||||
|
fit_mode = cover
|
||||||
|
}
|
||||||
|
splash = false
|
||||||
|
|||||||
@@ -7,5 +7,4 @@ exec-once = wl-paste --type image --watch cliphist store
|
|||||||
exec-once = systemctl --user start hyprpolkitagent
|
exec-once = systemctl --user start hyprpolkitagent
|
||||||
exec-once = mako
|
exec-once = mako
|
||||||
# APPs
|
# APPs
|
||||||
exec-once = [workspace 11 silent] webcord
|
|
||||||
exec-once = [workspace 10 silent] thunderbird
|
exec-once = [workspace 10 silent] thunderbird
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
-- Autostarts here
|
||||||
|
|
||||||
|
-- exec_once
|
||||||
|
hl.on("hyprland.start", function ()
|
||||||
|
hl.exec_cmd("waybar")
|
||||||
|
hl.exec_cmd("hyprpaper")
|
||||||
|
hl.exec_cmd("wl-paste --type text --watch cliphist store")
|
||||||
|
hl.exec_cmd("wl-paste --type image --watch cliphist store")
|
||||||
|
hl.exec_cmd("systemctl --user start hyprpolkitagent")
|
||||||
|
hl.exec_cmd("mako")
|
||||||
|
hl.exec_cmd("thunderbird", {workspace = "10 silent"})
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- exec at each reload
|
||||||
|
hl.on("config.reloaded", function ()
|
||||||
|
hl.exec_cmd("killall waybar && waybar")
|
||||||
|
hl.exec_cmd("killall hyprpaper && hyprpaper")
|
||||||
|
end)
|
||||||
@@ -20,7 +20,7 @@ bind = $mainMod, comma, exit,
|
|||||||
bind = $mainMod, E, exec, $fileManager
|
bind = $mainMod, E, exec, $fileManager
|
||||||
bind = $mainMod, R, exec, $menu
|
bind = $mainMod, R, exec, $menu
|
||||||
bind = $mainMod, W, exec, wlogout
|
bind = $mainMod, W, exec, wlogout
|
||||||
bind = $mainMod, A, exec, qutebrowser
|
bind = $mainMod, A, exec, alacritty
|
||||||
bind = $mainMod, F, fullscreen
|
bind = $mainMod, F, fullscreen
|
||||||
bind = $mainMod, T, togglefloating
|
bind = $mainMod, T, togglefloating
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,103 @@
|
|||||||
|
------------------------------------
|
||||||
|
--- USE WEV TO GET THE KEYS CODE ---
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
--- KEYBINDINGSS ---
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
-- MainMod
|
||||||
|
mainMod = "SUPER"
|
||||||
|
|
||||||
|
-- exec
|
||||||
|
hl.bind(mainMod .. " + comma", hl.dsp.exit())
|
||||||
|
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen())
|
||||||
|
hl.bind(mainMod .. " + T", hl.dsp.window.float())
|
||||||
|
hl.bind(mainMod .. " + C", hl.dsp.window.close())
|
||||||
|
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd("kitty"))
|
||||||
|
hl.bind(mainMod .. " + A", hl.dsp.exec_cmd("alacritty"))
|
||||||
|
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd("dolphin"))
|
||||||
|
hl.bind(mainMod .. " + R", hl.dsp.exec_cmd("wofi --show drun"))
|
||||||
|
hl.bind(mainMod .. " + W", hl.dsp.exec_cmd("wlogout"))
|
||||||
|
|
||||||
|
-- Quick
|
||||||
|
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("obsidian"))
|
||||||
|
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("virt-manager"))
|
||||||
|
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("virt-manager"))
|
||||||
|
|
||||||
|
-- Reload waybar
|
||||||
|
hl.bind(mainMod .. " + SHIFT + B", hl.dsp.exec_cmd("pkill waybar && waybar"))
|
||||||
|
|
||||||
|
-- Hide waybar
|
||||||
|
hl.bind(mainMod .. " + X", hl.dsp.exec_cmd("pkill waybar || waybar"))
|
||||||
|
|
||||||
|
-- Clipboard history
|
||||||
|
hl.bind(mainMod .. " + V", hl.dsp.exec_cmd("cliphist list | wofi -dmenu | cliphist decode | wl-copy"))
|
||||||
|
|
||||||
|
-- Screenshot to clipboard
|
||||||
|
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.exec_cmd("grim -g \"$(slurp -d)\" - | wl-copy"))
|
||||||
|
|
||||||
|
-- Move focus with mainMod + arrow keys
|
||||||
|
hl.bind(mainMod .. " + h", hl.dsp.focus({direction = "left"}))
|
||||||
|
hl.bind(mainMod .. " + l", hl.dsp.focus({direction = "right"}))
|
||||||
|
hl.bind(mainMod .. " + k", hl.dsp.focus({direction = "up"}))
|
||||||
|
hl.bind(mainMod .. " + j", hl.dsp.focus({direction = "down"}))
|
||||||
|
|
||||||
|
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||||
|
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||||
|
|
||||||
|
-- Resize Windows
|
||||||
|
hl.bind(mainMod .. " + CTRL + h", hl.dsp.window.resize({ x = -20 , y = 0 , relative = true }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + l", hl.dsp.window.resize({ x = 20 , y = 0 , relative = true }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + k", hl.dsp.window.resize({ x = 0 , y = -20 , relative = true }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + j", hl.dsp.window.resize({ x = 0 , y = 20 , relative = true }))
|
||||||
|
|
||||||
|
-- Set default workspace
|
||||||
|
hl.workspace_rule({workspace = "1", monitor = "DP-1", default = true})
|
||||||
|
hl.workspace_rule({workspace = "2", monitor = "DP-1"})
|
||||||
|
hl.workspace_rule({workspace = "3", monitor = "DP-1"})
|
||||||
|
hl.workspace_rule({workspace = "4", monitor = "DP-1"})
|
||||||
|
hl.workspace_rule({workspace = "5", monitor = "DP-1"})
|
||||||
|
hl.workspace_rule({workspace = "6", monitor = "DP-1"})
|
||||||
|
hl.workspace_rule({workspace = "7", monitor = "DP-1"})
|
||||||
|
hl.workspace_rule({workspace = "8", monitor = "DP-1"})
|
||||||
|
hl.workspace_rule({workspace = "9", monitor = "DP-1"})
|
||||||
|
hl.workspace_rule({workspace = "10", monitor = "DP-1"})
|
||||||
|
|
||||||
|
hl.workspace_rule({workspace = "11", monitor = "DP-2", default = true})
|
||||||
|
hl.workspace_rule({workspace = "12", monitor = "DP-2"})
|
||||||
|
hl.workspace_rule({workspace = "13", monitor = "DP-2"})
|
||||||
|
hl.workspace_rule({workspace = "14", monitor = "DP-2"})
|
||||||
|
|
||||||
|
-- Switch workspaces
|
||||||
|
hl.bind(mainMod .. " + ampersand", hl.dsp.focus({ workspace = "1"}))
|
||||||
|
hl.bind(mainMod .. " + eacute", hl.dsp.focus({ workspace = "2"}))
|
||||||
|
hl.bind(mainMod .. " + quotedbl", hl.dsp.focus({ workspace = "3"}))
|
||||||
|
hl.bind(mainMod .. " + apostrophe", hl.dsp.focus({ workspace = "4"}))
|
||||||
|
hl.bind(mainMod .. " + parenleft", hl.dsp.focus({ workspace = "5"}))
|
||||||
|
hl.bind(mainMod .. " + minus", hl.dsp.focus({ workspace = "6"}))
|
||||||
|
hl.bind(mainMod .. " + egrave", hl.dsp.focus({ workspace = "7"}))
|
||||||
|
hl.bind(mainMod .. " + underscore", hl.dsp.focus({ workspace = "8"}))
|
||||||
|
hl.bind(mainMod .. " + ccedilla", hl.dsp.focus({ workspace = "9"}))
|
||||||
|
hl.bind(mainMod .. " + agrave", hl.dsp.focus({ workspace = "10"}))
|
||||||
|
hl.bind(mainMod .. " + dead_circumflex", hl.dsp.focus({ workspace = "11"}))
|
||||||
|
hl.bind(mainMod .. " + dollar", hl.dsp.focus({ workspace = "12"}))
|
||||||
|
hl.bind(mainMod .. " + ugrave", hl.dsp.focus({ workspace = "13"}))
|
||||||
|
hl.bind(mainMod .. " + asterisk", hl.dsp.focus({ workspace = "14"}))
|
||||||
|
|
||||||
|
-- Move active window to a workspace
|
||||||
|
hl.bind(mainMod .. " + SHIFT + ampersand", hl.dsp.window.move({ workspace = "1"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + eacute", hl.dsp.window.move({ workspace = "2"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + quotedbl", hl.dsp.window.move({ workspace = "3"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + apostrophe", hl.dsp.window.move({ workspace = "4"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + parenleft", hl.dsp.window.move({ workspace = "5"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + minus", hl.dsp.window.move({ workspace = "6"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + egrave", hl.dsp.window.move({ workspace = "7"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + underscore", hl.dsp.window.move({ workspace = "8"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + ccedilla", hl.dsp.window.move({ workspace = "9"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + agrave", hl.dsp.window.move({ workspace = "10"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + dead_circumflex", hl.dsp.window.move({ workspace = "11"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + dollar", hl.dsp.window.move({ workspace = "12"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + ugrave", hl.dsp.window.move({ workspace = "13"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + asterisk", hl.dsp.window.move({ workspace = "14"}))
|
||||||
@@ -5,8 +5,6 @@ env = LIBVA_DRIVER_NAME,nvidia
|
|||||||
env = XDG_SESSION_TYPE,wayland
|
env = XDG_SESSION_TYPE,wayland
|
||||||
env = GBM_BACKEND,nvidia-drm
|
env = GBM_BACKEND,nvidia-drm
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
env = GTK_THEME, Adwaita-dark
|
|
||||||
|
|
||||||
|
|
||||||
cursor {
|
cursor {
|
||||||
no_hardware_cursors = true
|
no_hardware_cursors = true
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
-- Set env here
|
||||||
|
hl.env("XCURSOR_SIZE", "24")
|
||||||
|
hl.env("HYPRCURSOR_SIZE", "24")
|
||||||
|
hl.env("LIBVA_DRIVER_NAME", "nvidia")
|
||||||
|
hl.env("XDG_SESSION_TYPE", "wayland")
|
||||||
|
hl.env("GBM_BACKEND", "nvidia-drm")
|
||||||
|
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
|
||||||
|
hl.env("HYPRLAND_NO_SD_VARS", "1")
|
||||||
|
hl.env("LD_LIBRARY_PATH", "/nix/store/p5c2hfgw9pipp2vd0xvxjmly99nbsdki-pipewire-1.6.8-jack/lib/")
|
||||||
@@ -14,8 +14,3 @@ input {
|
|||||||
natural_scroll = false
|
natural_scroll = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = false
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
--Set inputs here
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
input = {
|
||||||
|
kb_layout = "fr",
|
||||||
|
kb_variant = "",
|
||||||
|
kb_model = "",
|
||||||
|
kb_options = "",
|
||||||
|
kb_rules = "",
|
||||||
|
|
||||||
|
follow_mouse = 1,
|
||||||
|
|
||||||
|
sensitivity = 0,
|
||||||
|
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
cursor = {
|
||||||
|
no_hardware_cursors = 0,
|
||||||
|
min_refresh_rate = 165
|
||||||
|
}
|
||||||
|
})
|
||||||
@@ -59,7 +59,6 @@ animations {
|
|||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
dwindle {
|
dwindle {
|
||||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = true # You probably want this
|
preserve_split = true # You probably want this
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,3 +70,8 @@ misc {
|
|||||||
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ecosystem {
|
||||||
|
no_update_news = true
|
||||||
|
no_donation_nag = true
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,61 @@
|
|||||||
|
--Set look and feel here
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
layout = "dwindle",
|
||||||
|
gaps_in = 3,
|
||||||
|
gaps_out = 5,
|
||||||
|
border_size = 1,
|
||||||
|
col = {
|
||||||
|
active_border = { colors = {"rgba(33ccffee)", "rgba(00ff99ee)"}, angle = 45 },
|
||||||
|
inactive_border = "rgba(595959aa)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 6,
|
||||||
|
rounding_power = 2,
|
||||||
|
|
||||||
|
active_opacity = 1.0,
|
||||||
|
inactive_opacity = 1.0,
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = false
|
||||||
|
},
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
preserve_split = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "master",
|
||||||
|
},
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
force_default_wallpaper = 0,
|
||||||
|
disable_hyprland_logo = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
ecosystem = {
|
||||||
|
no_update_news = true,
|
||||||
|
no_donation_nag = true,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.curve( "mybezier", { type = "bezier", points = { {0.05, 0.9}, {0.1, 1.05} } })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "borderangle", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
-- Set monitors here
|
||||||
|
hl.monitor({
|
||||||
|
output = "DP-1",
|
||||||
|
mode = "1920x1080@165",
|
||||||
|
position = "0x0",
|
||||||
|
scale = 1
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.monitor({
|
||||||
|
output = "DP-2",
|
||||||
|
mode = "1920x1080@165",
|
||||||
|
position = "-1080x-520",
|
||||||
|
transform = 1,
|
||||||
|
scale = 1
|
||||||
|
})
|
||||||
@@ -1,9 +1,16 @@
|
|||||||
#Set windows ans workspaces rules here
|
windowrule {
|
||||||
# Ignore maximize requests from apps. You'll probably like this.
|
name = windowrule-1
|
||||||
windowrulev2 = suppressevent maximize, class:.*
|
suppress_event = maximize
|
||||||
|
match:class = .*
|
||||||
|
}
|
||||||
|
|
||||||
# Fix some dragging issues with XWayland
|
windowrule {
|
||||||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
name = windowrule-2
|
||||||
|
no_focus = on
|
||||||
# Set default fullscreen for webcord
|
match:class = ^$
|
||||||
windowrulev2 = fullscreen, class:^(WebCord)$
|
match:title = ^$
|
||||||
|
match:xwayland = 1
|
||||||
|
match:float = 1
|
||||||
|
match:fullscreen = 0
|
||||||
|
match:pin = 0
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
hl.window_rule({
|
||||||
|
name = "suppress-maximize-events",
|
||||||
|
match = {class = ".*"},
|
||||||
|
suppress_event = "maximize"
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "fix-xwayland-drags",
|
||||||
|
match = {
|
||||||
|
class = "^$",
|
||||||
|
title = "^$",
|
||||||
|
xwayland = true,
|
||||||
|
float = true,
|
||||||
|
fullscreen = false,
|
||||||
|
pin = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
no_focus = true,
|
||||||
|
})
|
||||||
@@ -21,15 +21,16 @@ bind = $mainMod, comma, exit,
|
|||||||
bind = $mainMod, E, exec, $fileManager
|
bind = $mainMod, E, exec, $fileManager
|
||||||
bind = $mainMod, R, exec, $menu
|
bind = $mainMod, R, exec, $menu
|
||||||
bind = $mainMod, W, exec, wlogout
|
bind = $mainMod, W, exec, wlogout
|
||||||
bind = $mainMod, A, exec, qutebrowser
|
bind = $mainMod, A, exec, alacritty
|
||||||
bind = $mainMod, F, fullscreen
|
bind = $mainMod, F, fullscreen
|
||||||
bind = $mainMod, T, togglefloating
|
bind = $mainMod, T, togglefloating
|
||||||
bind = , XF86Calculator, exec, $calc
|
bind = , XF86Calculator, exec, $calc
|
||||||
bind = , XF86RFKill, exec, virt-manager
|
|
||||||
bind = $mainMod, L, exec, hyprlock
|
# Clipboard history
|
||||||
|
bind = $mainMod, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy
|
||||||
|
|
||||||
# Change Wallpaper
|
# Change Wallpaper
|
||||||
bind = $mainMod SHIFT, W, exec, /home/smayzy/.config/hypr/wallpaper.sh
|
bind = $mainMod SHIFT, W, exec, echo trigger > /tmp/wallpaper-trigger
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
bind = $mainMod SHIFT, S, exec, grim -g "$(slurp -d)" - | wl-copy
|
bind = $mainMod SHIFT, S, exec, grim -g "$(slurp -d)" - | wl-copy
|
||||||
@@ -38,7 +39,7 @@ bind = $mainMod SHIFT, S, exec, grim -g "$(slurp -d)" - | wl-copy
|
|||||||
bind = $mainMod SHIFT, B, exec, pkill waybar && waybar &
|
bind = $mainMod SHIFT, B, exec, pkill waybar && waybar &
|
||||||
|
|
||||||
#hidden waybar
|
#hidden waybar
|
||||||
bind = $mainMod, X, exec, killall waybar || waybar &
|
bind = $mainMod, X, exec, pkill waybar || waybar &
|
||||||
|
|
||||||
#brightness
|
#brightness
|
||||||
bind = ,XF86MonBrightnessDown,exec,brightnessctl set 5%-
|
bind = ,XF86MonBrightnessDown,exec,brightnessctl set 5%-
|
||||||
|
|||||||
@@ -18,11 +18,6 @@ monitor=,preferred,auto,1
|
|||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||||
|
|
||||||
# Set programs that you use
|
|
||||||
$terminal = kitty
|
|
||||||
$fileManager = dolphin
|
|
||||||
$menu = wofi --show drun
|
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
### AUTOSTART ###
|
### AUTOSTART ###
|
||||||
@@ -33,11 +28,13 @@ $menu = wofi --show drun
|
|||||||
|
|
||||||
exec-once = waybar
|
exec-once = waybar
|
||||||
exec-once = /home/smayzy/.config/hypr/battery.sh
|
exec-once = /home/smayzy/.config/hypr/battery.sh
|
||||||
exec = /home/smayzy/.config/hypr/wallpaper.sh
|
exec-once = systemctl --user start hypr-wallpaper.service
|
||||||
exec = killall waybar && waybar
|
exec = killall waybar && waybar
|
||||||
exec-once = mako
|
exec-once = mako
|
||||||
exec-once = systemctl --user start hyprpolkitagent
|
exec-once = systemctl --user start hyprpolkitagent
|
||||||
exec-once = [workspace 10 silent] thunderbird
|
exec-once = [workspace 10 silent] thunderbird
|
||||||
|
exec-once = wl-paste --type text --watch cliphist store
|
||||||
|
exec-once = wl-paste --type image --watch cliphist store
|
||||||
|
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
@@ -112,7 +109,6 @@ animations {
|
|||||||
|
|
||||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
dwindle {
|
dwindle {
|
||||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
|
||||||
preserve_split = true # You probably want this
|
preserve_split = true # You probably want this
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,11 +145,6 @@ input {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
|
||||||
gestures {
|
|
||||||
workspace_swipe = false
|
|
||||||
}
|
|
||||||
|
|
||||||
# Example per-device config
|
# Example per-device config
|
||||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||||
device {
|
device {
|
||||||
@@ -175,4 +166,19 @@ device {
|
|||||||
# Example windowrule v2
|
# Example windowrule v2
|
||||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
|
||||||
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
windowrule {
|
||||||
|
name = windowrule-1
|
||||||
|
suppress_event = maximize
|
||||||
|
match:class = .*
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = windowrule-2
|
||||||
|
opacity = 0.70 0.70
|
||||||
|
match:class = ^(Alacritty)$
|
||||||
|
}
|
||||||
|
|
||||||
|
ecosystem {
|
||||||
|
no_update_news = true
|
||||||
|
no_donation_nag = true
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
---------------
|
||||||
|
--- SOURCES ---
|
||||||
|
---------------
|
||||||
|
|
||||||
|
-- MONITORS
|
||||||
|
require("source/monitors")
|
||||||
|
-- BINDS
|
||||||
|
require("source/binds")
|
||||||
|
-- AUTOSTART
|
||||||
|
require("source/autostart")
|
||||||
|
-- ENVIRONMENT VARIABLES
|
||||||
|
require("source/ev")
|
||||||
|
-- LOOK AND FEEL
|
||||||
|
require("source/look")
|
||||||
|
-- INPUT
|
||||||
|
require("source/input")
|
||||||
|
-- WINDOWS AND WORKSPACES
|
||||||
|
require("source/winandwork")
|
||||||
@@ -13,7 +13,7 @@ general {
|
|||||||
# BACKGROUND
|
# BACKGROUND
|
||||||
background {
|
background {
|
||||||
monitor =
|
monitor =
|
||||||
path = /home/smayzy/Wallpaper/himeno.jpg
|
path = /home/smayzy/wallpaper/himeno.jpg
|
||||||
blur_passes = 0
|
blur_passes = 0
|
||||||
color = $base
|
color = $base
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
-- exec_once
|
||||||
|
hl.on("hyprland.start", function ()
|
||||||
|
hl.exec_cmd("waybar")
|
||||||
|
hl.exec_cmd("/home/smayzy/.config/hypr/battery.sh")
|
||||||
|
hl.exec_cmd("systemctl --user start hypr-wallpaper.service")
|
||||||
|
hl.exec_cmd("wl-paste --type text --watch cliphist store")
|
||||||
|
hl.exec_cmd("wl-paste --type image --watch cliphist store")
|
||||||
|
hl.exec_cmd("systemctl --user start hyprpolkitagent")
|
||||||
|
hl.exec_cmd("mako")
|
||||||
|
hl.exec_cmd("thunderbird", {workspace = "10 silent"})
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- exec at each reload
|
||||||
|
hl.on("config.reloaded", function ()
|
||||||
|
hl.exec_cmd("killall waybar && waybar")
|
||||||
|
end)
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
------------------------------------
|
||||||
|
--- USE WEV TO GET THE KEYS CODE ---
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
--- KEYBINDINGSS ---
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
-- MainMod
|
||||||
|
mainMod = "SUPER"
|
||||||
|
|
||||||
|
-- exec
|
||||||
|
hl.bind(mainMod .. " + comma", hl.dsp.exit())
|
||||||
|
hl.bind(mainMod .. " + F", hl.dsp.window.fullscreen())
|
||||||
|
hl.bind(mainMod .. " + T", hl.dsp.window.float())
|
||||||
|
hl.bind(mainMod .. " + C", hl.dsp.window.close())
|
||||||
|
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd("kitty"))
|
||||||
|
hl.bind(mainMod .. " + A", hl.dsp.exec_cmd("alacritty"))
|
||||||
|
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd("dolphin"))
|
||||||
|
hl.bind(mainMod .. " + R", hl.dsp.exec_cmd("wofi --show drun"))
|
||||||
|
hl.bind(mainMod .. " + W", hl.dsp.exec_cmd("wlogout"))
|
||||||
|
hl.bind("XF86Calculator", hl.dsp.exec_cmd("qalculate-gtk"))
|
||||||
|
|
||||||
|
-- Volume
|
||||||
|
hl.bind("XF86AudioMute" , hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ 0%"))
|
||||||
|
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ +5%"))
|
||||||
|
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("pactl set-sink-volume @DEFAULT_SINK@ -5%"))
|
||||||
|
|
||||||
|
-- Brightness
|
||||||
|
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl set 5%-"))
|
||||||
|
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl set 5%+"))
|
||||||
|
|
||||||
|
-- Change wallpaper
|
||||||
|
hl.bind(mainMod .. " + SHIFT + W", hl.dsp.exec_cmd("echo trigger > /tmp/wallpaper-trigger"))
|
||||||
|
|
||||||
|
-- Reload waybar
|
||||||
|
hl.bind(mainMod .. " + SHIFT + B", hl.dsp.exec_cmd("pkill waybar && waybar"))
|
||||||
|
|
||||||
|
-- Hide waybar
|
||||||
|
hl.bind(mainMod .. " + X", hl.dsp.exec_cmd("pkill waybar || waybar"))
|
||||||
|
|
||||||
|
-- Clipboard history
|
||||||
|
hl.bind(mainMod .. " + V", hl.dsp.exec_cmd("cliphist list | wofi -dmenu | cliphist decode | wl-copy"))
|
||||||
|
|
||||||
|
-- Screenshot to clipboard
|
||||||
|
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.exec_cmd("grim -g \"$(slurp -d)\" - | wl-copy"))
|
||||||
|
|
||||||
|
-- Move focus with mainMod + arrow keys
|
||||||
|
hl.bind(mainMod .. " + h", hl.dsp.focus({direction = "left"}))
|
||||||
|
hl.bind(mainMod .. " + l", hl.dsp.focus({direction = "right"}))
|
||||||
|
hl.bind(mainMod .. " + k", hl.dsp.focus({direction = "up"}))
|
||||||
|
hl.bind(mainMod .. " + j", hl.dsp.focus({direction = "down"}))
|
||||||
|
|
||||||
|
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||||
|
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||||
|
|
||||||
|
-- Resize Windows
|
||||||
|
hl.bind(mainMod .. " + CTRL + h", hl.dsp.window.resize({ x = -20 , y = 0 , relative = true }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + l", hl.dsp.window.resize({ x = 20 , y = 0 , relative = true }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + k", hl.dsp.window.resize({ x = 0 , y = -20 , relative = true }))
|
||||||
|
hl.bind(mainMod .. " + CTRL + j", hl.dsp.window.resize({ x = 0 , y = 20 , relative = true }))
|
||||||
|
|
||||||
|
-- Switch workspaces
|
||||||
|
hl.bind(mainMod .. " + ampersand", hl.dsp.focus({ workspace = "1"}))
|
||||||
|
hl.bind(mainMod .. " + eacute", hl.dsp.focus({ workspace = "2"}))
|
||||||
|
hl.bind(mainMod .. " + quotedbl", hl.dsp.focus({ workspace = "3"}))
|
||||||
|
hl.bind(mainMod .. " + apostrophe", hl.dsp.focus({ workspace = "4"}))
|
||||||
|
hl.bind(mainMod .. " + parenleft", hl.dsp.focus({ workspace = "5"}))
|
||||||
|
hl.bind(mainMod .. " + minus", hl.dsp.focus({ workspace = "6"}))
|
||||||
|
hl.bind(mainMod .. " + egrave", hl.dsp.focus({ workspace = "7"}))
|
||||||
|
hl.bind(mainMod .. " + underscore", hl.dsp.focus({ workspace = "8"}))
|
||||||
|
hl.bind(mainMod .. " + ccedilla", hl.dsp.focus({ workspace = "9"}))
|
||||||
|
hl.bind(mainMod .. " + agrave", hl.dsp.focus({ workspace = "10"}))
|
||||||
|
hl.bind(mainMod .. " + dead_circumflex", hl.dsp.focus({ workspace = "11"}))
|
||||||
|
hl.bind(mainMod .. " + dollar", hl.dsp.focus({ workspace = "12"}))
|
||||||
|
hl.bind(mainMod .. " + ugrave", hl.dsp.focus({ workspace = "13"}))
|
||||||
|
hl.bind(mainMod .. " + asterisk", hl.dsp.focus({ workspace = "14"}))
|
||||||
|
|
||||||
|
-- Move active window to a workspace
|
||||||
|
hl.bind(mainMod .. " + SHIFT + ampersand", hl.dsp.window.move({ workspace = "1"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + eacute", hl.dsp.window.move({ workspace = "2"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + quotedbl", hl.dsp.window.move({ workspace = "3"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + apostrophe", hl.dsp.window.move({ workspace = "4"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + parenleft", hl.dsp.window.move({ workspace = "5"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + minus", hl.dsp.window.move({ workspace = "6"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + egrave", hl.dsp.window.move({ workspace = "7"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + underscore", hl.dsp.window.move({ workspace = "8"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + ccedilla", hl.dsp.window.move({ workspace = "9"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + agrave", hl.dsp.window.move({ workspace = "10"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + dead_circumflex", hl.dsp.window.move({ workspace = "11"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + dollar", hl.dsp.window.move({ workspace = "12"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + ugrave", hl.dsp.window.move({ workspace = "13"}))
|
||||||
|
hl.bind(mainMod .. " + SHIFT + asterisk", hl.dsp.window.move({ workspace = "14"}))
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
-- Set env here
|
||||||
|
hl.env("XCURSOR_SIZE", "24")
|
||||||
|
hl.env("HYPRCURSOR_SIZE", "24")
|
||||||
|
hl.env("XDG_SESSION_TYPE", "wayland")
|
||||||
|
hl.env("HYPRLAND_NO_SD_VARS", "1")
|
||||||
|
hl.env("LD_LIBRARY_PATH", "/nix/store/p5c2hfgw9pipp2vd0xvxjmly99nbsdki-pipewire-1.6.8-jack/lib/")
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
--Set inputs here
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
input = {
|
||||||
|
kb_layout = "fr",
|
||||||
|
kb_variant = "",
|
||||||
|
kb_model = "pc105",
|
||||||
|
kb_options = "terminate:ctrl_alt_bksp",
|
||||||
|
kb_rules = "",
|
||||||
|
|
||||||
|
follow_mouse = 1,
|
||||||
|
|
||||||
|
sensitivity = 0,
|
||||||
|
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
cursor = {
|
||||||
|
no_hardware_cursors = 0,
|
||||||
|
}
|
||||||
|
})
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
--Set look and feel here
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
layout = "dwindle",
|
||||||
|
gaps_in = 3,
|
||||||
|
gaps_out = 5,
|
||||||
|
border_size = 1,
|
||||||
|
col = {
|
||||||
|
active_border = { colors = {"rgba(33ccffee)", "rgba(00ff99ee)"}, angle = 45 },
|
||||||
|
inactive_border = "rgba(595959aa)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 6,
|
||||||
|
rounding_power = 2,
|
||||||
|
|
||||||
|
active_opacity = 1.0,
|
||||||
|
inactive_opacity = 1.0,
|
||||||
|
|
||||||
|
shadow = {
|
||||||
|
enabled = false
|
||||||
|
},
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
preserve_split = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "master",
|
||||||
|
},
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
force_default_wallpaper = 0,
|
||||||
|
disable_hyprland_logo = true,
|
||||||
|
},
|
||||||
|
|
||||||
|
ecosystem = {
|
||||||
|
no_update_news = true,
|
||||||
|
no_donation_nag = true,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.curve( "mybezier", { type = "bezier", points = { {0.05, 0.9}, {0.1, 1.05} } })
|
||||||
|
|
||||||
|
hl.animation({ leaf = "windows", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "windowsOut", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "border", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "borderangle", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "fade", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
|
hl.animation({ leaf = "workspaces", enabled = true, speed = 7, bezier = "mybezier" })
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
hl.monitor({
|
||||||
|
output = "",
|
||||||
|
mode = "preferred",
|
||||||
|
position = "auto",
|
||||||
|
scale = 1
|
||||||
|
})
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
hl.window_rule({
|
||||||
|
name = "suppress-maximize-events",
|
||||||
|
match = {class = ".*"},
|
||||||
|
suppress_event = "maximize"
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
name = "fix-xwayland-drags",
|
||||||
|
match = {
|
||||||
|
class = "^$",
|
||||||
|
title = "^$",
|
||||||
|
xwayland = true,
|
||||||
|
float = true,
|
||||||
|
fullscreen = false,
|
||||||
|
pin = false,
|
||||||
|
},
|
||||||
|
|
||||||
|
no_focus = true,
|
||||||
|
})
|
||||||
@@ -1,33 +1,28 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
Wallpaper_DIR="/home/smayzy/wallpaper"
|
Wallpaper_DIR="/home/smayzy/wallpaper"
|
||||||
LOCKFILE="/tmp/wallpaper_changer.lock"
|
MONITOR=$(hyprctl monitors | awk '/Monitor/ {print $2; exit}')
|
||||||
|
|
||||||
if [ -f "$LOCKFILE" ]; then
|
TRIGGER_PIPE="/tmp/wallpaper-trigger"
|
||||||
old_pid=$(cat "$LOCKFILE")
|
[[ -p $TRIGGER_PIPE ]] || mkfifo $TRIGGER_PIPE
|
||||||
if ps -p "$old_pid" > /dev/null 2>&1; then
|
|
||||||
kill "$old_pid"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo $$ > "$LOCKFILE"
|
|
||||||
|
|
||||||
set_wallpaper() {
|
set_wallpaper() {
|
||||||
local Wallpaper=$(find $Wallpaper_DIR | shuf -n 1)
|
local Wallpaper=$(find -L "$Wallpaper_DIR" -type f| shuf -n 1)
|
||||||
|
|
||||||
> /home/smayzy/.config/hypr/hyprpaper.conf
|
cat > "/home/smayzy/.config/hypr/hyprpaper.conf" <<EOF
|
||||||
|
wallpaper {
|
||||||
echo "preload = $Wallpaper" >> /home/smayzy/.config/hypr/hyprpaper.conf
|
monitor = $MONITOR
|
||||||
echo "wallpaper = ,$Wallpaper" >> /home/smayzy/.config/hypr/hyprpaper.conf
|
path = $Wallpaper
|
||||||
|
fit_mode = cover
|
||||||
|
}
|
||||||
|
splash = false
|
||||||
|
EOF
|
||||||
|
|
||||||
pkill hyprpaper 2>/dev/null
|
pkill hyprpaper 2>/dev/null
|
||||||
hyprpaper &
|
hyprpaper &
|
||||||
}
|
}
|
||||||
|
|
||||||
trap "rm -f $LOCKFILE" EXIT
|
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
set_wallpaper
|
set_wallpaper
|
||||||
sleep 600
|
read -t 600 < $TRIGGER_PIPE
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
IMAPStore smayzy-remote
|
||||||
|
Host mail.smayzy.ovh
|
||||||
|
User smayzy@smayzy.ovh
|
||||||
|
PassCmd "pass mail/smayzy"
|
||||||
|
TLSType IMAPS
|
||||||
|
|
||||||
|
MaildirStore smayzy-local
|
||||||
|
Path ~/Mail/smayzy/
|
||||||
|
Inbox ~/Mail/smayzy/INBOX
|
||||||
|
SubFolders Verbatim
|
||||||
|
|
||||||
|
Channel smayzy
|
||||||
|
Far :smayzy-remote:
|
||||||
|
Near :smayzy-local:
|
||||||
|
Create Both
|
||||||
|
Expunge Both
|
||||||
|
Patterns *
|
||||||
|
SyncState *
|
||||||
|
|
||||||
|
|
||||||
|
IMAPStore baptiste.maylin-remote
|
||||||
|
Host mail.smayzy.ovh
|
||||||
|
User baptiste.maylin@smayzy.ovh
|
||||||
|
PassCmd "pass mail/baptiste.maylin"
|
||||||
|
TLSType IMAPS
|
||||||
|
|
||||||
|
MaildirStore baptiste.maylin-local
|
||||||
|
Path ~/Mail/baptiste.maylin/
|
||||||
|
Inbox ~/Mail/baptiste.maylin/INBOX
|
||||||
|
SubFolders Verbatim
|
||||||
|
|
||||||
|
Channel baptiste.maylin
|
||||||
|
Far :baptiste.maylin-remote:
|
||||||
|
Near :baptiste.maylin-local:
|
||||||
|
Create Both
|
||||||
|
Expunge Both
|
||||||
|
Patterns *
|
||||||
|
SyncState *
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
font=JetBrainsMono 10
|
|
||||||
background-color=#282828
|
|
||||||
text-color=#ebdbb2
|
|
||||||
border-color=#98971a
|
|
||||||
border-size=2
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
defaults
|
||||||
|
tls on
|
||||||
|
tls_starttls off
|
||||||
|
auth on
|
||||||
|
logfile ~/.msmtp.log
|
||||||
|
timeout 60
|
||||||
|
|
||||||
|
account smayzy
|
||||||
|
host mail.smayzy.ovh
|
||||||
|
port 465
|
||||||
|
domain smayzy.ovh
|
||||||
|
from smayzy@smayzy.ovh
|
||||||
|
user smayzy@smayzy.ovh
|
||||||
|
passwordeval pass mail/smayzy
|
||||||
|
|
||||||
|
account baptiste.maylin
|
||||||
|
host mail.smayzy.ovh
|
||||||
|
port 465
|
||||||
|
domain smayzy.ovh
|
||||||
|
from baptiste.maylin@smayzy.ovh
|
||||||
|
user baptiste.maylin@smayzy.ovh
|
||||||
|
passwordeval pass mail/baptiste.maylin
|
||||||
|
|
||||||
|
|
||||||
|
account default : smayzy
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
# vim: syntax=neomuttrc
|
||||||
|
bind index,pager \Ck sidebar-prev
|
||||||
|
bind index,pager \Cj sidebar-next
|
||||||
|
bind index,pager \Ce sidebar-open
|
||||||
|
bind index,pager V sidebar-toggle-visible
|
||||||
|
|
||||||
|
|
||||||
|
bind index,pager j next-entry
|
||||||
|
bind index,pager k previous-entry
|
||||||
|
bind index,pager J next-page
|
||||||
|
bind index,pager K previous-page
|
||||||
|
|
||||||
|
bind editor \C_ bol
|
||||||
|
bind editor \Cd kill-line
|
||||||
|
bind editor \Cr history-search
|
||||||
@@ -0,0 +1,68 @@
|
|||||||
|
# vim: filetype=neomuttrc
|
||||||
|
# Default index colors:
|
||||||
|
color index yellow default '.*'
|
||||||
|
color index_author red default '.*'
|
||||||
|
color index_number blue default
|
||||||
|
color index_subject cyan default '.*'
|
||||||
|
|
||||||
|
# For new mail:
|
||||||
|
color index brightyellow black "~N"
|
||||||
|
color index_author brightred black "~N"
|
||||||
|
color index_subject brightcyan black "~N"
|
||||||
|
|
||||||
|
# Header colors:
|
||||||
|
color header blue default ".*"
|
||||||
|
color header brightmagenta default "^(From)"
|
||||||
|
color header brightcyan default "^(Subject)"
|
||||||
|
color header brightwhite default "^(CC|BCC)"
|
||||||
|
|
||||||
|
mono bold bold
|
||||||
|
mono underline underline
|
||||||
|
mono indicator reverse
|
||||||
|
mono error bold
|
||||||
|
color normal default default
|
||||||
|
color indicator brightblack white
|
||||||
|
color sidebar_highlight red default
|
||||||
|
color sidebar_divider brightblack black
|
||||||
|
color sidebar_flagged red black
|
||||||
|
color sidebar_new green black
|
||||||
|
color normal brightyellow default
|
||||||
|
color error red default
|
||||||
|
color tilde black default
|
||||||
|
color message cyan default
|
||||||
|
color markers red white
|
||||||
|
color attachment white default
|
||||||
|
color search brightmagenta default
|
||||||
|
color status brightyellow black
|
||||||
|
color hdrdefault brightgreen default
|
||||||
|
color quoted green default
|
||||||
|
color quoted1 blue default
|
||||||
|
color quoted2 cyan default
|
||||||
|
color quoted3 yellow default
|
||||||
|
color quoted4 red default
|
||||||
|
color quoted5 brightred default
|
||||||
|
color signature brightgreen default
|
||||||
|
color bold black default
|
||||||
|
color underline black default
|
||||||
|
color normal default default
|
||||||
|
|
||||||
|
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
|
||||||
|
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
|
||||||
|
color body green default "\`[^\`]*\`" # Green text between ` and `
|
||||||
|
color body brightblue default "^# \.*" # Headings as bold blue
|
||||||
|
color body brightcyan default "^## \.*" # Subheadings as bold cyan
|
||||||
|
color body brightgreen default "^### \.*" # Subsubheadings as bold green
|
||||||
|
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
|
||||||
|
color body brightcyan default "[;:][-o][)/(|]" # emoticons
|
||||||
|
color body brightcyan default "[;:][)(|]" # emoticons
|
||||||
|
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
|
||||||
|
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
|
||||||
|
color body red default "(BAD signature)"
|
||||||
|
color body cyan default "(Good signature)"
|
||||||
|
color body brightblack default "^gpg: Good signature .*"
|
||||||
|
color body brightyellow default "^gpg: "
|
||||||
|
color body brightyellow red "^gpg: BAD signature from.*"
|
||||||
|
mono body bold "^gpg: Good signature"
|
||||||
|
mono body bold "^gpg: BAD signature from.*"
|
||||||
|
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
|
||||||
|
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
# vim: syntax=neomuttrc
|
||||||
|
set editor = "vim"
|
||||||
|
|
||||||
|
source color.muttrc
|
||||||
|
source bind.muttrc
|
||||||
|
|
||||||
|
set ssl_force_tls = yes
|
||||||
|
set mail_check_stats
|
||||||
|
|
||||||
|
set sidebar_visible = yes
|
||||||
|
set sidebar_width = 40
|
||||||
|
set sidebar_short_path = yes
|
||||||
|
set sidebar_delim_chars = '/'
|
||||||
|
set sidebar_on_right = yes
|
||||||
|
set sidebar_format = '%B%<F? [%F]>%* %<N?%N/>%S'
|
||||||
|
|
||||||
|
set spoolfile = "~/Mail/smayzy/INBOX"
|
||||||
|
set folder = "~/Mail/smayzy"
|
||||||
|
|
||||||
|
mailboxes `for u in smayzy baptiste.maylin; do echo "$HOME/Mail/placeholder/------$u------"; find ~/Mail/$u -type d -name cur | xargs dirname; done | xargs`
|
||||||
|
|
||||||
|
folder-hook ~/Mail/smayzy/.* "\
|
||||||
|
set from='smayzy@smayzy.ovh';\
|
||||||
|
set realname='Smayzy';\
|
||||||
|
set folder='~/Mail/smayzy';\
|
||||||
|
set spoolfile='+INBOX';\
|
||||||
|
set record='+Sent';\
|
||||||
|
set postponed='+Drafts';\
|
||||||
|
set trash='+Trash';\
|
||||||
|
set sendmail='msmtp -a smayzy'"
|
||||||
|
|
||||||
|
folder-hook ~/Mail/baptiste.maylin/.* "\
|
||||||
|
set from='baptiste.maylin@smayzy.ovh';\
|
||||||
|
set realname='Baptiste Maylin';\
|
||||||
|
set folder='~/Mail/baptiste.maylin';\
|
||||||
|
set spoolfile='+INBOX';\
|
||||||
|
set record='+Sent';\
|
||||||
|
set postponed='+Drafts';\
|
||||||
|
set trash='+Trash';\
|
||||||
|
set sendmail='msmtp -a baptiste.maylin'"
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
},
|
},
|
||||||
"cpu": {
|
"cpu": {
|
||||||
"interval": 5,
|
"interval": 5,
|
||||||
"format": "{usage:2}%"
|
"format": " {usage:2}%"
|
||||||
},
|
},
|
||||||
"disk": {
|
"disk": {
|
||||||
"interval": 5,
|
"interval": 5,
|
||||||
|
|||||||
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -27,13 +27,13 @@ button:focus, button:active, button:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#lock {
|
#lock {
|
||||||
background-image: image(url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png"));
|
background-image: image(url("./lock.png"), url("./lock.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#shutdown {
|
#shutdown {
|
||||||
background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png"));
|
background-image: image(url("./shutdown.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#reboot {
|
#reboot {
|
||||||
background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png"));
|
background-image: image(url("./reboot.png"));
|
||||||
}
|
}
|
||||||
|
|||||||
|
After Width: | Height: | Size: 17 KiB |
@@ -1,190 +1,97 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"base16": {
|
"agenix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"fromYaml": "fromYaml"
|
"darwin": "darwin",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746562888,
|
"lastModified": 1770165109,
|
||||||
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
|
"narHash": "sha256-9VnK6Oqai65puVJ4WYtCTvlJeXxMzAp/69HhQuTdl/I=",
|
||||||
"owner": "SenchoPens",
|
"owner": "ryantm",
|
||||||
"repo": "base16.nix",
|
"repo": "agenix",
|
||||||
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
|
"rev": "b027ee29d959fda4b60b57566d64c98a202e0feb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "SenchoPens",
|
"owner": "ryantm",
|
||||||
"repo": "base16.nix",
|
"repo": "agenix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"base16-fish": {
|
"darwin": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1622559957,
|
|
||||||
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
|
|
||||||
"owner": "tomyun",
|
|
||||||
"repo": "base16-fish",
|
|
||||||
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tomyun",
|
|
||||||
"repo": "base16-fish",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-helix": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748408240,
|
|
||||||
"narHash": "sha256-9M2b1rMyMzJK0eusea0x3lyh3mu5nMeEDSc4RZkGm+g=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-helix",
|
|
||||||
"rev": "6c711ab1a9db6f51e2f6887cc3345530b33e152e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-helix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-vim": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1732806396,
|
|
||||||
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-vim",
|
|
||||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-vim",
|
|
||||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"firefox-gnome-theme": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748383148,
|
|
||||||
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
|
|
||||||
"owner": "rafaelmardojai",
|
|
||||||
"repo": "firefox-gnome-theme",
|
|
||||||
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "rafaelmardojai",
|
|
||||||
"repo": "firefox-gnome-theme",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs": [
|
||||||
},
|
"agenix",
|
||||||
"locked": {
|
|
||||||
"lastModified": 1749398372,
|
|
||||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1743550720,
|
"lastModified": 1744478979,
|
||||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
|
||||||
"owner": "hercules-ci",
|
"owner": "lnl7",
|
||||||
"repo": "flake-parts",
|
"repo": "nix-darwin",
|
||||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hercules-ci",
|
"owner": "lnl7",
|
||||||
"repo": "flake-parts",
|
"ref": "master",
|
||||||
|
"repo": "nix-darwin",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-compat": {
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"fromYaml": {
|
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731966426,
|
"lastModified": 1777699697,
|
||||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
|
||||||
"owner": "SenchoPens",
|
"ref": "refs/heads/main",
|
||||||
"repo": "fromYaml",
|
"rev": "382052b74656a369c5408822af3f2501e9b1af81",
|
||||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
"revCount": 94,
|
||||||
"type": "github"
|
"type": "git",
|
||||||
|
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "SenchoPens",
|
"type": "git",
|
||||||
"repo": "fromYaml",
|
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gnome-shell": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748186689,
|
|
||||||
"narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
|
|
||||||
"owner": "GNOME",
|
|
||||||
"repo": "gnome-shell",
|
|
||||||
"rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "GNOME",
|
|
||||||
"ref": "48.2",
|
|
||||||
"repo": "gnome-shell",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"agenix",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1745494811,
|
||||||
|
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751990210,
|
"lastModified": 1785531816,
|
||||||
"narHash": "sha256-krWErNDl9ggMLSfK00Q2BcoSk3+IRTSON/DiDgUzzMw=",
|
"narHash": "sha256-vkMnV0JIyw+g/NmcfoajlGaAO+9a0ezia+FZohQJrik=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "218da00bfa73f2a61682417efe74549416c16ba6",
|
"rev": "bf9ce9fec78f95f374e8dd3b503863a3ec128ebe",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -195,11 +102,11 @@
|
|||||||
},
|
},
|
||||||
"mnw": {
|
"mnw": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748710831,
|
"lastModified": 1780772958,
|
||||||
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
|
"narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=",
|
||||||
"owner": "Gerg-L",
|
"owner": "Gerg-L",
|
||||||
"repo": "mnw",
|
"repo": "mnw",
|
||||||
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
|
"rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -210,11 +117,11 @@
|
|||||||
},
|
},
|
||||||
"nix-flatpak": {
|
"nix-flatpak": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739444422,
|
"lastModified": 1767983141,
|
||||||
"narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=",
|
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
|
||||||
"owner": "gmodena",
|
"owner": "gmodena",
|
||||||
"repo": "nix-flatpak",
|
"repo": "nix-flatpak",
|
||||||
"rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177",
|
"rev": "440818969ac2cbd77bfe025e884d0aa528991374",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -224,13 +131,49 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-index-database": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1785650611,
|
||||||
|
"narHash": "sha256-q4kR7g+pCcz6NASvoVPYu+CWWUurX03wogtBqGmR4h0=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"rev": "dbc756c9d7287de19b3e0e38c928c47510d42c3e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751792365,
|
"lastModified": 1754028485,
|
||||||
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
|
"narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "59e69648d345d6e8fef86158c555730fa12af9de",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-25.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1785571196,
|
||||||
|
"narHash": "sha256-KoTsyMQqnXQZq8deCEnu4QkyldkwH/bpMMhUcfMdGIw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
|
"rev": "148bab9c1c3c53136ecb44a6ea356a0ed5b39b06",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -240,77 +183,31 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748740939,
|
"lastModified": 1784796856,
|
||||||
"narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
|
"narHash": "sha256-vwxWgF+Gj276WznzGb1LxGsK/39HaQwgQXiU3EkC844=",
|
||||||
"owner": "nix-community",
|
"rev": "e2587caef70cea85dd97d7daab492899902dbf5d",
|
||||||
"repo": "nixpkgs.lib",
|
"type": "tarball",
|
||||||
"rev": "656a64127e9d791a334452c6b6606d17539476e2",
|
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1040357.e2587caef70c/nixexprs.tar.xz"
|
||||||
"type": "github"
|
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"type": "tarball",
|
||||||
"repo": "nixpkgs.lib",
|
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1750215678,
|
|
||||||
"narHash": "sha256-Rc/ytpamXRf6z8UA2SGa4aaWxUXRbX2MAWIu2C8M+ok=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "5395fb3ab3f97b9b7abca147249fa2e8ed27b192",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nur": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": [
|
|
||||||
"stylix",
|
|
||||||
"flake-parts"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748730660,
|
|
||||||
"narHash": "sha256-5LKmRYKdPuhm8j5GFe3AfrJL8dd8o57BQ34AGjJl1R0=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"rev": "2c0bc52fe14681e9ef60e3553888c4f086e46ecb",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nvf": {
|
"nvf": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-compat": "flake-compat",
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"mnw": "mnw",
|
"mnw": "mnw",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3"
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752001027,
|
"lastModified": 1785632973,
|
||||||
"narHash": "sha256-JgP8lW4QBr9v/U4ETaIOMvGCd/DAA1AjZ1lqjIwfWno=",
|
"narHash": "sha256-j4NzdhN4dgpvORbKdteIcw8M2WJyKrIgalBxT/CNk+c=",
|
||||||
"owner": "notashelf",
|
"owner": "notashelf",
|
||||||
"repo": "nvf",
|
"repo": "nvf",
|
||||||
"rev": "c4d80273aaefeadaad96db97d077c647942b0e96",
|
"rev": "c82d4e47cc1baab21d4954760db49941aaa39b49",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -321,45 +218,12 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"agenix": "agenix",
|
||||||
|
"home-manager": "home-manager_2",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nixpkgs": "nixpkgs",
|
"nix-index-database": "nix-index-database",
|
||||||
"nvf": "nvf",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"stylix": "stylix"
|
"nvf": "nvf"
|
||||||
}
|
|
||||||
},
|
|
||||||
"stylix": {
|
|
||||||
"inputs": {
|
|
||||||
"base16": "base16",
|
|
||||||
"base16-fish": "base16-fish",
|
|
||||||
"base16-helix": "base16-helix",
|
|
||||||
"base16-vim": "base16-vim",
|
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"gnome-shell": "gnome-shell",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nur": "nur",
|
|
||||||
"systems": "systems_3",
|
|
||||||
"tinted-foot": "tinted-foot",
|
|
||||||
"tinted-kitty": "tinted-kitty",
|
|
||||||
"tinted-schemes": "tinted-schemes",
|
|
||||||
"tinted-tmux": "tinted-tmux",
|
|
||||||
"tinted-zed": "tinted-zed"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1751995939,
|
|
||||||
"narHash": "sha256-C5CSTv+b8XSbqJwqTP8SGkZEK3YCCJnmvRbg209ql5w=",
|
|
||||||
"owner": "danth",
|
|
||||||
"repo": "stylix",
|
|
||||||
"rev": "8f3259dbc57c8ee871492fde80f77468826bbd63",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "danth",
|
|
||||||
"repo": "stylix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
@@ -376,139 +240,6 @@
|
|||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"systems_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-foot": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1726913040,
|
|
||||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-kitty": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1735730497,
|
|
||||||
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-kitty",
|
|
||||||
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-kitty",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-schemes": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748180480,
|
|
||||||
"narHash": "sha256-7n0XiZiEHl2zRhDwZd/g+p38xwEoWtT0/aESwTMXWG4=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"rev": "87d652edd26f5c0c99deda5ae13dfb8ece2ffe31",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-tmux": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1748740859,
|
|
||||||
"narHash": "sha256-OEM12bg7F4N5WjZOcV7FHJbqRI6jtCqL6u8FtPrlZz4=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-tmux",
|
|
||||||
"rev": "57d5f9683ff9a3b590643beeaf0364da819aedda",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-tmux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-zed": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1725758778,
|
|
||||||
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-zed",
|
|
||||||
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-zed",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733222881,
|
|
||||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
@@ -8,42 +8,57 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
agenix.url = "github:ryantm/agenix";
|
||||||
|
|
||||||
stylix = {
|
nix-index-database = {
|
||||||
url = "github:danth/stylix";
|
url = "github:nix-community/nix-index-database";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||||
|
|
||||||
nvf.url = "github:notashelf/nvf";
|
nvf.url = "github:notashelf/nvf";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nix-flatpak, nvf, ... } @ inputs:
|
outputs =
|
||||||
|
{
|
||||||
|
self,
|
||||||
|
nixpkgs,
|
||||||
|
agenix,
|
||||||
|
...
|
||||||
|
}@inputs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
overlays = builtins.attrValues (import ./overlays);
|
||||||
|
|
||||||
|
sharedModules = [
|
||||||
|
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||||
|
inputs.nvf.nixosModules.default
|
||||||
|
inputs.agenix.nixosModules.default
|
||||||
|
inputs.nix-index-database.nixosModules.default
|
||||||
|
];
|
||||||
|
|
||||||
|
mkHost =
|
||||||
|
hostConfig:
|
||||||
|
nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
inherit
|
||||||
|
inputs
|
||||||
|
system
|
||||||
|
overlays
|
||||||
|
agenix
|
||||||
|
;
|
||||||
|
};
|
||||||
|
modules = [ hostConfig ] ++ sharedModules;
|
||||||
|
};
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
desktop1 = nixpkgs.lib.nixosSystem {
|
desktop1 = mkHost ./hosts/desktop1/configuration.nix;
|
||||||
specialArgs = { inherit inputs system; };
|
server1 = mkHost ./hosts/server1/configuration.nix;
|
||||||
modules = [
|
laptop1 = mkHost ./hosts/laptop1/configuration.nix;
|
||||||
./hosts/desktop1/configuration.nix
|
laptop2 = mkHost ./hosts/laptop2/configuration.nix;
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
|
||||||
inputs.stylix.nixosModules.stylix
|
|
||||||
nvf.nixosModules.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
laptop1 = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit inputs system; };
|
|
||||||
modules = [
|
|
||||||
./hosts/laptop1/configuration.nix
|
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
|
||||||
inputs.stylix.nixosModules.stylix
|
|
||||||
nvf.nixosModules.default
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,62 +1,35 @@
|
|||||||
{ inputs, config, pkgs, lib, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
overlays,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
|
|
||||||
imports =
|
imports = [
|
||||||
[
|
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
../../modules/nix/default.nix
|
../../modules/nix/default.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nixpkgs.overlays = overlays;
|
||||||
|
|
||||||
|
boot.supportedFilesystems = [ "nfs" ];
|
||||||
|
|
||||||
users.users.smayzy = {
|
users.users.smayzy = {
|
||||||
|
homeMode = "710";
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "smayzy";
|
description = "smayzy";
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = [
|
||||||
packages = with pkgs; [];
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"wireshark"
|
||||||
|
"dialout"
|
||||||
|
"audio"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
home-manager
|
home-manager
|
||||||
wget
|
|
||||||
kitty
|
|
||||||
tldr
|
|
||||||
fastfetch
|
|
||||||
tree
|
|
||||||
font-awesome
|
|
||||||
dig
|
|
||||||
btop
|
|
||||||
thunderbird
|
|
||||||
lf
|
|
||||||
file
|
|
||||||
qalculate-qt
|
|
||||||
baobab
|
|
||||||
arduino-ide
|
|
||||||
piper
|
|
||||||
element-desktop
|
|
||||||
calibre
|
|
||||||
vlc
|
|
||||||
loupe
|
|
||||||
gimp3
|
|
||||||
mullvad-vpn
|
|
||||||
libreoffice-qt6-still
|
|
||||||
hunspellDicts.fr-any
|
|
||||||
base16-schemes
|
|
||||||
tor
|
|
||||||
wireshark
|
|
||||||
tshark
|
|
||||||
freecad-wayland
|
|
||||||
aegisub
|
|
||||||
audacity
|
|
||||||
mpv
|
|
||||||
vim
|
|
||||||
fritzing
|
|
||||||
networkmanagerapplet
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
gparted
|
|
||||||
gnome-disk-utility
|
|
||||||
sl
|
|
||||||
];
|
];
|
||||||
|
|
||||||
services.ratbagd.enable = true;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,61 +1,23 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
../../modules/home-manager/default.nix
|
||||||
../../modules/home-manager/webapps.nix
|
|
||||||
../../modules/home-manager/lf/lf.nix
|
|
||||||
../../modules/home-manager/kitty.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
smayzy.webapps.enable = true;
|
|
||||||
|
|
||||||
smayzy.lf.enable = true;
|
|
||||||
|
|
||||||
smayzy.kitty.enable = true;
|
|
||||||
|
|
||||||
home.username = "smayzy";
|
home.username = "smayzy";
|
||||||
home.homeDirectory = "/home/smayzy";
|
home.homeDirectory = "/home/smayzy";
|
||||||
home.stateVersion = "25.05";
|
home.stateVersion = "25.05";
|
||||||
|
|
||||||
home.packages = [
|
home.packages = with pkgs; [
|
||||||
|
sl
|
||||||
];
|
];
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".config/fastfetch" = {
|
|
||||||
source = builtins.toPath ../../dotfiles/fastfetch;
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
".config/mako/config" = {
|
|
||||||
source = builtins.toPath ../../dotfiles/mako/config;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
".config/wofi" = {
|
|
||||||
source = builtins.toPath ../../dotfiles/wofi;
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
"wallpaper" = {
|
|
||||||
source = builtins.toPath ../../wallpapers;
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "vim";
|
EDITOR = "vim";
|
||||||
GTK_THEME = "Adwaita:dark";
|
|
||||||
MANPAGER = "nvim +Man!";
|
MANPAGER = "nvim +Man!";
|
||||||
};
|
};
|
||||||
|
|
||||||
dconf.settings = {
|
|
||||||
"org/virt-manager/virt-manager/connections" = {
|
|
||||||
autoconnect = ["qemu:///system"];
|
|
||||||
uris = ["qemu:///system"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
@@ -71,24 +33,26 @@
|
|||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "smayzy";
|
settings = {
|
||||||
userEmail = "smayzy@smayzy.ovh";
|
core = {
|
||||||
extraConfig = {
|
autocrlf = "input";
|
||||||
core.editor = "vim";
|
editor = "vim";
|
||||||
core.autocrlf = "input";
|
};
|
||||||
credential.helper = "store";
|
credential = {
|
||||||
pull.rebase = "true";
|
helper = "store";
|
||||||
|
};
|
||||||
|
pull = {
|
||||||
|
rebase = "true";
|
||||||
|
};
|
||||||
|
user = {
|
||||||
|
email = "smayzy@smayzy.ovh";
|
||||||
|
name = "smayzy";
|
||||||
|
};
|
||||||
|
init = {
|
||||||
|
defaultBranch = "main";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
policies = {
|
|
||||||
OverridePostfix = "no-gtk-theme";
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
stylix.autoEnable = false;
|
|
||||||
|
|
||||||
programs.zoxide.enable = true;
|
programs.zoxide.enable = true;
|
||||||
|
|
||||||
|
|||||||
@@ -1,22 +1,118 @@
|
|||||||
{ inputs, config, pkgs, lib, ... }:
|
{ inputs, config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
|
||||||
../common/common.nix
|
../common/common.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "desktop1";
|
networking.hostName = "desktop1";
|
||||||
|
|
||||||
|
networking.bridges.br0.interfaces = [ "enp4s0" ];
|
||||||
|
networking.interfaces.br0.ipv4.addresses = [
|
||||||
|
{
|
||||||
|
address = "192.168.1.146";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
networking.defaultGateway = "192.168.1.254";
|
||||||
|
networking.nameservers = [
|
||||||
|
"192.168.1.202"
|
||||||
|
"192.168.1.137"
|
||||||
|
"192.168.1.49"
|
||||||
|
];
|
||||||
|
networking.useDHCP = false;
|
||||||
|
networking.enableIPv6 = false;
|
||||||
|
|
||||||
|
age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
|
fileSystems."/home/smayzy/Main" = {
|
||||||
|
device = "nfs-srv1.internal.smayzy.ovh:/srv/NFS/Main";
|
||||||
|
fsType = "nfs";
|
||||||
|
options = [
|
||||||
|
"x-systemd.automount"
|
||||||
|
"nofail"
|
||||||
|
"noauto"
|
||||||
|
"nfsvers=4"
|
||||||
|
"soft"
|
||||||
|
"timeo=50"
|
||||||
|
];
|
||||||
|
depends = [ "/home" ];
|
||||||
|
};
|
||||||
|
fileSystems."/home/smayzy/ISO" = {
|
||||||
|
device = "nfs-srv1.internal.smayzy.ovh:/srv/NFS/ISO";
|
||||||
|
fsType = "nfs";
|
||||||
|
options = [
|
||||||
|
"x-systemd.automount"
|
||||||
|
"nofail"
|
||||||
|
"noauto"
|
||||||
|
"nfsvers=4"
|
||||||
|
"soft"
|
||||||
|
"timeo=50"
|
||||||
|
];
|
||||||
|
depends = [ "/home" ];
|
||||||
|
};
|
||||||
|
fileSystems."/home/smayzy/Vault" = {
|
||||||
|
device = "nfs-srv1.internal.smayzy.ovh:/srv/NFS/Vault";
|
||||||
|
fsType = "nfs";
|
||||||
|
options = [
|
||||||
|
"x-systemd.automount"
|
||||||
|
"nofail"
|
||||||
|
"noauto"
|
||||||
|
"nfsvers=4"
|
||||||
|
"soft"
|
||||||
|
"timeo=50"
|
||||||
|
];
|
||||||
|
depends = [ "/home" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
security.pam.loginLimits = [
|
||||||
|
{
|
||||||
|
domain = "@audio";
|
||||||
|
type = "-";
|
||||||
|
item = "memlock";
|
||||||
|
value = "unlimited";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
smayzy = {
|
smayzy = {
|
||||||
|
desktop.enable = true;
|
||||||
nvidia.enable = true;
|
nvidia.enable = true;
|
||||||
virt.enable = true;
|
virt.enable = true;
|
||||||
desktop.enable = true;
|
hyprland.enable = true;
|
||||||
|
kde.enable = true;
|
||||||
|
docker.enable = true;
|
||||||
|
steam.enable = true;
|
||||||
|
office.enable = true;
|
||||||
|
mullvad.enable = true;
|
||||||
|
alacritty.enable = true;
|
||||||
|
ardour.enable = true;
|
||||||
|
mail.enable = true;
|
||||||
|
supertuxkart.enable = true;
|
||||||
|
flatpak = {
|
||||||
|
enable = true;
|
||||||
|
media.enable = true;
|
||||||
|
dev.enable = true;
|
||||||
|
gaming.enable = true;
|
||||||
|
};
|
||||||
|
containers = {
|
||||||
|
nixos = {
|
||||||
|
};
|
||||||
|
docker = {
|
||||||
|
};
|
||||||
|
networking = {
|
||||||
|
bridge = "br0";
|
||||||
|
dns = [ "192.168.1.202" ];
|
||||||
|
gateway = "192.168.1.254";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
smayzy = config.smayzy;
|
||||||
|
};
|
||||||
users = {
|
users = {
|
||||||
smayzy = import ./home.nix;
|
smayzy = import ./home.nix;
|
||||||
};
|
};
|
||||||
@@ -26,60 +122,20 @@
|
|||||||
system.stateVersion = "24.11";
|
system.stateVersion = "24.11";
|
||||||
|
|
||||||
boot.loader.grub.extraEntries = ''
|
boot.loader.grub.extraEntries = ''
|
||||||
menuentry "Archlinux" {
|
menuentry "Arch" {
|
||||||
insmod part_gpt
|
insmod part_gpt
|
||||||
insmod fat
|
insmod ext2
|
||||||
search --no-floppy --fs-uuid --set=root 07CA-4966
|
search --no-floppy --fs-uuid --set=root f64bf53c-c989-4e38-9a97-aaadcb36d428
|
||||||
chainloader /EFI/BOOT/BOOTX64.EFI
|
linux /boot/vmlinuz-linux root=UUID=f64bf53c-c989-4e38-9a97-aaadcb36d428
|
||||||
|
initrd /boot/initramfs-linux.img
|
||||||
|
}
|
||||||
|
menuentry "Gentoo" {
|
||||||
|
insmod part_gpt
|
||||||
|
insmod ext2
|
||||||
|
search --no-floppy --fs-uuid --set=root ad8fa502-d3dc-4999-abce-17a09a9cb779
|
||||||
|
linux /boot/vmlinuz-6.12.47-gentoo-dist root=UUID=ad8fa502-d3dc-4999-abce-17a09a9cb779
|
||||||
|
initrd /boot/initramfs-6.12.47-gentoo-dist.img
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
services.displayManager.sddm.enable = true;
|
|
||||||
services.displayManager.sddm.wayland.enable = true;
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
|
||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
mako
|
|
||||||
wofi
|
|
||||||
wlogout
|
|
||||||
waybar
|
|
||||||
wl-clipboard
|
|
||||||
libnotify
|
|
||||||
hyprpaper
|
|
||||||
hyprpolkitagent
|
|
||||||
webcord
|
|
||||||
pavucontrol
|
|
||||||
cliphist
|
|
||||||
obsidian
|
|
||||||
samrewritten
|
|
||||||
libsForQt5.kdenlive
|
|
||||||
floorp
|
|
||||||
komikku
|
|
||||||
librewolf
|
|
||||||
blender
|
|
||||||
inkscape
|
|
||||||
ntfs3g
|
|
||||||
];
|
|
||||||
|
|
||||||
services.flatpak = {
|
|
||||||
enable = true;
|
|
||||||
update.onActivation = true;
|
|
||||||
packages = [
|
|
||||||
"com.heroicgameslauncher.hgl"
|
|
||||||
"com.github.tchx84.Flatseal"
|
|
||||||
"com.obsproject.Studio"
|
|
||||||
"com.usebottles.bottles"
|
|
||||||
"it.mijorus.gearlever"
|
|
||||||
"com.google.AndroidStudio"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,63 @@
|
|||||||
{ config, lib, pkgs, modulesPath, ... }:
|
# 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 =
|
imports = [
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"nvme"
|
||||||
|
"usb_storage"
|
||||||
|
"usbhid"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/976bcf9c-3b56-4aa6-98f8-1c899af2b0f8";
|
device = "/dev/disk/by-uuid/05e716ac-e6a2-407d-9941-5ad95db74698";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/8E7F-2417";
|
device = "/dev/disk/by-uuid/A238-B4BF";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
fileSystems."/home" = {
|
||||||
|
device = "/dev/disk/by-uuid/e5e8d23d-b613-40c2-b190-ee8d40fbf2f1";
|
||||||
|
fsType = "ext4";
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/5113afb8-f391-4e0d-bffc-bc6168974ce9"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|||||||
@@ -1,30 +1,7 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
|
||||||
../common/home.nix
|
../common/home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = [
|
|
||||||
];
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".config/hypr" = {
|
|
||||||
source = builtins.toPath ../../dotfiles/hypr-desk;
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
".config/waybar" = {
|
|
||||||
source = builtins.toPath ../../dotfiles/waybar-desk;
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
".config/wlogout" = {
|
|
||||||
source = builtins.toPath ../../dotfiles/wlogout-desk;
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,23 @@
|
|||||||
{ inputs, config, pkgs, lib, ... }:
|
{ inputs, config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
|
||||||
../common/common.nix
|
../common/common.nix
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
smayzy = {
|
smayzy = {
|
||||||
laptop.enable = true;
|
laptop.enable = true;
|
||||||
|
hyprland.enable = true;
|
||||||
|
kde.enable = true;
|
||||||
|
grub-on-lap.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
smayzy = config.smayzy;
|
||||||
|
};
|
||||||
users = {
|
users = {
|
||||||
smayzy = import ./home.nix;
|
smayzy = import ./home.nix;
|
||||||
};
|
};
|
||||||
@@ -22,49 +27,4 @@
|
|||||||
system.stateVersion = "24.11";
|
system.stateVersion = "24.11";
|
||||||
|
|
||||||
networking.hostName = "laptop1";
|
networking.hostName = "laptop1";
|
||||||
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
services.displayManager.sddm.enable = true;
|
|
||||||
services.displayManager.sddm.wayland.enable = true;
|
|
||||||
|
|
||||||
programs.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
|
||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
mako
|
|
||||||
wofi
|
|
||||||
wlogout
|
|
||||||
waybar
|
|
||||||
wl-clipboard
|
|
||||||
libnotify
|
|
||||||
hyprpaper
|
|
||||||
webcord
|
|
||||||
pavucontrol
|
|
||||||
cliphist
|
|
||||||
obsidian
|
|
||||||
samrewritten
|
|
||||||
libsForQt5.kdenlive
|
|
||||||
floorp
|
|
||||||
komikku
|
|
||||||
librewolf
|
|
||||||
inkscape
|
|
||||||
hyprlock
|
|
||||||
];
|
|
||||||
|
|
||||||
services.flatpak = {
|
|
||||||
enable = true;
|
|
||||||
update.onActivation = true;
|
|
||||||
packages = [
|
|
||||||
"com.github.tchx84.Flatseal"
|
|
||||||
"com.usebottles.bottles"
|
|
||||||
"it.mijorus.gearlever"
|
|
||||||
"com.google.AndroidStudio"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +1,47 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"xhci_pci"
|
||||||
|
"nvme"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/fa4f1a61-338b-4f1e-9f6c-2b2f2cd12f38";
|
device = "/dev/disk/by-uuid/fa4f1a61-338b-4f1e-9f6c-2b2f2cd12f38";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/8E15-A6E3";
|
device = "/dev/disk/by-uuid/8E15-A6E3";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/b451db56-e0a5-4799-88a1-34a31ffe3b08"; }
|
{ device = "/dev/disk/by-uuid/b451db56-e0a5-4799-88a1-34a31ffe3b08"; }
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|||||||
@@ -1,29 +1,7 @@
|
|||||||
{ config, pkgs, inputs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
|
||||||
../common/home.nix
|
../common/home.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = [
|
|
||||||
];
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".config/hypr" = {
|
|
||||||
source = builtins.toPath ../../dotfiles/hypr-lap;
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
".config/waybar" = {
|
|
||||||
source = builtins.toPath ../../dotfiles/waybar-lap;
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
".config/wlogout" = {
|
|
||||||
source = builtins.toPath ../../dotfiles/wlogout-lap;
|
|
||||||
recursive = true;
|
|
||||||
force = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{ inputs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../common/common.nix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
smayzy = {
|
||||||
|
laptop.enable = true;
|
||||||
|
hyprland.enable = true;
|
||||||
|
kde.enable = true;
|
||||||
|
ardour.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
smayzy = config.smayzy;
|
||||||
|
};
|
||||||
|
users = {
|
||||||
|
smayzy = import ./home.nix;
|
||||||
|
};
|
||||||
|
backupFileExtension = "backup";
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
|
||||||
|
networking.hostName = "laptop2";
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
# 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"
|
||||||
|
"nvme"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/ceed0ac4-72b3-4050-b8a3-0b91aa845da0";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/65F0-BF7E";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{ device = "/dev/disk/by-uuid/3567a75d-12cc-4c3e-a37d-9b99708cbfea"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../common/home.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,67 @@
|
|||||||
|
{ inputs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../common/common.nix
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "server1";
|
||||||
|
|
||||||
|
networking.bridges.br0.interfaces = [ "ens18" ];
|
||||||
|
networking.interfaces.br0.ipv4.addresses = [
|
||||||
|
{
|
||||||
|
address = "192.168.1.197";
|
||||||
|
prefixLength = 24;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
networking.defaultGateway = "192.168.1.254";
|
||||||
|
networking.nameservers = [
|
||||||
|
"192.168.1.202"
|
||||||
|
"192.168.1.137"
|
||||||
|
"192.168.1.49"
|
||||||
|
];
|
||||||
|
|
||||||
|
age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||||
|
|
||||||
|
smayzy = {
|
||||||
|
server.enable = true;
|
||||||
|
containers = {
|
||||||
|
networking = {
|
||||||
|
bridge = "br0";
|
||||||
|
dns = [ "192.168.1.202" ];
|
||||||
|
gateway = "192.168.1.254";
|
||||||
|
};
|
||||||
|
nixos = {
|
||||||
|
unbound = {
|
||||||
|
enable = true;
|
||||||
|
ip = "192.168.1.202/24";
|
||||||
|
};
|
||||||
|
traefik = {
|
||||||
|
enable = true;
|
||||||
|
ip = "192.168.1.203/24";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
docker = {
|
||||||
|
cyberchef = {
|
||||||
|
enable = true;
|
||||||
|
port = 6900;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
smayzy = config.smayzy;
|
||||||
|
};
|
||||||
|
users = {
|
||||||
|
smayzy = import ./home.nix;
|
||||||
|
};
|
||||||
|
backupFileExtension = "backup";
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "24.11";
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
# 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 + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [
|
||||||
|
"uhci_hcd"
|
||||||
|
"ehci_pci"
|
||||||
|
"ahci"
|
||||||
|
"virtio_pci"
|
||||||
|
"virtio_scsi"
|
||||||
|
"sd_mod"
|
||||||
|
"sr_mod"
|
||||||
|
];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/72df93fc-6794-42d1-b611-8660b32a9cfa";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/F5B8-A39C";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [
|
||||||
|
"fmask=0077"
|
||||||
|
"dmask=0077"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
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.enp6s18.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
../common/home.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./fastfetch.nix
|
||||||
|
./mail.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{ lib, smayzy, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf smayzy.base-cli-pkgs.enable {
|
||||||
|
home.file = {
|
||||||
|
".config/fastfetch" = {
|
||||||
|
source = builtins.toPath ./fastfetch;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 1.9 MiB After Width: | Height: | Size: 1.9 MiB |
@@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
smayzy,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
mkIf = lib.mkIf;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf smayzy.mail.enable {
|
||||||
|
home.file = {
|
||||||
|
".config/neomutt" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/neomutt;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
".config/isyncrc" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/isyncrc;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
".config/msmtp" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/msmtp;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./cli
|
||||||
|
./lf
|
||||||
|
./notif
|
||||||
|
./terminal
|
||||||
|
./virt
|
||||||
|
./wm/hyprland.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./lf.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,23 +1,21 @@
|
|||||||
{ pkgs, lib, config, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
smayzy,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkOption types;
|
inherit (lib) mkIf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.smayzy.lf.enable = mkOption {
|
config = mkIf smayzy.base-cli-pkgs.enable {
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "set to true if you want to use a nvidia GC";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
config = mkIf config.smayzy.lf.enable {
|
|
||||||
xdg.configFile."lf/icons".source = ./icons;
|
xdg.configFile."lf/icons".source = ./icons;
|
||||||
|
|
||||||
programs.lf = {
|
programs.lf = {
|
||||||
enable = true;
|
enable = true;
|
||||||
commands = {
|
commands = {
|
||||||
dragon-out = ''%${pkgs.xdragon}/bin/xdragon -a -x "$fx"'';
|
dragon-out = ''%${pkgs.dragon-drop}/bin/xdragon -a -x "$fx"'';
|
||||||
editor-open = ''$$EDITOR $f'';
|
editor-open = "$$EDITOR $f";
|
||||||
mkdir = ''
|
mkdir = ''
|
||||||
''${{
|
''${{
|
||||||
printf "Directory Name: "
|
printf "Directory Name: "
|
||||||
@@ -58,8 +56,7 @@ in
|
|||||||
|
|
||||||
extraConfig =
|
extraConfig =
|
||||||
let
|
let
|
||||||
previewer =
|
previewer = pkgs.writeShellScriptBin "pv.sh" ''
|
||||||
pkgs.writeShellScriptBin "pv.sh" ''
|
|
||||||
file=$1
|
file=$1
|
||||||
w=$2
|
w=$2
|
||||||
h=$3
|
h=$3
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./mako.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{ lib, smayzy, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf smayzy.hyprland.enable {
|
||||||
|
services.mako = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
font = "JetBrainsMono 10";
|
||||||
|
background-color = "#282828";
|
||||||
|
text-color = "#ebdbb2";
|
||||||
|
border-color = "#98971a";
|
||||||
|
border-size = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
{ smayzy, lib, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.smayzy.alacritty.enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "alacritty config";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf smayzy.alacritty.enable {
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
window = {
|
||||||
|
padding = {
|
||||||
|
x = 5;
|
||||||
|
y = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
font = {
|
||||||
|
normal = {
|
||||||
|
family = "JetBrainsMono Nerd Font";
|
||||||
|
style = "Medium";
|
||||||
|
};
|
||||||
|
bold = {
|
||||||
|
family = "JetBrainsMono Nerd Font";
|
||||||
|
style = "Bold";
|
||||||
|
};
|
||||||
|
italic = {
|
||||||
|
family = "JetBrainsMono Nerd Font";
|
||||||
|
style = "MediumItalic";
|
||||||
|
};
|
||||||
|
bold_italic = {
|
||||||
|
family = "JetBrainsMono Nerd Font";
|
||||||
|
style = "BoldItalic";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
cursor = {
|
||||||
|
style = "Underline";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./alacritty.nix
|
||||||
|
./kitty.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,19 +1,14 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ smayzy, lib, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkOption types;
|
inherit (lib) mkIf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.smayzy.kitty.enable = mkOption {
|
config = mkIf smayzy.kitty.enable {
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "kitty config";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.smayzy.kitty.enable {
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
cursor = "#c7c7c7";
|
cursor = "#c7c7c7";
|
||||||
|
cursor_trail = 3;
|
||||||
cursor_text_color = "#feffff";
|
cursor_text_color = "#feffff";
|
||||||
selection_foreground = "#3e3e3e";
|
selection_foreground = "#3e3e3e";
|
||||||
selection_background = "#c1ddff";
|
selection_background = "#c1ddff";
|
||||||
@@ -21,6 +16,11 @@ in
|
|||||||
background = "#323232";
|
background = "#323232";
|
||||||
background_opacity = 0.8;
|
background_opacity = 0.8;
|
||||||
confirm_os_window_close = 0;
|
confirm_os_window_close = 0;
|
||||||
|
font_family = "JetBrainsMono Nerd Font";
|
||||||
|
bold_font = "JetBrainsMono Nerd Font Bold";
|
||||||
|
italic_font = "JetBrainsMono Nerd Font Italic";
|
||||||
|
bold_italic_font = "JetBrainsMono Nerd Font Bold Italic";
|
||||||
|
font_size = 10.0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./qemu.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ lib, smayzy, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf smayzy.virt.enable {
|
||||||
|
dconf.settings = {
|
||||||
|
"org/virt-manager/virt-manager/connections" = {
|
||||||
|
autoconnect = [ "qemu:///system" ];
|
||||||
|
uris = [ "qemu:///system" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{ lib, pkgs, config, ... }:
|
|
||||||
let
|
|
||||||
browser = lib.getExe pkgs.firefox;
|
|
||||||
inherit (lib) mkIf mkOption types;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.smayzy.webapps.enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "jellyfin webapp";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.smayzy.webapps.enable {
|
|
||||||
xdg.desktopEntries.jellyfin = {
|
|
||||||
name = "Jellyfin";
|
|
||||||
exec = "${browser} --no-remote -P jellyfin --new-window --kiosk https://jellyfin.smayzy.ovh";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hyprland.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
smayzy,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
mkIf = lib.mkIf;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
config = mkIf smayzy.hyprland.enable {
|
||||||
|
|
||||||
|
home.file = lib.mkMerge [
|
||||||
|
{
|
||||||
|
".config/wofi" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/wofi;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
"wallpaper" = {
|
||||||
|
source = builtins.toPath ../../../wallpapers;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
(mkIf smayzy.desktop.enable {
|
||||||
|
".config/hypr" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/hypr-desk;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
".config/waybar" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/waybar-desk;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
".config/wlogout" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/wlogout-desk;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
||||||
|
(mkIf smayzy.laptop.enable {
|
||||||
|
".config/hypr" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/hypr-lap;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
".config/waybar" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/waybar-lap;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
".config/wlogout" = {
|
||||||
|
source = builtins.toPath ../../../dotfiles/wlogout-lap;
|
||||||
|
recursive = true;
|
||||||
|
force = true;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.user.services.hypr-wallpaper = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Wallpaper auto-changer";
|
||||||
|
};
|
||||||
|
|
||||||
|
Service = {
|
||||||
|
ExecStart = "${pkgs.bash}/bin/bash /home/smayzy/.config/hypr/wallpaper.sh";
|
||||||
|
Restart = "always";
|
||||||
|
RestartSec = 10;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.smayzy.ardour.enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "ardour suite";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf config.smayzy.ardour.enable {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
ardour
|
||||||
|
guitarix
|
||||||
|
tuxguitar
|
||||||
|
caps
|
||||||
|
lsp-plugins
|
||||||
|
calf
|
||||||
|
dragonfly-reverb
|
||||||
|
tap-plugins
|
||||||
|
hydrogen
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./pipewire.nix
|
./pipewire.nix
|
||||||
|
./ardour.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,16 @@ in
|
|||||||
alsa.enable = true;
|
alsa.enable = true;
|
||||||
alsa.support32Bit = true;
|
alsa.support32Bit = true;
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
extraConfig.pipewire."92-low-latency" = {
|
||||||
|
"context.properties" = {
|
||||||
|
"default.clock.rate" = 48000;
|
||||||
|
"default.clock.quantum" = 128;
|
||||||
|
"default.clock.min-quantum" = 128;
|
||||||
|
"default.clock.max-quantum" = 128;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
environment.systemPackages = with pkgs; [ pulseaudioFull ];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
{ ... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./fzf.nix
|
||||||
./nh.nix
|
./nh.nix
|
||||||
./nvf.nix
|
./nvf.nix
|
||||||
./fzf.nix
|
./pkgs.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{ config, lib, pkgs, ...}:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkOption types;
|
inherit (lib) mkIf mkOption types;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, lib, pkgs, ...}:
|
{ config, lib, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkOption types;
|
inherit (lib) mkIf mkOption types;
|
||||||
in
|
in
|
||||||
@@ -12,8 +12,11 @@ in
|
|||||||
config = mkIf config.smayzy.nh.enable {
|
config = mkIf config.smayzy.nh.enable {
|
||||||
programs.nh = {
|
programs.nh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
clean.enable = true;
|
clean = {
|
||||||
clean.extraArgs = "--keep 10";
|
enable = true;
|
||||||
|
extraArgs = "--keep 10";
|
||||||
|
dates = "hourly";
|
||||||
|
};
|
||||||
flake = "/home/smayzy/nix-config";
|
flake = "/home/smayzy/nix-config";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkOption types;
|
inherit (lib) mkIf mkOption types;
|
||||||
in
|
in
|
||||||
@@ -18,16 +23,22 @@ in
|
|||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
lsp = {
|
lsp = {
|
||||||
enable = true;
|
enable = true;
|
||||||
servers.nil.enable = true;
|
servers.nil = {
|
||||||
|
enable = true;
|
||||||
|
settings.nil.nix.autoArchive = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
languages = {
|
languages = {
|
||||||
nix.enable = true;
|
nix.enable = true;
|
||||||
clang.enable = true;
|
clang.enable = true;
|
||||||
rust.enable = true;
|
rust.enable = true;
|
||||||
|
arduino.enable = true;
|
||||||
|
bash.enable = true;
|
||||||
|
lua.enable = true;
|
||||||
};
|
};
|
||||||
theme = {
|
theme = {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = lib.mkDefault "dracula";
|
name = lib.mkForce "dracula";
|
||||||
};
|
};
|
||||||
treesitter.enable = true;
|
treesitter.enable = true;
|
||||||
statusline.lualine.enable = true;
|
statusline.lualine.enable = true;
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
agenix,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.smayzy.base-cli-pkgs.enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "install base cli pkgs that doesn't need extra config";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf config.smayzy.base-cli-pkgs.enable {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
wget
|
||||||
|
tldr
|
||||||
|
tree
|
||||||
|
dig
|
||||||
|
btop
|
||||||
|
file
|
||||||
|
vim
|
||||||
|
man-pages
|
||||||
|
man-pages-posix
|
||||||
|
fastfetch
|
||||||
|
lf
|
||||||
|
tshark
|
||||||
|
nixfmt
|
||||||
|
usbutils
|
||||||
|
git
|
||||||
|
unzip
|
||||||
|
nixfmt-tree
|
||||||
|
efibootmgr
|
||||||
|
nfs-utils
|
||||||
|
nmap
|
||||||
|
agenix.packages.${stdenv.hostPlatform.system}.default
|
||||||
|
nixpkgs-review
|
||||||
|
];
|
||||||
|
programs.nix-index-database.comma.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkOption types;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.smayzy.base = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.smayzy.base {
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./base.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./firefox.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
{ lib, config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
inherit (lib) mkIf mkOption types;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.smayzy.firefox.enable = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
description = "firefox";
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf config.smayzy.firefox.enable {
|
|
||||||
programs.firefox.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./nixos
|
||||||
|
./nixos.nix
|
||||||
|
./docker
|
||||||
|
./docker.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.smayzy.docker.enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "enable docker";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf config.smayzy.docker.enable {
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
users.extraGroups.docker.members = [ "smayzy" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
cfg = config.smayzy.containers.docker.cyberchef;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.smayzy.containers.docker.cyberchef = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "cyberchef docker ct";
|
||||||
|
};
|
||||||
|
port = mkOption {
|
||||||
|
type = types.int;
|
||||||
|
default = 80;
|
||||||
|
description = "cyberchef's port";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
virtualisation.oci-containers.containers = {
|
||||||
|
cyberchef = {
|
||||||
|
image = "ghcr.io/gchq/cyberchef";
|
||||||
|
ports = [ "${toString cfg.port}:80" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./cyberchef.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib) mkOption types;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.smayzy.containers.networking = {
|
||||||
|
bridge = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "the bridge to use e.g. (br0)";
|
||||||
|
};
|
||||||
|
dns = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
description = "the dns servers to use e.g. [ 1.1.1.1 8.8.8.8 ]";
|
||||||
|
};
|
||||||
|
gateway = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "the gateway to use e.g. (10.10.10.255)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./httpd.nix
|
||||||
|
./traefik.nix
|
||||||
|
./unbound.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
cfg = config.smayzy.containers.nixos.httpd;
|
||||||
|
net = config.smayzy.containers.networking;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.smayzy.containers.nixos.httpd = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "httpd nixos ct";
|
||||||
|
};
|
||||||
|
ip = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "ip addr e.g. (192.168.1.20)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
containers.httpd = {
|
||||||
|
autoStart = true;
|
||||||
|
privateNetwork = true;
|
||||||
|
hostBridge = net.bridge;
|
||||||
|
localAddress = cfg.ip;
|
||||||
|
config =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
|
||||||
|
services.httpd = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
networking.defaultGateway = net.gateway;
|
||||||
|
networking.nameservers = net.dns;
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,441 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
cfg = config.smayzy.containers.nixos.traefik;
|
||||||
|
net = config.smayzy.containers.networking;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.smayzy.containers.nixos.traefik = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "traefik nixos ct";
|
||||||
|
};
|
||||||
|
ip = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "ip addr e.g. (192.168.1.20)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
age.secrets = {
|
||||||
|
traefik-cf-tk = {
|
||||||
|
file = ../../../../secrets/traefik-cf-tk.age;
|
||||||
|
owner = "root";
|
||||||
|
group = "root";
|
||||||
|
mode = "0400";
|
||||||
|
};
|
||||||
|
traefik-dashboard-auth = {
|
||||||
|
file = ../../../../secrets/traefik-dashboard-auth.age;
|
||||||
|
mode = "0444";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
containers.traefik = {
|
||||||
|
bindMounts = {
|
||||||
|
"/run/secrets/traefik-cf-tk" = {
|
||||||
|
hostPath = config.age.secrets.traefik-cf-tk.path;
|
||||||
|
isReadOnly = true;
|
||||||
|
};
|
||||||
|
"/run/secrets/traefik-dashboard-auth" = {
|
||||||
|
hostPath = config.age.secrets.traefik-dashboard-auth.path;
|
||||||
|
isReadOnly = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
autoStart = true;
|
||||||
|
privateNetwork = true;
|
||||||
|
hostBridge = net.bridge;
|
||||||
|
localAddress = cfg.ip;
|
||||||
|
config =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
|
||||||
|
networking.defaultGateway = net.gateway;
|
||||||
|
networking.nameservers = net.dns;
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
80
|
||||||
|
443
|
||||||
|
880
|
||||||
|
4443
|
||||||
|
];
|
||||||
|
|
||||||
|
systemd.services.traefik.serviceConfig.EnvironmentFile = [
|
||||||
|
"/run/secrets/traefik-cf-tk"
|
||||||
|
];
|
||||||
|
|
||||||
|
services.traefik = {
|
||||||
|
enable = true;
|
||||||
|
staticConfigOptions = {
|
||||||
|
global = {
|
||||||
|
checkNewVersion = false;
|
||||||
|
sendAnonymousUsage = false;
|
||||||
|
};
|
||||||
|
log = {
|
||||||
|
level = "WARN";
|
||||||
|
};
|
||||||
|
api = {
|
||||||
|
dashboard = true;
|
||||||
|
disabledashboardad = true;
|
||||||
|
};
|
||||||
|
entryPoints = {
|
||||||
|
local = {
|
||||||
|
address = ":80";
|
||||||
|
};
|
||||||
|
localSec = {
|
||||||
|
address = ":443";
|
||||||
|
};
|
||||||
|
ext = {
|
||||||
|
address = ":880";
|
||||||
|
};
|
||||||
|
extSec = {
|
||||||
|
address = ":4443";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
certificatesResolvers = {
|
||||||
|
cloudflare = {
|
||||||
|
acme = {
|
||||||
|
email = "smayzy@smayzy.ovh";
|
||||||
|
storage = "/var/lib/traefik/acme.json";
|
||||||
|
dnsChallenge = {
|
||||||
|
provider = "cloudflare";
|
||||||
|
resolvers = [ "192.168.1.202" ];
|
||||||
|
propagation.delayBeforeChecks = 15;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
dynamicConfigOptions = {
|
||||||
|
http = {
|
||||||
|
routers = {
|
||||||
|
traefik = {
|
||||||
|
rule = "Host(`traefik.internal.smayzy.ovh`) && (PathPrefix(`/api`) || PathPrefix(`/dashboard`))";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "api@internal";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
middlewares = [ "dashboard-auth" ];
|
||||||
|
};
|
||||||
|
bazarr-anime = {
|
||||||
|
rule = "Host(`bazarr-anime.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "bazarr-anime";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
bazarr = {
|
||||||
|
rule = "Host(`bazarr.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "bazarr";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
lidarr = {
|
||||||
|
rule = "Host(`lidarr.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "lidarr";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
nzbget = {
|
||||||
|
rule = "Host(`nzbget.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "nzbget";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
prowlarr = {
|
||||||
|
rule = "Host(`prowlarr.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "prowlarr";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
qbittorrent = {
|
||||||
|
rule = "Host(`qbittorrent.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "qbittorrent";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
radarr = {
|
||||||
|
rule = "Host(`radarr.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "radarr";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
sonarr-anime = {
|
||||||
|
rule = "Host(`sonarr-anime.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "sonarr-anime";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
sonarr = {
|
||||||
|
rule = "Host(`sonarr.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "sonarr";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
srv1-proxmox = {
|
||||||
|
rule = "Host(`srv1-proxmox.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "srv1-proxmox";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
srv2-proxmox = {
|
||||||
|
rule = "Host(`srv2-proxmox.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "srv2-proxmox";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
srv1-pbs = {
|
||||||
|
rule = "Host(`srv1-pbs.internal.smayzy.ovh`)";
|
||||||
|
entryPoints = [ "localSec" ];
|
||||||
|
service = "srv1-pbs";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
|
||||||
|
chat = {
|
||||||
|
rule = "Host(`chat.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "chat";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
crafty = {
|
||||||
|
rule = "Host(`crafty.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "crafty";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
cyberchef = {
|
||||||
|
rule = "Host(`cyberchef.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "cyberchef";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
gitea = {
|
||||||
|
rule = "Host(`gitea.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "gitea";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
jellyfin = {
|
||||||
|
rule = "Host(`jellyfin.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "jellyfin";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
kuma = {
|
||||||
|
rule = "Host(`kuma.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "kuma";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
kutt = {
|
||||||
|
rule = "Host(`kutt.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "kutt";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
matrix = {
|
||||||
|
rule = "Host(`matrix.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "matrix";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
mirror = {
|
||||||
|
rule = "Host(`mirror.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "mirror";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
ombi-anime = {
|
||||||
|
rule = "Host(`ombi-anime.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "ombi-anime";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
ombi = {
|
||||||
|
rule = "Host(`ombi.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "ombi";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
share = {
|
||||||
|
rule = "Host(`share.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "share";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
vault = {
|
||||||
|
rule = "Host(`vault.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "vault";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
wordpress = {
|
||||||
|
rule = "Host(`wordpress.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "wordpress";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
mail = {
|
||||||
|
rule = "Host(`autoconfig.smayzy.ovh`) || Host(`autodiscover.smayzy.ovh`) || Host(`mail.smayzy.ovh`) || Host(`mta-sts.mail.smayzy.ovh`) || Host(`mta-sts.smayzy.ovh`) || Host(`smayzy.ovh`) || Host(`www.smayzy.ovh`)";
|
||||||
|
entryPoints = [
|
||||||
|
"ext"
|
||||||
|
"extSec"
|
||||||
|
];
|
||||||
|
service = "mail";
|
||||||
|
tls.certResolver = "cloudflare";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services = {
|
||||||
|
"bazarr-anime".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:6768"; } ];
|
||||||
|
};
|
||||||
|
"bazarr".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:6767"; } ];
|
||||||
|
};
|
||||||
|
"lidarr".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:8686"; } ];
|
||||||
|
};
|
||||||
|
"nzbget".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:6789"; } ];
|
||||||
|
};
|
||||||
|
"prowlarr".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:9696"; } ];
|
||||||
|
};
|
||||||
|
"qbittorrent".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:8080"; } ];
|
||||||
|
};
|
||||||
|
"radarr".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:7878"; } ];
|
||||||
|
};
|
||||||
|
"sonarr-anime".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:8988"; } ];
|
||||||
|
};
|
||||||
|
"sonarr".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:8989"; } ];
|
||||||
|
};
|
||||||
|
"srv1-proxmox".loadBalancer = {
|
||||||
|
servers = [ { url = "https://192.168.1.193:8006"; } ];
|
||||||
|
serversTransport = "srv1-proxmox";
|
||||||
|
};
|
||||||
|
"srv2-proxmox".loadBalancer = {
|
||||||
|
servers = [ { url = "https://192.168.1.113:8006"; } ];
|
||||||
|
serversTransport = "srv2-proxmox";
|
||||||
|
};
|
||||||
|
"srv1-pbs".loadBalancer = {
|
||||||
|
servers = [ { url = "https://192.168.1.79:8007"; } ];
|
||||||
|
serversTransport = "srv1-pbs";
|
||||||
|
};
|
||||||
|
|
||||||
|
"chat".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.114:80"; } ];
|
||||||
|
};
|
||||||
|
"crafty".loadBalancer = {
|
||||||
|
servers = [ { url = "https://192.168.1.34:8443"; } ];
|
||||||
|
};
|
||||||
|
"cyberchef".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.197:6900"; } ];
|
||||||
|
};
|
||||||
|
"gitea".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.28:3000"; } ];
|
||||||
|
};
|
||||||
|
"jellyfin".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:8096"; } ];
|
||||||
|
};
|
||||||
|
"kuma".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.176:80"; } ];
|
||||||
|
};
|
||||||
|
"kutt".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.132:80"; } ];
|
||||||
|
};
|
||||||
|
"matrix".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.114:80"; } ];
|
||||||
|
};
|
||||||
|
"mirror".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.185:80"; } ];
|
||||||
|
};
|
||||||
|
"ombi-anime".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:3580"; } ];
|
||||||
|
};
|
||||||
|
"ombi".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.147:3579"; } ];
|
||||||
|
};
|
||||||
|
"share".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.98:80"; } ];
|
||||||
|
};
|
||||||
|
"vault".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.160:80"; } ];
|
||||||
|
};
|
||||||
|
"wordpress".loadBalancer = {
|
||||||
|
servers = [ { url = "http://192.168.1.16:80"; } ];
|
||||||
|
};
|
||||||
|
"mail".loadBalancer = {
|
||||||
|
servers = [ { url = "https://192.168.1.128:443"; } ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
serversTransports = {
|
||||||
|
srv1-proxmox = {
|
||||||
|
serverName = "srv1-proxmox.internal.smayzy.ovh";
|
||||||
|
};
|
||||||
|
srv2-proxmox = {
|
||||||
|
serverName = "srv2-proxmox.internal.smayzy.ovh";
|
||||||
|
};
|
||||||
|
srv1-pbs = {
|
||||||
|
serverName = "srv1-pbs.internal.smayzy.ovh";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
middlewares = {
|
||||||
|
dashboard-auth = {
|
||||||
|
basicAuth = {
|
||||||
|
usersFile = "/run/secrets/traefik-dashboard-auth";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}; # http
|
||||||
|
}; # dyna config
|
||||||
|
}; # services.traefik
|
||||||
|
}; # config
|
||||||
|
}; # ct traefik
|
||||||
|
}; # config
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
{ lib, config, ... }:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
cfg = config.smayzy.containers.nixos.unbound;
|
||||||
|
net = config.smayzy.containers.networking;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.smayzy.containers.nixos.unbound = {
|
||||||
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "unbound nixos ct";
|
||||||
|
};
|
||||||
|
ip = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "ip addr e.g. (192.168.1.20)";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
containers.unbound = {
|
||||||
|
autoStart = true;
|
||||||
|
privateNetwork = true;
|
||||||
|
hostBridge = net.bridge;
|
||||||
|
localAddress = cfg.ip;
|
||||||
|
config =
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
|
||||||
|
services.unbound = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
server = {
|
||||||
|
interface = [ "0.0.0.0" ];
|
||||||
|
qname-minimisation = "yes";
|
||||||
|
minimal-responses = "no";
|
||||||
|
access-control = [
|
||||||
|
"127.0.0.0/8 allow"
|
||||||
|
"192.168.0.0/16 allow"
|
||||||
|
];
|
||||||
|
private-domain = [ "internal.smayzy.ovh" ];
|
||||||
|
local-zone = [ "internal.smayzy.ovh. static" ];
|
||||||
|
local-data = [
|
||||||
|
''"npm-local.internal.smayzy.ovh. A 192.168.1.181"''
|
||||||
|
''"npm.internal.smayzy.ovh. A 192.168.1.181"''
|
||||||
|
''"nfs-srv1.internal.smayzy.ovh. A 192.168.1.48"''
|
||||||
|
''"traefik.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
|
||||||
|
''"bazarr-anime.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"bazarr.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"lidarr.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"nzbget.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"prowlarr.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"qbittorrent.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"radarr.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"sonarr-anime.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"sonarr.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"srv1-proxmox.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"srv2-proxmox.internal.smayzy.ovh. A 192.168.1.203"''
|
||||||
|
''"srv1-pbs.internal.smayzy.ovh. A 192.168.1.79"''
|
||||||
|
''"srv2-pbs.internal.smayzy.ovh. A 192.168.1.80"''
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
networking.defaultGateway = net.gateway;
|
||||||
|
networking.nameservers = net.dns;
|
||||||
|
networking.firewall.allowedTCPPorts = [ 53 ];
|
||||||
|
networking.firewall.allowedUDPPorts = [ 53 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||