Compare commits
139
Commits
48c09ce5ae
..
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 |
@@ -33,9 +33,6 @@ To upgrade run
|
||||
```bash
|
||||
nh os switch -u --ask
|
||||
```
|
||||
## Demo
|
||||
|
||||
##TODO
|
||||
|
||||
## Documentation
|
||||
|
||||
|
||||
@@ -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/")
|
||||
@@ -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,
|
||||
})
|
||||
@@ -6,7 +6,7 @@
|
||||
### KEYBINDINGSS ###
|
||||
####################
|
||||
|
||||
$terminal = alacritty
|
||||
$terminal = kitty
|
||||
$fileManager = dolphin
|
||||
$menu = wofi --show drun
|
||||
$calc = qalculate-gtk
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -33,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
|
||||
|
||||
|
||||
#############################
|
||||
@@ -107,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
|
||||
}
|
||||
|
||||
@@ -165,5 +166,19 @@ device {
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
|
||||
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
||||
windowrulev2 = opacity 0.70 0.70,class:^(Alacritty)$
|
||||
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 *
|
||||
@@ -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'"
|
||||
Generated
+51
-71
@@ -8,11 +8,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1754433428,
|
||||
"narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=",
|
||||
"lastModified": 1770165109,
|
||||
"narHash": "sha256-9VnK6Oqai65puVJ4WYtCTvlJeXxMzAp/69HhQuTdl/I=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d",
|
||||
"rev": "b027ee29d959fda4b60b57566d64c98a202e0feb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -46,11 +46,11 @@
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1751685974,
|
||||
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
|
||||
"lastModified": 1777699697,
|
||||
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
|
||||
"revCount": 92,
|
||||
"rev": "382052b74656a369c5408822af3f2501e9b1af81",
|
||||
"revCount": 94,
|
||||
"type": "git",
|
||||
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
||||
},
|
||||
@@ -59,27 +59,6 @@
|
||||
"url": "https://git.lix.systems/lix-project/flake-compat.git"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nvf",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756770412,
|
||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -108,11 +87,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756788591,
|
||||
"narHash": "sha256-LOrOfPWpJU/ADWDyVwPv9XNuYPq5KJtmAmSzplpccmE=",
|
||||
"lastModified": 1785531816,
|
||||
"narHash": "sha256-vkMnV0JIyw+g/NmcfoajlGaAO+9a0ezia+FZohQJrik=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "f3d3b4592a73fb64b5423234c01985ea73976596",
|
||||
"rev": "bf9ce9fec78f95f374e8dd3b503863a3ec128ebe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -123,11 +102,11 @@
|
||||
},
|
||||
"mnw": {
|
||||
"locked": {
|
||||
"lastModified": 1756659871,
|
||||
"narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=",
|
||||
"lastModified": 1780772958,
|
||||
"narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=",
|
||||
"owner": "Gerg-L",
|
||||
"repo": "mnw",
|
||||
"rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16",
|
||||
"rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -138,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": {
|
||||
@@ -152,6 +131,26 @@
|
||||
"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": 1754028485,
|
||||
@@ -170,11 +169,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1758427187,
|
||||
"narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
|
||||
"lastModified": 1785571196,
|
||||
"narHash": "sha256-KoTsyMQqnXQZq8deCEnu4QkyldkwH/bpMMhUcfMdGIw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
|
||||
"rev": "148bab9c1c3c53136ecb44a6ea356a0ed5b39b06",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -186,34 +185,29 @@
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1756696532,
|
||||
"narHash": "sha256-6FWagzm0b7I/IGigOv9pr6LL7NQ86mextfE8g8Q6HBg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "58dcbf1ec551914c3756c267b8b9c8c86baa1b2f",
|
||||
"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"
|
||||
"type": "tarball",
|
||||
"url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz"
|
||||
}
|
||||
},
|
||||
"nvf": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"mnw": "mnw",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"systems": "systems_2"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1756820835,
|
||||
"narHash": "sha256-JIOeGuhbPAe3ySjCCJwCLn3vClwHfYOlR+lxSX33NAc=",
|
||||
"lastModified": 1785632973,
|
||||
"narHash": "sha256-j4NzdhN4dgpvORbKdteIcw8M2WJyKrIgalBxT/CNk+c=",
|
||||
"owner": "notashelf",
|
||||
"repo": "nvf",
|
||||
"rev": "7d1061210a43e16ffa3657a0e9b88d226ed6efe1",
|
||||
"rev": "c82d4e47cc1baab21d4954760db49941aaa39b49",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -227,6 +221,7 @@
|
||||
"agenix": "agenix",
|
||||
"home-manager": "home-manager_2",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nvf": "nvf"
|
||||
}
|
||||
@@ -245,21 +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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
||||
@@ -10,6 +10,11 @@
|
||||
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
|
||||
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";
|
||||
@@ -30,6 +35,7 @@
|
||||
inputs.nix-flatpak.nixosModules.nix-flatpak
|
||||
inputs.nvf.nixosModules.default
|
||||
inputs.agenix.nixosModules.default
|
||||
inputs.nix-index-database.nixosModules.default
|
||||
];
|
||||
|
||||
mkHost =
|
||||
@@ -52,7 +58,7 @@
|
||||
desktop1 = mkHost ./hosts/desktop1/configuration.nix;
|
||||
server1 = mkHost ./hosts/server1/configuration.nix;
|
||||
laptop1 = mkHost ./hosts/laptop1/configuration.nix;
|
||||
|
||||
laptop2 = mkHost ./hosts/laptop2/configuration.nix;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -13,14 +13,18 @@
|
||||
|
||||
nixpkgs.overlays = overlays;
|
||||
|
||||
boot.supportedFilesystems = [ "nfs" ];
|
||||
|
||||
users.users.smayzy = {
|
||||
homeMode = "710";
|
||||
isNormalUser = true;
|
||||
description = "smayzy";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"adbusers"
|
||||
"wireshark"
|
||||
"dialout"
|
||||
"audio"
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
+18
-8
@@ -15,7 +15,6 @@
|
||||
|
||||
home.sessionVariables = {
|
||||
EDITOR = "vim";
|
||||
GTK_THEME = "Adwaita:dark";
|
||||
MANPAGER = "nvim +Man!";
|
||||
};
|
||||
|
||||
@@ -34,13 +33,24 @@
|
||||
|
||||
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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -9,12 +9,72 @@
|
||||
networking.hostName = "desktop1";
|
||||
|
||||
networking.bridges.br0.interfaces = [ "enp4s0" ];
|
||||
networking.interfaces.br0.ipv4.addresses = [ { address = "192.168.1.146"; prefixLength = 24; } ];
|
||||
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.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;
|
||||
@@ -22,6 +82,19 @@
|
||||
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 = {
|
||||
};
|
||||
@@ -46,8 +119,23 @@
|
||||
backupFileExtension = "backup";
|
||||
};
|
||||
|
||||
programs.adb.enable = true;
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
|
||||
boot.loader.grub.extraEntries = ''
|
||||
menuentry "Arch" {
|
||||
insmod part_gpt
|
||||
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
|
||||
}
|
||||
'';
|
||||
|
||||
}
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
@@ -41,8 +43,9 @@
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/30759de4-934a-4c89-aca5-2e4fed7fe94f";
|
||||
device = "/dev/disk/by-uuid/e5e8d23d-b613-40c2-b190-ee8d40fbf2f1";
|
||||
fsType = "ext4";
|
||||
neededForBoot = true;
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
laptop.enable = true;
|
||||
hyprland.enable = true;
|
||||
kde.enable = true;
|
||||
grub-on-lap.enable = true;
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
@@ -26,5 +27,4 @@
|
||||
system.stateVersion = "24.11";
|
||||
|
||||
networking.hostName = "laptop1";
|
||||
|
||||
}
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
boot.initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"nvme"
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./desmume.nix
|
||||
../common/home.nix
|
||||
];
|
||||
}
|
||||
@@ -9,9 +9,18 @@
|
||||
networking.hostName = "server1";
|
||||
|
||||
networking.bridges.br0.interfaces = [ "ens18" ];
|
||||
networking.interfaces.br0.ipv4.addresses = [ { address = "192.168.1.197"; prefixLength = 24; } ];
|
||||
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" ];
|
||||
networking.nameservers = [
|
||||
"192.168.1.202"
|
||||
"192.168.1.137"
|
||||
"192.168.1.49"
|
||||
];
|
||||
|
||||
age.identityPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
||||
|
||||
|
||||
@@ -2,5 +2,6 @@
|
||||
{
|
||||
imports = [
|
||||
./fastfetch.nix
|
||||
./mail.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -14,8 +14,8 @@ in
|
||||
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: "
|
||||
|
||||
@@ -3,7 +3,7 @@ let
|
||||
inherit (lib) mkIf;
|
||||
in
|
||||
{
|
||||
config = mkIf smayzy.mako.enable {
|
||||
config = mkIf smayzy.hyprland.enable {
|
||||
services.mako = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
||||
@@ -8,6 +8,7 @@ in
|
||||
enable = true;
|
||||
settings = {
|
||||
cursor = "#c7c7c7";
|
||||
cursor_trail = 3;
|
||||
cursor_text_color = "#feffff";
|
||||
selection_foreground = "#3e3e3e";
|
||||
selection_background = "#c1ddff";
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -2,5 +2,6 @@
|
||||
{
|
||||
imports = [
|
||||
./pipewire.nix
|
||||
./ardour.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ config, lib, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
@@ -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 ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -32,6 +32,9 @@ in
|
||||
nix.enable = true;
|
||||
clang.enable = true;
|
||||
rust.enable = true;
|
||||
arduino.enable = true;
|
||||
bash.enable = true;
|
||||
lua.enable = true;
|
||||
};
|
||||
theme = {
|
||||
enable = true;
|
||||
|
||||
@@ -24,6 +24,8 @@ in
|
||||
btop
|
||||
file
|
||||
vim
|
||||
man-pages
|
||||
man-pages-posix
|
||||
fastfetch
|
||||
lf
|
||||
tshark
|
||||
@@ -32,7 +34,12 @@ in
|
||||
git
|
||||
unzip
|
||||
nixfmt-tree
|
||||
agenix.packages.${system}.default
|
||||
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, ... }:
|
||||
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 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./base.nix
|
||||
];
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.chromium.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "chromium";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.chromium.enable {
|
||||
programs.chromium.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
chromium
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./firefox.nix
|
||||
./librewolf.nix
|
||||
./chromium.nix
|
||||
];
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{ lib, config, ... }:
|
||||
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,20 +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,7 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./freecad.nix
|
||||
./fritzing.nix
|
||||
];
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.freecad.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "enable freecad";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.freecad.enable {
|
||||
environment.systemPackages = with pkgs; [ freecad-wayland ];
|
||||
};
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.fritzing.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "enable fritzing";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.fritzing.enable {
|
||||
environment.systemPackages = with pkgs; [ fritzing ];
|
||||
};
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./element.nix
|
||||
./thunderbird.nix
|
||||
./webcord.nix
|
||||
];
|
||||
}
|
||||
@@ -1,22 +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,22 +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,22 +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
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -23,7 +23,9 @@ in
|
||||
privateNetwork = true;
|
||||
hostBridge = net.bridge;
|
||||
localAddress = cfg.ip;
|
||||
config = { ... }: {
|
||||
config =
|
||||
{ ... }:
|
||||
{
|
||||
system.stateVersion = "25.11";
|
||||
|
||||
services.httpd = {
|
||||
|
||||
@@ -47,12 +47,19 @@ in
|
||||
privateNetwork = true;
|
||||
hostBridge = net.bridge;
|
||||
localAddress = cfg.ip;
|
||||
config = { ... }: {
|
||||
config =
|
||||
{ ... }:
|
||||
{
|
||||
system.stateVersion = "25.11";
|
||||
|
||||
networking.defaultGateway = net.gateway;
|
||||
networking.nameservers = net.dns;
|
||||
networking.firewall.allowedTCPPorts = [ 80 443 880 4443 ];
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
80
|
||||
443
|
||||
880
|
||||
4443
|
||||
];
|
||||
|
||||
systemd.services.traefik.serviceConfig.EnvironmentFile = [
|
||||
"/run/secrets/traefik-cf-tk"
|
||||
@@ -177,94 +184,145 @@ in
|
||||
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" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "chat";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
crafty = {
|
||||
rule = "Host(`crafty.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "crafty";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
cyberchef = {
|
||||
rule = "Host(`cyberchef.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "cyberchef";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
gitea = {
|
||||
rule = "Host(`gitea.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "gitea";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
jellyfin = {
|
||||
rule = "Host(`jellyfin.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "jellyfin";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
kuma = {
|
||||
rule = "Host(`kuma.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "kuma";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
kutt = {
|
||||
rule = "Host(`kutt.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "kutt";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
matrix = {
|
||||
rule = "Host(`matrix.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "matrix";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
mirror = {
|
||||
rule = "Host(`mirror.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "mirror";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
ombi-anime = {
|
||||
rule = "Host(`ombi-anime.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "ombi-anime";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
ombi = {
|
||||
rule = "Host(`ombi.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "ombi";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
share = {
|
||||
rule = "Host(`share.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "share";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
vault = {
|
||||
rule = "Host(`vault.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "vault";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
wordpress = {
|
||||
rule = "Host(`wordpress.smayzy.ovh`)";
|
||||
entryPoints = [ "ext" "extSec" ];
|
||||
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" ];
|
||||
entryPoints = [
|
||||
"ext"
|
||||
"extSec"
|
||||
];
|
||||
service = "mail";
|
||||
tls.certResolver = "cloudflare";
|
||||
};
|
||||
@@ -305,6 +363,10 @@ in
|
||||
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"; } ];
|
||||
@@ -359,6 +421,9 @@ in
|
||||
srv2-proxmox = {
|
||||
serverName = "srv2-proxmox.internal.smayzy.ovh";
|
||||
};
|
||||
srv1-pbs = {
|
||||
serverName = "srv1-pbs.internal.smayzy.ovh";
|
||||
};
|
||||
};
|
||||
middlewares = {
|
||||
dashboard-auth = {
|
||||
|
||||
@@ -23,7 +23,9 @@ in
|
||||
privateNetwork = true;
|
||||
hostBridge = net.bridge;
|
||||
localAddress = cfg.ip;
|
||||
config = { ... }: {
|
||||
config =
|
||||
{ ... }:
|
||||
{
|
||||
system.stateVersion = "25.11";
|
||||
|
||||
services.unbound = {
|
||||
@@ -56,6 +58,8 @@ in
|
||||
''"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"''
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./ghidra.nix
|
||||
];
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.ghidra.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "enable ghidra";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.ghidra.enable {
|
||||
environment.systemPackages = with pkgs; [ ghidra ];
|
||||
};
|
||||
}
|
||||
@@ -11,5 +11,6 @@ in
|
||||
|
||||
config = mkIf config.smayzy.kde.enable {
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
services.xserver.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,23 +3,14 @@
|
||||
imports = [
|
||||
./audio
|
||||
./base-cli
|
||||
./browser
|
||||
./cad
|
||||
./comm
|
||||
./containers
|
||||
./ctf
|
||||
./de
|
||||
./displaymanager
|
||||
./ebook
|
||||
./emulator
|
||||
./flatpak
|
||||
./games
|
||||
./groups
|
||||
./hardware
|
||||
./ide
|
||||
./isolation
|
||||
./networking
|
||||
./notif
|
||||
./office
|
||||
./shell
|
||||
./terminal
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.calibre.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "enable calibre";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.calibre.enable {
|
||||
environment.systemPackages = with pkgs; [ calibre ];
|
||||
};
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./calibre.nix
|
||||
];
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.desmume.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "enable desmume";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.desmume.enable {
|
||||
environment.systemPackages = with pkgs; [ desmume ];
|
||||
};
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./prism.nix
|
||||
./steam.nix
|
||||
./supertuxkart.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.prism.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "prismlauncher";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.prism.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
prismlauncher
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -16,6 +16,6 @@ in
|
||||
|
||||
config = mkIf config.smayzy.steam.enable {
|
||||
programs.steam.enable = true;
|
||||
environment.systemPackages = with pkgs; [ samrewritten ];
|
||||
environment.systemPackages = with pkgs; [ depotdownloader gamescope ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.supertuxkart.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "supertuxkart";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.supertuxkart.enable {
|
||||
environment.systemPackages = with pkgs; [ supertuxkart ];
|
||||
};
|
||||
}
|
||||
@@ -11,11 +11,12 @@ in
|
||||
|
||||
config = mkIf config.smayzy.base {
|
||||
smayzy = {
|
||||
nvf.enable = true;
|
||||
nh.enable = true;
|
||||
fzf.enable = true;
|
||||
zsh.enable = true;
|
||||
base-cli-pkgs.enable = true;
|
||||
fzf.enable = true;
|
||||
nh.enable = true;
|
||||
nvf.enable = true;
|
||||
zsh.enable = true;
|
||||
};
|
||||
documentation.dev.enable = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ lib, config, ... }:
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
@@ -13,43 +18,40 @@ in
|
||||
smayzy = {
|
||||
base = true;
|
||||
power = "desktop";
|
||||
steam.enable = true;
|
||||
prism.enable = true;
|
||||
firefox.enable = true;
|
||||
librewolf.enable = true;
|
||||
audio.enable = true;
|
||||
office.enable = true;
|
||||
element.enable = true;
|
||||
webcord.enable = true;
|
||||
sddm.enable = true;
|
||||
mullvad.enable = true;
|
||||
wireguard.enable = true;
|
||||
gui-utilities.enable = true;
|
||||
mouse.enable = true;
|
||||
obsidian.enable = true;
|
||||
kdenlive.enable = true;
|
||||
thunderbird.enable = true;
|
||||
blender.enable = true;
|
||||
inkscape.enable = true;
|
||||
komikku.enable = true;
|
||||
flatpak = {
|
||||
enable = true;
|
||||
media.enable = true;
|
||||
dev.enable = true;
|
||||
gaming.enable = true;
|
||||
};
|
||||
arduino.enable = true;
|
||||
calibre.enable = true;
|
||||
freecad.enable = true;
|
||||
fritzing.enable = true;
|
||||
aegisub.enable = true;
|
||||
tor.enable = true;
|
||||
chromium.enable = true;
|
||||
desmume.enable = true;
|
||||
ghidra.enable = true;
|
||||
firejail.enable = true;
|
||||
wireshark.enable = true;
|
||||
bitwarden.enable = true;
|
||||
};
|
||||
programs.firefox.enable = true;
|
||||
programs.wireshark.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
wireshark
|
||||
librewolf
|
||||
prismlauncher
|
||||
obsidian
|
||||
komikku
|
||||
inkscape
|
||||
blender
|
||||
aegisub
|
||||
kdePackages.kdenlive
|
||||
freecad-wayland
|
||||
fritzing
|
||||
element-desktop
|
||||
thunderbird
|
||||
kicad
|
||||
ghidra
|
||||
calibre
|
||||
arduino-ide
|
||||
arduino-cli
|
||||
firejail
|
||||
qbittorrent
|
||||
android-tools
|
||||
gdb
|
||||
chromium
|
||||
rpi-imager
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{ lib, pkgs, config, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
@@ -13,43 +18,53 @@ in
|
||||
smayzy = {
|
||||
base = true;
|
||||
power = "laptop";
|
||||
grub-on-lap.enable = true;
|
||||
prism.enable = true;
|
||||
firefox.enable = true;
|
||||
librewolf.enable = true;
|
||||
audio.enable = true;
|
||||
office.enable = true;
|
||||
webcord.enable = true;
|
||||
element.enable = true;
|
||||
sddm.enable = true;
|
||||
mullvad.enable = true;
|
||||
wireguard.enable = true;
|
||||
gui-utilities.enable = true;
|
||||
mouse.enable = true;
|
||||
obsidian.enable = true;
|
||||
kdenlive.enable = true;
|
||||
thunderbird.enable = true;
|
||||
inkscape.enable = true;
|
||||
komikku.enable = true;
|
||||
flatpak = {
|
||||
enable = true;
|
||||
dev.enable = true;
|
||||
media.enable = true;
|
||||
};
|
||||
arduino.enable = true;
|
||||
calibre.enable = true;
|
||||
freecad.enable = true;
|
||||
tor.enable = true;
|
||||
fritzing.enable = true;
|
||||
aegisub.enable = true;
|
||||
alacritty.enable = true;
|
||||
chromium.enable = true;
|
||||
firejail.enable = true;
|
||||
wireshark.enable = true;
|
||||
bitwarden.enable = true;
|
||||
steam.enable = true;
|
||||
mail.enable = true;
|
||||
};
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = false;
|
||||
};
|
||||
services.blueman.enable = true;
|
||||
programs.firefox.enable = true;
|
||||
programs.wireshark.enable = true;
|
||||
networking.networkmanager.enable = true;
|
||||
environment.systemPackages = with pkgs; [ networkmanagerapplet ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
wireshark
|
||||
networkmanagerapplet
|
||||
librewolf
|
||||
obsidian
|
||||
komikku
|
||||
inkscape
|
||||
aegisub
|
||||
kdePackages.kdenlive
|
||||
freecad-wayland
|
||||
fritzing
|
||||
element-desktop
|
||||
thunderbird
|
||||
prismlauncher
|
||||
kicad
|
||||
calibre
|
||||
arduino-ide
|
||||
arduino-cli
|
||||
firejail
|
||||
gdb
|
||||
chromium
|
||||
rpi-imager
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ with lib;
|
||||
boot.loader.systemd-boot.enable = false;
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.efiSupport = true;
|
||||
boot.loader.grub.useOSProber = true;
|
||||
boot.loader.grub.device = "nodev";
|
||||
|
||||
boot.loader.grub.efiInstallAsRemovable = config.smayzy.grub-on-lap.enable;
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.arduino.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "arduino ide";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.arduino.enable {
|
||||
environment.systemPackages = with pkgs; [ arduino-ide ];
|
||||
};
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./arduino.nix
|
||||
];
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./firejail.nix
|
||||
];
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.firejail.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "firejail";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.firejail.enable {
|
||||
environment.systemPackages = with pkgs; [ firejail ];
|
||||
};
|
||||
}
|
||||
@@ -2,6 +2,6 @@
|
||||
{
|
||||
imports = [
|
||||
./openssh.nix
|
||||
./wireshark.nix
|
||||
./mail.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.mail.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "enables neomut isync and msmtp";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.mail.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
neomutt
|
||||
isync
|
||||
msmtp
|
||||
pass
|
||||
];
|
||||
programs.gnupg.agent.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.wireshark.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "wireshark";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.wireshark.enable {
|
||||
programs.wireshark.enable = true;
|
||||
environment.systemPackages = with pkgs; [ wireshark ];
|
||||
};
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./mako.nix
|
||||
];
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.mako.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "mako";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.mako.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
mako
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.aegisub.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "aegisub";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.aegisub.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
aegisub
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.bitwarden.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "bitwarden";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.bitwarden.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
bitwarden-desktop
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.blender.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "blender";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.blender.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
blender
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,13 +1,6 @@
|
||||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./aegisub.nix
|
||||
./bitwarden.nix
|
||||
./blender.nix
|
||||
./inkscape.nix
|
||||
./kdenlive.nix
|
||||
./komikku.nix
|
||||
./obsidian.nix
|
||||
./office.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.inkscape.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "inkscape";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.inkscape.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
inkscape
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf mkOption types;
|
||||
in
|
||||
{
|
||||
options.smayzy.kdenlive.enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = "kdenlive";
|
||||
};
|
||||
|
||||
config = mkIf config.smayzy.kdenlive.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
kdePackages.kdenlive
|
||||
];
|
||||
};
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user