diff --git a/README.md b/README.md new file mode 100644 index 0000000..0c8383a --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +![Nix](https://img.shields.io/badge/Nix-unstable-blue.svg?logo=nixos&logoColor=white) +![Home Manager](https://img.shields.io/badge/Home_Manager-enabled-brightgreen.svg) +# My even cooler than previous dotfiles! +My dotfiles managed with [home manager](https://github.com/nix-community/home-manager) + +# What's inside? +- Fish config +- Kitty config +- Hypr* stuff config +- Mako config +- ashell, waybar config +- nvim config + +## Screenshot +![Desktop screenshot](assets/sreenshot.png) +![Terminal screenshot](assets/terminal.png) + +# Some history +My first ever [dotfiles](https://github.com/szymon-jozef/dotfiles) repo was just named… Dotfiles. It was pretty bare bones. + +Then I created [superior dotfiles](https://github.com/szymon-jozef/superior_dotfiles). I used it with [chezmoi](https://www.chezmoi.io/). It was pretty good, but then I decided to try something else… + +As of today I'm using this repo with home manager. I'm still trying stuff out, but it looks pretty good right now. + +# How to try this out? +I guess you should [install home manager](https://nix-community.github.io/home-manager/index.xhtml#sec-install-standalone). You can do it on *any* distro! Then you just copy this repo to `~/.config/home-manager` and run +```bash +home-manager switch -b backup +``` + +--- + +I hope you'll enjoy it, if you for whatever reason want to try this random ass dotfiles found on the internet… diff --git a/assets/screenshot.png b/assets/screenshot.png new file mode 100644 index 0000000..f8c0af8 Binary files /dev/null and b/assets/screenshot.png differ diff --git a/assets/terminal.png b/assets/terminal.png new file mode 100644 index 0000000..7458ca4 Binary files /dev/null and b/assets/terminal.png differ diff --git a/dotfiles/hypr/colors.conf b/dotfiles/hypr/colors.conf new file mode 100644 index 0000000..8b923d0 --- /dev/null +++ b/dotfiles/hypr/colors.conf @@ -0,0 +1,79 @@ +$rosewater = rgb(dc8a78) +$rosewaterAlpha = dc8a78 + +$flamingo = rgb(dd7878) +$flamingoAlpha = dd7878 + +$pink = rgb(ea76cb) +$pinkAlpha = ea76cb + +$mauve = rgb(8839ef) +$mauveAlpha = 8839ef + +$red = rgb(d20f39) +$redAlpha = d20f39 + +$maroon = rgb(e64553) +$maroonAlpha = e64553 + +$peach = rgb(fe640b) +$peachAlpha = fe640b + +$yellow = rgb(df8e1d) +$yellowAlpha = df8e1d + +$green = rgb(40a02b) +$greenAlpha = 40a02b + +$teal = rgb(179299) +$tealAlpha = 179299 + +$sky = rgb(04a5e5) +$skyAlpha = 04a5e5 + +$sapphire = rgb(209fb5) +$sapphireAlpha = 209fb5 + +$blue = rgb(1e66f5) +$blueAlpha = 1e66f5 + +$lavender = rgb(7287fd) +$lavenderAlpha = 7287fd + +$text = rgb(4c4f69) +$textAlpha = 4c4f69 + +$subtext1 = rgb(5c5f77) +$subtext1Alpha = 5c5f77 + +$subtext0 = rgb(6c6f85) +$subtext0Alpha = 6c6f85 + +$overlay2 = rgb(7c7f93) +$overlay2Alpha = 7c7f93 + +$overlay1 = rgb(8c8fa1) +$overlay1Alpha = 8c8fa1 + +$overlay0 = rgb(9ca0b0) +$overlay0Alpha = 9ca0b0 + +$surface2 = rgb(acb0be) +$surface2Alpha = acb0be + +$surface1 = rgb(bcc0cc) +$surface1Alpha = bcc0cc + +$surface0 = rgb(ccd0da) +$surface0Alpha = ccd0da + +$base = rgb(eff1f5) +$baseAlpha = eff1f5 + +$mantle = rgb(e6e9ef) +$mantleAlpha = e6e9ef + +$crust = rgb(dce0e8) +$crustAlpha = dce0e8 + +$openrgb_color = 09ce30 diff --git a/dotfiles/hypr/hypridle.conf b/dotfiles/hypr/hypridle.conf new file mode 100644 index 0000000..41c9e26 --- /dev/null +++ b/dotfiles/hypr/hypridle.conf @@ -0,0 +1,23 @@ +general { + lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. + before_sleep_cmd = hyprlock # lock before suspend. + after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. +} + + +listener { + timeout = 300 # 5min + on-timeout = hyprlock # lock screen when timeout has passed +} + +listener { + timeout = 330 # 5.5min + on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed + on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired. +} + +listener { + timeout = 330 # 5.5min + on-timeout = openrgb -c black + on-resume = openrgb -c green +} diff --git a/dotfiles/hypr/hyprland.conf b/dotfiles/hypr/hyprland.conf new file mode 100644 index 0000000..43ec417 --- /dev/null +++ b/dotfiles/hypr/hyprland.conf @@ -0,0 +1,53 @@ +env = XCURSOR_SIZE, 32 +env = HYPRCURSOR_SIZE, 32 +env = HYPRCURSOR_THEME, theme_phinger-cursors-light +env = XDG_CURRENT_DESKTOP,Hyprland + +$mainMod = SUPER # Sets "Windows" key as main modifier +$terminal = uwsm app -- kitty +$menu = hyprlauncher +$music_player = flatpak run com.spotify.Client +$notes = obsidian +$browser = zen-browser + +input { + kb_layout = pl + kb_variant = + kb_model = + kb_options = caps:escape_shifted_capslock + kb_rules = + + follow_mouse = 1 + left_handed = true + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = true + } +} + +cursor { + no_hardware_cursors = true + inactive_timeout = 5 + warp_on_change_workspace = 1 + zoom_factor = 1.0 + hide_on_key_press = 1 +} + +misc { + force_default_wallpaper = 0 + disable_hyprland_logo = true + middle_click_paste = false +} + +xwayland { + force_zero_scaling = 1 +} + + +# IMPORTS + +source = ./colors.conf +source = ./hyprland/binds/* +source = ./hyprland/* diff --git a/dotfiles/hypr/hyprland/binds/audio.conf b/dotfiles/hypr/hyprland/binds/audio.conf new file mode 100644 index 0000000..abf714c --- /dev/null +++ b/dotfiles/hypr/hyprland/binds/audio.conf @@ -0,0 +1,12 @@ +# Requires pactl +bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga +bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga +bindel=, XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle +bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle && ~/.local/bin/check-if-muted.sh + +# Requires playerctl +bindl = , XF86AudioNext, exec, playerctl next +bindl = , Pause, exec, playerctl play-pause +bindl = $mainMod, Pause, exec, playerctl play-pause --player spotify +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous diff --git a/dotfiles/hypr/hyprland/binds/clipboard.conf b/dotfiles/hypr/hyprland/binds/clipboard.conf new file mode 100644 index 0000000..a1ea90b --- /dev/null +++ b/dotfiles/hypr/hyprland/binds/clipboard.conf @@ -0,0 +1,2 @@ +bind = $mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy +bind = $mainMod ALT_L, V, exec, cliphist wipe && notify-send "Clipboard" "Clipboard cleared!" diff --git a/dotfiles/hypr/hyprland/binds/display.conf b/dotfiles/hypr/hyprland/binds/display.conf new file mode 100644 index 0000000..ebcafc5 --- /dev/null +++ b/dotfiles/hypr/hyprland/binds/display.conf @@ -0,0 +1,12 @@ +# Zoom +binde = $mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}') +binde = $mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}') +bind = $mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1 + +# Brightness + +bindel = ,XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10 +bindel = ,XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10 + +# Wallpaper +bind = $mainMod, M, exec, [float] waypaper diff --git a/dotfiles/hypr/hyprland/binds/managment.conf b/dotfiles/hypr/hyprland/binds/managment.conf new file mode 100644 index 0000000..79e9f59 --- /dev/null +++ b/dotfiles/hypr/hyprland/binds/managment.conf @@ -0,0 +1,109 @@ +# Move windows around + +## Move focus with mainMod + vim keys +bind = $mainMod, h, movefocus, l +bind = $mainMod, l, movefocus, r +bind = $mainMod, k, movefocus, u +bind = $mainMod, j, movefocus, d + +## Resize with mainMod + shift + vim keys +binde = $mainMod L_SHIFT, l, resizeactive, 10 0 # right +binde = $mainMod L_SHIFT, h, resizeactive, -10 0 # left +binde = $mainMod L_SHIFT, k, resizeactive, 0 -10 #up +binde = $mainMod L_SHIFT, j, resizeactive, 0 10 # down + +## Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow + +## Scroll through existing workspaces with mainMod + scroll +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 + +## Move to different monitor +bind = $mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1 +bind = $mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1 + +## Switch workspaces with mainMod + [0-9] +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 + +## Move active window to a workspace with mainMod + SHIFT + [0-9] +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 + +## Change display settings +bindd = $mainMod, F, Make app fullscreen, fullscreen +bindd = $mainMod, T, Toggle floating, togglefloating +bindd = $mainMod, P, Toggle pseudo, pseudo +bindd = $mainMod, S, Toggle split, togglesplit +bindd = $mainMod, Q, Kill active window, killactive + +## special workspace +bind = $mainMod, TAB, togglespecialworkspace, magic +bind = $mainMod SHIFT, TAB, movetoworkspace, special:magic + +## master layout +bind = $mainMod, S, layoutmsg, swapwithmaster +bind = $mainMod, n, layoutmsg, swapnext +bind = $mainMod, p, layoutmsg, swapprev + +# APPS + +## general + +bind = $mainMod, RETURN, exec, [workspace 4] $terminal +bind = $mainMod CONTROL_L, RETURN, exec, $terminal +bind = $mainMod, space , exec, $menu +bind = $mainMod ALT_L, c, exec, openrgb -c $openrgb_color # restore openrgb color + +### messages +bind = $mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store="kwallet6" +bind = $mainMod Control_L, s, focuswindow, class:^(signal)$ +bind = $mainMod Control_L, s, focuswindow, title:^(signal)$ + +bind = $mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$ +bind = $mainMod Control_L, v, exec, uwsm app -- vesktop +bind = $mainMod Control_L, v, focuswindow, class:^(vesktop)$ + +### games +bind = $mainMod Control_L, g, exec, uwsm app -- steam +bind = $mainMod Control_L, g, focuswindow, class:^(steam)$ + +### browser +bind = $mainMod Control_L, b, exec, uwsm app -- $browser +bind = $mainMod Control_L, b, focuswindow, class:^(zen)$ + +### notes +bind = $mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes +bind = $mainMod Control_L, n, focuswindow, class:^(obsidian)$ + +### music player +bind = $mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player + +### youtube ig +bind = $mainMod Control_L, f, exec, uwsm app -- freetube +bind = $mainMod Control_L, f, focuswindow, class:^(freetube)$ + +### x +bind = $mainMod Control_L, x, exec, uwsm app -- ~/.local/share/applications/x.desktop +bind = $mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$ + +## restart status bar +bind = $mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell diff --git a/dotfiles/hypr/hyprland/binds/power.conf b/dotfiles/hypr/hyprland/binds/power.conf new file mode 100644 index 0000000..160bdc0 --- /dev/null +++ b/dotfiles/hypr/hyprland/binds/power.conf @@ -0,0 +1,5 @@ +bind = $mainMod L_SHIFT ctrl, l, exec, hyprlock # lock +bind = $mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot +bind = $mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff +bind = $mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep +bind = $mainMod L_SHIFT ctrl, m, exec, uwsm stop diff --git a/dotfiles/hypr/hyprland/binds/screenshots.conf b/dotfiles/hypr/hyprland/binds/screenshots.conf new file mode 100644 index 0000000..bd80c0a --- /dev/null +++ b/dotfiles/hypr/hyprland/binds/screenshots.conf @@ -0,0 +1,3 @@ +bindt = , PRINT, exec, ~/.local/bin/screenshot.sh region +bindt = $mainMod, PRINT, exec, ~/.local/bin/screenshot.sh fullscreen +bindt = alt_l, PRINT, exec, ~/.local/bin/screenshot.sh window diff --git a/dotfiles/hypr/hyprland/decoration.conf b/dotfiles/hypr/hyprland/decoration.conf new file mode 100644 index 0000000..488b9ac --- /dev/null +++ b/dotfiles/hypr/hyprland/decoration.conf @@ -0,0 +1,25 @@ +# https://wiki.hyprland.org/Configuring/Variables/#decoration +decoration { + rounding = 1 + rounding_power = 2 + + # Change transparency of focused and unfocused windows + active_opacity = 1.0 + inactive_opacity = 1.0 + + shadow { + enabled = true + range = 1 + render_power = 1 + color = $overlay0 + } + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 1 + passes = 1 + + vibrancy = 0.1696 + } +} diff --git a/dotfiles/hypr/hyprland/exec.conf b/dotfiles/hypr/hyprland/exec.conf new file mode 100644 index 0000000..cf9fd41 --- /dev/null +++ b/dotfiles/hypr/hyprland/exec.conf @@ -0,0 +1,7 @@ +exec-once = wl-paste --type text --watch cliphist store +exec-once = wl-paste --type image --watch cliphist store + +exec-once = uwsm app -- kdeconnect-indicator +exec-once = uwsm app -- ashell +exec-once = swww-daemon +exec-once = openrgb -c $openrgb_color diff --git a/dotfiles/hypr/hyprland/general.conf b/dotfiles/hypr/hyprland/general.conf new file mode 100644 index 0000000..a748377 --- /dev/null +++ b/dotfiles/hypr/hyprland/general.conf @@ -0,0 +1,47 @@ +general { + gaps_in = 4 + gaps_out = 6 + + border_size = 4 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = $blue $sky + col.inactive_border = $overlay1 + + # Set to true enable resizing windows by clicking and dragging on borders and gaps + resize_on_border = false + + # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on + allow_tearing = false + + layout = dwindle +} + +animations { + enabled = yes, please :) + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = easeOutQuint,0.23,1,0.32,1 + bezier = easeInOutCubic,0.65,0.05,0.36,1 + bezier = linear,0,0,1,1 + bezier = almostLinear,0.5,0.5,0.75,1.0 + bezier = quick,0.15,0,0.1,1 + + animation = global, 1, 7, default + animation = border, 1, 3.39, easeOutQuint + animation = windows, 1, 2.79, easeOutQuint + animation = windowsIn, 1, 2.1, easeOutQuint, popin 87% + animation = windowsOut, 1, 1, linear, popin 87% + animation = fadeIn, 1, 1.4, almostLinear + animation = fadeOut, 1, 1.2, almostLinear + animation = fade, 1, 3.03, quick + animation = layers, 1, 2, easeOutQuint + animation = layersIn, 1, 2, easeOutQuint, fade + animation = layersOut, 1, 1, linear, fade + animation = fadeLayersIn, 1, 1.4, almostLinear + animation = fadeLayersOut, 1, 1.1, almostLinear + animation = workspaces, 1, 1.4, quick, slidevert + animation = workspacesIn, 1, 0.5, quick, slidevert + animation = workspacesOut, 1, 0.5, quick, slidevert +} diff --git a/dotfiles/hypr/hyprland/layouts.conf b/dotfiles/hypr/hyprland/layouts.conf new file mode 100644 index 0000000..f6753b6 --- /dev/null +++ b/dotfiles/hypr/hyprland/layouts.conf @@ -0,0 +1,10 @@ +dwindle { + pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = true # You probably want this +} + +master { + new_status = slave + allow_small_split = true + orientation = left +} diff --git a/dotfiles/hypr/hyprland/monitors.conf b/dotfiles/hypr/hyprland/monitors.conf new file mode 100644 index 0000000..27e6ba8 --- /dev/null +++ b/dotfiles/hypr/hyprland/monitors.conf @@ -0,0 +1,40 @@ +monitorv2 { + output = DP-1 + mode = 2560x1440@180.06 + + position = 0x0 + scale = 1 + vrr = 1 + + supports_wide_color = 1 + bitdepth = 10 + sdr_min_luminance = 0.005 + sdr_max_luminance = 220 + cm = hdr + supports_hdr = 1 +} + +monitorv2 { + output = DP-2 + mode = 1920x1080@144 + position = auto-left + vrr = 1 + scale = 1.0 +} + +monitorv2 { + output = HDMI-A-2 + mode = highres + position = auto-up + scale = 1 +} + +monitorv2 { + output = + position = auto-right + scale = 1 +} + +quirks { + prefer_hdr = 1 +} diff --git a/dotfiles/hypr/hyprland/rules.conf b/dotfiles/hypr/hyprland/rules.conf new file mode 100644 index 0000000..9d78e6b --- /dev/null +++ b/dotfiles/hypr/hyprland/rules.conf @@ -0,0 +1,67 @@ +windowrule { + name = pavucontrol-float + match:class = ^(org.pulseaudio.pavucontrol)$ + float = 1 + size = 80% 60% + stay_focused = 1 + center = 1 + pin = 1 +} + +windowrule { + name = share-picker-float + match:class = ^(hyprland-share-picker)$ + float = 1 + center = 1 + pin = 1 +} + +windowrule { + name = steam-friends-list + match:title = ^(Lista znajomych)$ + float = 1 + center = 1 + size = 40% 60% +} + +windowrule { + name = vesktop-dont-focus-pls + match:class = ^(vesktop)$ + no_initial_focus = 1 + focus_on_activate = 0 + render_unfocused = 1 +} + +windowrule { + name = xdg-desktop-portal-gtk + match:class = ^(xdg-desktop-portal-gtk)$ + float = 1 + center = 1 + size = 55% 50% +} + +windowrule { + name = picture-in-picture + match:title = ^(Obraz w obrazie)$ + pseudo = 1 + no_initial_focus = 1 +} + +windowrule { + name = login-google-zen + match:title = ^(Logowanie – Konta Google — Zen Browser)$ + float = 1 + center = 1 +} + +windowrule { + name = prism-launcher + match:class = ^(org.prismlauncher.PrismLauncher)$ + workspace = 3 +} + +windowrule { + name = gamescope + match:class = ^(gamescope)$ + workspace = 3 +} diff --git a/dotfiles/hypr/hyprland/security.conf b/dotfiles/hypr/hyprland/security.conf new file mode 100644 index 0000000..fe73c34 --- /dev/null +++ b/dotfiles/hypr/hyprland/security.conf @@ -0,0 +1,7 @@ +ecosystem { + enforce_permissions = true +} + +permission = /usr/bin/grim, screencopy, allow +permission = /usr/bin/hyprlock, screencopy, allow +permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow diff --git a/dotfiles/hypr/hyprland/workspaces.conf b/dotfiles/hypr/hyprland/workspaces.conf new file mode 100644 index 0000000..18638a4 --- /dev/null +++ b/dotfiles/hypr/hyprland/workspaces.conf @@ -0,0 +1,54 @@ +workspace = 1, monitor:DP-2 +workspace = 2, monitor:DP-1 +workspace = 3, monitor:DP-1 +workspace = 4, monitor:DP-1 +workspace = 5, monitor:DP-1 +workspace = 6, monitor:DP-1 +workspace = 7, monitor:HDMI-A-2 +workspace = 9, monitor:DP-2 +workspace = 10, monitor:DP-2 + +# smart gaps or smt +workspace = w[tv1], gapsout:0, gapsin:0 +workspace = f[1], gapsout:0, gapsin:0 +windowrule = border_size 0, match:float 0, match:workspace w[tv1] +windowrule = rounding 0, match:float 0, match:workspace w[tv1] +windowrule = border_size 0, match:float 0, match:workspace f[1] +windowrule = rounding 0, match:float 0, match:workspace f[1] + +# assign windows to workspaces + +# Workspace 1 +windowrule = match:class ^(signal)$, workspace 1 +windowrule = match:class ^(vesktop)$, workspace 1 silent +windowrule = match:class ^(chrome-facebook.com__-Default)$, workspace 1 + +# Workspace 2 +windowrule = match:class ^(zen)$, workspace 2 +windowrule = match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2 +windowrule = match:class ^(FreeTube)$, workspace 2 +windowrule = match:class ^(chrome-x.com__-Default)$, workspace 2 +windowrule = match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2 +windowrule = match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2 +windowrule = match:class ^(chrome-app.tuta.com__-Default)$, workspace 2 + +# Workspace 3 +windowrule = match:class ^(steam)$, workspace 3 silent +windowrule = match:class ^(heroic)$, workspace 3 +windowrule = match:class ^(net.lutris.Lutris)$, workspace 3 +windowrule = match:class ^(rpcs3)$, workspace 3 + +# Workspace 5 +windowrule = match:class ^(winboat)$, workspace 5 + +# Workspace 6 +windowrule = match:class ^(obsidian)$, workspace 6 + +# Workspace 8 +windowrule = match:class ^(gimp)$, workspace 8 + +# Workspace 9 +windowrule = match:class .*potify, workspace 9 silent + +# Workspace 10 +windowrule = match:class ^(com.obsproject.Studio)$, workspace 10 diff --git a/dotfiles/hypr/hyprlauncher.conf b/dotfiles/hypr/hyprlauncher.conf new file mode 100644 index 0000000..17351fa --- /dev/null +++ b/dotfiles/hypr/hyprlauncher.conf @@ -0,0 +1 @@ +desktop_launch_prefix = uwsm app -- diff --git a/dotfiles/hypr/hyprlock.conf b/dotfiles/hypr/hyprlock.conf new file mode 100644 index 0000000..94b887e --- /dev/null +++ b/dotfiles/hypr/hyprlock.conf @@ -0,0 +1,106 @@ +# sample hyprlock.conf +# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock +# +# rendered text in all widgets supports pango markup (e.g. or tags) +# ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#general-remarks +# +# shortcuts to clear password buffer: ESC, Ctrl+U, Ctrl+Backspace +# +# you can get started by copying this config to ~/.config/hypr/hyprlock.conf +# + +$font = Monospace + +general { + hide_cursor = false +} + +# uncomment to enable fingerprint authentication +# auth { +# fingerprint { +# enabled = true +# ready_message = Scan fingerprint to unlock +# present_message = Scanning... +# retry_delay = 250 # in milliseconds +# } +# } + +animations { + enabled = true + bezier = linear, 1, 1, 0, 0 + animation = fadeIn, 1, 5, linear + animation = fadeOut, 1, 5, linear + animation = inputFieldDots, 1, 2, linear +} + +background { + monitor = + path = screenshot + blur_passes = 3 +} + +input-field { + monitor = + size = 20%, 5% + outline_thickness = 3 + inner_color = rgba(0, 0, 0, 0.0) # no fill + + outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg + check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg + fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg + + font_color = rgb(143, 143, 143) + fade_on_empty = false + rounding = 15 + + font_family = $font + placeholder_text = Input password... + fail_text = $PAMFAIL + + # uncomment to use a letter instead of a dot to indicate the typed password + # dots_text_format = * + # dots_size = 0.4 + dots_spacing = 0.3 + + # uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator) + # hide_input = true + + position = 0, -20 + halign = center + valign = center +} + +# TIME +label { + monitor = + text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution + font_size = 90 + font_family = $font + + position = -30, 0 + halign = right + valign = top +} + +# DATE +label { + monitor = + text = cmd[update:60000] date +"%A, %d %B %Y" # update every 60 seconds + font_size = 25 + font_family = $font + + position = -30, -150 + halign = right + valign = top +} + +label { + monitor = + text = $LAYOUT[en,ru] + font_size = 24 + onclick = hyprctl switchxkblayout all next + + position = 250, -20 + halign = center + valign = center +} diff --git a/dotfiles/hypr/hyprpaper.conf b/dotfiles/hypr/hyprpaper.conf new file mode 100644 index 0000000..c86acef --- /dev/null +++ b/dotfiles/hypr/hyprpaper.conf @@ -0,0 +1,4 @@ +preload = /home/szymon/Obrazy/tapety/sfw/forrest.png +wallpaper = ,/home/szymon/Obrazy/tapety/sfw/forrest.png +splash = off +ipc = on diff --git a/dotfiles/hypr/hyprsunset.conf b/dotfiles/hypr/hyprsunset.conf new file mode 100644 index 0000000..99945c9 --- /dev/null +++ b/dotfiles/hypr/hyprsunset.conf @@ -0,0 +1,13 @@ +max-gamma = 150 + +profile { + time = 7:00 + identity = true +} + +profile { + time = 21:00 + identity = false + temperature = 4500 + gamma = 0.8 +} diff --git a/home.nix b/home.nix index e0751d5..dc7cfeb 100644 --- a/home.nix +++ b/home.nix @@ -41,6 +41,7 @@ ".config/gtk-4.0".source = ./dotfiles/gtk-4.0; ".config/satty".source = ./dotfiles/satty; ".config/waybar".source = ./dotfiles/waybar; + ".config/hypr".source = ./dotfiles/hypr; }; home.sessionVariables = { diff --git a/modules/fish.nix b/modules/fish.nix index 9c3567e..ec0737f 100644 --- a/modules/fish.nix +++ b/modules/fish.nix @@ -3,6 +3,11 @@ { programs.fish = { enable = true; + loginShellInit = '' + # Dodaje binarki Home Managera do PATH, jeśli jeszcze ich tam nie ma + fish_add_path --move --prepend --path "$HOME/.nix-profile/bin" /nix/var/nix/profiles/default/bin /run/current-system/sw/bin + ''; + interactiveShellInit = '' # no dum greeting set fish_greeting ""