diff --git a/dotfiles/foot/catppuccin-frappe.ini b/dotfiles/foot/catppuccin-frappe.ini new file mode 100755 index 0000000..6bb7093 --- /dev/null +++ b/dotfiles/foot/catppuccin-frappe.ini @@ -0,0 +1,34 @@ +[colors] +cursor=232634 f2d5cf +foreground=c6d0f5 +background=303446 + +regular0=51576d +regular1=e78284 +regular2=a6d189 +regular3=e5c890 +regular4=8caaee +regular5=f4b8e4 +regular6=81c8be +regular7=b5bfe2 + +bright0=626880 +bright1=e78284 +bright2=a6d189 +bright3=e5c890 +bright4=8caaee +bright5=f4b8e4 +bright6=81c8be +bright7=a5adce + +16=ef9f76 +17=f2d5cf + +selection-foreground=c6d0f5 +selection-background=4f5369 + +search-box-no-match=232634 e78284 +search-box-match=c6d0f5 414559 + +jump-labels=232634 ef9f76 +urls=8caaee diff --git a/dotfiles/foot/catppuccin-latte.ini b/dotfiles/foot/catppuccin-latte.ini new file mode 100755 index 0000000..f5e1051 --- /dev/null +++ b/dotfiles/foot/catppuccin-latte.ini @@ -0,0 +1,34 @@ +[colors-light] +cursor=eff1f5 dc8a78 +foreground=4c4f69 +background=eff1f5 + +regular0=5c5f77 +regular1=d20f39 +regular2=40a02b +regular3=df8e1d +regular4=1e66f5 +regular5=ea76cb +regular6=179299 +regular7=acb0be + +bright0=6c6f85 +bright1=d20f39 +bright2=40a02b +bright3=df8e1d +bright4=1e66f5 +bright5=ea76cb +bright6=179299 +bright7=bcc0cc + +16=fe640b +17=dc8a78 + +selection-foreground=4c4f69 +selection-background=ccced7 + +search-box-no-match=dce0e8 d20f39 +search-box-match=4c4f69 ccd0da + +jump-labels=dce0e8 fe640b +urls=1e66f5 diff --git a/dotfiles/foot/catppuccin-macchiato.ini b/dotfiles/foot/catppuccin-macchiato.ini new file mode 100755 index 0000000..0a4a718 --- /dev/null +++ b/dotfiles/foot/catppuccin-macchiato.ini @@ -0,0 +1,34 @@ +[colors] +cursor=181926 f4dbd6 +foreground=cad3f5 +background=24273a + +regular0=494d64 +regular1=ed8796 +regular2=a6da95 +regular3=eed49f +regular4=8aadf4 +regular5=f5bde6 +regular6=8bd5ca +regular7=b8c0e0 + +bright0=5b6078 +bright1=ed8796 +bright2=a6da95 +bright3=eed49f +bright4=8aadf4 +bright5=f5bde6 +bright6=8bd5ca +bright7=a5adcb + +16=f5a97f +17=f4dbd6 + +selection-foreground=cad3f5 +selection-background=454a5f + +search-box-no-match=181926 ed8796 +search-box-match=cad3f5 363a4f + +jump-labels=181926 f5a97f +urls=8aadf4 diff --git a/dotfiles/foot/catppuccin-mocha.ini b/dotfiles/foot/catppuccin-mocha.ini new file mode 100755 index 0000000..201f91c --- /dev/null +++ b/dotfiles/foot/catppuccin-mocha.ini @@ -0,0 +1,34 @@ +[colors-dark] +cursor=11111b f5e0dc +foreground=cdd6f4 +background=1e1e2e + +regular0=45475a +regular1=f38ba8 +regular2=a6e3a1 +regular3=f9e2af +regular4=89b4fa +regular5=f5c2e7 +regular6=94e2d5 +regular7=bac2de + +bright0=585b70 +bright1=f38ba8 +bright2=a6e3a1 +bright3=f9e2af +bright4=89b4fa +bright5=f5c2e7 +bright6=94e2d5 +bright7=a6adc8 + +16=fab387 +17=f5e0dc + +selection-foreground=cdd6f4 +selection-background=414356 + +search-box-no-match=11111b f38ba8 +search-box-match=cdd6f4 313244 + +jump-labels=11111b fab387 +urls=89b4fa diff --git a/dotfiles/foot/dank-colors.ini b/dotfiles/foot/dank-colors.ini new file mode 100755 index 0000000..355fa0e --- /dev/null +++ b/dotfiles/foot/dank-colors.ini @@ -0,0 +1,25 @@ +[colors-dark] +foreground=e4e2e1 +background=131313 +selection-foreground=e4e2e1 +selection-background=11201d +cursor = 131313 b9cac5 + +regular0=131313 +regular1=e89268 +regular2=65ca6a +regular3=fcf071 +regular4=acbfba +regular5=4f5d59 +regular6=b9cac5 +regular7=c7d4d0 +bright0=798380 +bright1=ffbe9f +bright2=9df2a2 +bright3=fff7a5 +bright4=ceded9 +bright5=effffa +bright6=f5fffc +bright7=f8fffd + +dim-blend-towards=black diff --git a/dotfiles/foot/foot.ini b/dotfiles/foot/foot.ini new file mode 100755 index 0000000..d204548 --- /dev/null +++ b/dotfiles/foot/foot.ini @@ -0,0 +1,20 @@ +[main] +font=JetBrains Mono:size=12 +pad=15x15 +include=~/.config/foot/paper-color.ini +include=~/.config/foot/matugen.ini + +[csd] +size=0 + +[cursor] +blink=true +style=beam + +[key-bindings] +show-urls-copy=Control+Shift+y +show-urls-launch=Control+Shift+g +color-theme-toggle=Control+comma + +[mouse] +hide-when-typing=yes diff --git a/dotfiles/foot/matugen.ini b/dotfiles/foot/matugen.ini new file mode 100755 index 0000000..e6518ac --- /dev/null +++ b/dotfiles/foot/matugen.ini @@ -0,0 +1,2 @@ +initial-color-theme=dark + diff --git a/dotfiles/foot/paper-color.ini b/dotfiles/foot/paper-color.ini new file mode 100755 index 0000000..0993492 --- /dev/null +++ b/dotfiles/foot/paper-color.ini @@ -0,0 +1,49 @@ +# -*- conf -*- +# PaperColorDark +# Palette based on https://github.com/NLKNguyen/papercolor-theme + +[colors-dark] +cursor=1c1c1c eeeeee +background=1c1c1c +foreground=eeeeee +regular0=1c1c1c # black +regular1=af005f # red +regular2=5faf00 # green +regular3=d7af5f # yellow +regular4=5fafd7 # blue +regular5=808080 # magenta +regular6=d7875f # cyan +regular7=d0d0d0 # white +bright0=bcbcbc # bright black +bright1=5faf5f # bright red +bright2=afd700 # bright green +bright3=af87d7 # bright yellow +bright4=ffaf00 # bright blue +bright5=ff5faf # bright magenta +bright6=00afaf # bright cyan +bright7=5f8787 # bright white +# selection-foreground=1c1c1c +# selection-background=af87d7 + +[colors-light] +cursor=eeeeee 444444 +background=eeeeee +foreground=444444 +regular0=eeeeee # black +regular1=af0000 # red +regular2=008700 # green +regular3=5f8700 # yellow +regular4=0087af # blue +regular5=878787 # magenta +regular6=005f87 # cyan +regular7=764e37 # white +bright0=bcbcbc # bright black +bright1=d70000 # bright red +bright2=d70087 # bright green +bright3=8700af # bright yellow +bright4=d75f00 # bright blue +bright5=d75f00 # bright magenta +bright6=4c7a5d # bright cyan +bright7=005faf # bright white +# selection-foreground=eeeeee +# selection-background=0087af diff --git a/home/dotfiles/neomutt/bindings.neomuttrc b/dotfiles/neomutt/bindings.neomuttrc old mode 100644 new mode 100755 similarity index 100% rename from home/dotfiles/neomutt/bindings.neomuttrc rename to dotfiles/neomutt/bindings.neomuttrc diff --git a/home/dotfiles/neomutt/colors.neomuttrc b/dotfiles/neomutt/colors.neomuttrc old mode 100644 new mode 100755 similarity index 82% rename from home/dotfiles/neomutt/colors.neomuttrc rename to dotfiles/neomutt/colors.neomuttrc index afb98b1..424a3e0 --- a/home/dotfiles/neomutt/colors.neomuttrc +++ b/dotfiles/neomutt/colors.neomuttrc @@ -1,11 +1,5 @@ -# Colors - -color status $my_primary_color default -color index $my_primary_color default '~N' - -# color indicator default foreground -color index_flags brightmagenta default '.*' -color index_date cyan default +# color index_flags brightmagenta default '.*' +# color index_date cyan default color header brightblack default ".*" color header brightgreen default "^(Subject)" color header yellow default "^(From|To|CC|BCC)" diff --git a/home/dotfiles/neomutt/config.neomuttrc b/dotfiles/neomutt/config.neomuttrc old mode 100644 new mode 100755 similarity index 100% rename from home/dotfiles/neomutt/config.neomuttrc rename to dotfiles/neomutt/config.neomuttrc diff --git a/dotfiles/niri/config.kdl b/dotfiles/niri/config.kdl new file mode 100755 index 0000000..bf021a7 --- /dev/null +++ b/dotfiles/niri/config.kdl @@ -0,0 +1,203 @@ +/-output "eDP-1" { + mode "1920x1080@120.030" + scale 2 + transform "normal" + position x=1280 y=0 +} + +layout { + preset-column-widths { + proportion 0.381966 + proportion 0.5 + proportion 0.618034 + } + default-column-width { proportion 0.5; } +} + +environment { + TERMINAL "foot" + XDG_CURRENT_DESKTOP "niri" +} + +hotkey-overlay { + skip-at-startup +} + +prefer-no-csd + +screenshot-path "~/media/img/screenshots/screenshot_%Y-%m-%d_%H-%M-%S.png" + +// debug { +// honor-xdg-activation-with-invalid-serial +// } + +recent-windows { + binds { + Super+Tab { next-window scope="output"; } + Super+Shift+Tab { previous-window scope="output"; } + Super+grave { next-window filter="app-id"; } + Super+Shift+grave { previous-window filter="app-id"; } + } +} + +animations { + + workspace-switch { + spring damping-ratio=0.9 stiffness=2000 epsilon=0.001 + } + + window-open { + duration-ms 50 + curve "ease-out-expo" + } + + window-close { + duration-ms 50 + curve "ease-out-quad" + } + + horizontal-view-movement { + spring damping-ratio=0.9 stiffness=2000 epsilon=0.001 + } + + window-movement { + // spring damping-ratio=0.75 stiffness=323 epsilon=0.0001 + spring damping-ratio=0.9 stiffness=2000 epsilon=0.001 + } + + window-resize { + spring damping-ratio=0.9 stiffness=2000 epsilon=0.001 + } + + config-notification-open-close { + spring damping-ratio=0.9 stiffness=2000 epsilon=0.001 + } + + screenshot-ui-open { + duration-ms 50 + curve "ease-out-quad" + } + + overview-open-close { + spring damping-ratio=0.9 stiffness=2000 epsilon=0.001 + } +} + +input { + keyboard { + xkb { + layout "us,de,th" + variant "altgr-intl" + options "grp:alt_space_toggle" + } + numlock + } + + touchpad { + tap + natural-scroll + click-method "clickfinger" + } + + trackball { + natural-scroll + accel-speed -0.3 + } + + mouse { + } + + trackpoint { + } + + // warp-mouse-to-focus + focus-follows-mouse max-scroll-amount="0%" +} + +layer-rule { + match namespace="^quickshell$" + place-within-backdrop false +} + +layer-rule { + match namespace="dms:blurwallpaper" + place-within-backdrop true +} + +window-rule { + match app-id=r#"^org\.wezfurlong\.wezterm$"# + default-column-width {} +} + +window-rule { + match app-id=r#"^org\.gnome\."# + draw-border-with-background false + geometry-corner-radius 12 + clip-to-geometry true +} + +window-rule { + match app-id=r#"^gnome-control-center$"# + match app-id=r#"^pavucontrol$"# + match app-id=r#"^nm-connection-editor$"# + default-column-width { proportion 0.5; } + open-floating false +} + +window-rule { + match app-id=r#"^gnome-calculator$"# + match app-id=r#"^galculator$"# + match app-id=r#"^blueman-manager$"# + match app-id=r#"^org\.gnome\.Nautilus$"# + match app-id=r#"^xdg-desktop-portal$"# + open-floating true +} + +window-rule { + match app-id=r#"^steam$"# title=r#"^notificationtoasts_\d+_desktop$"# + default-floating-position x=10 y=10 relative-to="bottom-right" + open-focused false +} + +window-rule { + match app-id=r#"^org\.wezfurlong\.wezterm$"# + match app-id="Alacritty" + match app-id="zen" + match app-id="com.mitchellh.ghostty" + match app-id="kitty" + draw-border-with-background false +} + +window-rule { + match app-id=r#"firefox$"# title="^Picture-in-Picture$" + match app-id="zoom" + open-floating true +} + +window-rule { + match app-id="firefox" + default-column-width {} + open-on-workspace "browser" +} + +window-rule { + match app-id=r#"org.quickshell$"# + open-floating true +} + +window-rule { + match app-id=r#"org.quickshell$"# title="^Settings$" + open-floating false +} + +// include optional=true "user-config.kdl" +include "user-config.kdl" + + +// Include dms files +include "dms/colors.kdl" +include "dms/layout.kdl" +include "dms/alttab.kdl" +include "dms/outputs.kdl" +include "dms/cursor.kdl" +include "dms/binds.kdl" diff --git a/dotfiles/niri/dms/alttab.kdl b/dotfiles/niri/dms/alttab.kdl new file mode 100755 index 0000000..6708e41 --- /dev/null +++ b/dotfiles/niri/dms/alttab.kdl @@ -0,0 +1,10 @@ +// ! DO NOT EDIT ! + // ! AUTO-GENERATED BY DMS ! + // ! CHANGES WILL BE OVERWRITTEN ! + // ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE ! + + recent-windows { + highlight { + corner-radius 9 + } + } diff --git a/dotfiles/niri/dms/binds.kdl b/dotfiles/niri/dms/binds.kdl new file mode 100755 index 0000000..5af1fc6 --- /dev/null +++ b/dotfiles/niri/dms/binds.kdl @@ -0,0 +1,115 @@ +binds { + Ctrl+Alt+Delete hotkey-overlay-title="Task Manager" { spawn "dms" "ipc" "call" "processlist" "focusOrToggle"; } + Ctrl+XF86AudioLowerVolume allow-when-locked=true { spawn "dms" "ipc" "call" "mpris" "decrement" "3"; } + Ctrl+XF86AudioRaiseVolume allow-when-locked=true { spawn "dms" "ipc" "call" "mpris" "increment" "3"; } + Mod+Backspace hotkey-overlay-title="Lock Screen" { spawn "dms" "ipc" "call" "lock" "lock"; } + Mod+Comma hotkey-overlay-title="Settings" { spawn "dms" "ipc" "call" "settings" "focusOrToggle"; } + Mod+Ctrl+R hotkey-overlay-title="Rename Workspace" { spawn "dms" "ipc" "call" "workspace-rename" "open"; } + Mod+N hotkey-overlay-title="Notification Center" { spawn "dms" "ipc" "call" "notifications" "toggle"; } + Mod+O hotkey-overlay-title="Show dash overview" { spawn "dms" "ipc" "call" "dash" "toggle" ""; } + Mod+P hotkey-overlay-title="Show dash music" { spawn "dms" "ipc" "call" "dash" "toggle" "media"; } + Mod+Shift+W hotkey-overlay-title="Create window rule" { spawn "dms" "ipc" "call" "window-rules" "toggle"; } + Mod+Slash hotkey-overlay-title="Application Launcher" { spawn "dms" "ipc" "call" "spotlight" "toggle"; } + Mod+T hotkey-overlay-title="Task Manager" { spawn "dms" "ipc" "call" "processlist" "focusOrToggle"; } + Mod+W hotkey-overlay-title="Show dash weather" { spawn "dms" "ipc" "call" "dash" "toggle" "weather"; } + Mod+Y hotkey-overlay-title="Browse Wallpapers" { spawn "dms" "ipc" "call" "dankdash" "wallpaper"; } + Super+X hotkey-overlay-title="Power Menu: Toggle" { spawn "dms" "ipc" "call" "powermenu" "toggle"; } + XF86AudioLowerVolume allow-when-locked=true { spawn "dms" "ipc" "call" "audio" "decrement" "3"; } + XF86AudioMicMute allow-when-locked=true { spawn "dms" "ipc" "call" "audio" "micmute"; } + XF86AudioMute allow-when-locked=true { spawn "dms" "ipc" "call" "audio" "mute"; } + XF86AudioNext allow-when-locked=true { spawn "dms" "ipc" "call" "mpris" "next"; } + XF86AudioPause allow-when-locked=true { spawn "dms" "ipc" "call" "mpris" "playPause"; } + XF86AudioPlay allow-when-locked=true { spawn "dms" "ipc" "call" "mpris" "playPause"; } + XF86AudioPrev allow-when-locked=true { spawn "dms" "ipc" "call" "mpris" "previous"; } + XF86AudioRaiseVolume allow-when-locked=true { spawn "dms" "ipc" "call" "audio" "increment" "3"; } + XF86MonBrightnessDown allow-when-locked=true { spawn "dms" "ipc" "call" "brightness" "decrement" "5" ""; } + XF86MonBrightnessUp allow-when-locked=true { spawn "dms" "ipc" "call" "brightness" "increment" "5" ""; } + Mod+1 { focus-workspace 1; } + Mod+2 { focus-workspace 2; } + Mod+3 { focus-workspace 3; } + Mod+4 { focus-workspace 4; } + Mod+5 { focus-workspace 5; } + Mod+6 { focus-workspace 6; } + Mod+7 { focus-workspace 7; } + Mod+8 { focus-workspace 8; } + Mod+9 { focus-workspace 9; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + Mod+D { focus-workspace-down; } + Mod+J { focus-window-or-workspace-down; } + Mod+K { focus-window-or-workspace-up; } + Mod+Shift+1 { move-column-to-workspace 1; } + Mod+Shift+2 { move-column-to-workspace 2; } + Mod+Shift+3 { move-column-to-workspace 3; } + Mod+Shift+4 { move-column-to-workspace 4; } + Mod+Shift+5 { move-column-to-workspace 5; } + Mod+Shift+6 { move-column-to-workspace 6; } + Mod+Shift+7 { move-column-to-workspace 7; } + Mod+Shift+8 { move-column-to-workspace 8; } + Mod+Shift+9 { move-column-to-workspace 9; } + Mod+Shift+D { move-workspace-down; } + Mod+Shift+J { move-window-down-or-to-workspace-down; } + Mod+Shift+K { move-window-up-or-to-workspace-up; } + Mod+Shift+U { move-workspace-up; } + Mod+U { focus-workspace-up; } + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+B hotkey-overlay-title="Open Browser" { spawn "nirius" "focus-or-spawn" "-a" "^firefox$" "firefox"; } + Mod+C { center-column; } + Mod+Ctrl+C { center-visible-columns; } + Mod+Ctrl+End { move-column-to-last; } + Mod+Ctrl+H { focus-monitor-left; } + Mod+Ctrl+Home { move-column-to-first; } + Mod+Ctrl+J { focus-monitor-down; } + Mod+Ctrl+K { focus-monitor-up; } + Mod+Ctrl+L { focus-monitor-right; } + Mod+Ctrl+Shift+H { move-column-to-monitor-left; } + Mod+Ctrl+Shift+J { move-column-to-monitor-down; } + Mod+Ctrl+Shift+K { move-column-to-monitor-up; } + Mod+Ctrl+Shift+L { move-column-to-monitor-right; } + Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } + Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+End { focus-column-last; } + Mod+Equal { set-column-width "+10%"; } + Mod+Escape { fullscreen-window; } + Mod+F hotkey-overlay-title="Open Files" { spawn "nirius" "focus-or-spawn" "-t" "^vifm" "foot" "--" "-e" "vifm"; } + Mod+G { switch-focus-between-floating-and-tiling; } + Mod+H { focus-column-left; } + Mod+Home { focus-column-first; } + Mod+L { focus-column-right; } + Mod+M hotkey-overlay-title="Open Mail" { spawn "nirius" "focus-or-spawn" "-t" "^neomutt" "foot" "--" "-e" "neomutt"; } + Mod+Minus { set-column-width "-10%"; } + Mod+Print { screenshot-window; } + Mod+Q repeat=false { close-window; } + Mod+R { switch-preset-column-width; } + Mod+Shift+BracketLeft { consume-or-expel-window-left; } + Mod+Shift+BracketRight { consume-or-expel-window-right; } + Mod+Shift+Equal { set-window-height "+10%"; } + Mod+Shift+G { toggle-window-floating; } + Mod+Shift+H { move-column-left; } + Mod+Shift+L { move-column-right; } + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Period { expel-window-from-column; } + Mod+Shift+R { expand-column-to-available-width; } + Mod+Shift+T { toggle-column-tabbed-display; } + Mod+Shift+V { reset-window-height; } + Mod+Shift+WheelScrollDown { focus-column-right; } + Mod+Shift+WheelScrollUp { focus-column-left; } + Mod+Shift+Z { maximize-window-to-edges; } + Mod+V { switch-preset-window-height; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+WheelScrollRight { focus-column-right; } + Mod+XF86Launch1 { screenshot-window; } + Mod+Z { maximize-column; } + Mod+Ctrl+P { power-off-monitors; } + Ctrl+Print { screenshot-screen; } + Ctrl+XF86Launch1 { screenshot-screen; } + Print { screenshot; } + XF86Launch1 { screenshot; } + Mod+Shift+Q { quit; } + Mod+Return hotkey-overlay-title="Open Terminal" { spawn "foot"; } + Mod+Shift+Slash { show-hotkey-overlay; } + Mod+Space repeat=false { toggle-overview; } +} diff --git a/dotfiles/niri/dms/colors.kdl b/dotfiles/niri/dms/colors.kdl new file mode 100755 index 0000000..8352dc1 --- /dev/null +++ b/dotfiles/niri/dms/colors.kdl @@ -0,0 +1,39 @@ +// ! Auto-generated file. Do not edit directly. +// Remove `include "dms/colors.kdl"` from your config to override. + +layout { + background-color "transparent" + + focus-ring { + active-color "#b9cac5" + inactive-color "#8c9290" + urgent-color "#ffb4ab" + } + + border { + active-color "#b9cac5" + inactive-color "#8c9290" + urgent-color "#ffb4ab" + } + + shadow { + color "#00000070" + } + + tab-indicator { + active-color "#b9cac5" + inactive-color "#8c9290" + urgent-color "#ffb4ab" + } + + insert-hint { + color "#b9cac580" + } +} + +recent-windows { + highlight { + active-color "#11201d" + urgent-color "#ffb4ab" + } +} diff --git a/dotfiles/niri/dms/cursor.kdl b/dotfiles/niri/dms/cursor.kdl new file mode 100755 index 0000000..cd14ec9 --- /dev/null +++ b/dotfiles/niri/dms/cursor.kdl @@ -0,0 +1,11 @@ +// ! DO NOT EDIT ! +// ! AUTO-GENERATED BY DMS ! +// ! CHANGES WILL BE OVERWRITTEN ! +// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE ! + +cursor { + xcursor-theme "phinger-cursors-dark" + xcursor-size 24 + hide-when-typing + hide-after-inactive-ms 5000 +} \ No newline at end of file diff --git a/dotfiles/niri/dms/layout.kdl b/dotfiles/niri/dms/layout.kdl new file mode 100755 index 0000000..b339058 --- /dev/null +++ b/dotfiles/niri/dms/layout.kdl @@ -0,0 +1,22 @@ +// ! DO NOT EDIT ! + // ! AUTO-GENERATED BY DMS ! + // ! CHANGES WILL BE OVERWRITTEN ! + // ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE ! + + layout { + gaps 6 + + border { + width 2 + } + + focus-ring { + width 2 + } + } + window-rule { + geometry-corner-radius 9 + clip-to-geometry true + tiled-state true + draw-border-with-background false + } diff --git a/dotfiles/niri/dms/outputs.kdl b/dotfiles/niri/dms/outputs.kdl new file mode 100755 index 0000000..3863ba7 --- /dev/null +++ b/dotfiles/niri/dms/outputs.kdl @@ -0,0 +1,20 @@ +// Auto-generated by DMS - do not edit manually + +output "DP-3" { + mode "3840x2160@59.997" + scale 1.75 + position x=0 y=0 +} + +output "DP-1" { + mode "3840x2160@59.997" + scale 1.75 + position x=0 y=0 +} + +output "eDP-1" { + mode "1920x1200@60.026" + scale 1.25 + position x=2194 y=274 +} + diff --git a/dotfiles/niri/dms/windowrules.kdl b/dotfiles/niri/dms/windowrules.kdl new file mode 100755 index 0000000..e69de29 diff --git a/dotfiles/niri/dms/wpblur.kdl b/dotfiles/niri/dms/wpblur.kdl new file mode 100755 index 0000000..3d58802 --- /dev/null +++ b/dotfiles/niri/dms/wpblur.kdl @@ -0,0 +1,9 @@ +// ! DO NOT EDIT ! +// ! AUTO-GENERATED BY DMS ! +// ! CHANGES WILL BE OVERWRITTEN ! +// ! PLACE YOUR CUSTOM CONFIGURATION ELSEWHERE ! + +layer-rule { + match namespace="dms:blurwallpaper" + place-within-backdrop true +} diff --git a/dotfiles/tmux/rloft.conf b/dotfiles/tmux/rloft.conf new file mode 100644 index 0000000..f03ec39 --- /dev/null +++ b/dotfiles/tmux/rloft.conf @@ -0,0 +1,2 @@ +split-window -c '#{pane_current_path}' -h R -q --no-save --no-restore; +select-pane -l diff --git a/dotfiles/tmux/tmux.conf b/dotfiles/tmux/tmux.conf new file mode 100644 index 0000000..c8cbfb4 --- /dev/null +++ b/dotfiles/tmux/tmux.conf @@ -0,0 +1,45 @@ +# Key bindings +bind C-l next-window +bind C-h previous-window +bind C-b last-window +bind n new-window +bind C-n new-window -c '#{pane_current_path}' +bind v split-window -h +bind C-v split-window -hc '#{pane_current_path}' +bind s split-window -v +bind C-s split-window -vc '#{pane_current_path}' +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R +bind -r H resize-pane -L 5 +bind -r J resize-pane -D 5 +bind -r K resize-pane -U 5 +bind -r L resize-pane -R 5 +bind c command-prompt -I "#{b:pane_current_path}" "rename-window '%%'" +bind C-c command-prompt -I "#{b:pane_current_path}" "rename-window '%%'" + +# Layouts +bind f new-window -c '#{pane_current_path}' vifm +bind R source rloft.conf + +# Unbind +unbind p +unbind '"' +unbind % + +# Eye candy +set-option -g status-right "" +set-option -g status-left "" +set-option -g status-justify "centre" +# set-option -g status-style fg=magenta +# set-option -g pane-border-style fg=brightwhite +set-option -g pane-active-border-style fg=magenta +# set-option -g window-status-current-style bg=brightwhite + +# Some more specifics +set-option -g focus-events on +set -g base-index 1 +setw -g pane-base-index 1 +set -g default-terminal "tmux-256color" +set -as terminal-features ",xterm-256color:RGB" diff --git a/flake.lock b/flake.lock index 7f41e2f..0a05880 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1774065775, - "narHash": "sha256-anJXbdfZMhXWjHSfB5v6e8+yv1ASTHM4TwikH8tloMI=", + "lastModified": 1776052978, + "narHash": "sha256-WR0Svwg/JreBNW006qjHET6RRRmmjWCMfrkS5JmDZK8=", "owner": "rycee", "repo": "nur-expressions", - "rev": "4b3bbb9dc3c80d1b62228c9a2ca0bef74a24a192", + "rev": "6c0e7f01d9315f4806a187c2ec58d0f3b6961876", "type": "gitlab" }, "original": { @@ -29,11 +29,11 @@ ] }, "locked": { - "lastModified": 1773963144, - "narHash": "sha256-WzBOBfSay3GYilUfKaUa1Mbf8/jtuAiJIedx7fWuIX4=", + "lastModified": 1775425411, + "narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=", "owner": "nix-community", "repo": "home-manager", - "rev": "a91b3ea73a765614d90360580b689c48102d1d33", + "rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe", "type": "github" }, "original": { @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1774007980, - "narHash": "sha256-FOnZjElEI8pqqCvB6K/1JRHTE8o4rer8driivTpq2uo=", + "lastModified": 1776046499, + "narHash": "sha256-Wzc4nn07/0RL21ypPHRzNDQZcjhIC8LaYo7QJQjM5T4=", "owner": "nix-community", "repo": "home-manager", - "rev": "9670de2921812bc4e0452f6e3efd8c859696c183", + "rev": "287f84846c1eb3b72c986f5f6bebcff0bd67440d", "type": "github" }, "original": { @@ -65,11 +65,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1773814637, - "narHash": "sha256-GNU+ooRmrHLfjlMsKdn0prEKVa0faVanm0jrgu1J/gY=", + "lastModified": 1775811116, + "narHash": "sha256-t+HZK42pB6N+i5RGbuy7Xluez/VvWbembBdvzsc23Ss=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fea3b367d61c1a6592bc47c72f40a9f3e6a53e96", + "rev": "54170c54449ea4d6725efd30d719c5e505f1c10e", "type": "github" }, "original": { @@ -81,11 +81,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1773821835, - "narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=", + "lastModified": 1775710090, + "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b40629efe5d6ec48dd1efba650c797ddbd39ace0", + "rev": "4c1018dae018162ec878d42fec712642d214fdfa", "type": "github" }, "original": { @@ -95,13 +95,34 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1775720097, + "narHash": "sha256-p+vqkCuFfVNyQBo370wr6MebNUvz55RZiC0m8YKUhvQ=", + "ref": "refs/heads/master", + "rev": "d4c92973b53d9fa34cc110d3b974eb6bde5b3027", + "revCount": 800, + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + }, + "original": { + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + } + }, "root": { "inputs": { "firefox-addons": "firefox-addons", "home-manager": "home-manager", "home-manager-unstable": "home-manager-unstable", "nixpkgs": "nixpkgs", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs-unstable": "nixpkgs-unstable", + "quickshell": "quickshell" } } }, diff --git a/flake.nix b/flake.nix index b07dcd1..5724930 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,11 @@ inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + quickshell = { + url = "git+https://git.outfoxxed.me/quickshell/quickshell"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + }; outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, home-manager-unstable, ... }@inputs: { @@ -40,7 +45,7 @@ till = { imports = [ - ./home/minimal.nix + ./home/minimal ./users/till/home.nix ]; }; @@ -90,21 +95,21 @@ till = { imports = [ - ./home/desktop-full.nix + ./home/desktop-full ./users/till/home.nix ]; }; alt = { imports = [ - ./home/desktop-slim.nix + ./home/desktop-slim ./users/alt/home.nix ]; }; guest = { imports = [ - ./home/desktop-slim.nix + ./home/desktop-slim ./users/guest/home.nix ]; }; diff --git a/home/desktop-full.nix b/home/desktop-full.nix deleted file mode 100644 index 0ee5bda..0000000 --- a/home/desktop-full.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ ... }: - -{ - imports = [ - ./desktop-slim.nix - - ./modules/messaging.nix - ./modules/r.nix - ./modules/tex.nix - ./modules/mail.nix - ./modules/office-gui.nix - ./modules/office-cli.nix - ./modules/aichat.nix - ]; -} diff --git a/home/modules/aichat.nix b/home/desktop-full/aichat.nix similarity index 100% rename from home/modules/aichat.nix rename to home/desktop-full/aichat.nix diff --git a/home/modules/calendars.nix b/home/desktop-full/calendars.nix similarity index 100% rename from home/modules/calendars.nix rename to home/desktop-full/calendars.nix diff --git a/home/modules/office-cli.nix b/home/desktop-full/default.nix similarity index 78% rename from home/modules/office-cli.nix rename to home/desktop-full/default.nix index 90331aa..f7cbeac 100644 --- a/home/modules/office-cli.nix +++ b/home/desktop-full/default.nix @@ -2,9 +2,17 @@ { imports = [ - ./khard-dump.nix - ./tasks.nix + ../desktop-slim + + ./aichat.nix ./calendars.nix + ./khard-dump.nix + ./mail.nix + ./messaging.nix + ./office-gui.nix + ./r.nix + ./tasks.nix + ./tex.nix ]; home.packages = with pkgs; [ diff --git a/home/modules/khard-dump.nix b/home/desktop-full/khard-dump.nix similarity index 100% rename from home/modules/khard-dump.nix rename to home/desktop-full/khard-dump.nix diff --git a/home/modules/mail.nix b/home/desktop-full/mail.nix similarity index 95% rename from home/modules/mail.nix rename to home/desktop-full/mail.nix index ae349b3..db30c84 100644 --- a/home/modules/mail.nix +++ b/home/desktop-full/mail.nix @@ -85,11 +85,12 @@ in ''; }; neomutt = { - extraConfig = '' - set my_primary_color=blue + extraConfig = makeConfig name + '' + color status blue default + color index blue default '~N' alternates ^tstraube@(em|rz)?.uni-frankfurt.de$ set smime_is_default - '' + makeConfig name; + ''; }; }; @@ -106,7 +107,7 @@ in neomutt = { extraConfig = makeConfig name + '' color status green default - set my_primary_color=green + color index green default '~N' alternates @t9e.me$ @ktiu.net$ ^(tillkowski|till.straube)@gmail.com$ set reverse_name ''; @@ -128,7 +129,7 @@ in neomutt = { extraConfig = makeConfig name + '' color status red default - set my_primary_color=red + color index red default '~N' ''; }; passwordCommand = "pass ksh/systemli"; @@ -262,14 +263,15 @@ in { key = "l"; map = [ "index" "pager" ]; action = "unset signature"; } ]; - extraConfig = builtins.readFile ../dotfiles/neomutt/config.neomuttrc; + extraConfig = builtins.readFile ../../dotfiles/neomutt/config.neomuttrc; }; - xdg.configFile."neomutt/colors.neomuttrc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/home/dotfiles/neomutt/colors.neomuttrc"; - xdg.configFile."neomutt/bindings.neomuttrc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/home/dotfiles/neomutt/bindings.neomuttrc"; + xdg.configFile."neomutt/colors.neomuttrc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/dotfiles/neomutt/colors.neomuttrc"; + xdg.configFile."neomutt/bindings.neomuttrc".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/dotfiles/neomutt/bindings.neomuttrc"; programs.neovim.plugins = with pkgs.vimPlugins; [ { plugin = vim-pathogen; + type = "viml"; config = "execute pathogen#infect()"; } ]; diff --git a/home/modules/messaging.nix b/home/desktop-full/messaging.nix similarity index 100% rename from home/modules/messaging.nix rename to home/desktop-full/messaging.nix diff --git a/home/desktop-full/office-cli.nix b/home/desktop-full/office-cli.nix new file mode 100644 index 0000000..a67ca90 --- /dev/null +++ b/home/desktop-full/office-cli.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: + +{ +} diff --git a/home/modules/office-gui.nix b/home/desktop-full/office-gui.nix similarity index 96% rename from home/modules/office-gui.nix rename to home/desktop-full/office-gui.nix index c40ec7c..1452405 100644 --- a/home/modules/office-gui.nix +++ b/home/desktop-full/office-gui.nix @@ -9,7 +9,6 @@ inkscape libreoffice lorem - nyxt pdfpc poppler-utils typst diff --git a/home/modules/r.nix b/home/desktop-full/r.nix similarity index 97% rename from home/modules/r.nix rename to home/desktop-full/r.nix index e284118..0e6e6bc 100644 --- a/home/modules/r.nix +++ b/home/desktop-full/r.nix @@ -53,7 +53,7 @@ in { home.packages = with pkgs; [ R-packed - RStudio-packed + # RStudio-packed ]; home.shellAliases = { diff --git a/home/modules/tasks.nix b/home/desktop-full/tasks.nix similarity index 95% rename from home/modules/tasks.nix rename to home/desktop-full/tasks.nix index 3f6cd0c..e5b6711 100644 --- a/home/modules/tasks.nix +++ b/home/desktop-full/tasks.nix @@ -9,7 +9,7 @@ enable = true; package = pkgs.taskwarrior3; dataLocation = "${config.xdg.dataHome}/taskwarrior/tasks"; - # colorTheme = "light-256"; + colorTheme = "no-color"; config = { report.list.columns = ["id" "depends.indicator" "priority" "project" "recur.indicator" "scheduled.countdown" "due" "until.age" "status.short" "description.count" "tags"]; report.list.labels= ["ID" "D" "Prio" "Proj" "R" "Scheduled" "Due" "Until" "S" "Description" "Tags"]; diff --git a/home/modules/tex.nix b/home/desktop-full/tex.nix similarity index 100% rename from home/modules/tex.nix rename to home/desktop-full/tex.nix diff --git a/home/desktop-slim.nix b/home/desktop-slim/default.nix similarity index 50% rename from home/desktop-slim.nix rename to home/desktop-slim/default.nix index 1382321..d1333f4 100644 --- a/home/desktop-slim.nix +++ b/home/desktop-slim/default.nix @@ -2,17 +2,17 @@ { imports = [ - ./minimal.nix + ../minimal - ./modules/devel.nix - ./modules/firefox.nix - ./modules/fonts.nix - ./modules/foot.nix - ./modules/gpg.nix - ./modules/media.nix - ./modules/niri.nix - ./modules/password-store.nix - ./modules/user-dirs.nix + ./devel.nix + ./firefox.nix + ./fonts.nix + ./gpg.nix + ./media.nix + ./niri.nix + ./foot.nix + ./password-store.nix + ./user-dirs.nix ]; home.packages = with pkgs; [ diff --git a/home/desktop-slim/devel.nix b/home/desktop-slim/devel.nix new file mode 100644 index 0000000..c27cb2c --- /dev/null +++ b/home/desktop-slim/devel.nix @@ -0,0 +1,8 @@ +{ ... }: + +{ + programs.direnv = { + enable = true; + nix-direnv.enable = true; + }; +} diff --git a/home/modules/firefox.nix b/home/desktop-slim/firefox.nix similarity index 88% rename from home/modules/firefox.nix rename to home/desktop-slim/firefox.nix index 43418ef..fef201f 100644 --- a/home/modules/firefox.nix +++ b/home/desktop-slim/firefox.nix @@ -51,6 +51,7 @@ template = "https://search.nixos.org/packages"; params = [ { name = "type"; value = "packages"; } + { name = "channel"; value = "unstable"; } { name = "query"; value = "{searchTerms}"; } ]; }]; @@ -64,13 +65,27 @@ definedAliases = [ "@nw" ]; }; "NixOS Options" = { - urls = [{ template = "https://search.nixos.org/options?channel=${osConfig.system.nixos.release}&query={searchTerms}"; }]; + urls = [{ + template = "https://search.nixos.org/options"; + params = [ + # { name = "channel"; value = "${osConfig.system.nixos.release}"; } + { name = "channel"; value = "unstable"; } + { name = "query"; value = "{searchTerms}"; } + ]; + }]; icon = "https://nixos.org/favicon.png"; updateInterval = 24 * 60 * 60 * 1000; definedAliases = [ "@no" ]; }; "Home manager options" = { - urls = [{ template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=release-${osConfig.system.nixos.release}"; }]; + urls = [{ + template = "https://home-manager-options.extranix.com"; + params = [ + # { name = "release"; value = "release-${osConfig.system.nixos.release}"; } + { name = "release"; value = "master"; } + { name = "query"; value = "{searchTerms}"; } + ]; + }]; icon = "https://mipmip.github.io/home-manager-option-search/images/favicon.png"; updateInterval = 24 * 60 * 60 * 1000; definedAliases = [ "@hm" ]; @@ -148,7 +163,6 @@ user_pref("signon.rememberSignons", false); user_pref("toolkit.telemetry.enabled", false); user_pref("toolkit.telemetry.server", ""); - user_pref("widget.gtk.libadwaita-colors.enabled", false); ''; }; }; diff --git a/home/modules/fonts.nix b/home/desktop-slim/fonts.nix similarity index 100% rename from home/modules/fonts.nix rename to home/desktop-slim/fonts.nix diff --git a/home/desktop-slim/foot.nix b/home/desktop-slim/foot.nix new file mode 100644 index 0000000..596be0b --- /dev/null +++ b/home/desktop-slim/foot.nix @@ -0,0 +1,11 @@ +{ config, ... }: + +{ + programs.foot = { + enable = true; + }; + xdg.configFile."foot" = { + recursive = true; + source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/dotfiles/foot"; + }; +} diff --git a/home/modules/gpg.nix b/home/desktop-slim/gpg.nix similarity index 100% rename from home/modules/gpg.nix rename to home/desktop-slim/gpg.nix diff --git a/home/modules/media.nix b/home/desktop-slim/media.nix similarity index 100% rename from home/modules/media.nix rename to home/desktop-slim/media.nix diff --git a/home/desktop-slim/niri.nix b/home/desktop-slim/niri.nix new file mode 100644 index 0000000..00e25cd --- /dev/null +++ b/home/desktop-slim/niri.nix @@ -0,0 +1,22 @@ +{ pkgs, config, ... }: + +{ + services.swayidle.enable = true; + services.polkit-gnome.enable = true; + + home.packages = with pkgs; [ + dgop + dsearch + wl-mirror + xwayland-satellite + adw-gtk3 + ]; + + xdg.configFile = { + "niri/config.kdl".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/dotfiles/niri/config.kdl"; + "niri/dms" = { + source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/dotfiles/niri/dms"; + recursive = true; + }; + }; +} diff --git a/home/modules/password-store.nix b/home/desktop-slim/password-store.nix similarity index 100% rename from home/modules/password-store.nix rename to home/desktop-slim/password-store.nix diff --git a/home/modules/user-dirs.nix b/home/desktop-slim/user-dirs.nix similarity index 94% rename from home/modules/user-dirs.nix rename to home/desktop-slim/user-dirs.nix index 4a04c28..5daba7f 100644 --- a/home/modules/user-dirs.nix +++ b/home/desktop-slim/user-dirs.nix @@ -4,6 +4,7 @@ xdg.userDirs = { enable = true; createDirectories = true; + setSessionVariables = false; desktop = "${config.home.homeDirectory}/desktop"; documents = "${config.home.homeDirectory}/misc"; download = "${config.home.homeDirectory}/tmp"; diff --git a/home/dotfiles/foot/foot.ini b/home/dotfiles/foot/foot.ini deleted file mode 100644 index 3524125..0000000 --- a/home/dotfiles/foot/foot.ini +++ /dev/null @@ -1,39 +0,0 @@ -[colors-light] -alpha=1.0 -background=eeeeee -bright0=585858 -bright1=d70000 -bright2=5faf5f -bright3=ffaf00 -bright4=0087af -bright5=ff5faf -bright6=00afaf -bright7=bcbcbc -cursor=eeeeee 1c1c1c -foreground=1c1c1c -regular0=1c1c1c -regular1=af0000 -regular2=008700 -regular3=d75f00 -regular4=005faf -regular5=d70087 -regular6=005f87 -regular7=ffffff - -[csd] -size=0 - -[cursor] -blink=true -style=beam - -[key-bindings] -show-urls-copy=Control+Shift+y -show-urls-launch=Control+Shift+g - -[main] -font=JetBrains Mono:size=12 -pad=15x15 - -[mouse] -hide-when-typing=yes diff --git a/home/dotfiles/polybar/config.ini b/home/dotfiles/polybar/config.ini deleted file mode 100644 index 0c89cda..0000000 --- a/home/dotfiles/polybar/config.ini +++ /dev/null @@ -1,186 +0,0 @@ -;========================================================== -; -; -; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ -; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ -; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ -; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ -; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ -; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ -; -; -; To learn more about how to configure Polybar -; go to https://github.com/polybar/polybar -; -; The README contains a lot of information -; -;========================================================== - -[colors] -background = #282A2E -background-alt = #373B41 -foreground = #C5C8C6 -primary = #F0C674 -secondary = #8ABEB7 -alert = #A54242 -disabled = #707880 - -[bar/example] -width = 100% -height = 35pt -radius = 0 - -offset-x = 0 - -; dpi = 96 - -background = ${colors.background} -foreground = ${colors.foreground} - -line-size = 3pt - -border-size = 4pt -border-color = #00000000 - -padding-left = 0 -padding-right = 1 - -module-margin = 1 - -separator = | -separator-foreground = ${colors.disabled} - -font-0 = monospace;2 - -modules-left = xworkspaces xwindow -modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth date - -cursor-click = pointer -cursor-scroll = ns-resize - -enable-ipc = true - -; wm-restack = generic -; wm-restack = bspwm -; wm-restack = i3 - -override-redirect = false - -; This module is not active by default (to enable it, add it to one of the -; modules-* list above). -; Please note that only a single tray can exist at any time. If you launch -; multiple bars with this module, only a single one will show it, the others -; will produce a warning. Which bar gets the module is timing dependent and can -; be quite random. -; For more information, see the documentation page for this module: -; https://polybar.readthedocs.io/en/stable/user/modules/tray.html -[module/systray] -type = internal/tray - -format-margin = 8pt -tray-spacing = 16pt - -[module/xworkspaces] -type = internal/xworkspaces - -label-active = %name% -label-active-background = ${colors.background-alt} -label-active-underline= ${colors.primary} -label-active-padding = 1 - -label-occupied = %name% -label-occupied-padding = 1 - -label-urgent = %name% -label-urgent-background = ${colors.alert} -label-urgent-padding = 1 - -label-empty = %name% -label-empty-foreground = ${colors.disabled} -label-empty-padding = 1 - -[module/xwindow] -type = internal/xwindow -label = %title:0:60:...% - -[module/filesystem] -type = internal/fs -interval = 25 - -mount-0 = / - -label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%% - -label-unmounted = %mountpoint% not mounted -label-unmounted-foreground = ${colors.disabled} - -[module/pulseaudio] -type = internal/pulseaudio - -format-volume-prefix = "VOL " -format-volume-prefix-foreground = ${colors.primary} -format-volume = - -label-volume = %percentage%% - -label-muted = muted -label-muted-foreground = ${colors.disabled} - -[module/xkeyboard] -type = internal/xkeyboard -blacklist-0 = num lock - -label-layout = %layout% -label-layout-foreground = ${colors.primary} - -label-indicator-padding = 2 -label-indicator-margin = 1 -label-indicator-foreground = ${colors.background} -label-indicator-background = ${colors.secondary} - -[module/memory] -type = internal/memory -interval = 2 -format-prefix = "RAM " -format-prefix-foreground = ${colors.primary} -label = %percentage_used:2%% - -[module/cpu] -type = internal/cpu -interval = 2 -format-prefix = "CPU " -format-prefix-foreground = ${colors.primary} -label = %percentage:2%% - -[network-base] -type = internal/network -interval = 5 -format-connected = -format-disconnected = -label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected - -[module/wlan] -inherit = network-base -interface-type = wireless -label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip% - -[module/eth] -inherit = network-base -interface-type = wired -label-connected = %{F#F0C674}%ifname%%{F-} %local_ip% - -[module/date] -type = internal/date -interval = 1 - -date = %H:%M -date-alt = %Y-%m-%d %H:%M:%S - -label = %date% -label-foreground = ${colors.primary} - -[settings] -screenchange-reload = true -pseudo-transparency = true - -; vim:ft=dosini diff --git a/home/dotfiles/waybar/config.jsonc b/home/dotfiles/waybar/config.jsonc deleted file mode 100644 index a330204..0000000 --- a/home/dotfiles/waybar/config.jsonc +++ /dev/null @@ -1,219 +0,0 @@ -// -*- mode: jsonc -*- -{ - // "layer": "top", // Waybar at top layer - // "position": "bottom", // Waybar position (top|bottom|left|right) - "height": 20, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width - "spacing": 2, // Gaps between modules (4px) - // Choose the order of the modules - "modules-left": [ - "sway/workspaces", - "sway/mode", - "sway/scratchpad", - "custom/media" - ], - "modules-center": [ - "sway/window" - ], - "modules-right": [ - "mpd", - "idle_inhibitor", - "pulseaudio", - "network", - "power-profiles-daemon", - "cpu", - "memory", - "temperature", - "backlight", - "keyboard-state", - "sway/language", - "battery", - "battery#bat2", - "clock", - "tray", - "custom/power" - ], - // Modules configuration - // "sway/workspaces": { - // "disable-scroll": true, - // "all-outputs": true, - // "warp-on-scroll": false, - // "format": "{name}: {icon}", - // "format-icons": { - // "1": "", - // "2": "", - // "3": "", - // "4": "", - // "5": "", - // "urgent": "", - // "focused": "", - // "default": "" - // } - // }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": "{name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - "sway/mode": { - "format": "{}" - }, - "sway/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", ""], - "tooltip": true, - "tooltip-format": "{app}: {title}" - }, - "mpd": { - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", - "format-disconnected": "Disconnected ", - "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", - "unknown-tag": "N/A", - "interval": 5, - "consume-icons": { - "on": " " - }, - "random-icons": { - "off": " ", - "on": " " - }, - "repeat-icons": { - "on": " " - }, - "single-icons": { - "on": "1 " - }, - "state-icons": { - "paused": "", - "playing": "" - }, - "tooltip-format": "MPD (connected)", - "tooltip-format-disconnected": "MPD (disconnected)" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, - "tray": { - // "icon-size": 21, - "spacing": 10, - // "icons": { - // "blueman": "bluetooth", - // "TelegramDesktop": "$HOME/.local/share/icons/hicolor/16x16/apps/telegram.png" - // } - }, - "clock": { - // "timezone": "America/New_York", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "temperature": { - // "thermal-zone": 2, - // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - // "format-critical": "{temperatureC}°C {icon}", - "format": "{temperatureC}°C {icon}", - "format-icons": ["󰉬", "", "󰉪"] - }, - "backlight": { - // "device": "acpi_video1", - "format": "{percent}% {icon}", - "format-icons": ["", "", "", "", "", "", "", "", ""] - }, - "battery": { - "states": { - // "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{capacity}% {icon}", - "format-full": "{capacity}% {icon}", - "format-charging": "{capacity}% 󰃨", - "format-plugged": "{capacity}% ", - "format-alt": "{time} {icon}", - // "format-good": "", // An empty format will hide the module - // "format-full": "", - "format-icons": ["", "", "", "", ""] - }, - "battery#bat2": { - "bat": "BAT2" - }, - "power-profiles-daemon": { - "format": "{icon}", - "tooltip-format": "Power profile: {profile}\nDriver: {driver}", - "tooltip": true, - "format-icons": { - "default": "", - "performance": "", - "balanced": "", - "power-saver": "" - } - }, - "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} 󰊗", - "tooltip-format": "{ifname} via {gwaddr} 󰊗", - "format-linked": "{ifname} (No IP) 󰊗", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - "pulseaudio": { - // "scroll-step": 1, // %, can be a float - "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": "󰅶 {icon} {format_source}", - "format-muted": "󰅶 {format_source}", - "format-source": "{volume}% ", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "󰂑", - "headset": "󰂑", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol" - }, - "custom/media": { - "format": "{icon} {text}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "🎜" - }, - "escape": true, - "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder - // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name - }, - "custom/power": { - "format" : "⏻ ", - "tooltip": false, - "menu": "on-click", - "menu-file": "$HOME/.config/waybar/power_menu.xml", // Menu file in resources folder - "menu-actions": { - "shutdown": "shutdown", - "reboot": "reboot", - "suspend": "systemctl suspend", - "hibernate": "systemctl hibernate" - } - } -} diff --git a/home/minimal.nix b/home/minimal/default.nix similarity index 58% rename from home/minimal.nix rename to home/minimal/default.nix index 0f9547a..97340c3 100644 --- a/home/minimal.nix +++ b/home/minimal/default.nix @@ -6,11 +6,11 @@ home.homeDirectory = "/home/${config.home.username}"; imports = [ - ./modules/fish.nix - ./modules/vifm.nix - ./modules/nvim - ./modules/tmux.nix - ./modules/git.nix + ./fish.nix + ./vifm.nix + ./nvim + ./tmux.nix + ./git.nix ]; home.packages = with pkgs; [ @@ -30,13 +30,13 @@ ]; home.shellAliases = { - cdg = "cd \$(git rev-parse --show-toplevel)"; - dmy = "date +'%-d.-%-m.%Y'"; - du = "dust"; - ls = "eza"; - tree = "eza --tree"; - top = "btm --battery"; - ymd = "date +'%Y-%m-%d'"; + cdg = "cd \$(git rev-parse --show-toplevel)"; + dmy = "date +'%-d.-%-m.%Y'"; + du = "dust"; + ls = "eza"; + tree = "eza --tree"; + top = "btm --battery"; + ymd = "date +'%Y-%m-%d'"; }; programs.nix-index = { @@ -46,7 +46,6 @@ programs.bottom = { enable = true; - # settings.styles.theme = "default-light"; }; home.stateVersion = "22.11"; diff --git a/home/modules/fish.nix b/home/minimal/fish.nix similarity index 100% rename from home/modules/fish.nix rename to home/minimal/fish.nix diff --git a/home/modules/git.nix b/home/minimal/git.nix similarity index 84% rename from home/modules/git.nix rename to home/minimal/git.nix index 4119ab0..6672801 100644 --- a/home/modules/git.nix +++ b/home/minimal/git.nix @@ -3,6 +3,7 @@ { programs.git = { enable = true; + signing.format = "openpgp"; settings = { pull.rebase = true; extraConfig.init.defaultBranch = "main"; diff --git a/home/modules/nvim/config.vim b/home/minimal/nvim/config.vim similarity index 93% rename from home/modules/nvim/config.vim rename to home/minimal/nvim/config.vim index 94efc9a..57ae46f 100644 --- a/home/modules/nvim/config.vim +++ b/home/minimal/nvim/config.vim @@ -31,6 +31,9 @@ let g:netrw_fastbrowse = 0 nnoremap Y y$ +nnoremap cd :lcd %:h +nnoremap ew :e =expand("%:p:h") . "/" + nnoremap gF :edit nnoremap gx :! xdg-open diff --git a/home/modules/nvim/default.nix b/home/minimal/nvim/default.nix similarity index 91% rename from home/modules/nvim/default.nix rename to home/minimal/nvim/default.nix index 9dbeba5..1a23c4e 100644 --- a/home/modules/nvim/default.nix +++ b/home/minimal/nvim/default.nix @@ -69,6 +69,7 @@ { plugin = goyo-vim; + type = "viml"; config = '' nnoremap yog :Goyo nnoremap [og :Goyo 80 @@ -77,6 +78,7 @@ } { plugin = limelight-vim; + type = "viml"; config = '' set termguicolors let g:limelight_conceal_ctermfg = 'darkgray' @@ -97,6 +99,7 @@ { plugin = nvim-colorizer-lua; + type = "viml"; config = "lua require 'colorizer'.setup()"; } @@ -135,20 +138,22 @@ ''; } - { - plugin = catppuccin-nvim; - config = '' - colorscheme catppuccin-nvim - ''; - } - # { - # plugin = papercolor-theme; + # plugin = catppuccin-nvim; + # type = "viml"; # config = '' - # colorscheme PaperColor + # colorscheme catppuccin-nvim # ''; # } + { + plugin = papercolor-theme; + type = "viml"; + config = '' + colorscheme PaperColor + ''; + } + quarto-nvim typescript-vim @@ -164,6 +169,7 @@ { plugin = vim-astro; + type = "viml"; config = '' let g:astro_typescript = 'enable' ''; @@ -173,30 +179,29 @@ { plugin = vim-easy-align; + type = "viml"; config = '' xmap ga (EasyAlign) nmap ga (EasyAlign) ''; } - { - plugin = vim-fish; - } - + vim-fish vim-nix - { - plugin = vim-pandoc; - config = '' - let g:pandoc#modules#disabled = ["completion", "command", "menu"] - ''; - } + # { + # plugin = vim-pandoc; + # config = '' + # let g:pandoc#modules#disabled = ["completion", "command", "menu"] + # ''; + # } vim-pandoc-syntax vim-repeat { plugin = vim-slime; + type = "viml"; config = '' let g:slime_target = "tmux" let g:slime_default_config = {"socket_name": get(split($TMUX, ","), 0), "target_pane": ":.2"} @@ -215,6 +220,7 @@ { plugin = vim-unimpaired; + type = "viml"; config = '' nnoremap =p nnoremap =P @@ -224,6 +230,7 @@ { plugin = vimwiki; + type = "viml"; config = '' let g:vimwiki_list = [ { 'path': '~/notes/', 'syntax': 'markdown', 'ext': '.md' } ] nnoremap wt @@ -234,6 +241,9 @@ ''; } ]; + + withRuby = false; + withPython3 = true; }; xdg.configFile."nvim" = { diff --git a/home/modules/nvim/dotfiles/after/ftplugin/markdown.vim b/home/minimal/nvim/dotfiles/after/ftplugin/markdown.vim similarity index 100% rename from home/modules/nvim/dotfiles/after/ftplugin/markdown.vim rename to home/minimal/nvim/dotfiles/after/ftplugin/markdown.vim diff --git a/home/modules/nvim/dotfiles/autocommands.vim b/home/minimal/nvim/dotfiles/autocommands.vim similarity index 100% rename from home/modules/nvim/dotfiles/autocommands.vim rename to home/minimal/nvim/dotfiles/autocommands.vim diff --git a/home/modules/nvim/dotfiles/ftplugin/markdown.vim b/home/minimal/nvim/dotfiles/ftplugin/markdown.vim similarity index 100% rename from home/modules/nvim/dotfiles/ftplugin/markdown.vim rename to home/minimal/nvim/dotfiles/ftplugin/markdown.vim diff --git a/home/modules/nvim/dotfiles/ftplugin/nix.vim b/home/minimal/nvim/dotfiles/ftplugin/nix.vim similarity index 100% rename from home/modules/nvim/dotfiles/ftplugin/nix.vim rename to home/minimal/nvim/dotfiles/ftplugin/nix.vim diff --git a/home/modules/nvim/dotfiles/ftplugin/r.vim b/home/minimal/nvim/dotfiles/ftplugin/r.vim similarity index 100% rename from home/modules/nvim/dotfiles/ftplugin/r.vim rename to home/minimal/nvim/dotfiles/ftplugin/r.vim diff --git a/home/modules/nvim/dotfiles/ftplugin/rmd.vim b/home/minimal/nvim/dotfiles/ftplugin/rmd.vim similarity index 100% rename from home/modules/nvim/dotfiles/ftplugin/rmd.vim rename to home/minimal/nvim/dotfiles/ftplugin/rmd.vim diff --git a/home/modules/nvim/dotfiles/ftplugin/tex.vim b/home/minimal/nvim/dotfiles/ftplugin/tex.vim similarity index 100% rename from home/modules/nvim/dotfiles/ftplugin/tex.vim rename to home/minimal/nvim/dotfiles/ftplugin/tex.vim diff --git a/home/modules/nvim/dotfiles/ftplugin/typescript.vim b/home/minimal/nvim/dotfiles/ftplugin/typescript.vim similarity index 100% rename from home/modules/nvim/dotfiles/ftplugin/typescript.vim rename to home/minimal/nvim/dotfiles/ftplugin/typescript.vim diff --git a/home/modules/nvim/dotfiles/syntax/rmd.vim b/home/minimal/nvim/dotfiles/syntax/rmd.vim similarity index 100% rename from home/modules/nvim/dotfiles/syntax/rmd.vim rename to home/minimal/nvim/dotfiles/syntax/rmd.vim diff --git a/home/modules/nvim/lsp.lua b/home/minimal/nvim/lsp.lua similarity index 100% rename from home/modules/nvim/lsp.lua rename to home/minimal/nvim/lsp.lua diff --git a/home/modules/nvim/nvim-cmp.lua b/home/minimal/nvim/nvim-cmp.lua similarity index 100% rename from home/modules/nvim/nvim-cmp.lua rename to home/minimal/nvim/nvim-cmp.lua diff --git a/home/minimal/tmux.nix b/home/minimal/tmux.nix new file mode 100644 index 0000000..7049270 --- /dev/null +++ b/home/minimal/tmux.nix @@ -0,0 +1,16 @@ +{ pkgs, config, ... }: + +{ + programs.tmux = { + enable = true; + escapeTime = 0; + mouse = true; + newSession = true; + shell = "${pkgs.fish}/bin/fish"; + }; + + xdg.configFile."tmux" = { + source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/dotfiles/tmux"; + recursive = true; + }; +} diff --git a/home/minimal/vifm.nix b/home/minimal/vifm.nix new file mode 100644 index 0000000..900cf0e --- /dev/null +++ b/home/minimal/vifm.nix @@ -0,0 +1,12 @@ +{ config, pkgs, ... }: + +{ + programs.vifm = { + enable = true; + extraConfig = " + set vicmd=nvim + filetype * xdg-open + colorscheme Default + "; + }; +} diff --git a/home/modules/devel.nix b/home/modules/devel.nix deleted file mode 100644 index 27817b2..0000000 --- a/home/modules/devel.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ config, pkgs, ... }: - -{ - home.file.".npmrc".text = '' - prefix = ${config.xdg.dataHome}/npm/packages - ''; - - home.packages = with pkgs; [ - nodejs - ]; - - programs.direnv.enable = true; -} diff --git a/home/modules/foot.nix b/home/modules/foot.nix deleted file mode 100644 index 4e54a1f..0000000 --- a/home/modules/foot.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ config, pkgs, lib, ... }: - -{ - programs.foot = { - enable = true; - }; - xdg.configFile."foot/foot.ini".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/home/dotfiles/foot/foot.ini"; -} diff --git a/home/modules/niri.nix b/home/modules/niri.nix deleted file mode 100644 index 9cc652e..0000000 --- a/home/modules/niri.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ pkgs, config, ... }: - -{ - services.swayidle.enable = true; # idle management daemon - services.polkit-gnome.enable = true; # polkit - - home.packages = with pkgs; [ - wl-mirror - xwayland-satellite - ]; - - programs.ghostty.enable = true; - - # xdg.configFile."polybar/config.ini".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/home/dotfiles/polybar/config.ini"; -} diff --git a/home/modules/tmux.nix b/home/modules/tmux.nix deleted file mode 100644 index 5c54bc3..0000000 --- a/home/modules/tmux.nix +++ /dev/null @@ -1,61 +0,0 @@ -{ pkgs, ... }: - -{ - programs.tmux = { - enable = true; - escapeTime = 0; - mouse = true; - newSession = true; - shell = "${pkgs.fish}/bin/fish"; - extraConfig = '' - # Key bindings - bind C-l next-window - bind C-h previous-window - bind C-b last-window - bind n new-window - bind C-n new-window -c '#{pane_current_path}' - bind v split-window -h - bind C-v split-window -hc '#{pane_current_path}' - bind s split-window -v - bind C-s split-window -vc '#{pane_current_path}' - bind h select-pane -L - bind j select-pane -D - bind k select-pane -U - bind l select-pane -R - bind -r H resize-pane -L 5 - bind -r J resize-pane -D 5 - bind -r K resize-pane -U 5 - bind -r L resize-pane -R 5 - bind c command-prompt -I "#{b:pane_current_path}" "rename-window '%%'" - bind C-c command-prompt -I "#{b:pane_current_path}" "rename-window '%%'" - - # Layouts - bind f new-window -c '#{pane_current_path}' vifm - bind R source ${ pkgs.writeText "tmux-rloft" '' - split-window -c '#{pane_current_path}' -h R -q --no-save --no-restore; - select-pane -l - ''} - - # Unbind - unbind p - unbind '"' - unbind % - - # Eye candy - set-option -g status-right "" - set-option -g status-left "" - set-option -g status-justify "centre" - set-option -g status-style fg=magenta - set-option -g pane-border-style fg=brightwhite - set-option -g pane-active-border-style fg=magenta - set-option -g window-status-current-style bg=brightwhite - - # Some more specifics - set-option -g focus-events on - set -g base-index 1 - setw -g pane-base-index 1 - set -g default-terminal "tmux-256color" - set -as terminal-features ",xterm-256color:RGB" - ''; - }; -} diff --git a/home/modules/vifm.nix b/home/modules/vifm.nix deleted file mode 100644 index d68ebbd..0000000 --- a/home/modules/vifm.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ config, pkgs, ... }: - -{ - programs.vifm = { - enable = true; - extraConfig = " - colorscheme light - set vicmd=nvim - filetype * xdg-open - "; - }; - xdg.configFile."vifm/colors/light.vifm".text = '' - highlight clear - highlight Win cterm=none ctermfg=black ctermbg=default - highlight Directory cterm=none ctermfg=cyan ctermbg=default - highlight Link cterm=none ctermfg=yellow ctermbg=default - highlight BrokenLink cterm=none ctermfg=white ctermbg=red - highlight Socket cterm=none ctermfg=red ctermbg=default - highlight Device cterm=none ctermfg=red ctermbg=default - highlight Fifo cterm=none ctermfg=black ctermbg=cyan - highlight Executable cterm=none ctermfg=green ctermbg=default - highlight Selected cterm=bold ctermfg=magenta ctermbg=default - highlight CurrLine cterm=bold ctermfg=white ctermbg=magenta - highlight TopLine cterm=bold ctermfg=magenta ctermbg=default - highlight TopLineSel cterm=bold ctermfg=magenta ctermbg=white - highlight StatusLine cterm=bold ctermfg=magenta ctermbg=white - highlight CmdLine cterm=bold ctermfg=magenta ctermbg=default - highlight Border cterm=none ctermfg=default ctermbg=default - ''; -} diff --git a/home/modules/gnome.nix b/home/unused/gnome.nix similarity index 100% rename from home/modules/gnome.nix rename to home/unused/gnome.nix diff --git a/home/modules/hyprland.nix b/home/unused/hyprland.nix similarity index 100% rename from home/modules/hyprland.nix rename to home/unused/hyprland.nix diff --git a/home/modules/plasma.nix b/home/unused/plasma.nix similarity index 100% rename from home/modules/plasma.nix rename to home/unused/plasma.nix diff --git a/hosts/arielle/hardware-configuration.nix b/hosts/arielle/hardware-configuration.nix index 7d2b330..ff69e44 100644 --- a/hosts/arielle/hardware-configuration.nix +++ b/hosts/arielle/hardware-configuration.nix @@ -23,6 +23,5 @@ ]; networking.useDHCP = lib.mkDefault true; - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; } diff --git a/hosts/homer/default.nix b/hosts/homer/default.nix index 1f81a32..bdb97b8 100644 --- a/hosts/homer/default.nix +++ b/hosts/homer/default.nix @@ -4,7 +4,7 @@ networking.hostName = "homer"; imports = [ - ./hardware.nix + ./hardware-configuration.nix ../../system ../../system/desktop ../../system/desktop/gnome.nix diff --git a/hosts/homer/hardware.nix b/hosts/homer/hardware-configuration.nix similarity index 100% rename from hosts/homer/hardware.nix rename to hosts/homer/hardware-configuration.nix diff --git a/hosts/nova/default.nix b/hosts/nova/default.nix index 8afaee2..0388077 100644 --- a/hosts/nova/default.nix +++ b/hosts/nova/default.nix @@ -7,11 +7,11 @@ ./hardware-configuration.nix ../../users/alt/system.nix ../../users/guest/system.nix + ../../system ../../system/desktop + ../../system/desktop/laptop.nix ../../system/desktop/ergodox-udev.nix - # ../../system/desktop/gnome.nix - ../../system/desktop/cosmic.nix ../../system/desktop/niri.nix ../../system/desktop/steam.nix ../../system/desktop/yubikey-pam.nix @@ -49,7 +49,7 @@ ]; networking.useDHCP = lib.mkDefault true; - powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; + # powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand"; hardware.trackpoint.enable = true; } diff --git a/system/desktop/btrbk.nix b/system/desktop/btrbk.nix index 04f893a..cb797f4 100644 --- a/system/desktop/btrbk.nix +++ b/system/desktop/btrbk.nix @@ -2,7 +2,7 @@ { services.btrbk.instances.btrbk = { - onCalendar = "hourly"; + # onCalendar = "hourly"; settings = { subvolume = "/home"; snapshot_preserve = "40d"; diff --git a/system/desktop/default.nix b/system/desktop/default.nix index b88c446..7411c8a 100644 --- a/system/desktop/default.nix +++ b/system/desktop/default.nix @@ -6,6 +6,8 @@ ./btrbk.nix ]; + hardware.bluetooth.enable = true; + networking.networkmanager = { enable = true; plugins = with pkgs; [ networkmanager-openvpn ]; @@ -53,6 +55,9 @@ programs.gnupg.agent = { enable = true; pinentryPackage = pkgs.pinentry-all; - # pinentry.program = "pinentry"; + settings = { + default-cache-ttl = 34560000; + max-cache-ttl = 34560000; + }; }; } diff --git a/system/desktop/laptop.nix b/system/desktop/laptop.nix new file mode 100644 index 0000000..1485b5b --- /dev/null +++ b/system/desktop/laptop.nix @@ -0,0 +1,24 @@ +{ lib, ... }: + +{ + services.thermald.enable = true; + services.power-profiles-daemon.enable = lib.mkForce false; + + services.auto-cpufreq.enable = true; + services.auto-cpufreq.settings = { + battery = { + governor = "powersave"; + energy_performance_preference = "power"; + turbo = "never"; + ideapad_laptop_conservation_mode = true; + # enable_thresholds = true; + # start_threshold = 20; + # stop_threshold = 80; + }; + charger = { + governor = "performance"; + energy_performance_preference = "performance"; + turbo = "auto"; + }; + }; +} diff --git a/system/desktop/niri.nix b/system/desktop/niri.nix index f2e6623..e3cfca7 100644 --- a/system/desktop/niri.nix +++ b/system/desktop/niri.nix @@ -1,12 +1,39 @@ -{ lib, ... }: +{ lib, pkgs, inputs, ... }: { programs.niri.enable = true; - programs.dms-shell.enable = true; - services.gnome.gnome-keyring.enable = lib.mkForce false; - programs.nm-applet.enable = false; - # programs.firefox.preferences = { - # "widget.gtk.libadwaita-colors.enabled" = false; - # }; + programs.dms-shell = { + enable = true; + systemd.enable = true; + quickshell.package = inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.quickshell; + enableSystemMonitoring = false; + }; + + services.displayManager.dms-greeter = { + enable = true; + compositor.name = "niri"; + configHome = "/home/till"; + }; + + services.gnome.gnome-keyring.enable = lib.mkForce false; + programs.nm-applet.enable = lib.mkForce false; + + environment.systemPackages = with pkgs; [ + nirius + papirus-icon-theme + phinger-cursors + ]; + + systemd.user.services."niriusd" = { + enable = true; + wantedBy = [ "niri.service" ]; + after = [ "niri.service" ]; + description = "Nirius daemon"; + serviceConfig = { + ExecStart = "${pkgs.nirius}/bin/niriusd"; + }; + }; + + services.upower.enable = true; } diff --git a/system/desktop/yubikey-pam.nix b/system/desktop/yubikey-pam.nix index 3544d2d..a16409e 100644 --- a/system/desktop/yubikey-pam.nix +++ b/system/desktop/yubikey-pam.nix @@ -11,18 +11,18 @@ services.udev = { packages = [ pkgs.yubikey-personalization ]; - # extraRules = '' - # ACTION=="remove",\ - # ENV{ID_BUS}=="usb",\ - # ENV{ID_MODEL_ID}=="0407",\ - # ENV{ID_VENDOR_ID}=="1050",\ - # ENV{ID_VENDOR}=="Yubico",\ - # RUN+="${pkgs.systemd}/bin/loginctl lock-sessions" - # ''; + extraRules = '' + ACTION=="remove",\ + ENV{ID_BUS}=="usb",\ + ENV{ID_MODEL_ID}=="0407",\ + ENV{ID_VENDOR_ID}=="1050",\ + ENV{ID_VENDOR}=="Yubico",\ + RUN+="${pkgs.systemd}/bin/loginctl lock-sessions" + ''; }; - # security.pam.services = { - # login.u2fAuth = true; - # sudo.u2fAuth = true; - # }; + security.pam.services = { + login.u2fAuth = true; + sudo.u2fAuth = true; + }; }