Compare commits
240
Commits
85f0b82334
...
main
| 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 |
@@ -1,19 +0,0 @@
|
||||
name: nix flake show
|
||||
run-name: ${{ gitea.actor }} pushed to repo. Checking config syntax.
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
show-flake:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Nix
|
||||
uses: cachix/install-nix-action@v31
|
||||
|
||||
- name: Run nix flake show
|
||||
run: |
|
||||
echo "Running nix flake show..."
|
||||
nix flake show --show-trace
|
||||
@@ -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
|
||||
|
||||
@@ -2,13 +2,12 @@
|
||||
# Smayzy's nixos config
|
||||
|
||||
This repo is Smayzy's nixos config repo you are free to use anything you need.
|
||||
I should still mention that this is nowhere near production ready use it at your own risk. I'm just making my config public for my friends. I'm no expert on nixos. The layout is pretty straight forward. 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.
|
||||
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
|
||||
@@ -23,12 +22,8 @@ I should still mention that this is nowhere near production ready use it at your
|
||||
## Deployment
|
||||
|
||||
To deploy the config run
|
||||
|
||||
```bash
|
||||
git clone https://gitea.smayzy.ovh/Smayzy/nix-config.git
|
||||
```
|
||||
```bash
|
||||
nixos-rebuild switch --flake ./nix-config/#hostname
|
||||
nixos-rebuild switch --flake git+https://gitea.smayzy.ovh/Smayzy/nix-config#hostname
|
||||
```
|
||||
To update changes run
|
||||
```bash
|
||||
@@ -38,9 +33,6 @@ To upgrade run
|
||||
```bash
|
||||
nh os switch -u --ask
|
||||
```
|
||||
## Demo
|
||||
|
||||
TODO
|
||||
|
||||
## Documentation
|
||||
|
||||
@@ -53,11 +45,6 @@ TODO
|
||||
|
||||
Absolutly NOT it's just my config
|
||||
|
||||
#### Why is the repo not active rn ?
|
||||
|
||||
I'm a student so I can only work on the config when I have free time
|
||||
and I only work on it if I need something I don't already have or I have time to clean. It's only the reflection of my needs
|
||||
|
||||
## Feedback
|
||||
|
||||
If you have any feedback, please reach out to us at smayzy@smayzy.ovh
|
||||
@@ -65,4 +52,3 @@ 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
|
||||
preload = ~/wallpaper/itachi-uchiha-sharingan-crow-akatsuki-4k-wallpaper-uhdpaper.com-294@2@a.jpg
|
||||
preload = ~/wallpaper/eren-attack-on-titan-final-season-part-3-4k-wallpaper-uhdpaper.com-917@1@j.jpg
|
||||
|
||||
#set the wallpaper
|
||||
wallpaper = DP-1,~/wallpaper/itachi-uchiha-sharingan-crow-akatsuki-4k-wallpaper-uhdpaper.com-294@2@a.jpg
|
||||
wallpaper = DP-2,~/wallpaper/eren-attack-on-titan-final-season-part-3-4k-wallpaper-uhdpaper.com-917@1@j.jpg
|
||||
wallpaper {
|
||||
monitor = DP-1
|
||||
path = ~/wallpaper/itachi-uchiha-sharingan-crow-akatsuki-4k-wallpaper-uhdpaper.com-294@2@a.jpg
|
||||
fit_mode = cover
|
||||
}
|
||||
wallpaper {
|
||||
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 = mako
|
||||
# APPs
|
||||
exec-once = [workspace 11 silent] webcord
|
||||
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, R, exec, $menu
|
||||
bind = $mainMod, W, exec, wlogout
|
||||
bind = $mainMod, A, exec, qutebrowser
|
||||
bind = $mainMod, A, exec, alacritty
|
||||
bind = $mainMod, F, fullscreen
|
||||
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 = GBM_BACKEND,nvidia-drm
|
||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||
env = GTK_THEME, Adwaita-dark
|
||||
|
||||
|
||||
cursor {
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
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
|
||||
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
|
||||
}
|
||||
|
||||
@@ -71,3 +70,8 @@ misc {
|
||||
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. :(
|
||||
}
|
||||
|
||||
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
|
||||
# Ignore maximize requests from apps. You'll probably like this.
|
||||
windowrulev2 = suppressevent maximize, class:.*
|
||||
windowrule {
|
||||
name = windowrule-1
|
||||
suppress_event = maximize
|
||||
match:class = .*
|
||||
}
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
|
||||
# Set default fullscreen for webcord
|
||||
windowrulev2 = fullscreen, class:^(WebCord)$
|
||||
windowrule {
|
||||
name = windowrule-2
|
||||
no_focus = on
|
||||
match:class = ^$
|
||||
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,11 +21,14 @@ bind = $mainMod, comma, exit,
|
||||
bind = $mainMod, E, exec, $fileManager
|
||||
bind = $mainMod, R, exec, $menu
|
||||
bind = $mainMod, W, exec, wlogout
|
||||
bind = $mainMod, A, exec, qutebrowser
|
||||
bind = $mainMod, A, exec, alacritty
|
||||
bind = $mainMod, F, fullscreen
|
||||
bind = $mainMod, T, togglefloating
|
||||
bind = , XF86Calculator, exec, $calc
|
||||
|
||||
# Clipboard history
|
||||
bind = $mainMod, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy
|
||||
|
||||
# Change Wallpaper
|
||||
bind = $mainMod SHIFT, W, exec, echo trigger > /tmp/wallpaper-trigger
|
||||
|
||||
|
||||
@@ -18,11 +18,6 @@ monitor=,preferred,auto,1
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/
|
||||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$fileManager = dolphin
|
||||
$menu = wofi --show drun
|
||||
|
||||
|
||||
#################
|
||||
### AUTOSTART ###
|
||||
@@ -38,6 +33,8 @@ exec = killall waybar && waybar
|
||||
exec-once = mako
|
||||
exec-once = systemctl --user start hyprpolkitagent
|
||||
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
|
||||
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
|
||||
}
|
||||
|
||||
@@ -149,11 +145,6 @@ input {
|
||||
}
|
||||
}
|
||||
|
||||
# https://wiki.hyprland.org/Configuring/Variables/#gestures
|
||||
gestures {
|
||||
workspace_swipe = false
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||
device {
|
||||
@@ -175,4 +166,19 @@ device {
|
||||
# Example windowrule v2
|
||||
# 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")
|
||||
@@ -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,
|
||||
})
|
||||
@@ -9,9 +9,14 @@ TRIGGER_PIPE="/tmp/wallpaper-trigger"
|
||||
set_wallpaper() {
|
||||
local Wallpaper=$(find -L "$Wallpaper_DIR" -type f| shuf -n 1)
|
||||
|
||||
> /home/smayzy/.config/hypr/hyprpaper.conf
|
||||
echo "preload = $Wallpaper" >> /home/smayzy/.config/hypr/hyprpaper.conf
|
||||
echo "wallpaper = $MONITOR,$Wallpaper" >> /home/smayzy/.config/hypr/hyprpaper.conf
|
||||
cat > "/home/smayzy/.config/hypr/hyprpaper.conf" <<EOF
|
||||
wallpaper {
|
||||
monitor = $MONITOR
|
||||
path = $Wallpaper
|
||||
fit_mode = cover
|
||||
}
|
||||
splash = false
|
||||
EOF
|
||||
|
||||
pkill hyprpaper 2>/dev/null
|
||||
hyprpaper &
|
||||
|
||||
@@ -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": {
|
||||
"interval": 5,
|
||||
"format": "{usage:2}%"
|
||||
"format": " {usage:2}%"
|
||||
},
|
||||
"disk": {
|
||||
"interval": 5,
|
||||
|
||||
Generated
+120
-342
@@ -1,196 +1,97 @@
|
||||
{
|
||||
"nodes": {
|
||||
"base16": {
|
||||
"agenix": {
|
||||
"inputs": {
|
||||
"fromYaml": "fromYaml"
|
||||
"darwin": "darwin",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746562888,
|
||||
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
|
||||
"lastModified": 1770165109,
|
||||
"narHash": "sha256-9VnK6Oqai65puVJ4WYtCTvlJeXxMzAp/69HhQuTdl/I=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "b027ee29d959fda4b60b57566d64c98a202e0feb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"base16-fish": {
|
||||
"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": {
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nvf",
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"lastModified": 1744478979,
|
||||
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"owner": "lnl7",
|
||||
"ref": "master",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751413152,
|
||||
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": [
|
||||
"nvf",
|
||||
"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-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1731966426,
|
||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
||||
"type": "github"
|
||||
"lastModified": 1777699697,
|
||||
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "382052b74656a369c5408822af3f2501e9b1af81",
|
||||
"revCount": 94,
|
||||
"type": "git",
|
||||
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
||||
},
|
||||
"original": {
|
||||
"owner": "SenchoPens",
|
||||
"repo": "fromYaml",
|
||||
"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"
|
||||
"type": "git",
|
||||
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752603129,
|
||||
"narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
|
||||
"lastModified": 1785531816,
|
||||
"narHash": "sha256-vkMnV0JIyw+g/NmcfoajlGaAO+9a0ezia+FZohQJrik=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
|
||||
"rev": "bf9ce9fec78f95f374e8dd3b503863a3ec128ebe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -201,11 +102,11 @@
|
||||
},
|
||||
"mnw": {
|
||||
"locked": {
|
||||
"lastModified": 1748710831,
|
||||
"narHash": "sha256-eZu2yH3Y2eA9DD3naKWy/sTxYS5rPK2hO7vj8tvUCSU=",
|
||||
"lastModified": 1780772958,
|
||||
"narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=",
|
||||
"owner": "Gerg-L",
|
||||
"repo": "mnw",
|
||||
"rev": "cff958a4e050f8d917a6ff3a5624bc4681c6187d",
|
||||
"rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -216,11 +117,11 @@
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1739444422,
|
||||
"narHash": "sha256-iAVVHi7X3kWORftY+LVbRiStRnQEob2TULWyjMS6dWg=",
|
||||
"lastModified": 1767983141,
|
||||
"narHash": "sha256-7ZCulYUD9RmJIDULTRkGLSW1faMpDlPKcbWJLYHoXcs=",
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"rev": "5e54c3ca05a7c7d968ae1ddeabe01d2a9bc1e177",
|
||||
"rev": "440818969ac2cbd77bfe025e884d0aa528991374",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -230,13 +131,49 @@
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1752480373,
|
||||
"narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=",
|
||||
"lastModified": 1754028485,
|
||||
"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",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08",
|
||||
"rev": "148bab9c1c3c53136ecb44a6ea356a0ed5b39b06",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -246,61 +183,31 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1750215678,
|
||||
"narHash": "sha256-Rc/ytpamXRf6z8UA2SGa4aaWxUXRbX2MAWIu2C8M+ok=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5395fb3ab3f97b9b7abca147249fa2e8ed27b192",
|
||||
"type": "github"
|
||||
"lastModified": 1784796856,
|
||||
"narHash": "sha256-vwxWgF+Gj276WznzGb1LxGsK/39HaQwgQXiU3EkC844=",
|
||||
"rev": "e2587caef70cea85dd97d7daab492899902dbf5d",
|
||||
"type": "tarball",
|
||||
"url": "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1040357.e2587caef70c/nixexprs.tar.xz"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
"stylix",
|
||||
"flake-parts"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751906969,
|
||||
"narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nvf": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-utils": "flake-utils",
|
||||
"flake-compat": "flake-compat",
|
||||
"mnw": "mnw",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"systems": "systems"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752417534,
|
||||
"narHash": "sha256-06CASFKAxc81QycTSsTw26EJOKi6VgMie6wp0ZUnvqE=",
|
||||
"lastModified": 1785632973,
|
||||
"narHash": "sha256-j4NzdhN4dgpvORbKdteIcw8M2WJyKrIgalBxT/CNk+c=",
|
||||
"owner": "notashelf",
|
||||
"repo": "nvf",
|
||||
"rev": "5e2df2dd5b83c07bad3d5e17dc056b52541ecb9c",
|
||||
"rev": "c82d4e47cc1baab21d4954760db49941aaa39b49",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -311,45 +218,12 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"agenix": "agenix",
|
||||
"home-manager": "home-manager_2",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nvf": "nvf",
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
"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_2",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
"tinted-tmux": "tinted-tmux",
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752598315,
|
||||
"narHash": "sha256-pSm1BqcA6wido27VeNAi86SjpurpL84+ciAXQmrtSzk=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "45749a791efd692c04dee4702b86a31535ed30d2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"type": "github"
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nvf": "nvf"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
@@ -366,102 +240,6 @@
|
||||
"repo": "default",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"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": 1750770351,
|
||||
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751159871,
|
||||
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751158968,
|
||||
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
@@ -8,44 +8,58 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
|
||||
stylix = {
|
||||
url = "github:danth/stylix";
|
||||
nix-index-database = {
|
||||
url = "github:nix-community/nix-index-database";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
|
||||
nvf.url = "github:notashelf/nvf";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nix-flatpak, nvf, ... } @ inputs:
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
agenix,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
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
|
||||
|
||||
{
|
||||
nixosConfigurations = {
|
||||
desktop1 = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs system overlays; };
|
||||
modules = [
|
||||
./hosts/desktop1/configuration.nix
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
inputs.stylix.nixosModules.stylix
|
||||
nvf.nixosModules.default
|
||||
];
|
||||
{
|
||||
nixosConfigurations = {
|
||||
desktop1 = mkHost ./hosts/desktop1/configuration.nix;
|
||||
server1 = mkHost ./hosts/server1/configuration.nix;
|
||||
laptop1 = mkHost ./hosts/laptop1/configuration.nix;
|
||||
laptop2 = mkHost ./hosts/laptop2/configuration.nix;
|
||||
};
|
||||
laptop1 = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs system overlays; };
|
||||
modules = [
|
||||
./hosts/laptop1/configuration.nix
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
inputs.stylix.nixosModules.stylix
|
||||
nvf.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
+20
-15
@@ -1,30 +1,35 @@
|
||||
{ inputs, config, pkgs, lib, overlays, ... }:
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
overlays,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
imports =
|
||||
[
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
../../modules/nix/default.nix
|
||||
];
|
||||
imports = [
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
../../modules/nix/default.nix
|
||||
];
|
||||
|
||||
nixpkgs.overlays = overlays;
|
||||
|
||||
boot.supportedFilesystems = [ "nfs" ];
|
||||
|
||||
users.users.smayzy = {
|
||||
homeMode = "710";
|
||||
isNormalUser = true;
|
||||
description = "smayzy";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
packages = with pkgs; [];
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"wireshark"
|
||||
"dialout"
|
||||
"audio"
|
||||
];
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
home-manager
|
||||
tor
|
||||
tshark
|
||||
freecad-wayland
|
||||
aegisub
|
||||
mpv
|
||||
fritzing
|
||||
sl
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
+26
-51
@@ -1,50 +1,23 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../../modules/home-manager/default.nix
|
||||
imports = [
|
||||
../../modules/home-manager/default.nix
|
||||
];
|
||||
|
||||
smayzy.webapps.enable = true;
|
||||
|
||||
smayzy.lf.enable = true;
|
||||
|
||||
smayzy.kitty.enable = true;
|
||||
|
||||
home.username = "smayzy";
|
||||
home.homeDirectory = "/home/smayzy";
|
||||
home.stateVersion = "25.05";
|
||||
|
||||
home.packages = [
|
||||
home.packages = with pkgs; [
|
||||
sl
|
||||
];
|
||||
|
||||
home.file = {
|
||||
".config/fastfetch" = {
|
||||
source = builtins.toPath ../../dotfiles/fastfetch;
|
||||
recursive = true;
|
||||
force = true;
|
||||
};
|
||||
"wallpaper" = {
|
||||
source = builtins.toPath ../../wallpapers;
|
||||
recursive = true;
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "vim";
|
||||
GTK_THEME = "Adwaita:dark";
|
||||
MANPAGER = "nvim +Man!";
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
@@ -52,33 +25,35 @@
|
||||
syntaxHighlighting.enable = true;
|
||||
history.size = 100000;
|
||||
shellAliases = {
|
||||
grep = "grep --color=auto";
|
||||
cp = "cp -r";
|
||||
cd = "sl";
|
||||
grep = "grep --color=auto";
|
||||
cp = "cp -r";
|
||||
cd = "sl";
|
||||
};
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "smayzy";
|
||||
userEmail = "smayzy@smayzy.ovh";
|
||||
extraConfig = {
|
||||
core.editor = "vim";
|
||||
core.autocrlf = "input";
|
||||
credential.helper = "store";
|
||||
pull.rebase = "true";
|
||||
settings = {
|
||||
core = {
|
||||
autocrlf = "input";
|
||||
editor = "vim";
|
||||
};
|
||||
credential = {
|
||||
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.home-manager.enable = true;
|
||||
|
||||
@@ -1,20 +1,111 @@
|
||||
{ inputs, config, pkgs, lib, ... }:
|
||||
{ inputs, config, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../common/common.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
imports = [
|
||||
../common/common.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
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 = {
|
||||
desktop.enable = true;
|
||||
nvidia.enable = true;
|
||||
virt.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 = {
|
||||
@@ -31,14 +122,20 @@
|
||||
system.stateVersion = "24.11";
|
||||
|
||||
boot.loader.grub.extraEntries = ''
|
||||
menuentry "Archlinux" {
|
||||
menuentry "Arch" {
|
||||
insmod part_gpt
|
||||
insmod fat
|
||||
search --no-floppy --fs-uuid --set=root 07CA-4966
|
||||
chainloader /EFI/BOOT/BOOTX64.EFI
|
||||
insmod ext2
|
||||
search --no-floppy --fs-uuid --set=root f64bf53c-c989-4e38-9a97-aaadcb36d428
|
||||
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
|
||||
}
|
||||
'';
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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 =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
imports = [
|
||||
(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.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/976bcf9c-3b56-4aa6-98f8-1c899af2b0f8";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/05e716ac-e6a2-407d-9941-5ad95db74698";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/8E7F-2417";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/A238-B4BF";
|
||||
fsType = "vfat";
|
||||
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.interfaces.enp4s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
|
||||
+3
-11
@@ -1,15 +1,7 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../common/home.nix
|
||||
imports = [
|
||||
../common/home.nix
|
||||
];
|
||||
|
||||
home.packages = [
|
||||
];
|
||||
|
||||
home.file = {
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{ inputs, config, pkgs, lib, ... }:
|
||||
{ inputs, config, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../common/common.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
imports = [
|
||||
../common/common.nix
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
smayzy = {
|
||||
laptop.enable = true;
|
||||
hyprland.enable = true;
|
||||
kde.enable = true;
|
||||
grub-on-lap.enable = true;
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
@@ -27,8 +27,4 @@
|
||||
system.stateVersion = "24.11";
|
||||
|
||||
networking.hostName = "laptop1";
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
@@ -1,32 +1,48 @@
|
||||
# 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, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
imports = [
|
||||
(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.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/fa4f1a61-338b-4f1e-9f6c-2b2f2cd12f38";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/fa4f1a61-338b-4f1e-9f6c-2b2f2cd12f38";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/8E15-A6E3";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/b451db56-e0a5-4799-88a1-34a31ffe3b08"; }
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/8E15-A6E3";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0077"
|
||||
"dmask=0077"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/b451db56-e0a5-4799-88a1-34a31ffe3b08"; }
|
||||
];
|
||||
|
||||
# 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
|
||||
|
||||
+3
-10
@@ -1,14 +1,7 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../common/home.nix
|
||||
imports = [
|
||||
../common/home.nix
|
||||
];
|
||||
|
||||
home.packages = [
|
||||
];
|
||||
|
||||
home.file = {
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,9 +1,11 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./wm/hyprland.nix
|
||||
./terminal
|
||||
./cli
|
||||
./lf
|
||||
./webapps.nix
|
||||
./notif
|
||||
./terminal
|
||||
./virt
|
||||
./wm/hyprland.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./lf.nix
|
||||
|
||||
@@ -1,34 +1,32 @@
|
||||
{ pkgs, lib, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
smayzy,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
inherit (lib) mkIf;
|
||||
in
|
||||
{
|
||||
options.smayzy.lf.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "set to true if you want to use a nvidia GC";
|
||||
};
|
||||
|
||||
|
||||
config = mkIf config.smayzy.lf.enable {
|
||||
config = mkIf smayzy.base-cli-pkgs.enable {
|
||||
xdg.configFile."lf/icons".source = ./icons;
|
||||
|
||||
|
||||
programs.lf = {
|
||||
enable = true;
|
||||
commands = {
|
||||
dragon-out = ''%${pkgs.xdragon}/bin/xdragon -a -x "$fx"'';
|
||||
editor-open = ''$$EDITOR $f'';
|
||||
dragon-out = ''%${pkgs.dragon-drop}/bin/xdragon -a -x "$fx"'';
|
||||
editor-open = "$$EDITOR $f";
|
||||
mkdir = ''
|
||||
''${{
|
||||
printf "Directory Name: "
|
||||
read DIR
|
||||
mkdir $DIR
|
||||
}}
|
||||
''${{
|
||||
printf "Directory Name: "
|
||||
read DIR
|
||||
mkdir $DIR
|
||||
}}
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
keybindings = {
|
||||
|
||||
|
||||
"\\\"" = "";
|
||||
o = "";
|
||||
c = "mkdir";
|
||||
@@ -36,18 +34,18 @@ in
|
||||
"`" = "mark-load";
|
||||
"\\'" = "mark-load";
|
||||
"<enter>" = "open";
|
||||
|
||||
|
||||
do = "dragon-out";
|
||||
|
||||
|
||||
"g~" = "cd";
|
||||
gh = "cd";
|
||||
"g/" = "/";
|
||||
|
||||
|
||||
ee = "editor-open";
|
||||
V = ''$${pkgs.bat}/bin/bat --paging=always --theme=gruvbox "$f"'';
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
settings = {
|
||||
preview = true;
|
||||
hidden = true;
|
||||
@@ -55,32 +53,31 @@ in
|
||||
icons = true;
|
||||
ignorecase = true;
|
||||
};
|
||||
|
||||
extraConfig =
|
||||
let
|
||||
previewer =
|
||||
pkgs.writeShellScriptBin "pv.sh" ''
|
||||
file=$1
|
||||
w=$2
|
||||
h=$3
|
||||
x=$4
|
||||
y=$5
|
||||
|
||||
if [[ "$( ${pkgs.file}/bin/file -Lb --mime-type "$file")" =~ ^image ]]; then
|
||||
${pkgs.kitty}/bin/kitty +kitten icat --silent --stdin no --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" < /dev/null > /dev/tty
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${pkgs.pistol}/bin/pistol "$file"
|
||||
|
||||
extraConfig =
|
||||
let
|
||||
previewer = pkgs.writeShellScriptBin "pv.sh" ''
|
||||
file=$1
|
||||
w=$2
|
||||
h=$3
|
||||
x=$4
|
||||
y=$5
|
||||
|
||||
if [[ "$( ${pkgs.file}/bin/file -Lb --mime-type "$file")" =~ ^image ]]; then
|
||||
${pkgs.kitty}/bin/kitty +kitten icat --silent --stdin no --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" < /dev/null > /dev/tty
|
||||
exit 1
|
||||
fi
|
||||
|
||||
${pkgs.pistol}/bin/pistol "$file"
|
||||
'';
|
||||
cleaner = pkgs.writeShellScriptBin "clean.sh" ''
|
||||
${pkgs.kitty}/bin/kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty
|
||||
'';
|
||||
in
|
||||
''
|
||||
set cleaner ${cleaner}/bin/clean.sh
|
||||
set previewer ${previewer}/bin/pv.sh
|
||||
'';
|
||||
cleaner = pkgs.writeShellScriptBin "clean.sh" ''
|
||||
${pkgs.kitty}/bin/kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty
|
||||
'';
|
||||
in
|
||||
''
|
||||
set cleaner ${cleaner}/bin/clean.sh
|
||||
set previewer ${previewer}/bin/pv.sh
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./alacritty.nix
|
||||
./kitty.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{ smayzy, lib, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
inherit (lib) mkIf;
|
||||
in
|
||||
{
|
||||
options.smayzy.kitty.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "kitty config";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.kitty.enable {
|
||||
config = mkIf smayzy.kitty.enable {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
cursor = "#c7c7c7";
|
||||
cursor_trail = 3;
|
||||
cursor_text_color = "#feffff";
|
||||
selection_foreground = "#3e3e3e";
|
||||
selection_background = "#c1ddff";
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./hyprland.nix
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ lib, config, pkgs, smayzy, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
smayzy,
|
||||
...
|
||||
}:
|
||||
let
|
||||
mkIf = lib.mkIf;
|
||||
in
|
||||
@@ -7,15 +12,16 @@ in
|
||||
|
||||
home.file = lib.mkMerge [
|
||||
{
|
||||
".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;
|
||||
};
|
||||
}
|
||||
|
||||
(mkIf smayzy.desktop.enable {
|
||||
@@ -54,12 +60,12 @@ in
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
|
||||
systemd.user.services.hypr-wallpaper = {
|
||||
Unit = {
|
||||
Description = "Wallpaper auto-changer";
|
||||
};
|
||||
|
||||
|
||||
Service = {
|
||||
ExecStart = "${pkgs.bash}/bin/bash /home/smayzy/.config/hypr/wallpaper.sh";
|
||||
Restart = "always";
|
||||
@@ -69,4 +75,3 @@ in
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -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 = [
|
||||
./pipewire.nix
|
||||
./ardour.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ in
|
||||
default = false;
|
||||
description = "audio settings";
|
||||
};
|
||||
|
||||
|
||||
config = mkIf config.smayzy.audio.enable {
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
@@ -17,6 +17,16 @@ in
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = 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,9 +1,9 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./fzf.nix
|
||||
./nh.nix
|
||||
./nvf.nix
|
||||
./fzf.nix
|
||||
./pkgs.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
@@ -12,11 +12,11 @@ in
|
||||
config = mkIf config.smayzy.nh.enable {
|
||||
programs.nh = {
|
||||
enable = true;
|
||||
clean= {
|
||||
clean = {
|
||||
enable = true;
|
||||
extraArgs = "--keep 10";
|
||||
dates = "hourly";
|
||||
};
|
||||
};
|
||||
flake = "/home/smayzy/nix-config";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
@@ -8,7 +13,7 @@ in
|
||||
default = false;
|
||||
description = "nvf config";
|
||||
};
|
||||
|
||||
|
||||
config = mkIf config.smayzy.nvf.enable {
|
||||
programs.nvf = {
|
||||
enable = true;
|
||||
@@ -18,21 +23,27 @@ in
|
||||
vimAlias = true;
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers.nil.enable = true;
|
||||
servers.nil = {
|
||||
enable = true;
|
||||
settings.nil.nix.autoArchive = true;
|
||||
};
|
||||
};
|
||||
languages = {
|
||||
nix.enable = true;
|
||||
clang.enable = true;
|
||||
rust.enable = true;
|
||||
arduino.enable = true;
|
||||
bash.enable = true;
|
||||
lua.enable = true;
|
||||
};
|
||||
theme = {
|
||||
enable = true;
|
||||
name = lib.mkForce "dracula";
|
||||
};
|
||||
theme = {
|
||||
enable = true;
|
||||
name = lib.mkDefault "dracula";
|
||||
};
|
||||
treesitter.enable = true;
|
||||
statusline.lualine.enable = true;
|
||||
telescope.enable = true;
|
||||
autocomplete.nvim-cmp.enable = true;
|
||||
statusline.lualine.enable = true;
|
||||
telescope.enable = true;
|
||||
autocomplete.nvim-cmp.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
{ config, lib, pkgs, ...}:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
agenix,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
@@ -18,8 +24,22 @@ in
|
||||
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,8 +0,0 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./firefox.nix
|
||||
./floorp.nix
|
||||
./librewolf.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;
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.floorp.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "floorp";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.floorp.enable {
|
||||
environment.systemPackages = with pkgs; [ floorp ];
|
||||
};
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.librewolf.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "librewolf";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.librewolf.enable {
|
||||
environment.systemPackages = with pkgs; [ librewolf ];
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./element.nix
|
||||
./webcord.nix
|
||||
./thunderbird.nix
|
||||
];
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.element.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "element";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.element.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
element-desktop
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.thunderbird.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "thunderbird";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.thunderbird.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
thunderbird
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.webcord.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "webcord";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.webcord.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
webcord
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -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 ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./kde.nix
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ lib, config, pkgs, ... }:
|
||||
{ lib, config, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
@@ -11,5 +11,6 @@ in
|
||||
|
||||
config = mkIf config.smayzy.kde.enable {
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
services.xserver.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user