diff --git a/home/dotfiles/foot/catppuccin-frappe.ini b/dotfiles/foot/catppuccin-frappe.ini similarity index 100% rename from home/dotfiles/foot/catppuccin-frappe.ini rename to dotfiles/foot/catppuccin-frappe.ini diff --git a/home/dotfiles/foot/catppuccin-latte.ini b/dotfiles/foot/catppuccin-latte.ini similarity index 100% rename from home/dotfiles/foot/catppuccin-latte.ini rename to dotfiles/foot/catppuccin-latte.ini diff --git a/home/dotfiles/foot/catppuccin-macchiato.ini b/dotfiles/foot/catppuccin-macchiato.ini similarity index 100% rename from home/dotfiles/foot/catppuccin-macchiato.ini rename to dotfiles/foot/catppuccin-macchiato.ini diff --git a/home/dotfiles/foot/catppuccin-mocha.ini b/dotfiles/foot/catppuccin-mocha.ini similarity index 100% rename from home/dotfiles/foot/catppuccin-mocha.ini rename to dotfiles/foot/catppuccin-mocha.ini diff --git a/dotfiles/foot/dank-colors.ini b/dotfiles/foot/dank-colors.ini new file mode 100644 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/home/dotfiles/foot/foot.ini b/dotfiles/foot/foot.ini similarity index 64% rename from home/dotfiles/foot/foot.ini rename to dotfiles/foot/foot.ini index 70aad4a..d204548 100644 --- a/home/dotfiles/foot/foot.ini +++ b/dotfiles/foot/foot.ini @@ -1,9 +1,8 @@ [main] font=JetBrains Mono:size=12 pad=15x15 -include=~/.config/foot/catppuccin-mocha.ini -include=~/.config/foot/catppuccin-latte.ini -# include=~/.config/foot/dank-colors.ini +include=~/.config/foot/paper-color.ini +include=~/.config/foot/matugen.ini [csd] size=0 diff --git a/dotfiles/foot/matugen.ini b/dotfiles/foot/matugen.ini new file mode 100644 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 100644 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 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 similarity index 100% rename from home/dotfiles/neomutt/colors.neomuttrc rename to dotfiles/neomutt/colors.neomuttrc diff --git a/home/dotfiles/neomutt/config.neomuttrc b/dotfiles/neomutt/config.neomuttrc 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 100644 index 0000000..f756013 --- /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 100644 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 100644 index 0000000..2cc1fe3 --- /dev/null +++ b/dotfiles/niri/dms/binds.kdl @@ -0,0 +1,233 @@ +binds { + + // === System & Overview === + Mod+Space repeat=false { toggle-overview; } + Mod+Shift+Slash { show-hotkey-overlay; } + + // === Application Launchers === + Mod+Return hotkey-overlay-title="Open Terminal" { + spawn "foot"; + } + + Mod+B hotkey-overlay-title="Open Browser" { + spawn "nirius" "focus-or-spawn" "-a" "^firefox$" "firefox"; + } + + Mod+M hotkey-overlay-title="Open Mail" { + spawn "nirius" "focus-or-spawn" "-t" "^neomutt" "foot" "--" "-e" "neomutt"; + } + + Mod+F hotkey-overlay-title="Open Files" { + spawn "nirius" "focus-or-spawn" "-t" "^vifm" "foot" "--" "-e" "vifm"; + } + + 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"; + } + + Super+X hotkey-overlay-title="Power Menu: Toggle" { + spawn "dms" "ipc" "call" "powermenu" "toggle"; + } + + Mod+Comma hotkey-overlay-title="Settings" { + spawn "dms" "ipc" "call" "settings" "focusOrToggle"; + } + + Mod+Y hotkey-overlay-title="Browse Wallpapers" { + spawn "dms" "ipc" "call" "dankdash" "wallpaper"; + } + + Mod+O hotkey-overlay-title="Show dash overview" { + spawn "dms" "ipc" "call" "dash" "toggle" ""; + } + + Mod+W hotkey-overlay-title="Show dash weather" { + spawn "dms" "ipc" "call" "dash" "toggle" "weather"; + } + + Mod+P hotkey-overlay-title="Show dash music" { + spawn "dms" "ipc" "call" "dash" "toggle" "media"; + } + + Mod+N hotkey-overlay-title="Notification Center" { spawn "dms" "ipc" "call" "notifications" "toggle"; } + + // Mod+Shift+N hotkey-overlay-title="Notepad" { spawn "dms" "ipc" "call" "notepad" "toggle"; } + + // === Security === + Mod+Backspace hotkey-overlay-title="Lock Screen" { + spawn "dms" "ipc" "call" "lock" "lock"; + } + + Mod+Shift+Q { + quit; + } + + Ctrl+Alt+Delete hotkey-overlay-title="Task Manager" { + spawn "dms" "ipc" "call" "processlist" "focusOrToggle"; + } + + // === Audio Controls === + XF86AudioRaiseVolume allow-when-locked=true { + spawn "dms" "ipc" "call" "audio" "increment" "3"; + } + XF86AudioLowerVolume allow-when-locked=true { + spawn "dms" "ipc" "call" "audio" "decrement" "3"; + } + XF86AudioMute allow-when-locked=true { + spawn "dms" "ipc" "call" "audio" "mute"; + } + XF86AudioMicMute allow-when-locked=true { + spawn "dms" "ipc" "call" "audio" "micmute"; + } + 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"; + } + XF86AudioNext allow-when-locked=true { + spawn "dms" "ipc" "call" "mpris" "next"; + } + Ctrl+XF86AudioRaiseVolume allow-when-locked=true { + spawn "dms" "ipc" "call" "mpris" "increment" "3"; + } + Ctrl+XF86AudioLowerVolume allow-when-locked=true { + spawn "dms" "ipc" "call" "mpris" "decrement" "3"; + } + + // === Brightness Controls === + XF86MonBrightnessUp allow-when-locked=true { + spawn "dms" "ipc" "call" "brightness" "increment" "5" ""; + } + XF86MonBrightnessDown allow-when-locked=true { + spawn "dms" "ipc" "call" "brightness" "decrement" "5" ""; + } + + // === Focus Navigation === + Mod+H { focus-column-left; } + Mod+L { focus-column-right; } + Mod+J { focus-window-or-workspace-down; } + Mod+K { focus-window-or-workspace-up; } + + // === Window Movement === + Mod+Shift+H { move-column-left; } + Mod+Shift+L { move-column-right; } + Mod+Shift+J { move-window-down-or-to-workspace-down; } + Mod+Shift+K { move-window-up-or-to-workspace-up; } + + // === Column Navigation === + Mod+Home { focus-column-first; } + Mod+End { focus-column-last; } + Mod+Ctrl+Home { move-column-to-first; } + Mod+Ctrl+End { move-column-to-last; } + + // === Monitor Navigation === + Mod+Ctrl+H { focus-monitor-left; } + Mod+Ctrl+J { focus-monitor-down; } + Mod+Ctrl+K { focus-monitor-up; } + Mod+Ctrl+L { focus-monitor-right; } + + // === Move to Monitor === + 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; } + + // === Workspace Navigation === + Mod+D { focus-workspace-down; } + Mod+U { focus-workspace-up; } + + // === Workspace Management === + Mod+Ctrl+R hotkey-overlay-title="Rename Workspace" { + spawn "dms" "ipc" "call" "workspace-rename" "open"; + } + + // === Move Workspaces === + Mod+Shift+D { move-workspace-down; } + Mod+Shift+U { move-workspace-up; } + + // === Mouse Wheel Navigation === + Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } + + Mod+WheelScrollRight { focus-column-right; } + Mod+WheelScrollLeft { focus-column-left; } + Mod+Ctrl+WheelScrollRight { move-column-right; } + Mod+Ctrl+WheelScrollLeft { move-column-left; } + + Mod+Shift+WheelScrollDown { focus-column-right; } + Mod+Shift+WheelScrollUp { focus-column-left; } + Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } + Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } + + // === Numbered Workspaces === + 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; } + + // === Move to Numbered Workspaces === + 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; } + + // === Column Management === + Mod+Shift+BracketLeft { consume-or-expel-window-left; } + Mod+Shift+BracketRight { consume-or-expel-window-right; } + Mod+Shift+Period { expel-window-from-column; } + + // === Window Management === + Mod+Q repeat=false { close-window; } + Mod+Shift+G { toggle-window-floating; } + Mod+G { switch-focus-between-floating-and-tiling; } + Mod+Shift+T { toggle-column-tabbed-display; } + Mod+Shift+W hotkey-overlay-title="Create window rule" { spawn "dms" "ipc" "call" "window-rules" "toggle"; } + + // === Sizing & Layout === + Mod+R { switch-preset-column-width; } + Mod+V { switch-preset-window-height; } + Mod+Shift+V { reset-window-height; } + Mod+Shift+R { expand-column-to-available-width; } + Mod+C { center-column; } + Mod+Ctrl+C { center-visible-columns; } + Mod+Z { maximize-column; } + Mod+Shift+Z { maximize-window-to-edges; } + Mod+Escape { fullscreen-window; } + + // === Manual Sizing === + Mod+Minus { set-column-width "-10%"; } + Mod+Equal { set-column-width "+10%"; } + Mod+Shift+Minus { set-window-height "-10%"; } + Mod+Shift+Equal { set-window-height "+10%"; } + + // === Screenshots === + XF86Launch1 { screenshot; } + Ctrl+XF86Launch1 { screenshot-screen; } + Mod+XF86Launch1 { screenshot-window; } + Print { screenshot; } + Ctrl+Print { screenshot-screen; } + Mod+Print { screenshot-window; } + + // === System Controls === + Mod+Ctrl+P { power-off-monitors; } +} diff --git a/dotfiles/niri/dms/colors.kdl b/dotfiles/niri/dms/colors.kdl new file mode 100644 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 100644 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 100644 index 0000000..243c04f --- /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 15 + + 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 100644 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 100644 index 0000000..e69de29 diff --git a/dotfiles/niri/dms/wpblur.kdl b/dotfiles/niri/dms/wpblur.kdl new file mode 100644 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/flake.lock b/flake.lock index bae8605..1854c0f 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ }, "locked": { "dir": "pkgs/firefox-addons", - "lastModified": 1774065775, - "narHash": "sha256-anJXbdfZMhXWjHSfB5v6e8+yv1ASTHM4TwikH8tloMI=", + "lastModified": 1775880170, + "narHash": "sha256-63PLZ7lspPAqpV/+d0oNtDHLCWQf1MVFRG2DOeDK+nU=", "owner": "rycee", "repo": "nur-expressions", - "rev": "4b3bbb9dc3c80d1b62228c9a2ca0bef74a24a192", + "rev": "28b164d30b5ab6820ef7e17281ae55c539ae9ff5", "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": 1775900011, + "narHash": "sha256-QUGu6CJYFQ5AWVV0n3/FsJyV+1/gj7HSDx68/SX9pwM=", "owner": "nix-community", "repo": "home-manager", - "rev": "9670de2921812bc4e0452f6e3efd8c859696c183", + "rev": "b0569dc6ec1e6e7fefd8f6897184e4c191cd768e", "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": { @@ -102,11 +102,11 @@ ] }, "locked": { - "lastModified": 1774764457, - "narHash": "sha256-i0mv2GYp8yIZT++NAQL+zQ+QaKK4Po1a4jXI7VJLzTU=", + "lastModified": 1775720097, + "narHash": "sha256-p+vqkCuFfVNyQBo370wr6MebNUvz55RZiC0m8YKUhvQ=", "ref": "refs/heads/master", - "rev": "9bf752ac33b2181356d33251c3b1b4dedde0bbc6", - "revCount": 779, + "rev": "d4c92973b53d9fa34cc110d3b974eb6bde5b3027", + "revCount": 800, "type": "git", "url": "https://git.outfoxxed.me/quickshell/quickshell" }, diff --git a/home/desktop-full/mail.nix b/home/desktop-full/mail.nix index 50ba98c..c5d79ab 100644 --- a/home/desktop-full/mail.nix +++ b/home/desktop-full/mail.nix @@ -263,11 +263,11 @@ 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; diff --git a/home/desktop-full/r.nix b/home/desktop-full/r.nix index e284118..0e6e6bc 100644 --- a/home/desktop-full/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/desktop-slim/devel.nix b/home/desktop-slim/devel.nix index 27817b2..c27cb2c 100644 --- a/home/desktop-slim/devel.nix +++ b/home/desktop-slim/devel.nix @@ -1,13 +1,8 @@ -{ config, pkgs, ... }: +{ ... }: { - home.file.".npmrc".text = '' - prefix = ${config.xdg.dataHome}/npm/packages - ''; - - home.packages = with pkgs; [ - nodejs - ]; - - programs.direnv.enable = true; + programs.direnv = { + enable = true; + nix-direnv.enable = true; + }; } diff --git a/home/desktop-slim/firefox.nix b/home/desktop-slim/firefox.nix index 43418ef..fef201f 100644 --- a/home/desktop-slim/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/desktop-slim/foot.nix b/home/desktop-slim/foot.nix index 9cdea88..596be0b 100644 --- a/home/desktop-slim/foot.nix +++ b/home/desktop-slim/foot.nix @@ -6,6 +6,6 @@ }; xdg.configFile."foot" = { recursive = true; - source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/home/dotfiles/foot"; + source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/dotfiles/foot"; }; } diff --git a/home/desktop-slim/niri.nix b/home/desktop-slim/niri.nix index 4355279..00e25cd 100644 --- a/home/desktop-slim/niri.nix +++ b/home/desktop-slim/niri.nix @@ -5,18 +5,18 @@ services.polkit-gnome.enable = true; home.packages = with pkgs; [ + dgop dsearch wl-mirror xwayland-satellite + adw-gtk3 ]; - programs.foot.server.enable = true; - - # programs.ghostty.enable = true; - - # programs.firefox.preferences = { - # "widget.gtk.libadwaita-colors.enabled" = true; - # }; - - # xdg.configFile."polybar/config.ini".source = config.lib.file.mkOutOfStoreSymlink "/etc/nixos/home/dotfiles/polybar/config.ini"; + 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/desktop-slim/user-dirs.nix b/home/desktop-slim/user-dirs.nix index 4a04c28..5daba7f 100644 --- a/home/desktop-slim/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/dank-colors.ini b/home/dotfiles/foot/dank-colors.ini deleted file mode 100644 index 6ab7f43..0000000 --- a/home/dotfiles/foot/dank-colors.ini +++ /dev/null @@ -1,25 +0,0 @@ -[colors] -foreground=181c20 -background=f7f9ff -selection-foreground=181c20 -selection-background=e3f2fd -cursor = f7f9ff 1976d2 - -regular0=101418 -regular1=c7003b -regular2=009d14 -regular3=fbee00 -regular4=1077dc -regular5=b7dbff -regular6=1976d2 -regular7=36383a -bright0=aaaeb2 -bright1=fb1e60 -bright2=07e724 -bright3=fff100 -bright4=077df1 -bright5=b7dbff -bright6=8ec7ff -bright7=f6faff - -dim-blend-towards=white diff --git a/home/minimal/git.nix b/home/minimal/git.nix index 4119ab0..6672801 100644 --- a/home/minimal/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/minimal/nvim/default.nix b/home/minimal/nvim/default.nix index 9dbeba5..805735a 100644 --- a/home/minimal/nvim/default.nix +++ b/home/minimal/nvim/default.nix @@ -234,6 +234,9 @@ ''; } ]; + + withRuby = false; + withPython3 = true; }; xdg.configFile."nvim" = { diff --git a/hosts/nova/default.nix b/hosts/nova/default.nix index a28c920..0388077 100644 --- a/hosts/nova/default.nix +++ b/hosts/nova/default.nix @@ -7,6 +7,7 @@ ./hardware-configuration.nix ../../users/alt/system.nix ../../users/guest/system.nix + ../../system ../../system/desktop ../../system/desktop/laptop.nix @@ -48,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/default.nix b/system/desktop/default.nix index 2e6ca6c..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 ]; @@ -34,8 +36,6 @@ virtiofsd ]; - environment.pathsToLink = [ "/share/foot" ]; - fonts.packages = with pkgs; [ jetbrains-mono ]; @@ -55,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 index 0b88d9b..1485b5b 100644 --- a/system/desktop/laptop.nix +++ b/system/desktop/laptop.nix @@ -1,7 +1,8 @@ -{ ... }: +{ lib, ... }: { services.thermald.enable = true; + services.power-profiles-daemon.enable = lib.mkForce false; services.auto-cpufreq.enable = true; services.auto-cpufreq.settings = { @@ -9,9 +10,10 @@ governor = "powersave"; energy_performance_preference = "power"; turbo = "never"; - enable_thresholds = true; - start_threshold = 20; - stop_threshold = 80; + ideapad_laptop_conservation_mode = true; + # enable_thresholds = true; + # start_threshold = 20; + # stop_threshold = 80; }; charger = { governor = "performance"; diff --git a/system/desktop/niri.nix b/system/desktop/niri.nix index 7f62cd4..e3cfca7 100644 --- a/system/desktop/niri.nix +++ b/system/desktop/niri.nix @@ -7,6 +7,7 @@ enable = true; systemd.enable = true; quickshell.package = inputs.quickshell.packages.${pkgs.stdenv.hostPlatform.system}.quickshell; + enableSystemMonitoring = false; }; services.displayManager.dms-greeter = { @@ -20,6 +21,8 @@ environment.systemPackages = with pkgs; [ nirius + papirus-icon-theme + phinger-cursors ]; systemd.user.services."niriusd" = { @@ -31,4 +34,6 @@ 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; + }; }