diff --git a/arch_packages.txt b/arch_packages.txt index 722c0c8..923b0ed 100644 --- a/arch_packages.txt +++ b/arch_packages.txt @@ -7,3 +7,4 @@ hyprlock hyprsunset satty kitty +mangohud diff --git a/home.nix b/home.nix index 5dce6e4..df54922 100644 --- a/home.nix +++ b/home.nix @@ -24,55 +24,44 @@ }; imports = [ - # general packages list + # general ./modules/packages.nix + ./modules/xdg.nix + ./modules/desktop.nix + ./modules/gtk.nix # cli tools - ./modules/fish.nix - ./modules/nixvim.nix - ./modules/yazi.nix - ./modules/btop.nix - ./modules/atuin.nix - ./modules/zoxide.nix - ./modules/mako.nix - ./modules/ssh.nix - ./modules/bat.nix - ./modules/git.nix + ./modules/cli/fish.nix + ./modules/cli/nixvim.nix + ./modules/cli/yazi.nix + ./modules/cli/btop.nix + ./modules/cli/atuin.nix + ./modules/cli/zoxide.nix + ./modules/cli/ssh.nix + ./modules/cli/bat.nix + ./modules/cli/git.nix + ./modules/cli/fastfetch.nix # gui tools - ./modules/kitty.nix - ./modules/satty.nix + ./modules/gui/kitty.nix + ./modules/gui/satty.nix + ./modules/gui/mako.nix + ./modules/gui/mangohud.nix # status bars - ./modules/ashell.nix - ./modules/waybar.nix + ./modules/bars/ashell.nix + ./modules/bars/waybar.nix # hypr ./modules/hypr/hyprland.nix ./modules/hypr/hyprlauncher.nix ./modules/hypr/hypridle.nix ./modules/hypr/hyprlock.nix ./modules/hypr/hyprsunset.nix + ./modules/hypr/hyprtoolkit.nix ]; - # === DOTFILES IMPORT === + # === SCRIPTS IMPORT === home.file = { - ".config/fastfetch".source = ./dotfiles/fastfetch; - ".config/MangoHud".source = ./dotfiles/mangohud; - # ".config/nvim".source = ./dotfiles/nvim; - ".config/gtk-3.0/settings.ini".source = ./dotfiles/gtk-3.0/settings.ini; - ".config/gtk-4.0".source = ./dotfiles/gtk-4.0; - # ".config/hypr".source = ./dotfiles/hypr; - ".config/mimeapps.list".source = ./dotfiles/mimeapps.list; ".local/bin".source = ./scripts; }; - # XDG - xdg.portal.config = { - common = { - default = [ - "hyprland" - "gtk" - ]; - }; - }; - # === VARS === home.sessionVariables = { diff --git a/modules/ashell.nix b/modules/bars/ashell.nix similarity index 97% rename from modules/ashell.nix rename to modules/bars/ashell.nix index c1a6ae8..260bca5 100644 --- a/modules/ashell.nix +++ b/modules/bars/ashell.nix @@ -37,6 +37,7 @@ appearance = { scale_factor = 1.2; + style = "Gradient"; success_color = "#a6e3a1"; text_color = "#cdd6f4"; workspace_colors = [ diff --git a/modules/waybar.nix b/modules/bars/waybar.nix similarity index 100% rename from modules/waybar.nix rename to modules/bars/waybar.nix diff --git a/modules/atuin.nix b/modules/cli/atuin.nix similarity index 100% rename from modules/atuin.nix rename to modules/cli/atuin.nix diff --git a/modules/bat.nix b/modules/cli/bat.nix similarity index 100% rename from modules/bat.nix rename to modules/cli/bat.nix diff --git a/modules/btop.nix b/modules/cli/btop.nix similarity index 100% rename from modules/btop.nix rename to modules/cli/btop.nix diff --git a/modules/cli/fastfetch.nix b/modules/cli/fastfetch.nix new file mode 100644 index 0000000..ea27e69 --- /dev/null +++ b/modules/cli/fastfetch.nix @@ -0,0 +1,62 @@ +{ config, pkgs, ... }: + +{ + programs.fastfetch = { + enable = true; + settings = { + modules = [ + "title" + "separator" + "os" + "host" + "kernel" + "packages" + "separator" + "wm" + "shell" + "terminal" + "theme" + "font" + "locale" + "separator" + "display" + "cpu" + "gpu" + "memory" + "disk" + "battery" + "separator" + "wifi" + "localip" + "break" + "colors" + ]; + }; + }; + + xdg.configFile."fastfetch/startup.jsonc".text = builtins.toJSON { + logo = { + source = "arch_small"; + padding = { + bottom = 1; + }; + }; + display = { + separator = " ➜ "; + }; + modules = [ + "title" + "kernel" + "packages" + "shell" + "battery" + { + type = "separator"; + string = " • "; + } + "break" + "break" + "break" + ]; + }; +} diff --git a/modules/fish.nix b/modules/cli/fish.nix similarity index 100% rename from modules/fish.nix rename to modules/cli/fish.nix diff --git a/modules/git.nix b/modules/cli/git.nix similarity index 100% rename from modules/git.nix rename to modules/cli/git.nix diff --git a/modules/nixvim.nix b/modules/cli/nixvim.nix similarity index 100% rename from modules/nixvim.nix rename to modules/cli/nixvim.nix diff --git a/modules/ssh.nix b/modules/cli/ssh.nix similarity index 100% rename from modules/ssh.nix rename to modules/cli/ssh.nix diff --git a/modules/yazi.nix b/modules/cli/yazi.nix similarity index 100% rename from modules/yazi.nix rename to modules/cli/yazi.nix diff --git a/modules/zoxide.nix b/modules/cli/zoxide.nix similarity index 100% rename from modules/zoxide.nix rename to modules/cli/zoxide.nix diff --git a/modules/desktop.nix b/modules/desktop.nix new file mode 100644 index 0000000..158fedf --- /dev/null +++ b/modules/desktop.nix @@ -0,0 +1,31 @@ +{ ... }: + +{ + xdg.desktopEntries = { + x = { + name = "X"; + genericName = "Social Media Client"; + comment = "Open X (twitter)"; + exec = "uwsm app -- chromium --app=https://x.com"; + icon = "twitter"; + terminal = false; + categories = [ + "Network" + "WebBrowser" + "X-Social" + ]; + }; + + proton-mail = { + name = "Proton mail"; + genericName = "Proton mail"; + comment = "Open Proton Mail"; + exec = "uwsm app -- chromium --app=https://mail.proton.me/u/0/inbox.com"; + terminal = false; + categories = [ "Email" ]; + settings = { + StartupWMClass = "proton-mail.com"; + }; + }; + }; +} diff --git a/modules/gtk.nix b/modules/gtk.nix new file mode 100644 index 0000000..1ddb691 --- /dev/null +++ b/modules/gtk.nix @@ -0,0 +1,13 @@ +{ ... }: + +{ + gtk.enable = true; + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + }; +} diff --git a/modules/kitty.nix b/modules/gui/kitty.nix similarity index 100% rename from modules/kitty.nix rename to modules/gui/kitty.nix diff --git a/modules/mako.nix b/modules/gui/mako.nix similarity index 100% rename from modules/mako.nix rename to modules/gui/mako.nix diff --git a/modules/gui/mangohud.nix b/modules/gui/mangohud.nix new file mode 100644 index 0000000..82597ac --- /dev/null +++ b/modules/gui/mangohud.nix @@ -0,0 +1,81 @@ +{ + config, + pkgs, + isNixOS, + ... +}: + +{ + catppuccin.mangohud.enable = false; + + programs.mangohud = { + enable = true; + package = if isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out"); + }; + + xdg.configFile."MangoHud/MangoHud.conf".text = '' + legacy_layout=false + background_alpha=0.6 + round_corners=10 + background_color=1E1E2E + font_size=24 + text_color=CDD6F4 + position=top-right + no_display + hud_compact + + pci_dev=0:03:00.0 + table_columns=2 + + gpu_text=GPU + gpu_stats + gpu_voltage + gpu_core_clock + gpu_mem_clock + gpu_temp + gpu_mem_temp + gpu_fan + gpu_power + gpu_color=A6E3A1 + gpu_name + + cpu_text=CPU + cpu_stats + cpu_load_change + cpu_load_value=50,90 + cpu_load_color=A6E3A1,FAB387,F38BA8 + cpu_mhz + cpu_temp + cpu_power + cpu_color=89B4FA + + vram + vram_color=A6E3A1 + ram + ram_color=F5C2E7 + + io_stats + io_read + io_write + io_color=CDD6F4 + + fps + fps_metrics=avg,0.01 + frame_timing + frametime_color=A6E3A1 + fps_limit_method=late + toggle_fps_limit=Shift_L+F1 + fps_limit=0 + resolution + gamemode + fps_color_change + fps_color=F38BA8,F9E2AF,A6E3A1 + fps_value=30,60 + + log_duration=30 + autostart_log=0 + log_interval=100 + toggle_logging=Shift_L+F2 + blacklist=pamac-manager,lact,ghb,bitwig-studio,ptyxis,yumex + ''; +} diff --git a/modules/satty.nix b/modules/gui/satty.nix similarity index 100% rename from modules/satty.nix rename to modules/gui/satty.nix diff --git a/modules/hypr/hyprland.nix b/modules/hypr/hyprland.nix index b71ea7a..d0c97de 100644 --- a/modules/hypr/hyprland.nix +++ b/modules/hypr/hyprland.nix @@ -107,9 +107,9 @@ }; permission = [ - "/usr/bin/grim, screencopy, allow" - "/usr/bin/hyprlock, screencopy, allow" - "/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow" + ".*(grim), screencopy, allow" + ".*(hyprlock), screencopy, allow" + ".*(xdg-desktop-portal-hyprland), screencopy, allow" ]; input = { @@ -199,81 +199,83 @@ "match:class ^(com.obsproject.Studio)$, workspace 10" ]; - bind = [ - # background - "$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy" - "$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\"" - # power management - "$mainMod L_SHIFT ctrl, l, exec, hyprlock" - "$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot" - "$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff" - "$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep" - "$mainMod L_SHIFT ctrl, m, exec, uwsm stop" - # zoom - "$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1" - # focus management - "$mainMod, h, movefocus, l" - "$mainMod, l, movefocus, r" - "$mainMod, k, movefocus, u" - "$mainMod, j, movefocus, d" - "$mainMod, mouse_down, workspace, e+1" - "$mainMod, mouse_up, workspace, e-1" - "$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1" - "$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1" - # workspace management - "$mainMod, 1, workspace, 1" - "$mainMod, 2, workspace, 2" - "$mainMod, 3, workspace, 3" - "$mainMod, 4, workspace, 4" - "$mainMod, 5, workspace, 5" - "$mainMod, 6, workspace, 6" - "$mainMod, 7, workspace, 7" - "$mainMod, 8, workspace, 8" - "$mainMod, 9, workspace, 9" - "$mainMod, 0, workspace, 10" - # window management - "$mainMod SHIFT, 1, movetoworkspace, 1" - "$mainMod SHIFT, 2, movetoworkspace, 2" - "$mainMod SHIFT, 3, movetoworkspace, 3" - "$mainMod SHIFT, 4, movetoworkspace, 4" - "$mainMod SHIFT, 5, movetoworkspace, 5" - "$mainMod SHIFT, 6, movetoworkspace, 6" - "$mainMod SHIFT, 7, movetoworkspace, 7" - "$mainMod SHIFT, 8, movetoworkspace, 8" - "$mainMod SHIFT, 9, movetoworkspace, 9" - "$mainMod SHIFT, 0, movetoworkspace, 10" - # special workspace - "$mainMod, TAB, togglespecialworkspace, magic" - "$mainMod SHIFT, TAB, movetoworkspace, special:magic" - # layout - "$mainMod, S, layoutmsg, swapwithmaster" - "$mainMod, n, layoutmsg, swapnext" - "$mainMod, p, layoutmsg, swapprev" - # apps - "$mainMod, M, exec, [float] waypaper" - "$mainMod, RETURN, exec, [workspace 4] $terminal" - "$mainMod CONTROL_L, RETURN, exec, $terminal" - "$mainMod, space , exec, $menu" - "$mainMod ALT_L, c, exec, openrgb -c $openrgb_color" - "$mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store=\"kwallet6\"" - "$mainMod Control_L, s, focuswindow, class:^(signal)$" - "$mainMod Control_L, s, focuswindow, title:^(signal)$" - "$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$" - "$mainMod Control_L, v, exec, uwsm app -- vesktop" - "$mainMod Control_L, v, focuswindow, class:^(vesktop)$" - "$mainMod Control_L, g, exec, uwsm app -- steam" - "$mainMod Control_L, g, focuswindow, class:^(steam)$" - "$mainMod Control_L, b, exec, uwsm app -- $browser" - "$mainMod Control_L, b, focuswindow, class:^(zen)$" - "$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes" - "$mainMod Control_L, n, focuswindow, class:^(obsidian)$" - "$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player" - "$mainMod Control_L, f, exec, uwsm app -- freetube" - "$mainMod Control_L, f, focuswindow, class:^(freetube)$" - "$mainMod Control_L, x, exec, uwsm app -- ~/.local/share/applications/x.desktop" - "$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$" - "$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell" - ]; + bind = + # hyprlang + [ + # background + "$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy" + "$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\"" + # power management + "$mainMod L_SHIFT ctrl, l, exec, hyprlock" + "$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot" + "$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff" + "$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep" + "$mainMod L_SHIFT ctrl, m, exec, uwsm stop" + # zoom + "$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1" + # focus management + "$mainMod, h, movefocus, l" + "$mainMod, l, movefocus, r" + "$mainMod, k, movefocus, u" + "$mainMod, j, movefocus, d" + "$mainMod, mouse_down, workspace, e+1" + "$mainMod, mouse_up, workspace, e-1" + "$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1" + "$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1" + # workspace management + "$mainMod, 1, workspace, 1" + "$mainMod, 2, workspace, 2" + "$mainMod, 3, workspace, 3" + "$mainMod, 4, workspace, 4" + "$mainMod, 5, workspace, 5" + "$mainMod, 6, workspace, 6" + "$mainMod, 7, workspace, 7" + "$mainMod, 8, workspace, 8" + "$mainMod, 9, workspace, 9" + "$mainMod, 0, workspace, 10" + # window management + "$mainMod SHIFT, 1, movetoworkspace, 1" + "$mainMod SHIFT, 2, movetoworkspace, 2" + "$mainMod SHIFT, 3, movetoworkspace, 3" + "$mainMod SHIFT, 4, movetoworkspace, 4" + "$mainMod SHIFT, 5, movetoworkspace, 5" + "$mainMod SHIFT, 6, movetoworkspace, 6" + "$mainMod SHIFT, 7, movetoworkspace, 7" + "$mainMod SHIFT, 8, movetoworkspace, 8" + "$mainMod SHIFT, 9, movetoworkspace, 9" + "$mainMod SHIFT, 0, movetoworkspace, 10" + # special workspace + "$mainMod, TAB, togglespecialworkspace, magic" + "$mainMod SHIFT, TAB, movetoworkspace, special:magic" + # layout + "$mainMod, S, layoutmsg, swapwithmaster" + "$mainMod, n, layoutmsg, swapnext" + "$mainMod, p, layoutmsg, swapprev" + # apps + "$mainMod, M, exec, [float] waypaper" + "$mainMod, RETURN, exec, [workspace 4] $terminal" + "$mainMod CONTROL_L, RETURN, exec, $terminal" + "$mainMod, space , exec, $menu" + "$mainMod ALT_L, c, exec, openrgb -c $openrgb_color" + "$mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store=\"kwallet6\"" + "$mainMod Control_L, s, focuswindow, class:^(signal)$" + "$mainMod Control_L, s, focuswindow, title:^(signal)$" + "$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$" + "$mainMod Control_L, v, exec, uwsm app -- vesktop" + "$mainMod Control_L, v, focuswindow, class:^(vesktop)$" + "$mainMod Control_L, g, exec, uwsm app -- steam" + "$mainMod Control_L, g, focuswindow, class:^(steam)$" + "$mainMod Control_L, b, exec, uwsm app -- $browser" + "$mainMod Control_L, b, focuswindow, class:^(zen)$" + "$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes" + "$mainMod Control_L, n, focuswindow, class:^(obsidian)$" + "$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player" + "$mainMod Control_L, f, exec, uwsm app -- freetube" + "$mainMod Control_L, f, focuswindow, class:^(freetube)$" + "$mainMod Control_L, x, exec, uwsm app -- ~/.local/share/applications/x.desktop" + "$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$" + "$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell" + ]; binde = [ "$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')" @@ -321,117 +323,119 @@ ]; }; - extraConfig = '' - windowrule { - name = pavucontrol-float - match:class = ^(org.pulseaudio.pavucontrol)$ - float = 1 - size = 80% 60% - stay_focused = 1 - center = 1 - pin = 1 - } + extraConfig = + #hyprlang + '' + 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 = 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 = 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 = 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 = 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 = 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 = 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 = prism-launcher + match:class = ^(org.prismlauncher.PrismLauncher)$ + workspace = 3 + } - windowrule { - name = gamescope - match:class = ^(gamescope)$ - workspace = 3 - } + windowrule { + name = gamescope + match:class = ^(gamescope)$ + workspace = 3 + } - 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-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 = 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 = HDMI-A-2 + mode = highres + position = auto-up + scale = 1 + } - # for laptop - monitorv2 { - output = eDP-1 - mode = highres - position = 0x0 - scale = 1 - } + # for laptop + monitorv2 { + output = eDP-1 + mode = highres + position = 0x0 + scale = 1 + } - monitorv2 { - output = - position = auto-right - scale = 1 - } - ''; + monitorv2 { + output = + position = auto-right + scale = 1 + } + ''; }; } diff --git a/modules/hypr/hyprlock.nix b/modules/hypr/hyprlock.nix index b79689a..26abc51 100644 --- a/modules/hypr/hyprlock.nix +++ b/modules/hypr/hyprlock.nix @@ -32,32 +32,11 @@ } ]; - input-field = [ - { - monitor = ""; - size = "20%, 5%"; - outline_thickness = 3; - inner_color = "rgba(0, 0, 0, 0.0)"; - 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"; - dots_spacing = 0.3; - position = "0, -20"; - halign = "center"; - valign = "center"; - } - ]; - label = [ { monitor = ""; text = "$TIME"; + color = "$text"; font_size = 90; font_family = "$font"; position = "-30, 0"; @@ -67,21 +46,13 @@ { monitor = ""; text = ''cmd[update:60000] date +"%A, %d %B %Y"''; + color = "$subtext1"; font_size = 25; font_family = "$font"; position = "-30, -150"; halign = "right"; valign = "top"; } - { - monitor = ""; - text = "$LAYOUT[pl]"; - font_size = 24; - onclick = "hyprctl switchxkblayout all next"; - position = "250, -20"; - halign = "center"; - valign = "center"; - } ]; }; }; diff --git a/modules/hypr/hyprtoolkit.nix b/modules/hypr/hyprtoolkit.nix new file mode 100644 index 0000000..51a505f --- /dev/null +++ b/modules/hypr/hyprtoolkit.nix @@ -0,0 +1,14 @@ +{ ... }: + +{ + # TO BE CHANGED WHEN NIX CONFIG OF THIS FILE WILL RELEASE!!!! + xdg.configFile."hypr/hyprtoolkit.conf".text = '' + background=0xff11111b + base=0xff1e1e2e + alternate_base=0xff181825 + text=0xffcdd6f4 + bright_text=0xffbac2de + accent=0xffcba6f7 + accent_secondary=0xffb4befe + ''; +} diff --git a/modules/xdg.nix b/modules/xdg.nix new file mode 100644 index 0000000..457c32e --- /dev/null +++ b/modules/xdg.nix @@ -0,0 +1,42 @@ +{ ... }: + +{ + xdg.portal.config = { + common = { + default = [ + "hyprland" + "gtk" + ]; + }; + }; + + xdg.mimeApps = { + enable = true; + defaultApplications = { + "application/pdf" = [ "org.pwmt.zathura.desktop" ]; + + "text/html" = [ "zen.desktop" ]; + "application/xhtml+xml" = [ "zen.desktop" ]; + "x-scheme-handler/http" = [ "zen.desktop" ]; + "x-scheme-handler/https" = [ "zen.desktop" ]; + "x-scheme-handler/chrome" = [ "zen.desktop" ]; + "application/x-extension-htm" = [ "zen.desktop" ]; + "application/x-extension-html" = [ "zen.desktop" ]; + "application/x-extension-shtml" = [ "zen.desktop" ]; + "application/x-extension-xht" = [ "zen.desktop" ]; + "application/x-extension-xhtml" = [ "zen.desktop" ]; + + "audio/*" = [ "mpv.desktop" ]; + "audio/mpeg" = [ "mpv.desktop" ]; + + "image/*" = [ "org.kde.koko.desktop" ]; + "image/png" = [ "feh.desktop" ]; + "image/bmp" = [ "feh.desktop" ]; + "image/svg+xml" = [ "feh.desktop" ]; + + "x-scheme-handler/discord" = [ "vesktop.desktop" ]; + "x-scheme-handler/sgnl" = [ "signal-desktop.desktop" ]; + "x-scheme-handler/tuta" = [ "tutanota-desktop.desktop" ]; + }; + }; +}