Added script to create .config, added script to copy Repo .config to

~/.config, started reworking README.org
This commit is contained in:
2026-03-01 22:27:54 +01:00
parent dc92033028
commit 080828620b
36 changed files with 2061 additions and 308 deletions
+329 -307
View File
File diff suppressed because it is too large Load Diff
+14 -1
View File
@@ -3,7 +3,7 @@ f#+OPTIONS: toc:nil broken-links:t
#+HTML: <div align="center"> #+HTML: <div align="center">
#+HTML: <div> #+HTML: <div>
#+HTML: <img src="./.github/images/nixos.svg" width="100px" alt="NixOS" /> #+HTML: <img src="./.github/images/nixos.svg" width="100px" alt="NixOS" />
#+HTML: <img src="./.github/images/emacs.svg" width="100px" alt="Emacs" /> #+HTML: <img flake.nisrc="./.github/images/emacs.svg" width="100px" alt="Emacs" />
#+HTML: </div> #+HTML: </div>
#+HTML: <br /> #+HTML: <br />
#+HTML: <h1>Henrov's Literate System Configuration</h1> #+HTML: <h1>Henrov's Literate System Configuration</h1>
@@ -666,6 +666,13 @@ The inputs for my system's configuration are very simple
}; };
}; };
<<flake-outputs>> <<flake-outputs>>
# Copying ./assets/config/.config to ~/.config
# Ensure the script is executable and available
environment.systemPackages = [ pkgs.bash ];
# Add the activation script
system.activationScripts.recreateConfig = lib.mkAfter "setupNetworking" ''
${self}/assets/scripts/recreate_config.sh
'';
} }
#+end_src #+end_src
@@ -1617,6 +1624,7 @@ This module will import all necessities.
./desktop/rotating_wallpaper.nix ./desktop/rotating_wallpaper.nix
./desktop/waybar.nix ./desktop/waybar.nix
./desktop/walker.nix ./desktop/walker.nix
./windowrules.nix
./dev/dev.nix ./dev/dev.nix
./dev/kitty.nix ./dev/kitty.nix
./dev/shells.nix ./dev/shells.nix
@@ -1987,6 +1995,11 @@ in
} }
#+end_src #+end_src
** Walker
[[https://github.com/abenz1267/walker][This]] is how I launch applications. It is bound to Win+Space in the ./asstes/conf/desktop/hypr/bindings.conf.
#+begin_src nix :tangle home/desktop/windowrules.nix :noweb tangle :mkdirp yes.
#+end_src
** Theme ** Theme
I use the [[https://catppuccin.com/][Catppuccin]] almost everywhere. The nix module integrates almost automatically everywhere (except gtk). I use the [[https://catppuccin.com/][Catppuccin]] almost everywhere. The nix module integrates almost automatically everywhere (except gtk).
You'll notice the color values in multiple places outside this as well. You'll notice the color values in multiple places outside this as well.
@@ -0,0 +1,131 @@
; thunar GtkAccelMap rc-file -*- scheme -*-
; this file is an automated accelerator map dump
;
; (gtk_accel_path "<Actions>/ThunarDetailsView/expandable-folders" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/f4f9b7c05a683015a19351e94cf07e3d" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-type" "")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-last-modified" "")
; (gtk_accel_path "<Actions>/Thunarwindow/menu" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/cut" "<Primary>x")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-size" "")
; (gtk_accel_path "<Actions>/ThunarWindow/file-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-tab" "<Primary>w")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab-alt" "<Primary><Shift>ISO_Left_Tab")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size" "")
; (gtk_accel_path "<Actions>/ThunarWindow/new-window" "<Primary>n")
; (gtk_accel_path "<Actions>/ThunarWindow/clear-directory-specific-settings" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-window" "<Primary>q")
; (gtk_accel_path "<Actions>/ThunarWindow/open-parent" "<Alt>Up")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-menu" "")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-size-in-bytes" "")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-previous-tab" "<Primary>Page_Up")
; (gtk_accel_path "<Actions>/ThunarActionManager/open" "<Primary>o")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-ascending" "")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-split-view" "F3")
; (gtk_accel_path "<Actions>/ThunarActionManager/copy-2" "<Primary>Insert")
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete" "Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/open-recent" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-configure-toolbar" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/forward" "<Alt>Right")
; (gtk_accel_path "<Actions>/ThunarActionManager/restore" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location-alt" "<Alt>d")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out-alt" "<Primary>KP_Subtract")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-by-pattern" "<Primary>s")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-menu" "F10")
; (gtk_accel_path "<Actions>/ThunarWindow/contents" "F1")
; (gtk_accel_path "<Actions>/ThunarWindow/show-highlight" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-descending" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-name" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/b642744ba505349eb43f3232902f4a96" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/select-all-files" "<Primary>a")
; (gtk_accel_path "<Actions>/ThunarActionManager/execute" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/properties" "<Alt>Return")
; (gtk_accel_path "<Actions>/ThunarActionManager/cut-2" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-dtime" "")
; (gtk_accel_path "<Actions>/ThunarBookmarks/51e116aa815495db13c58c73eec99304" "")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab" "<Primary>Page_Down")
; (gtk_accel_path "<Actions>/ThunarWindow/open-templates" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/paste-2" "<Shift>Insert")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-filetype" "")
; (gtk_accel_path "<Actions>/ThunarWindow/close-all-windows" "<Primary><Shift>w")
; (gtk_accel_path "<Actions>/ThunarStandardView/create-document" "")
; (gtk_accel_path "<Actions>/ThunarWindow/detach-tab" "")
; (gtk_accel_path "<Actions>/ThunarWindow/cancel-search" "Escape")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt2" "<Primary>equal")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-hidden-count" "")
; (gtk_accel_path "<Actions>/ThunarShortcutsPane/sendto-shortcuts" "<Primary>d")
; (gtk_accel_path "<Actions>/ThunarActionManager/undo" "<Primary>z")
; (gtk_accel_path "<Actions>/ThunarBookmarks/f08c8da7eedf52bf1705513340708bed" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/toggle-sort-order" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-entry" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/paste" "<Primary>v")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in-alt1" "<Primary>KP_Add")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menubar" "<Primary>m")
; (gtk_accel_path "<Actions>/ThunarStandardView/back" "<Alt>Left")
; (gtk_accel_path "<Actions>/ThunarWindow/open-desktop" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-detailed-list" "<Primary>2")
; (gtk_accel_path "<Actions>/ThunarActionManager/restore-show" "")
; (gtk_accel_path "<Actions>/ThunarWindow/sendto-menu" "")
; (gtk_accel_path "<Actions>/ThunarStatusBar/toggle-display-name" "")
; (gtk_accel_path "<Actions>/ThunarWindow/go-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-out" "<Primary>minus")
; (gtk_accel_path "<Actions>/ThunarWindow/remove-from-recent" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-with-other" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/invert-selection" "<Primary><Shift>i")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-shortcuts" "<Primary>b")
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-2" "Reload")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/sort-by-mtime" "")
; (gtk_accel_path "<Actions>/ThunarWindow/edit-menu" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/copy" "<Primary>c")
; (gtk_accel_path "<Actions>/ThunarWindow/bookmarks-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/forward-alt" "Forward")
; (gtk_accel_path "<Actions>/ThunarActionManager/move-to-trash" "")
; (gtk_accel_path "<Actions>/ThunarWindow/reload-alt-1" "F5")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-3" "<Shift>KP_Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/reload" "<Primary>r")
; (gtk_accel_path "<Actions>/ThunarStandardView/arrange-items-menu" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/unselect-all-files" "Escape")
; (gtk_accel_path "<Actions>/ThunarWindow/open-computer" "")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-image-preview" "")
; (gtk_accel_path "<Actions>/ThunarWindow/toggle-side-pane" "F9")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-icons" "<Primary>1")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete-2" "<Shift>Delete")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-in" "<Primary>plus")
; (gtk_accel_path "<Actions>/ThunarStandardView/configure-columns" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/rename" "F2")
; (gtk_accel_path "<Actions>/ThunarWindow/open-location" "<Primary>l")
; (gtk_accel_path "<Actions>/ThunarWindow/view-as-compact-list" "<Primary>3")
; (gtk_accel_path "<Actions>/ThunarWindow/view-menu" "")
; (gtk_accel_path "<Actions>/ThunarWindow/search" "<Primary>f")
; (gtk_accel_path "<Actions>/ThunarWindow/new-tab" "<Primary>t")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset" "<Primary>0")
; (gtk_accel_path "<Actions>/ThunarWindow/contents/help-menu" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-tab" "<Primary><Shift>p")
; (gtk_accel_path "<Actions>/ThunarWindow/view-location-selector-buttons" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt2" "Back")
; (gtk_accel_path "<Actions>/ThunarActionManager/redo" "<Primary><Shift>z")
; (gtk_accel_path "<Actions>/ThunarWindow/open-trash" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-in-new-window" "<Primary><Shift>o")
; (gtk_accel_path "<Actions>/ThunarWindow/view-statusbar" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/open-location" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/duplicate" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/trash-delete-2" "KP_Delete")
; (gtk_accel_path "<Actions>/ThunarStandardView/back-alt1" "BackSpace")
; (gtk_accel_path "<Actions>/ThunarStandardView/create-folder" "<Primary><Shift>n")
; (gtk_accel_path "<Actions>/ThunarWindow/open-home" "<Alt>Home")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-focused-split-view-pane" "")
; (gtk_accel_path "<Actions>/ThunarWindow/show-hidden" "<Primary>h")
; (gtk_accel_path "<Actions>/ThunarStandardView/set-default-app" "")
; (gtk_accel_path "<Actions>/ThunarWindow/empty-trash" "")
; (gtk_accel_path "<Actions>/ThunarWindow/preferences" "")
; (gtk_accel_path "<Actions>/ThunarActionManager/delete" "")
; (gtk_accel_path "<Actions>/ThunarWindow/open-network" "")
; (gtk_accel_path "<Actions>/ThunarWindow/view-side-pane-tree" "<Primary>e")
; (gtk_accel_path "<Actions>/ThunarWindow/open-file-system" "")
; (gtk_accel_path "<Actions>/ThunarWindow/search-alt" "Search")
; (gtk_accel_path "<Actions>/ThunarWindow/switch-next-tab-alt" "<Primary>Tab")
; (gtk_accel_path "<Actions>/ThunarActionManager/sendto-desktop" "")
; (gtk_accel_path "<Actions>/ThunarStandardView/make-link" "")
; (gtk_accel_path "<Actions>/ThunarWindow/zoom-reset-alt" "<Primary>KP_0")
; (gtk_accel_path "<Actions>/ThunarWindow/about" "")
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<actions>
<action>
<icon>utilities-terminal</icon>
<name>Open Terminal Here</name>
<submenu></submenu>
<unique-id>1771155705496049-1</unique-id>
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
<description>Example for a custom action</description>
<range></range>
<patterns>*</patterns>
<startup-notify/>
<directories/>
</action>
<action>
<icon></icon>
<name>Copy Full Path</name>
<submenu></submenu>
<unique-id>1771928240025354-1</unique-id>
<command>sh -c &apos;printf &quot;%s&quot; &quot;%f&quot; | wl-copy&apos;</command>
<description>Copy Full Path</description>
<range>*</range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
</actions>
@@ -0,0 +1,5 @@
[filter "lfs"]
clean = "git-lfs clean -- %f"
process = "git-lfs filter-process"
required = true
smudge = "git-lfs smudge -- %f"
@@ -0,0 +1,16 @@
general {
lock_cmd = hyprlock
after_sleep_cmd = hyprctl dispatch dpms on
ignore_dbus_inhibit = false
}
listener {
timeout = 600
on-timeout = hyprlock
}
listener {
timeout = 900
on-timeout = hyprctl dispatch dpms off
on-resume = hyprctl dispatch dpms on
}
@@ -0,0 +1,311 @@
exec-once = /nix/store/c9cnbxhxbagj7gfpc1g5hl4x4f8dzayv-dbus-1.16.2/bin/dbus-update-activation-environment --systemd DISPLAY HYPRLAND_INSTANCE_SIGNATURE WAYLAND_DISPLAY XDG_CURRENT_DESKTOP XDG_SESSION_TYPE && systemctl --user stop hyprland-session.target && systemctl --user start hyprland-session.target
exec-once=hyprctl plugin load /nix/store/pp3nj4j10p34f3hx2kdwd6m3yxzkaygd-hyprscrolling-0.53.0/lib/libhyprscrolling.so
exec-once=hyprctl plugin load /nix/store/bmrcf2a9sa5adbgmlg38kgzssj7s5wjz-hyprexpo-0.53.0/lib/libhyprexpo.so
source=/nix/store/mjbgcv2gizslspivcnr7bpqi7igrs75z-catppuccin-hyprland-0-unstable-2024-06-19/mocha.conf
source=/nix/store/09fs6r6g6l8s3a433bzqwbjgp8d5dal1-hyprland-blue-accent.conf
windowrule=match:class nm-connection-editor, float 1, center 1, size 900 700
source = /home/henrov/.config/hypr/conf.d/90-hyprscrolling.conf
##############################################
# These files are just for reference.
# If you want to change anything definitive, edit the source files in:
# ~/henrovnix/assets/conf
# Temporarily(!) testing can by editing this file, edit the file and reloading hyprshell
#
# After that, run:
# cd ~/henrovnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
#
# If everything still works, you can use the same command but:
# - keep "switch"
# - and add a reboot:
#
# cd ~/henrovnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
#
# NOTE:
# Make sure the lines starting with: cd ~/henrovnix
# are written as ONE single line.
###############################################
############################
# Variables
############################
# Colors (Hyprland "col" values commonly use rgba(aarrggbb)-style hex)
# See Hyprland variable / type docs for color formats & bools. :contentReference[oaicite:2]{index=2}
$base = rgba(1e1e2eff)
$inactive = rgba(595959aa)
$blue = rgba(33ccffee)
$green = rgba(00ff99ee)
# Recommended for correct environment in systemd user session / portals. :contentReference[oaicite:4]{index=4}
exec-once = dbus-update-activation-environment --systemd --all
exec-once = uwsm app -- waybar
# put these at top-level (recommended), not inside general { }:
layerrule = blur on, ignore_alpha 1, match:namespace waybar
layerrule = xray 1, match:namespace waybar
layerrule = blur on, ignore_alpha 1, match:namespace walker
layerrule = xray 1, match:namespace walker
layerrule = blur on, ignore_alpha 1, match:namespace swaync-control-center
layerrule = blur on, ignore_alpha 1, match:namespace swaync-notification-window
input {
follow_mouse = 1
kb_layout = us
kb_options = ctrl:nocaps
sensitivity = -0.5
accel_profile = adaptive
scroll_factor = 0.5
touchpad {
natural_scroll = yes
scroll_factor = 0.5
}
}
cursor {
no_hardware_cursors = true
}
general {
gaps_in = 2
gaps_out = 4
border_size = 2
# Gradient syntax: color color angle (e.g. 45deg). :contentReference[oaicite:5]{index=5}
col.active_border = $blue $green 45deg
col.inactive_border = $inactive
layout = scrolling
resize_on_border = true
extend_border_grab_area = 20 # Makes it easier to "grab" the edge
}
decoration {
rounding = 5
blur {
enabled = yes
size = 8
passes = 3
new_optimizations = on
}
}
animations {
enabled = yes
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
dwindle {
pseudotile = yes
preserve_split = yes
}
misc {
disable_hyprland_logo = false
focus_on_activate = true
}
# Start required session helpers
exec-once = hypridle
exec-once = hyprpolkitagent
# Lid close: lock only if no external monitor is connected
bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/lid-lock.sh
# Lid open: turn DPMS back on (does not unlock)
bindl = , switch:off:Lid Switch, exec, hyprctl dispatch dpms on
exec-once = systemd-run --user --scope --unit=elephant elephant
exec-once = ~/.config/hypr/scripts/hyprscrolling-listener.sh
# --- Repo keybindings ---
##############################################
# These files are just for reference.
# If you want to change anything, edit the source files in:
# ~/henrovnix/assets/conf
#
# Temporarily(!) testing can by editing this file, edit the file and reloading hyprshell
# After that, run:
# cd ~/henrovnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
#
# If everything still works, you can use the same command but:
# - keep "switch"
# - and add a reboot:
#
# cd ~/henrovnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
#
# Make sure the lines starting with: cd ~/henrovnix
# are written as ONE single line.
###############################################
# Keybindings #
###############
$mainMod = SUPER
# use walker to show exec menu
bind = $mainMod, Space , exec, walker
bind = $mainMod, P, pseudo
bind = $mainMod, T, togglesplit
# grimblast
bind = $mainMod SHIFT, p, exec, grimblast -n -f copysave active
bind = $mainMod SHIFT, a, exec, grimblast -n -f copysave area
bind = $mainMod ALT, p, exec, grimblast -n -f copysave output
bind = $mainMod CTRL, p, exec, grimblast -n -f copysave screen
# Terminal / launcher / kill / reload
bind = $mainMod, E, exec, thunar
bind = $mainMod, RETURN, exec, kitty
bind = $mainMod, D, exec, wofi --show drun
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, Q, exit,
bind = $mainMod SHIFT, R, exec, hyprctl reload
# Switch windows
bind = $mainMod, TAB, hyprexpo:expo, toggle
bind = ALT, TAB, cyclenext,
# bind = ALT SHIFT, TAB, cyclenext prev
# Hyprscrolling
bind = $mainMod, period, layoutmsg, move +col
bind = $mainMod, comma, layoutmsg, swapcol l
# Make / break a tab-group (stack)
bind = $mainMod, S, togglegroup
# Cycle tabs in the group
bind = $mainMod, L, changegroupactive, f
bind = $mainMod, H, changegroupactive, b
bind = $mainMod, T, exec, ~/.config/hypr/scripts/toggle-layout-scrolling-dwindle.sh
# Focus movement
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Move windows
bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, K, movewindow, u
bind = $mainMod SHIFT, J, movewindow, d
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
# Resize windows
bind = $mainMod CTRL, H, resizeactive, -30 0
bind = $mainMod CTRL, L, resizeactive, 30 0
bind = $mainMod CTRL, K, resizeactive, 0 -30
bind = $mainMod CTRL, J, resizeactive, 0 30
# Floating / fullscreen
bind = $mainMod, V, togglefloating,
bind = $mainMod, F, fullscreen, 0
bind = $mainMod SHIFT, F, fullscreen, 1
# Workspaces
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Cycle workspaces
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Mouse drag
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
#########################
# Screenshots
#########################
bind = $mainMod SHIFT, s, exec, grim -g "$(slurp)" - | wl-copy
bind = , XF86Screenshot, exec, grim - | wl-copy
#########################
# Audio (pamixer)
#########################
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5
bind = , XF86AudioLowerVolume, exec, pamixer -d 5
bind = , XF86AudioMute, exec, pamixer -t
bind = , XF86AudioMicMute, exec, pamixer --default-source -t
#########################
# Media (playerctl)
#########################
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioPause, exec, playerctl pause
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous
bind = , XF86AudioStop, exec, playerctl stop
#########################
# Brightness (brightnessctl)
#########################
bind = , XF86MonBrightnessUp, exec, brightnessctl set +10%
bind = , XF86MonBrightnessDown, exec, brightnessctl set 10%-
bind = , XF86KbdBrightnessUp, exec, brightnessctl -d '*kbd_backlight*' set +10%
bind = , XF86KbdBrightnessDown, exec, brightnessctl -d '*kbd_backlight*' set 10%-
#########################
# Power / session
#########################
bind = , XF86Sleep, exec, systemctl suspend
bind = , XF86PowerOff, exec, systemctl poweroff
bind = , XF86WakeUp, exec, systemctl suspend
bind = $mainMod, L, exec, loginctl lock-session
bind = $mainMod, X, exec, ~/.config/hypr/scripts/powermenu.sh
#########################
# Laptop lid settings
#########################
bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/lid-action.sh
bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/lid-restore.sh
#########################
# Start apps
#########################
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
bind = CTRL ALT, S, exec, spotify
bind = $mainMod, z, exec, zeditor
bind = $mainMod, w, exec, zen --url https://nextcloud.data-pro.nu
# Default portable monitor rule
monitor=DP-1,3840x1080@144,1920x0,1
############################
# Hyprexpo (workspace/window overview)
############################
# Basic plugin config (tweak as you like)
plugin {
hyprexpo {
columns = 3
gaps_in = 5
gaps_out = 20
# Optional; comment out if you don't want it
# workspace_method = center current
}
}
@@ -0,0 +1,32 @@
# ~/.config/hypr/hyprlock.conf
general {
grace = 2
ignore_empty_input = true
}
background {
path = ~/.config/hypr/lock.png
blur_passes = 2
blur_size = 6
}
input-field {
size = 320, 60
outline_thickness = 2
dots_size = 0.25
dots_spacing = 0.20
fade_on_empty = true
placeholder_text = "Password"
position = 0, -120
halign = center
valign = center
}
label {
text = $TIME
font_size = 72
position = 0, 120
halign = center
valign = center
}
@@ -0,0 +1,9 @@
w-1= /home/henrov/nixos_conf/wallpaperstuff/pictures/1.jpg
w-2= /home/henrov/nixos_conf/wallpaperstuff/pictures/2.jpg
w-3= /home/henrov/nixos_conf/wallpaperstuff/pictures/3.jpg
w-4= /home/henrov/nixos_conf/wallpaperstuff/pictures/4.png
w-5= /home/henrov/nixos_conf/wallpaperstuff/pictures/5.jpg
w-6= /home/henrov/nixos_conf/wallpaperstuff/pictures/6.jpg
w-7= /home/henrov/nixos_conf/wallpaperstuff/pictures/7.jpg
w-8= /home/henrov/nixos_conf/wallpaperstuff/pictures/8.jpg
w-9= /home/henrov/nixos_conf/wallpaperstuff/pictures/9.jpg
@@ -0,0 +1,9 @@
w-1= /home/henrov/nixos_conf/wallpaperstuff/pictures/1.jpg
w-2= /home/henrov/nixos_conf/wallpaperstuff/pictures/2.jpg
w-3= /home/henrov/nixos_conf/wallpaperstuff/pictures/3.jpg
w-4= /home/henrov/nixos_conf/wallpaperstuff/pictures/4.png
w-5= /home/henrov/nixos_conf/wallpaperstuff/pictures/5.jpg
w-6= /home/henrov/nixos_conf/wallpaperstuff/pictures/6.jpg
w-7= /home/henrov/nixos_conf/wallpaperstuff/pictures/7.jpg
w-8= /home/henrov/nixos_conf/wallpaperstuff/pictures/8.jpg
w-9= /home/henrov/nixos_conf/wallpaperstuff/pictures/9.jpg
Binary file not shown.

After

Width:  |  Height:  |  Size: 406 KiB

+25
View File
@@ -0,0 +1,25 @@
#!/usr/bin/env bash
set -euo pipefail
INTERNAL="eDP1"
has_external() {
# Any monitor name that is not INTERNAL counts as external
hyprctl monitors -j | grep -q '"name"' && ! hyprctl monitors -j | grep -q "\"name\":\"$INTERNAL\"\""
}
has_external_robust() {
# robust without jq: count monitor names; if there's >1 OR there's a name not INTERNAL
local names
names="$(hyprctl monitors -j | sed -n 's/.*"name":"\([^"]*\)".*/\1/p')"
# if any name != INTERNAL then external
echo "$names" | grep -vx "$INTERNAL" >/dev/null 2>&1
}
if has_external_robust; then
# Clamshell: disable laptop panel, no lock
hyprctl keyword monitor "${INTERNAL},disable"
else
# Laptop only: suspend
systemctl suspend
fi
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
set -euo pipefail
OPTIONS=" Lock
 Logout (Hyprland)
 Suspend
 Hibernate
 Reboot
 Shutdown
 Cancel"
CHOICE=$(printf "%s" "$OPTIONS" | walker --dmenu )
case "$CHOICE" in
"Lock")
loginctl lock-session
;;
"Logout (Hyprland)")
hyprctl dispatch exit
;;
"Suspend")
loginctl lock-session && systemctl suspend
;;
"Hibernate")
loginctl lock-session && systemctl hibernate
;;
"Reboot")
systemctl reboot
;;
"Shutdown")
systemctl poweroff
;;
*)
exit 0
;;
esac
@@ -0,0 +1,71 @@
// Edit with `hyprshell config edit` <-- GUI app, resize!
(
version: 3,
windows: (
scale: 8.5,
items_per_row: 5 ,
overview: (
launcher: (
default_terminal: None,
launch_modifier: "ctrl",
width: 800,
max_items: 5,
show_when_empty: true,
plugins: (
applications: (
run_cache_weeks: 8,
show_execs: true,
show_actions_submenu: true,
),
terminal: None,
shell: None,
websearch: None,
calc: (),
path: (),
actions: (
actions: [
lock_screen,
hibernate,
logout,
reboot,
shutdown,
suspend,
custom(
names: [
"Kill",
"Stop",
],
details: "Kill or stop a process by name",
command: "pkill \"{}\" && notify-send hyprshell \"stopped {}\"",
icon: "remove",
),
custom(
names: [
"Reload Hyprshell",
],
details: "Reload Hyprshell",
command: "sleep 1; hyprshell socat \'\"Restart\"\'",
icon: "system-restart",
),
],
),
),
),
key: "Super_L",
modifier: "super",
filter_by: [],
hide_filtered: false,
exclude_special_workspaces: "",
),
switch: (
modifier: "alt",
key: "Tab",
filter_by: [
current_monitor,
],
switch_workspaces: false,
exclude_special_workspaces: "",
),
switch_2: None,
),
)
@@ -0,0 +1,8 @@
window {
background: rgba(20, 20, 20, 0.92);
border-radius: 18px;
}
* {
background-color: unset;
}
@@ -0,0 +1,11 @@
-----BEGIN CERTIFICATE-----
MIIBnTCCAUSgAwIBAgIUH22zKyfwunPmVhN8fQFqDve51bswCgYIKoZIzj0EAwQw
TzEpMCcGA1UEAwwgMWU1Y2ZhMDdiNTQxNDQ5OWE4Yzg0YTIzMzFjYTkyY2QxDDAK
BgNVBAoMA0tERTEUMBIGA1UECwwLS0RFIENvbm5lY3QwHhcNMjUwMjE2MTU1NjI2
WhcNMzYwMjE0MTU1NjI2WjBPMSkwJwYDVQQDDCAxZTVjZmEwN2I1NDE0NDk5YThj
ODRhMjMzMWNhOTJjZDEMMAoGA1UECgwDS0RFMRQwEgYDVQQLDAtLREUgQ29ubmVj
dDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMFIBTF9LuWEQIoTOD6lxKUzLQQ1
gVfkpoMCSO3m6TKawSqz5RIkL46lPb3dhRs9GPz7RlqV00GNzj7sVcOmMHgwCgYI
KoZIzj0EAwQDRwAwRAIgJfSj4nXAVB7EEIt1xJVo5fnqPsLoUK3ina34JIXkAu4C
IApwICWB8PgU209qhYWFLVU5DWuFt1vF3Cql/ijSUW0y
-----END CERTIFICATE-----
@@ -0,0 +1,3 @@
[General]
keyAlgorithm=EC
name=nixos
@@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIIbKpOVq1bq2oO0xZ/nOt6VYQRafML7fh5id4IxYqmd+oAoGCCqGSM49
AwEHoUQDQgAEwUgFMX0u5YRAihM4PqXEpTMtBDWBV+SmgwJI7ebpMprBKrPlEiQv
jqU9vd2FGz0Y/PtGWpXTQY3OPuxVw6YweA==
-----END EC PRIVATE KEY-----
@@ -0,0 +1,46 @@
# Generated by Home Manager.
# See https://sw.kovidgoyal.net/kitty/conf.html
include /nix/store/inyp0v9sjc28ndwjbd4lkh80zw2av0nc-kitty-themes-0-unstable-2026-02-01/share/kitty-themes/themes/Catppuccin-Mocha.conf
# Shell integration is sourced and configured manually
shell_integration no-rc
# 1) Theme first (stable path)
include themes/Catppuccin-Mocha.conf
# 2) Your repo config (may also include theme; harmless if duplicated)
##############################################
# These files are just for reference.
# If you want to change anything, edit the source files in:
# ~/henrovnix/assets/conf
#
# After that, run:
# cd ~/henrovnix && emacs README.org --batch -f org-babel-tangle && git add . && git commit -m "Adjusted conf files" && sudo nixos-rebuild switch --flake .#<yourhost>
#
# If everything still works, you can use the same command but:
# - keep "switch"
# - and add a reboot:
#
# cd ~/henrovnix && sudo nixos-rebuild switch --flake .#<yourhost> && systemctl reboot
#
# NOTE:
# Make sure the lines starting with: cd ~/henrovnix
# are written as ONE single line.
###############################################
# Force transparency (comes from the conf file, as you want)
background_opacity 0.40
dynamic_background_opacity yes
# the rest…
map ctrl+shift+v paste_from_clipboard
map ctrl+shift+c copy_to_clipboard
# 3) Force transparency last (wins)
#background_opacity 0.60
#dynamic_background_opacity yes
@@ -0,0 +1,84 @@
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# Scrollbar colors
scrollbar_handle_color #9399b2
scrollbar_track_color #45475a
# URL color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8
@@ -0,0 +1,279 @@
"$schema" = 'https://starship.rs/config-schema.json'
format = """
[](red)\
$os\
$username\
[](bg:peach fg:red)\
$directory\
[](bg:yellow fg:peach)\
$git_branch\
$git_status\
[](fg:yellow bg:green)\
$c\
$rust\
$golang\
$nodejs\
$php\
$java\
$kotlin\
$haskell\
$python\
[](fg:green bg:sapphire)\
$conda\
[](fg:sapphire bg:lavender)\
$time\
[ ](fg:lavender)\
$cmd_duration\
$line_break\
$character"""
palette = 'catppuccin_mocha'
[os]
disabled = false
style = "bg:red fg:crust"
[os.symbols]
Windows = ""
Ubuntu = "󰕈"
SUSE = ""
Raspbian = "󰐿"
Mint = "󰣭"
Macos = "󰀵"
Manjaro = ""
Linux = "󰌽"
Gentoo = "󰣨"
Fedora = "󰣛"
Alpine = ""
Amazon = ""
Android = ""
AOSC = ""
Arch = "󰣇"
Artix = "󰣇"
CentOS = ""
Debian = "󰣚"
Redhat = "󱄛"
RedHatEnterprise = "󱄛"
[username]
show_always = true
style_user = "bg:red fg:crust"
style_root = "bg:red fg:crust"
format = '[ $user]($style)'
[directory]
style = "bg:peach fg:crust"
format = "[ $path ]($style)"
truncation_length = 3
truncation_symbol = "…/"
[directory.substitutions]
"Documents" = "󰈙 "
"Downloads" = " "
"Music" = "󰝚 "
"Pictures" = " "
"Developer" = "󰲋 "
[git_branch]
symbol = ""
style = "bg:yellow"
format = '[[ $symbol $branch ](fg:crust bg:yellow)]($style)'
[git_status]
style = "bg:yellow"
format = '[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)'
[nodejs]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[c]
symbol = " "
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[rust]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[golang]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[php]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[java]
symbol = " "
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[kotlin]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[haskell]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
[python]
symbol = ""
style = "bg:green"
format = '[[ $symbol( $version)(\(#$virtualenv\)) ](fg:crust bg:green)]($style)'
[docker_context]
symbol = ""
style = "bg:sapphire"
format = '[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)'
[conda]
symbol = "  "
style = "fg:crust bg:sapphire"
format = '[$symbol$environment ]($style)'
ignore_base = false
[time]
disabled = false
time_format = "%R"
style = "bg:lavender"
format = '[[  $time ](fg:crust bg:lavender)]($style)'
[line_break]
disabled = false
[character]
disabled = false
success_symbol = '[](bold fg:green)'
error_symbol = '[](bold fg:red)'
vimcmd_symbol = '[](bold fg:green)'
vimcmd_replace_one_symbol = '[](bold fg:lavender)'
vimcmd_replace_symbol = '[](bold fg:lavender)'
vimcmd_visual_symbol = '[](bold fg:yellow)'
[cmd_duration]
show_milliseconds = true
format = " in $duration "
style = "bg:lavender"
disabled = false
show_notifications = true
min_time_to_notify = 45000
[palettes.catppuccin_mocha]
rosewater = "#f5e0dc"
flamingo = "#f2cdcd"
pink = "#f5c2e7"
mauve = "#cba6f7"
red = "#f38ba8"
maroon = "#eba0ac"
peach = "#fab387"
yellow = "#f9e2af"
green = "#a6e3a1"
teal = "#94e2d5"
sky = "#89dceb"
sapphire = "#74c7ec"
blue = "#89b4fa"
lavender = "#b4befe"
text = "#cdd6f4"
subtext1 = "#bac2de"
subtext0 = "#a6adc8"
overlay2 = "#9399b2"
overlay1 = "#7f849c"
overlay0 = "#6c7086"
surface2 = "#585b70"
surface1 = "#45475a"
surface0 = "#313244"
base = "#1e1e2e"
mantle = "#181825"
crust = "#11111b"
[palettes.catppuccin_frappe]
rosewater = "#f2d5cf"
flamingo = "#eebebe"
pink = "#f4b8e4"
mauve = "#ca9ee6"
red = "#e78284"
maroon = "#ea999c"
peach = "#ef9f76"
yellow = "#e5c890"
green = "#a6d189"
teal = "#81c8be"
sky = "#99d1db"
sapphire = "#85c1dc"
blue = "#8caaee"
lavender = "#babbf1"
text = "#c6d0f5"
subtext1 = "#b5bfe2"
subtext0 = "#a5adce"
overlay2 = "#949cbb"
overlay1 = "#838ba7"
overlay0 = "#737994"
surface2 = "#626880"
surface1 = "#51576d"
surface0 = "#414559"
base = "#303446"
mantle = "#292c3c"
crust = "#232634"
[palettes.catppuccin_latte]
rosewater = "#dc8a78"
flamingo = "#dd7878"
pink = "#ea76cb"
mauve = "#8839ef"
red = "#d20f39"
maroon = "#e64553"
peach = "#fe640b"
yellow = "#df8e1d"
green = "#40a02b"
teal = "#179299"
sky = "#04a5e5"
sapphire = "#209fb5"
blue = "#1e66f5"
lavender = "#7287fd"
text = "#4c4f69"
subtext1 = "#5c5f77"
subtext0 = "#6c6f85"
overlay2 = "#7c7f93"
overlay1 = "#8c8fa1"
overlay0 = "#9ca0b0"
surface2 = "#acb0be"
surface1 = "#bcc0cc"
surface0 = "#ccd0da"
base = "#eff1f5"
mantle = "#e6e9ef"
crust = "#dce0e8"
[palettes.catppuccin_macchiato]
rosewater = "#f4dbd6"
flamingo = "#f0c6c6"
pink = "#f5bde6"
mauve = "#c6a0f6"
red = "#ed8796"
maroon = "#ee99a0"
peach = "#f5a97f"
yellow = "#eed49f"
green = "#a6da95"
teal = "#8bd5ca"
sky = "#91d7e3"
sapphire = "#7dc4e4"
blue = "#8aadf4"
lavender = "#b7bdf8"
text = "#cad3f5"
subtext1 = "#b8c0e0"
subtext0 = "#a5adcb"
overlay2 = "#939ab7"
overlay1 = "#8087a2"
overlay0 = "#6e738d"
surface2 = "#5b6078"
surface1 = "#494d64"
surface0 = "#363a4f"
base = "#24273a"
mantle = "#1e2030"
crust = "#181926"
@@ -0,0 +1,116 @@
# Walker UI layout/theme config (Catppuccin Mocha tuned)
theme = "frosted"
debug = true
[ui]
css = "home/henrov/themes/frosted/walker.css"
[ui.anchors]
top = true
left = true
right = true
bottom = false # don't stretch to full height; keeps it as a panel
[ui.window]
h_align = "fill"
v_align = "fill"
[ui.window.box]
h_align = "center"
# Single source of truth for the main content width
width = 520
[ui.window.box.margins]
top = 140
[ui.window.box.bar]
orientation = "horizontal"
position = "end"
[ui.window.box.bar.entry]
h_align = "fill"
h_expand = true
[ui.window.box.bar.entry.icon]
h_align = "center"
h_expand = false
pixel_size = 22
theme = "" # leave empty to inherit your system icon theme (Papirus etc.)
# --- AI scroll area (match main width, reduce hardcoding) ---
[ui.window.box.ai_scroll]
name = "aiScroll"
h_align = "fill"
v_align = "fill"
min_width = 520
width = 520
max_height = 260
height = 260
[ui.window.box.ai_scroll.margins]
top = 10
[ui.window.box.ai_scroll.list]
name = "aiList"
orientation = "vertical"
width = 520
spacing = 10
[ui.window.box.ai_scroll.list.item]
name = "aiItem"
h_align = "fill"
v_align = "fill"
x_align = 0
y_align = 0
wrap = true
# --- Main results list ---
[ui.window.box.scroll.list]
# Catppuccin Mocha accent (pick one):
# - teal: #94e2d5
# - blue: #89b4fa
marker_color = "#89b4fa"
max_height = 360
min_width = 520
max_width = 520
width = 520
[ui.window.box.scroll.list.margins]
top = 10
[ui.window.box.scroll.list.item.activation_label]
h_align = "fill"
v_align = "fill"
width = 22
x_align = 0.5
y_align = 0.5
[ui.window.box.scroll.list.item.icon]
pixel_size = 24
theme = "" # inherit system icon theme
# --- Search row (icons + input) ---
[ui.window.box.search.prompt]
name = "prompt"
icon = "edit-find"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.clear]
name = "clear"
icon = "edit-clear"
theme = ""
pixel_size = 18
h_align = "center"
v_align = "center"
[ui.window.box.search.input]
h_align = "fill"
h_expand = true
icons = true
[ui.window.box.search.spinner]
hide = true
@@ -0,0 +1,162 @@
/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */
@define-color foreground rgba(255, 255, 255, 0.8);
@define-color background hsla(240, 12.7%, 13.9%, 0.98);
@define-color color1 hsl(172, 100%, 25.3%);
/* AUTO GENERATED. DO NOT EDIT. CHANGES WILL BE OVERWRITTEN. */
#window,
#box,
#aiScroll,
#aiList,
#search,
#password,
#input,
#prompt,
#clear,
#typeahead,
#list,
child,
scrollbar,
slider,
#item,
#text,
#label,
#bar,
#sub,
#activationlabel {
all: unset;
}
#cfgerr {
background: rgba(255, 0, 0, 0.4);
margin-top: 20px;
padding: 8px;
font-size: 1.2em;
}
#window {
color: @foreground;
}
#box {
border-radius: 2px;
background: @background;
padding: 32px;
border: 1px solid lighter(@background);
box-shadow:
0 19px 38px rgba(0, 0, 0, 0.3),
0 15px 12px rgba(0, 0, 0, 0.22);
}
#search {
box-shadow:
0 1px 3px rgba(0, 0, 0, 0.1),
0 1px 2px rgba(0, 0, 0, 0.22);
background: lighter(@background);
padding: 8px;
}
#prompt {
margin-left: 4px;
margin-right: 12px;
color: @foreground;
opacity: 0.2;
}
#clear {
color: @foreground;
opacity: 0.8;
}
#password,
#input,
#typeahead {
border-radius: 2px;
}
#input {
background: none;
}
#password {
}
#spinner {
padding: 8px;
}
#typeahead {
color: @foreground;
opacity: 0.8;
}
#input placeholder {
opacity: 0.5;
}
#list {
}
child {
padding: 8px;
border-radius: 2px;
}
child:selected,
child:hover {
background: alpha(@color1, 0.4);
}
#item {
}
#icon {
margin-right: 8px;
}
#text {
}
#label {
font-weight: 500;
}
#sub {
opacity: 0.5;
font-size: 0.8em;
}
#activationlabel {
}
#bar {
}
.barentry {
}
.activation #activationlabel {
}
.activation #text,
.activation #icon,
.activation #search {
opacity: 0.5;
}
.aiItem {
padding: 10px;
border-radius: 2px;
color: @foreground;
background: @background;
}
.aiItem.user {
padding-left: 0;
padding-right: 0;
}
.aiItem.assistant {
background: lighter(@background);
}
@@ -0,0 +1,185 @@
/* Catppuccin Mocha Walker Theme — Frosted Glass */
@import "default.css";
/* --- Palette --- */
/* glass layers: low alpha + slightly cool tint */
@define-color base rgba(220, 230, 255, 0.15);
@define-color mantle rgba(24, 24, 37, 0.55); /* was opaque */
@define-color crust rgba(17, 17, 27, 0.80);
@define-color text #cdd6f4;
@define-color subtext0 #a6adc8;
@define-color subtext1 #bac2de;
/* use these as “edge lights” more than solid fills */
@define-color surface0 rgba(49, 50, 68, 0.35);
@define-color surface1 rgba(69, 71, 90, 0.40);
@define-color surface2 rgba(88, 91, 112, 0.45);
@define-color overlay0 rgba(108, 112, 134, 0.70);
@define-color overlay1 rgba(127, 132, 156, 0.85);
@define-color overlay2 rgba(147, 153, 178, 0.90);
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color mauve #cba6f7;
@define-color green #a6e3a1;
@define-color red #f38ba8;
@define-color peach #fab387;
@define-color yellow #f9e2af;
/* --- Walker expected tokens --- */
@define-color foreground @text;
/* very transparent base to let compositor blur show through */
@define-color background: rgba(26, 26, 40, 0.75);
/* selection tint */
@define-color color1 @blue;
/* --- Reset --- */
#window,
#box,
#aiScroll,
#aiList,
#search,
#password,
#input,
#prompt,
#clear,
#typeahead,
#list,
child,
scrollbar,
slider,
#item,
#text,
#label,
#bar,
#sub,
#activationlabel {
all: unset;
}
/* --- Error --- */
#cfgerr {
background: alpha(@red, 0.35);
margin-top: 20px;
padding: 10px;
border-radius: 10px;
border: 1px solid alpha(@red, 0.3);
font-size: 1.1em;
}
/* --- Window --- */
#window {
color: @foreground;
}
/* --- Main container (frosted glass card) --- */
#box {
border-radius: 18px;
background: @background;
border: 1px solid alpha(@text, 0.08);
box-shadow:
inset 0 1px 0 alpha(@text, 0.04),
0 8px 18px alpha(@crust, 0.4);
padding: 28px;
}
/* --- Search “pill” --- */
#search {
background: rgba(49, 50, 68, 0.22);
padding: 10px 12px;
border-radius: 14px;
border: 1px solid alpha(@text, 0.1);
box-shadow:
inset 0 1px 0 alpha(@text, 0.06),
0 6px 16px alpha(@crust, 0.35);
}
#prompt {
margin-left: 6px;
margin-right: 12px;
color: alpha(@overlay1, 0.9);
}
#clear {
color: alpha(@overlay2, 0.9);
}
/* --- Inputs --- */
#password,
#input,
#typeahead {
border-radius: 10px;
}
#input {
background: none;
}
#typeahead {
color: alpha(@subtext1, 0.85);
}
#input placeholder {
color: alpha(@overlay0, 0.75);
}
/* --- List items --- */
child {
padding: 10px 12px;
border-radius: 14px;
background: @background;
border: 1px solid alpha(@text, 0.05);
}
/* Hover / Selection: brighter glass + tinted glow */
child:selected,
child:hover {
background: rgba(22, 22, 34, 0.8);
border: 1px solid alpha(@text, 0.08);
box-shadow:
inset 0 1px 0 alpha(@text, 0.05),
0 6px 14px alpha(@crust, 0.35);
}
/* --- Text --- */
#label {
font-weight: 600;
}
#sub {
color: alpha(@subtext0, 0.85);
font-size: 0.85em;
}
/* --- Activation --- */
.activation #text,
.activation #icon,
.activation #search {
opacity: 0.55;
}
/* --- AI Panel --- */
.aiItem {
padding: 12px;
border-radius: 14px;
color: @foreground;
/* glass tile */
background: rgba(24, 24, 37, 0.3);
border: 1px solid rgba(255, 255, 255, 0.05);
box-shadow: inset 0 1px 0 alpha(@text, 0.05);
}
.aiItem.assistant {
background: rgba(49, 50, 68, 0.22);
}
@@ -0,0 +1 @@
Henro
@@ -0,0 +1,3 @@
[preferred]
org.freedesktop.impl.portal.RemoteDesktop=hyprland
org.freedesktop.impl.portal.Screencast=hyprland
@@ -0,0 +1,2 @@
[preferred]
default=gtk
@@ -0,0 +1,26 @@
// Zed settings
//
// For information on how to configure Zed, see the Zed
// documentation: https://zed.dev/docs/configuring-zed
//
// To see all of Zed's default settings without changing your
// custom settings, run `zed: open default settings` from the
// command palette (cmd-shift-p / ctrl-shift-p)
{
"agent": {
"default_model": {
"provider": "ollama",
"model": "codellama:34b",
"enable_thinking": false
},
"favorite_models": [],
"model_parameters": []
},
"ui_font_size": 16,
"buffer_font_size": 15,
"theme": {
"mode": "system",
"light": "One Light",
"dark": "One Dark",
},
}
@@ -0,0 +1,29 @@
{
"agent": {
"default_model": {
"provider": "ollama",
"model": "starcoder2:15b"
},
"favorite_models": [],
"model_parameters": []
},
"auto_install_extensions": {
"catppuccin-icons": true,
"nix": true,
"rust": true,
"toml": true,
"org-mode": true
},
"icon_theme": "Catppuccin Mocha",
"language_models": {
"ollama": {
"api_url": "http://localhost:11434",
"auto_discover": true,
"context_window": 8192
}
},
"theme": {
"dark": "Catppuccin Mocha (blue)",
"light": "Catppuccin Mocha (blue)"
}
}
+17
View File
@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -euo pipefail
# Source and destination directories
SOURCE_DIR="./assets/conf/.config"
DEST_DIR="$HOME/.config"
# Check if source directory exists
if [ ! -d "$SOURCE_DIR" ]; then
echo "Error: Source directory $SOURCE_DIR does not exist."
exit 1
fi
# Create destination directory if it doesn't exist
mkdir -p "$DEST_DIR"
# Use rsync to copy files, overwriting symlinks and existing files
# --delete removes files in DEST_DIR that are not in SOURCE_DIR
# --no-group --no-owner preserves your user ownership
rsync -av --no-group --no-owner --delete "$SOURCE_DIR/" "$DEST_DIR/"
echo "Config files copied from $SOURCE_DIR to $DEST_DIR. Symlinks replaced with editable files."
+55
View File
@@ -0,0 +1,55 @@
#!/usr/bin/env bash
# Define source and destination directories
SOURCE_DIR="$HOME/.config"
DEST_DIR="$HOME/Repos/nixos/henrovnix_ok/assets/conf/.config"
# Create destination directory if it doesn't exist
mkdir -p "$DEST_DIR"
# List of files/directories to copy
declare -a files_to_copy=(
"git/config"
"hypr/hypridle.conf"
"hypr/hyprland.conf"
"hypr/hyprlock.conf"
"hypr/hyprpaper/config/DP-1/defaults.conf"
"hypr/hyprpaper/config/eDP-1/defaults.conf"
"hypr/lock.png"
"hypr/README.org"
"hypr/scripts/lid-lock.sh"
"hypr/scripts/powermenu.sh"
"hyprshell/config.ron"
"hyprshell/styles.css"
"kdeconnect/certificate.pem"
"kdeconnect/config"
"kdeconnect/privateKey.pem"
"kitty/kitty.conf"
"kitty/themes/Catppuccin-Mocha.conf"
"starship.toml"
"Thunar/accels.scm"
"Thunar/uca.xml"
"walker/config.toml"
"walker/themes/frosted/default.css"
"walker/themes/frosted/style.css"
"waybar/config"
"waybar/style.css"
"xdg-desktop-portal/hyprland-portals.conf"
"xdg-desktop-portal/portals.conf"
"zed/settings.json"
"zed/settings.json.backup"
)
# Copy each file/directory, resolving symlinks
for file in "${files_to_copy[@]}"; do
src="$SOURCE_DIR/$file"
dest="$DEST_DIR/$file"
mkdir -p "$(dirname "$dest")"
if [ -L "$src" ]; then
cp -L "$src" "$dest"
else
cp -r "$src" "$dest"
fi
done
echo "Files copied from $SOURCE_DIR to $DEST_DIR"
+8
View File
@@ -86,4 +86,12 @@ in
}; };
}; };
# Copying ./assets/config/.config to ~/.config
# Ensure the script is executable and available
environment.systemPackages = [ pkgs.bash ];
# Add the activation script
system.activationScripts.recreateConfig = lib.mkAfter "setupNetworking" ''
${self}/assets/scripts/recreate_config.sh
'';
} }
+1
View File
@@ -14,6 +14,7 @@
./desktop/rotating_wallpaper.nix ./desktop/rotating_wallpaper.nix
./desktop/waybar.nix ./desktop/waybar.nix
./desktop/walker.nix ./desktop/walker.nix
./windowrules.nix
./dev/dev.nix ./dev/dev.nix
./dev/kitty.nix ./dev/kitty.nix
./dev/shells.nix ./dev/shells.nix
@@ -0,0 +1 @@