diff --git a/home/programs/anyrun/default.nix b/apps/hyprland/anyrun/default.nix similarity index 93% rename from home/programs/anyrun/default.nix rename to apps/hyprland/anyrun/default.nix index 2650231..d28da76 100644 --- a/home/programs/anyrun/default.nix +++ b/apps/hyprland/anyrun/default.nix @@ -5,10 +5,14 @@ ... }: { imports = [ + inputs.home-manager.nixosModules.home-manager + ]; + + home-manager.users.delta.imports = [ inputs.anyrun.homeManagerModules.default ]; - programs.anyrun = { + home-manager.users.delta.programs.anyrun = { enable = true; config = { @@ -27,7 +31,7 @@ closeOnClick = true; }; - extraCss = '' + extraCss = '' @define-color bg-col rgba(30, 30, 46, 0.7); @define-color bg-col-light rgba(150, 220, 235, 0.7); @define-color border-col rgba(30, 30, 46, 0.7); @@ -115,7 +119,5 @@ max_entries: 3, ) ''; - - }; } diff --git a/home/programs/default.nix b/apps/hyprland/default.nix similarity index 83% rename from home/programs/default.nix rename to apps/hyprland/default.nix index c242adc..3b60217 100644 --- a/home/programs/default.nix +++ b/apps/hyprland/default.nix @@ -1,3 +1,4 @@ +{ ... }: { imports = [ ./hypr diff --git a/apps/hyprland/hypr/default.nix b/apps/hyprland/hypr/default.nix new file mode 100644 index 0000000..fe337c5 --- /dev/null +++ b/apps/hyprland/hypr/default.nix @@ -0,0 +1,510 @@ +{ config, lib, pkgs, inputs, stable, ... }: + +{ + imports = [ + inputs.home-manager.nixosModules.home-manager + ]; + + programs.hyprland.enable = true; + users.users.delta.packages = with pkgs; [ + swww stable.waybar stable.swaynotificationcenter cliphist fzf hyprshot slurp grim swaylock hypridle libnotify brightnessctl + ]; + xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; + #test later systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ]; + + home-manager.users.delta = { + home.file.".config/hypr/colors".text = '' + $background = rgba(1d192bee) + $foreground = rgba(c3dde7ee) + + $color0 = rgba(1d192bee) + $color1 = rgba(465EA7ee) + $color2 = rgba(5A89B6ee) + $color3 = rgba(6296CAee) + $color4 = rgba(73B3D4ee) + $color5 = rgba(7BC7DDee) + $color6 = rgba(9CB4E3ee) + $color7 = rgba(c3dde7ee) + $color8 = rgba(889aa1ee) + $color9 = rgba(465EA7ee) + $color10 = rgba(5A89B6ee) + $color11 = rgba(6296CAee) + $color12 = rgba(73B3D4ee) + $color13 = rgba(7BC7DDee) + $color14 = rgba(9CB4E3ee) + $color15 = rgba(c3dde7ee) + ''; + wayland.windowManager.hyprland = { + enable = true; + systemd.enable = true; + #nvidiaPatches = true; + extraConfig = '' + # Setup monitors + # Setup monitors + # See https://wiki.hyprland.org/Configuring/Monitors/ + #monitor=,preferred,auto,1.066667 + #monitor=,preferred,90,1.066667 + monitor=eDP-1,preferred,auto,1.333333 + #monitor=eDP-1,preferred,auto,1.066667 + #source = ~/.config/hypr/monitors.conf + #source = ~/.config/hypr/workspaces.conf + + # Dual monitor example on G15 Strix + # eDP-1 is the built in monitor while DP-1 is external + # Both monitors here are at 1440 and 165Hz + # DP-1 is on the left and eDP-1 is on the right + #monitor=DP-1,2560x1440@165,0x0,1 + #monitor=eDP-1,2560x1440@165,2560x0,1 + + # See https://wiki.hyprland.org/Configuring/Keywords/ for more + + # Execute your favorite apps at launch + exec-once = ~/.config/hypr/xdg-portal-hyprland + exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 + exec-once = swww init + exec-once = sh -c "sleep 1 && swww clear" + #exec-once = swww img Downloads/PC\ Wallpapers/gifpixel/rooftop.gif + #exec-once = mpvpaper '*' -o "video-scale-y=1.1 --gpu-context=wayland --vo=gpu --hwdec=vaapi-copy" videowork/bgloop.webm + exec-once = gtk-launch autostart + exec-once = waybar + #exec-once = ags + + exec-once = swaync + + #exec = /usr/bin/hyprland-per-window-layout + exec-once = blueman-applet + exec-once = nm-applet --indicator + exec-once = wl-paste --watch cliphist store + #exec = ~/.config/HyprV/hyprv_util setbg + exec-once = pypr + + exec-once = foot -s + exec-once = thunar --daemon + exec-once = hypridle + exec-once = hyprctl setcursor Bibata-Modern-Classic 16 + + exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + + env = NIX_REMOTE,daemon + exec-once = export XDG_DATA_DIRS=$HOME/.nix-profile/share:$XDG_DATA_DIRS + + #env = QT_QPA_PLATFORMTHEME,qt5ct + env = QT_AUTO_SCREEN_SCALE_FACTOR,1 + env = QT_QPA_PLATFORM,wayland;xcb + env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 + + #env = GTK_THEME,Catppuccin-Macchiato-Rosewater-dark:dark + #env = GTK_THEME,Catppuccin-Macchiato-Rosewater-dark:light + env = GDK_BACKEND,wayland,x11 + + env = XDG_CURRENT_DESKTOP,Hyprland + env = XDG_SESSION_TYPE,wayland + env = XDG_SESSION_DESKTOP,Hyprland + + + + + # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ + input { + kb_layout = us,ru + kb_variant = + kb_model = + kb_options=grp:caps_toggle + kb_rules = + + + + follow_mouse = 1 + mouse_refocus = false + + touchpad { + natural_scroll = no + #disable_while_typing = false + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + } + + general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + gaps_in = 0 + gaps_out = 0 + border_size = 1 + no_border_on_floating = true + cursor_inactive_timeout = 3 + #no_cursor_warps = true + + #col.active_border = rgba(7287fdee) rgba(179299ee) 45deg + col.active_border = rgba(7287fdee) + #col.active_border=rgb(cdd6f4) + col.inactive_border = rgba(595959aa) + + layout = dwindle + #layout = master + } + + Binds { + scroll_event_delay = 0 + workspace_back_and_forth = true + workspace_center_on = 1 + } + + XWayland { + force_zero_scaling = true + } + + misc { + disable_hyprland_logo = yes + focus_on_activate = yes + #key_press_enables_dpms = true + + # Whether Hyprland should focus an app that requests to be focused + focus_on_activate = true + + #config autoreload + #disable_autoreload = true + #no_vfr = false + #render_ahead_of_time = yes + new_window_takes_over_fullscreen = 2 + no_direct_scanout = false + } + + + + decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + rounding = 5 + + blur { + enabled = true + size = 7 + passes = 4 + new_optimizations = true + } + + blurls = lockscreen + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) + } + + animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + bezier = myBezier, 0.10, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier, slide + animation = windowsOut, 1, 7, myBezier, slide + animation = border, 1, 10, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default + } + + dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this + #force_split = 2 + permanent_direction_override = true + smart_split = false + no_gaps_when_only = 1 + } + + master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = false + no_gaps_when_only = 1 + allow_small_split = true + } + + gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + #workspace_swipe_direction_lock = off + workspace_swipe = true + workspace_swipe_fingers = 3 + workspace_swipe_cancel_ratio = 0.15 + } + + # Example per-device config + # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more + device:epic mouse V1 { + sensitivity = -0.5 + } + + # Example windowrule v1 + #windowrule = float, ^(kitty)$ + windowrule = float,^(pavucontrol)$ + windowrule = float,^(blueman-manager)$ + windowrule = float,^(nm-connection-editor)$ + #windowrule = float,^(chromium)$ + windowrule = float,^(thunar)$ + windowrule = float, title:^(btop)$ + windowrule = float, title:^(update-sys)$ + + # Example windowrule v2 + # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + # rules below would make the specific app transparent + windowrulev2 = opacity 0.8 0.8,class:^(kitty)$ + windowrulev2 = animation popin,class:^(kitty)$,title:^(update-sys)$ + windowrulev2 = animation popin,class:^(thunar)$ + #windowrulev2 = opacity 0.8 0.8,class:^(thunar)$ + #windowrulev2 = opacity 0.8 0.8,class:^(VSCodium)$ + #windowrulev2 = animation popin,class:^(chromium)$ + windowrulev2 = move cursor -3% -105%,class:^(wofi)$ + windowrulev2 = noanim,class:^(wofi)$ + windowrulev2 = opacity 0.8 0.6,class:^(wofi)$ + #sway-launcher + windowrulev2 = float,class:^(kitty)$,title:^(sway-launcher-desktop)$ + windowrulev2 = noanim,class:^(kitty)$,title:^(sway-launcher-desktop)$ + windowrulev2 = stayfocused,class:^(kitty)$,title:^(sway-launcher-desktop)$ + #windowrulev2 = float,class:^(wezterm)$,title:^(sway-launcher-desktop)$ + #windowrulev2 = noanim,class:^(wezterm)$,title:^(sway-launcher-desktop)$ + #windowrulev2 = stayfocused,class:^(wezterm)$,title:^(sway-launcher-desktop)$ + windowrulev2 = float,class:^(swlauncher)$ + windowrulev2 = noanim,class:^(swlauncher)$ + windowrulev2 = stayfocused,class:^(swlauncher)$ + windowrulev2 = center,class:^(swlauncher)$ + windowrulev2 = size 28% 50%,class:^(swlauncher)$ + + windowrulev2 = float,class:^(clipmanager)$ + windowrulev2 = noanim,class:^(clipmanager)$ + windowrulev2 = stayfocused,class:^(clipmanager)$ + windowrulev2 = center,class:^(clipmanager)$ + windowrulev2 = size 60% 45%,class:^(clipmanager)$ + + #foot clipboard-manager + windowrulev2 = float,title:^(clipboard_manager)$ + windowrulev2 = noanim,title:^(clipboard_manager)$ + windowrulev2 = stayfocused,title:^(clipboard_manager)$ + windowrulev2 = center,title:^(clipboard_manager)$ + windowrulev2 = size 45% 45%,title:^(clipboard_manager)$ + + #foot applauncher app_launcher + windowrulev2 = float,title:^(app_launcher)$ + windowrulev2 = noanim,title:^(app_launcher)$ + windowrulev2 = stayfocused,title:^(app_launcher)$ + windowrulev2 = center,title:^(app_launcher)$ + windowrulev2 = size 28% 50%,title:^(app_launcher)$ + + #foot emoji_manager + windowrulev2 = float,title:^(emoji_manager)$ + windowrulev2 = noanim,title:^(emoji_manager)$ + windowrulev2 = stayfocused,title:^(emoji_manager)$ + windowrulev2 = center,title:^(emoji_manager)$ + windowrulev2 = size 35% 50%,title:^(emoji_manager)$ + + windowrulev2 = noanim,class:^(__screenshoter)$ + windowrulev2 = float,class:^(__screenshoter)$ + + #steam + windowrulev2 = stayfocused, title:^()$,class:^(steam)$ + windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ + windowrulev2 = float,title:^(steam)$ + windowrulev2 = noblur, class:^(steam)$ + windowrulev2 = noshadow, class:^(steam)$ + + windowrule = noblur,^(firefox)$ # disables blur for firefox + + #layerrules + #layerrule = noanim, swaync-notification-window + + # See https://wiki.hyprland.org/Configuring/Keywords/ for more + $mainMod = SUPER + + bind = $mainMod, G, exec, /home/delta/.config/hypr/changeLayout.sh + #master layout + bind = $mainMod, I, layoutmsg, addmaster + bind = $mainMod SHIFT, I, layoutmsg, removemaster + bind = $mainMod, U, layoutmsg, orientationleft + bind = $mainMod SHIFT, U, layoutmsg, orientationright + bind = $mainMod, Y, layoutmsg, orientationcenter + bind = $mainMod, O, layoutmsg, swapwithmaster + + #dwindle layout + bind = $mainMod, I, layoutmsg, preselect d + bind = $mainMod, O, layoutmsg, preselect n + bind = $mainMod, U, togglesplit + + # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more + #bind = $mainMod, Q, exec, kitty #open the terminal + bind = $mainMod, RETURN, exec, footclient #open the terminal + bind = $mainMod SHIFT, RETURN, exec, alacritty #open the terminal + bind = $mainMod, Q, exec, wezterm #open the terminal + #bind = $mainMod, Q, exec, alacritty #open the terminal + bind = $mainMod SHIFT, Q, exec, alacritty #open the terminal + bind = $mainMod CONTROL, Q, exec, wezterm start #--always-new-process #open the terminal + + bind = $mainMod, F1, exec, ~/.config/hypr/gamemode.sh + env = HYPRGAPSMODE + bind = $mainMod, F2, exec, ~/.config/hypr/gapsmode.sh + + bind = $mainMod, B, exec, swaync-client --toggle-panel # notify center + bind = ALT, B, exec, swaync-client --close-latest # close lathest notify + + bind = $mainMod, F4, killactive, # close the active window + bind = $mainMod, TAB, killactive, # close the active window + bind = $mainMod SHIFT, TAB, killactive, # close the active window + bind = $mainMod, Escape, exec, /home/delta/scripts/swaylock # Lock the screen + bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window + bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland) + bind = $mainMod, E, exec, thunar # Show the graphical file browser + bind = $mainMod, V, togglefloating, # Allow a window to float + #bind = $mainMod, SPACE, exec, wofi # Show the graphical app launcher + #bind = $mainMod, SPACE, exec, kitty /usr/bin/ + her-desktop # Show the graphical app launcher + #bind = $mainMod, SPACE, exec, alacritty --class=swlauncher -e /usr/bin/sway-launcher-desktop #& hyprctl switchxkblayout at-translated-set-2-keyboard 0# Show the graphical app launcher + #bind = $mainMod, SPACE, exec, footclient --title=app_launcher sh -c "TERMINAL=footclient sway-launcher-desktop" & hyprctl switchxkblayout at-translated-set-2-keyboard 0# Show the graphical app launcher + bind = $mainMod, SPACE, exec, anyrun & hyprctl switchxkblayout at-translated-set-2-keyboard 0# Show the graphical app launcher + bind = $mainMod SHIFT, SPACE, exec, footclient --title=app_launcher sh -c "TERMINAL=footclient sway-launcher-desktop" & hyprctl switchxkblayout at-translated-set-2-keyboard 0# Show the graphical app launcher + + #bind = $mainMod CONTROL, SPACE, swapactiveworkspaces # Swaps the active workspaces between two monitors + bind = ALT, SPACE, exec, pypr shift_monitors +1 # K R A S I V O + + + + bind = $mainMod, P, pseudo, # dwindle + #bind = $mainMod, J, togglesplit, # dwindle + #bind = $mainMod, S, exec, grim -g "$(slurp)" - | tee >(swappy -f -) | wl-copy # take a screenshot + bind = $mainMod, S, exec, hyprshot -m region --clipboard-only -s # take a screenshot + bind = $mainMod, Print, exec, /home/delta/scripts/screenshoter.sh # take a screenshot + bind = ,Print , exec, wl-paste | swappy -f - # take a screenshot + #bind = $mainMod, S, exec, /home/delta/screenshoter.sh # take a screenshot + #bind = $mainMod, S, exec, hyprshot -m output -s -c --clipboard-only # take a screenshot + #bind = ALT, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy # open clipboard manager + #bind = ALT, V, exec, cliphist list | /home/delta/scripts/fzfmenu | cliphist decode | wl-copy # open clipboard manager + bind = ALT, V, exec, cliphist list | /home/delta/scripts/fzfmenuft | cliphist decode | wl-copy && wtype -M ctrl v -m ctrl # open clipboard manager + bind = $mainMod, R, exec, footclient --title=emoji_manager sh -c "~/scripts/shmoji/shmoji fzf | wl-copy" & hyprctl switchxkblayout at-translated-set-2-keyboard 0 + #bind = $mainMod, T, exec, ~/.config/HyprV/hyprv_util vswitch # switch HyprV version + bind = $mainMod, X, togglesplit, # dwindle + bind = $mainMod, C, fullscreen, 1 # fs + bind = $mainMod SHIFT, C, fullscreen, 0 # fs + bind = $mainMod, F, fakefullscreen # fs + bind = $mainMod CONTROL, C, fakefullscreen # fs + #bind = $mainMod, Z, maximize, # fs + + # Move focus with mainMod + arrow keys + bind = $mainMod, left, movefocus, l + bind = $mainMod, right, movefocus, r + bind = $mainMod, up, movefocus, u + bind = $mainMod, down, movefocus, d + + bind = $mainMod, H, movefocus, l + bind = $mainMod, J, movefocus, d + bind = $mainMod, K, movefocus, u + bind = $mainMod, L, movefocus, r + + #bind = $mainMod, shift H, movefocus, l + bind = $mainMod SHIFT, J, workspace, e-1 + bind = $mainMod SHIFT, K, workspace, e+1 + #bind = $mainMod, L, movefocus, r + + # 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 + + # Move active window silently to a workspace with mainMod + CONTROL + [0-9] + bind = $mainMod CONTROL, 1, movetoworkspacesilent, 1 + bind = $mainMod CONTROL, 2, movetoworkspacesilent, 2 + bind = $mainMod CONTROL, 3, movetoworkspacesilent, 3 + bind = $mainMod CONTROL, 4, movetoworkspacesilent, 4 + bind = $mainMod CONTROL, 5, movetoworkspacesilent, 5 + bind = $mainMod CONTROL, 6, movetoworkspacesilent, 6 + bind = $mainMod CONTROL, 7, movetoworkspacesilent, 7 + bind = $mainMod CONTROL, 8, movetoworkspacesilent, 8 + bind = $mainMod CONTROL, 9, movetoworkspacesilent, 9 + bind = $mainMod CONTROL, 0, movetoworkspacesilent, 10 + + # Scroll through existing workspaces with mainMod + scroll + bind = $mainMod, mouse_down, workspace, e+1 + bind = $mainMod, mouse_up, workspace, e-1 + + bind = $mainMod, bracketright, workspace, e+1 + bind = $mainMod, bracketleft, workspace, e-1 + + # Scroll through windows workspaces with mainMod + scroll + bind = $mainMod SHIFT, mouse_down, cyclenext + bind = $mainMod SHIFT, mouse_up, cyclenext, prev + + # Move/resize windows with mainMod + LMB/RMB and dragging + bindm = $mainMod, mouse:272, movewindow + bindm = $mainMod, mouse:273, resizewindow + + #Move/resize windows with arrowkeys + binde = $mainMod CTRL, right, resizeactive, 10 0 + binde = $mainMod CTRL, left, resizeactive, -10 0 + binde = $mainMod CTRL, up, resizeactive, 0 -10 + binde = $mainMod CTRL, down, resizeactive, 0 10 + + #Move windows between grid with hjkl + bind = $mainMod CTRL, h, movewindow, l + bind = $mainMod CTRL, j, movewindow, d + bind = $mainMod CTRL, k, movewindow, u + bind = $mainMod CTRL, l, movewindow, r + + # Move grid window between grid with arrows + bind = $mainMod SHIFT, left, movewindow, l + bind = $mainMod SHIFT, right, movewindow, r + bind = $mainMod SHIFT, up, movewindow, u + bind = $mainMod SHIFT, down, movewindow, d + + #bind = $mainMod SHIFT, H, swapwindow, left + #bind = $mainMod SHIFT, J, swapwindow, down + #bind = $mainMod SHIFT, K, swapwindow, up + #bind = $mainMod SHIFT, L, swapwindow, right + + + # Move floating window wsad-like (change to vim keybinds later) + binde = $mainMod SHIFT CTRL, H, moveactive, -30 0 + binde = $mainMod SHIFT CTRL, J, moveactive, 0 30 + binde = $mainMod SHIFT CTRL, K, moveactive, 0 -30 + binde = $mainMod SHIFT CTRL, L, moveactive, 30 0 + + # Move grid window between grid + #bind = $mainMod SHIFT, A, movewindow, l + #bind = $mainMod SHIFT, D, movewindow, r + #bind = $mainMod SHIFT, W, movewindow, u + #bind = $mainMod SHIFT, S, movewindow, d + + #bind = $mainMod SHIFT, H, movewindow, l + #bind = $mainMod SHIFT, J, movewindow, d + #bind = $mainMod SHIFT, K, movewindow, u + #bind = $mainMod SHIFT, L, movewindow, r + + # Source a file (multi-file configs) + # source = ~/.config/hypr/myColors.conf + source = ~/.config/hypr/media-binds.conf + source = ~/.config/hypr/env_var.conf + + ''; + }; + }; +} \ No newline at end of file diff --git a/flake.lock b/flake.lock index 4e125eb..44d0306 100644 --- a/flake.lock +++ b/flake.lock @@ -4,7 +4,7 @@ "inputs": { "flake-parts": "flake-parts", "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ] }, "locked": { diff --git a/flake.nix b/flake.nix index 161de4a..0da973b 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,7 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; anyrun.url = "github:Kirottu/anyrun"; - anyrun.inputs.nixpkgs.follows = "nixpkgs-unstable"; + anyrun.inputs.nixpkgs.follows = "nixpkgs"; telegram-desktop-patched.url = "github:shwewo/telegram-desktop-patched"; secrets.url = "git+ssh://git@github.com/deltathetawastaken/secrets.git"; }; diff --git a/home/programs/hypr/default.nix b/home/programs/hypr/default.nix deleted file mode 100644 index 75bce93..0000000 --- a/home/programs/hypr/default.nix +++ /dev/null @@ -1,502 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - home.packages = with pkgs; [ waybar swww swaynotificationcenter cliphist fzf hyprshot slurp grim swaylock hyprlock hypridle libnotify brightnessctl]; - - #test later systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ]; - wayland.windowManager.hyprland = { - enable = true; - systemd.enable = true; - #nvidiaPatches = true; - extraConfig = '' - - # Setup monitors - # Setup monitors - # See https://wiki.hyprland.org/Configuring/Monitors/ - #monitor=,preferred,auto,1.066667 - #monitor=,preferred,90,1.066667 - monitor=eDP-1,preferred,auto,1.333333 - #monitor=eDP-1,preferred,auto,1.066667 - #source = ~/.config/hypr/monitors.conf - #source = ~/.config/hypr/workspaces.conf - - # Dual monitor example on G15 Strix - # eDP-1 is the built in monitor while DP-1 is external - # Both monitors here are at 1440 and 165Hz - # DP-1 is on the left and eDP-1 is on the right - #monitor=DP-1,2560x1440@165,0x0,1 - #monitor=eDP-1,2560x1440@165,2560x0,1 - - # See https://wiki.hyprland.org/Configuring/Keywords/ for more - - # Execute your favorite apps at launch - exec-once = ~/.config/hypr/xdg-portal-hyprland - exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 - exec-once = swww init - exec-once = sh -c "sleep 1 && swww clear" - #exec-once = swww img Downloads/PC\ Wallpapers/gifpixel/rooftop.gif - #exec-once = mpvpaper '*' -o "video-scale-y=1.1 --gpu-context=wayland --vo=gpu --hwdec=vaapi-copy" videowork/bgloop.webm - exec-once = gtk-launch autostart - exec-once = waybar - #exec-once = ags - - exec-once = swaync - - #exec = /usr/bin/hyprland-per-window-layout - exec-once = blueman-applet - exec-once = nm-applet --indicator - exec-once = wl-paste --watch cliphist store - #exec = ~/.config/HyprV/hyprv_util setbg - exec-once = pypr - - exec-once = foot -s - exec-once = thunar --daemon - exec-once = hypridle - exec-once = hyprctl setcursor Bibata-Modern-Classic 16 - - exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - exec-once=systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - - env = NIX_REMOTE,daemon - exec-once = export XDG_DATA_DIRS=$HOME/.nix-profile/share:$XDG_DATA_DIRS - - #env = QT_QPA_PLATFORMTHEME,qt5ct - env = QT_AUTO_SCREEN_SCALE_FACTOR,1 - env = QT_QPA_PLATFORM,wayland;xcb - env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 - - #env = GTK_THEME,Catppuccin-Macchiato-Rosewater-dark:dark - #env = GTK_THEME,Catppuccin-Macchiato-Rosewater-dark:light - env = GDK_BACKEND,wayland,x11 - - env = XDG_CURRENT_DESKTOP,Hyprland - env = XDG_SESSION_TYPE,wayland - env = XDG_SESSION_DESKTOP,Hyprland - - - - - # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ - input { - kb_layout = us,ru - kb_variant = - kb_model = - kb_options=grp:caps_toggle - kb_rules = - - - - follow_mouse = 1 - mouse_refocus = false - - touchpad { - natural_scroll = no - #disable_while_typing = false - } - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - } - - general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 0 - gaps_out = 0 - border_size = 1 - no_border_on_floating = true - cursor_inactive_timeout = 3 - #no_cursor_warps = true - - #col.active_border = rgba(7287fdee) rgba(179299ee) 45deg - col.active_border = rgba(7287fdee) - #col.active_border=rgb(cdd6f4) - col.inactive_border = rgba(595959aa) - - layout = dwindle - #layout = master - } - - Binds { - scroll_event_delay = 0 - workspace_back_and_forth = true - workspace_center_on = 1 - } - - XWayland { - force_zero_scaling = true - } - - misc { - disable_hyprland_logo = yes - focus_on_activate = yes - #key_press_enables_dpms = true - - # Whether Hyprland should focus an app that requests to be focused - focus_on_activate = true - - #config autoreload - #disable_autoreload = true - #no_vfr = false - #render_ahead_of_time = yes - new_window_takes_over_fullscreen = 2 - no_direct_scanout = false - } - - - - decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - rounding = 5 - - blur { - enabled = true - size = 7 - passes = 4 - new_optimizations = true - } - - blurls = lockscreen - - drop_shadow = yes - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) - } - - animations { - enabled = yes - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - bezier = myBezier, 0.10, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier, slide - animation = windowsOut, 1, 7, myBezier, slide - animation = border, 1, 10, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default - } - - dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = yes # you probably want this - #force_split = 2 - permanent_direction_override = true - smart_split = false - no_gaps_when_only = 1 - } - - master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_is_master = false - no_gaps_when_only = 1 - allow_small_split = true - } - - gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - #workspace_swipe_direction_lock = off - workspace_swipe = true - workspace_swipe_fingers = 3 - workspace_swipe_cancel_ratio = 0.15 - } - - # Example per-device config - # See https://wiki.hyprland.org/Configuring/Keywords/#executing for more - device:epic mouse V1 { - sensitivity = -0.5 - } - - # Example windowrule v1 - #windowrule = float, ^(kitty)$ - windowrule = float,^(pavucontrol)$ - windowrule = float,^(blueman-manager)$ - windowrule = float,^(nm-connection-editor)$ - #windowrule = float,^(chromium)$ - windowrule = float,^(thunar)$ - windowrule = float, title:^(btop)$ - windowrule = float, title:^(update-sys)$ - - # Example windowrule v2 - # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ - # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - # rules below would make the specific app transparent - windowrulev2 = opacity 0.8 0.8,class:^(kitty)$ - windowrulev2 = animation popin,class:^(kitty)$,title:^(update-sys)$ - windowrulev2 = animation popin,class:^(thunar)$ - #windowrulev2 = opacity 0.8 0.8,class:^(thunar)$ - #windowrulev2 = opacity 0.8 0.8,class:^(VSCodium)$ - #windowrulev2 = animation popin,class:^(chromium)$ - windowrulev2 = move cursor -3% -105%,class:^(wofi)$ - windowrulev2 = noanim,class:^(wofi)$ - windowrulev2 = opacity 0.8 0.6,class:^(wofi)$ - #sway-launcher - windowrulev2 = float,class:^(kitty)$,title:^(sway-launcher-desktop)$ - windowrulev2 = noanim,class:^(kitty)$,title:^(sway-launcher-desktop)$ - windowrulev2 = stayfocused,class:^(kitty)$,title:^(sway-launcher-desktop)$ - #windowrulev2 = float,class:^(wezterm)$,title:^(sway-launcher-desktop)$ - #windowrulev2 = noanim,class:^(wezterm)$,title:^(sway-launcher-desktop)$ - #windowrulev2 = stayfocused,class:^(wezterm)$,title:^(sway-launcher-desktop)$ - windowrulev2 = float,class:^(swlauncher)$ - windowrulev2 = noanim,class:^(swlauncher)$ - windowrulev2 = stayfocused,class:^(swlauncher)$ - windowrulev2 = center,class:^(swlauncher)$ - windowrulev2 = size 28% 50%,class:^(swlauncher)$ - - windowrulev2 = float,class:^(clipmanager)$ - windowrulev2 = noanim,class:^(clipmanager)$ - windowrulev2 = stayfocused,class:^(clipmanager)$ - windowrulev2 = center,class:^(clipmanager)$ - windowrulev2 = size 60% 45%,class:^(clipmanager)$ - - #foot clipboard-manager - windowrulev2 = float,title:^(clipboard_manager)$ - windowrulev2 = noanim,title:^(clipboard_manager)$ - windowrulev2 = stayfocused,title:^(clipboard_manager)$ - windowrulev2 = center,title:^(clipboard_manager)$ - windowrulev2 = size 45% 45%,title:^(clipboard_manager)$ - - #foot applauncher app_launcher - windowrulev2 = float,title:^(app_launcher)$ - windowrulev2 = noanim,title:^(app_launcher)$ - windowrulev2 = stayfocused,title:^(app_launcher)$ - windowrulev2 = center,title:^(app_launcher)$ - windowrulev2 = size 28% 50%,title:^(app_launcher)$ - - #foot emoji_manager - windowrulev2 = float,title:^(emoji_manager)$ - windowrulev2 = noanim,title:^(emoji_manager)$ - windowrulev2 = stayfocused,title:^(emoji_manager)$ - windowrulev2 = center,title:^(emoji_manager)$ - windowrulev2 = size 35% 50%,title:^(emoji_manager)$ - - windowrulev2 = noanim,class:^(__screenshoter)$ - windowrulev2 = float,class:^(__screenshoter)$ - - #steam - windowrulev2 = stayfocused, title:^()$,class:^(steam)$ - windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ - windowrulev2 = float,title:^(steam)$ - windowrulev2 = noblur, class:^(steam)$ - windowrulev2 = noshadow, class:^(steam)$ - - windowrule = noblur,^(firefox)$ # disables blur for firefox - - #layerrules - #layerrule = noanim, swaync-notification-window - - # See https://wiki.hyprland.org/Configuring/Keywords/ for more - $mainMod = SUPER - - bind = $mainMod, G, exec, /home/delta/.config/hypr/changeLayout.sh - #master layout - bind = $mainMod, I, layoutmsg, addmaster - bind = $mainMod SHIFT, I, layoutmsg, removemaster - bind = $mainMod, U, layoutmsg, orientationleft - bind = $mainMod SHIFT, U, layoutmsg, orientationright - bind = $mainMod, Y, layoutmsg, orientationcenter - bind = $mainMod, O, layoutmsg, swapwithmaster - - #dwindle layout - bind = $mainMod, I, layoutmsg, preselect d - bind = $mainMod, O, layoutmsg, preselect n - bind = $mainMod, U, togglesplit - - # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more - #bind = $mainMod, Q, exec, kitty #open the terminal - bind = $mainMod, RETURN, exec, footclient #open the terminal - bind = $mainMod SHIFT, RETURN, exec, alacritty #open the terminal - bind = $mainMod, Q, exec, wezterm #open the terminal - #bind = $mainMod, Q, exec, alacritty #open the terminal - bind = $mainMod SHIFT, Q, exec, alacritty #open the terminal - bind = $mainMod CONTROL, Q, exec, wezterm start #--always-new-process #open the terminal - - bind = $mainMod, F1, exec, ~/.config/hypr/gamemode.sh - env = HYPRGAPSMODE - bind = $mainMod, F2, exec, ~/.config/hypr/gapsmode.sh - - bind = $mainMod, B, exec, swaync-client --toggle-panel # notify center - bind = ALT, B, exec, swaync-client --close-latest # close lathest notify - - bind = $mainMod, F4, killactive, # close the active window - bind = $mainMod, TAB, killactive, # close the active window - bind = $mainMod SHIFT, TAB, killactive, # close the active window - bind = $mainMod, Escape, exec, /home/delta/scripts/swaylock # Lock the screen - bind = $mainMod, M, exec, wlogout --protocol layer-shell # show the logout window - bind = $mainMod SHIFT, M, exit, # Exit Hyprland all together no (force quit Hyprland) - bind = $mainMod, E, exec, thunar # Show the graphical file browser - bind = $mainMod, V, togglefloating, # Allow a window to float - #bind = $mainMod, SPACE, exec, wofi # Show the graphical app launcher - #bind = $mainMod, SPACE, exec, kitty /usr/bin/ - her-desktop # Show the graphical app launcher - #bind = $mainMod, SPACE, exec, alacritty --class=swlauncher -e /usr/bin/sway-launcher-desktop #& hyprctl switchxkblayout at-translated-set-2-keyboard 0# Show the graphical app launcher - #bind = $mainMod, SPACE, exec, footclient --title=app_launcher sh -c "TERMINAL=footclient sway-launcher-desktop" & hyprctl switchxkblayout at-translated-set-2-keyboard 0# Show the graphical app launcher - bind = $mainMod, SPACE, exec, anyrun & hyprctl switchxkblayout at-translated-set-2-keyboard 0# Show the graphical app launcher - bind = $mainMod SHIFT, SPACE, exec, footclient --title=app_launcher sh -c "TERMINAL=footclient sway-launcher-desktop" & hyprctl switchxkblayout at-translated-set-2-keyboard 0# Show the graphical app launcher - - #bind = $mainMod CONTROL, SPACE, swapactiveworkspaces # Swaps the active workspaces between two monitors - bind = ALT, SPACE, exec, pypr shift_monitors +1 # K R A S I V O - - - - bind = $mainMod, P, pseudo, # dwindle - #bind = $mainMod, J, togglesplit, # dwindle - #bind = $mainMod, S, exec, grim -g "$(slurp)" - | tee >(swappy -f -) | wl-copy # take a screenshot - bind = $mainMod, S, exec, hyprshot -m region --clipboard-only -s # take a screenshot - bind = $mainMod, Print, exec, /home/delta/scripts/screenshoter.sh # take a screenshot - bind = ,Print , exec, wl-paste | swappy -f - # take a screenshot - #bind = $mainMod, S, exec, /home/delta/screenshoter.sh # take a screenshot - #bind = $mainMod, S, exec, hyprshot -m output -s -c --clipboard-only # take a screenshot - #bind = ALT, V, exec, cliphist list | wofi -dmenu | cliphist decode | wl-copy # open clipboard manager - #bind = ALT, V, exec, cliphist list | /home/delta/scripts/fzfmenu | cliphist decode | wl-copy # open clipboard manager - bind = ALT, V, exec, cliphist list | /home/delta/scripts/fzfmenuft | cliphist decode | wl-copy && wtype -M ctrl v -m ctrl # open clipboard manager - bind = $mainMod, R, exec, footclient --title=emoji_manager sh -c "~/scripts/shmoji/shmoji fzf | wl-copy" & hyprctl switchxkblayout at-translated-set-2-keyboard 0 - #bind = $mainMod, T, exec, ~/.config/HyprV/hyprv_util vswitch # switch HyprV version - bind = $mainMod, X, togglesplit, # dwindle - bind = $mainMod, C, fullscreen, 1 # fs - bind = $mainMod SHIFT, C, fullscreen, 0 # fs - bind = $mainMod, F, fakefullscreen # fs - bind = $mainMod CONTROL, C, fakefullscreen # fs - #bind = $mainMod, Z, maximize, # fs - - # Move focus with mainMod + arrow keys - bind = $mainMod, left, movefocus, l - bind = $mainMod, right, movefocus, r - bind = $mainMod, up, movefocus, u - bind = $mainMod, down, movefocus, d - - bind = $mainMod, H, movefocus, l - bind = $mainMod, J, movefocus, d - bind = $mainMod, K, movefocus, u - bind = $mainMod, L, movefocus, r - - #bind = $mainMod, shift H, movefocus, l - bind = $mainMod SHIFT, J, workspace, e-1 - bind = $mainMod SHIFT, K, workspace, e+1 - #bind = $mainMod, L, movefocus, r - - # 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 - - # Move active window silently to a workspace with mainMod + CONTROL + [0-9] - bind = $mainMod CONTROL, 1, movetoworkspacesilent, 1 - bind = $mainMod CONTROL, 2, movetoworkspacesilent, 2 - bind = $mainMod CONTROL, 3, movetoworkspacesilent, 3 - bind = $mainMod CONTROL, 4, movetoworkspacesilent, 4 - bind = $mainMod CONTROL, 5, movetoworkspacesilent, 5 - bind = $mainMod CONTROL, 6, movetoworkspacesilent, 6 - bind = $mainMod CONTROL, 7, movetoworkspacesilent, 7 - bind = $mainMod CONTROL, 8, movetoworkspacesilent, 8 - bind = $mainMod CONTROL, 9, movetoworkspacesilent, 9 - bind = $mainMod CONTROL, 0, movetoworkspacesilent, 10 - - # Scroll through existing workspaces with mainMod + scroll - bind = $mainMod, mouse_down, workspace, e+1 - bind = $mainMod, mouse_up, workspace, e-1 - - bind = $mainMod, bracketright, workspace, e+1 - bind = $mainMod, bracketleft, workspace, e-1 - - # Scroll through windows workspaces with mainMod + scroll - bind = $mainMod SHIFT, mouse_down, cyclenext - bind = $mainMod SHIFT, mouse_up, cyclenext, prev - - # Move/resize windows with mainMod + LMB/RMB and dragging - bindm = $mainMod, mouse:272, movewindow - bindm = $mainMod, mouse:273, resizewindow - - #Move/resize windows with arrowkeys - binde = $mainMod CTRL, right, resizeactive, 10 0 - binde = $mainMod CTRL, left, resizeactive, -10 0 - binde = $mainMod CTRL, up, resizeactive, 0 -10 - binde = $mainMod CTRL, down, resizeactive, 0 10 - - #Move windows between grid with hjkl - bind = $mainMod CTRL, h, movewindow, l - bind = $mainMod CTRL, j, movewindow, d - bind = $mainMod CTRL, k, movewindow, u - bind = $mainMod CTRL, l, movewindow, r - - # Move grid window between grid with arrows - bind = $mainMod SHIFT, left, movewindow, l - bind = $mainMod SHIFT, right, movewindow, r - bind = $mainMod SHIFT, up, movewindow, u - bind = $mainMod SHIFT, down, movewindow, d - - #bind = $mainMod SHIFT, H, swapwindow, left - #bind = $mainMod SHIFT, J, swapwindow, down - #bind = $mainMod SHIFT, K, swapwindow, up - #bind = $mainMod SHIFT, L, swapwindow, right - - - # Move floating window wsad-like (change to vim keybinds later) - binde = $mainMod SHIFT CTRL, H, moveactive, -30 0 - binde = $mainMod SHIFT CTRL, J, moveactive, 0 30 - binde = $mainMod SHIFT CTRL, K, moveactive, 0 -30 - binde = $mainMod SHIFT CTRL, L, moveactive, 30 0 - - # Move grid window between grid - #bind = $mainMod SHIFT, A, movewindow, l - #bind = $mainMod SHIFT, D, movewindow, r - #bind = $mainMod SHIFT, W, movewindow, u - #bind = $mainMod SHIFT, S, movewindow, d - - #bind = $mainMod SHIFT, H, movewindow, l - #bind = $mainMod SHIFT, J, movewindow, d - #bind = $mainMod SHIFT, K, movewindow, u - #bind = $mainMod SHIFT, L, movewindow, r - - # Source a file (multi-file configs) - # source = ~/.config/hypr/myColors.conf - source = ~/.config/hypr/media-binds.conf - source = ~/.config/hypr/env_var.conf - - ''; - }; - - home.file.".config/hypr/colors".text = '' - $background = rgba(1d192bee) - $foreground = rgba(c3dde7ee) - - $color0 = rgba(1d192bee) - $color1 = rgba(465EA7ee) - $color2 = rgba(5A89B6ee) - $color3 = rgba(6296CAee) - $color4 = rgba(73B3D4ee) - $color5 = rgba(7BC7DDee) - $color6 = rgba(9CB4E3ee) - $color7 = rgba(c3dde7ee) - $color8 = rgba(889aa1ee) - $color9 = rgba(465EA7ee) - $color10 = rgba(5A89B6ee) - $color11 = rgba(6296CAee) - $color12 = rgba(73B3D4ee) - $color13 = rgba(7BC7DDee) - $color14 = rgba(9CB4E3ee) - $color15 = rgba(c3dde7ee) - ''; -} diff --git a/hosts/dlaptop/apps/gnome.nix b/hosts/dlaptop/apps/gnome.nix deleted file mode 100644 index 3f76825..0000000 --- a/hosts/dlaptop/apps/gnome.nix +++ /dev/null @@ -1,191 +0,0 @@ -{ pkgs, lib, inputs, ... }: with lib.gvariant; - -let -# wallpaper = pkgs.stdenv.mkDerivation { -# name = "wallpaper"; -# phases = [ "installPhase" ]; -# installPhase = '' -# mkdir -p $out/share/backgrounds -# cp ${../wallpaper.png} $out/share/backgrounds/wallpaper.png -# ''; -# }; -in -{ - #imports = [ - # inputs.home-manager.nixosModules.home-manager - #]; - - - - nixpkgs.overlays = [ - (final: prev: { - gnome = prev.gnome.overrideScope' (gnomeFinal: gnomePrev: { - mutter = gnomePrev.mutter.overrideAttrs (old: { - src = pkgs.fetchgit { - url = "https://gitlab.gnome.org/vanvugt/mutter.git"; - # GNOME 45: triple-buffering-v4-45 - rev = "0b896518b2028d9c4d6ea44806d093fd33793689"; - sha256 = "sha256-mzNy5GPlB2qkI2KEAErJQzO//uo8yO0kPQUwvGDwR4w="; - }; - }); - }); - }) - ]; - - programs.dconf.enable = true; - programs.dconf.profiles.user.databases = [ - { - settings = { - "org/gnome/mutter" = { - experimental-features = [ "scale-monitor-framebuffer" ]; - }; - "org/gnome/settings-daemon/plugins/media-keys" = { - custom-keybindings = [ - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" - ]; - }; - "org/gnome/shell/keybindings" = { - show-screenshot-ui = [ "s" ]; - }; - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { - binding = "Return"; - command = "/etc/profiles/per-user/delta/bin/kitty_wrapped"; - name = "kitty"; - }; - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { - binding = "x"; - command = "/etc/profiles/per-user/delta/bin/keepassxc"; - name = "keepassxc"; - }; - "org/gnome/desktop/sound" = { - allow-volume-above-100-percent = true; - }; - "org/gnome/desktop/wm/keybindings" = { - # close = mkEmptyArray (type.string); - # switch-input-source = [ "Alt_L" ]; - # switch-input-source-backward = [ "Shift_L" ]; - }; - "org/gnome/desktop/interface" = { - icon-theme = "Papirus-Dark"; - color-scheme = "prefer-dark"; - gtk-theme = "adw-gtk3-dark"; - }; - "org/gnome/shell" = { - favorite-apps = [ - "firefox.desktop" - "vesktop.desktop" - "org.telegram.desktop.desktop" - "spotify.desktop" - "kitty.desktop" - "org.gnome.Nautilus.desktop" - ]; - disable-user-extensions = false; - enabled-extensions = [ - "activate-window-by-title@lucaswerkmeister.de" - "appindicatorsupport@rgcjonas.gmail.com" - "clipboard-indicator@tudmotu.com" - "gsconnect@andyholmes.github.io" - "tailscale@joaophi.github.com" - "unite@hardpixel.eu" - "user-theme@gnome-shell-extensions.gcampax.github.com" - "pip-on-top@rafostar.github.com" - "cloudflare-warp-toggle@khaled.is-a.dev" - ]; - }; - "org/gnome/desktop/input-sources" = { - mru-sources = [ (mkTuple [ "xkb" "us" ]) ]; - sources = [ (mkTuple [ "xkb" "us" ]) (mkTuple [ "xkb" "ru" ]) ]; - xkb-options = [ "terminate:ctrl_alt_bksp" "lv3:switch" "compose:ralt" ]; - }; - "org/gnome/desktop/screensaver" = { - lock-enabled = true; - }; - "org/gnome/desktop/notifications" = { - show-in-lock-screen = false; - }; - "org/gnome/desktop/session" = { - idle-delay = mkUint32 0; - }; - "org/gnome/shell/extensions/unite" = { - enable-titlebar-actions = true; - extend-left-box = false; - hide-activities-button = "never"; - hide-app-menu-icon = false; - notifications-position = "center"; - reduce-panel-spacing = true; - restrict-to-primary-screen = false; - show-appmenu-button = true; - show-desktop-name = false; - show-legacy-tray = false; - show-window-buttons = "never"; - show-window-title = "never"; - }; - #"org/gnome/shell/extensions/user-theme" = { - # name = "Mojave-Dark-solid-alt"; - #}; - "org/gnome/shell/weather" = { - automatic-location = true; - }; - #"org/gnome/desktop/background" = { - # picture-uri = "file:///run/current-system/sw/share/backgrounds/wallpaper.png"; - # picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/wallpaper.png"; - #}; - "org/gnome/desktop/peripherals/touchpad" = { - tap-to-click = true; - }; - "org/gnome/settings-daemon/plugins/power" = { - sleep-inactive-ac-type = "nothing"; - }; - "org/gnome/settings-daemon/plugins/power" = { - sleep-inactive-battery-timeout = mkUint32 300; - }; - }; - } - ]; - - environment.systemPackages = with pkgs; [ - gnomeExtensions.appindicator - gnomeExtensions.activate-window-by-title - gnomeExtensions.unite - gnomeExtensions.tailscale-qs - gnomeExtensions.gsconnect - gnomeExtensions.clipboard-indicator - gnomeExtensions.pip-on-top - gnomeExtensions.cloudflare-warp-toggle - gnomeExtensions.tiling-assistant - gnome.gnome-tweaks - mojave-gtk-theme - adw-gtk3 - papirus-icon-theme - #wallpaper - ]; - - environment.gnome.excludePackages = with pkgs.gnome; [ - pkgs.gnome-text-editor - pkgs.gnome-tour - pkgs.orca - epiphany - geary - gnome-backgrounds - gnome-calendar - gnome-characters - gnome-clocks - gnome-contacts - gnome-font-viewer - gnome-logs - gnome-maps - gnome-music - gnome-weather - simple-scan - sushi - totem - yelp - ]; - - services.gnome = { - gnome-browser-connector.enable = false; - gnome-initial-setup.enable = false; - gnome-online-accounts.enable = false; - }; -} \ No newline at end of file diff --git a/hosts/dlaptop/system.nix b/hosts/dlaptop/system.nix index 66871bb..c0e1f5c 100644 --- a/hosts/dlaptop/system.nix +++ b/hosts/dlaptop/system.nix @@ -157,6 +157,21 @@ lua5_4 nodejs_21 ]; + + programs.fish = { + enable = true; + + shellAliases = { + fru = "trans ru:en"; + fen = "trans en:ru"; + icat = "kitten icat"; + }; + shellInit = '' + set -U __done_kitty_remote_control 1 + set -U __done_kitty_remote_control_password "kitty-notification-password-fish" + set -U __done_notification_command 'notify-send --icon=kitty --app-name=kitty \$title \$argv[1] && ' + ''; + }; system.stateVersion = "23.11"; # Don't forget the comment } \ No newline at end of file diff --git a/hosts/dlaptop/xorg.nix b/hosts/dlaptop/xorg.nix index b255ae3..e6fbed6 100644 --- a/hosts/dlaptop/xorg.nix +++ b/hosts/dlaptop/xorg.nix @@ -3,10 +3,8 @@ { imports = [ "${self}/apps/gnome.nix" + "${self}/apps/hyprland" ]; - - programs.hyprland.enable = true; - xdg.portal.extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; environment.sessionVariables = { QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; diff --git a/hosts/generic.nix b/hosts/generic.nix index 03ae4b3..4eb6336 100644 --- a/hosts/generic.nix +++ b/hosts/generic.nix @@ -78,18 +78,21 @@ in { fishPlugins.autopair fishPlugins.z fishPlugins.tide - fishPlugins.fzf-fish fishPlugins.sponge - fd - fzf #(pkgs.writeScriptBin "fzf" "${pkgs.fzf}/bin/fzf $@") + fishPlugins.fzf-fish + bat #for fzf-fish + fzf #for fzf-fish + fd #for fzf-fish sysz # systemctl with fzf grc - bat nh any-nix-shell dnsutils inetutils killall + tree + eza # better ls, will check what's better + lsd # better ls, will check what's better (pkgs.writeScriptBin "reboot" ''read -p "Do you REALLY want to reboot? (y/N) " answer; [[ $answer == [Yy]* ]] && ${pkgs.systemd}/bin/reboot'') ]; @@ -100,6 +103,7 @@ in { rebuild = "nh os switch"; rollback = "sudo nixos-rebuild switch --rollback --flake ~/Documents/dotfiles/"; haste = "HASTE_SERVER='https://haste.schizoposting.online' ${pkgs.haste-client}/bin/haste"; + ls = "${pkgs.lsd}/bin/lsd"; }; promptInit = '' set TERM "xterm-256color" @@ -123,4 +127,67 @@ in { users.defaultUserShell = pkgs.fish; security.rtkit.enable = true; boot.tmp.cleanOnBoot = true; + + environment.etc."htoprc".text = '' + config_reader_min_version=3 + fields=0 48 46 47 49 1 + hide_kernel_threads=1 + hide_userland_threads=1 + hide_running_in_container=0 + shadow_other_users=0 + show_thread_names=0 + show_program_path=0 + highlight_base_name=1 + highlight_deleted_exe=1 + shadow_distribution_path_prefix=0 + highlight_megabytes=1 + highlight_threads=1 + highlight_changes=0 + highlight_changes_delay_secs=5 + find_comm_in_cmdline=1 + strip_exe_from_cmdline=1 + show_merged_command=0 + header_margin=1 + screen_tabs=1 + detailed_cpu_time=0 + cpu_count_from_one=0 + show_cpu_usage=1 + show_cpu_frequency=1 + show_cpu_temperature=1 + degree_fahrenheit=0 + update_process_names=0 + account_guest_in_cpu_meter=0 + color_scheme=6 + enable_mouse=1 + delay=15 + hide_function_bar=1 + header_layout=two_50_50 + column_meters_0=LeftCPUs Memory Swap + column_meter_modes_0=1 1 1 + column_meters_1=RightCPUs Tasks LoadAverage Uptime + column_meter_modes_1=1 2 2 2 + tree_view=0 + sort_key=46 + tree_sort_key=0 + sort_direction=-1 + tree_sort_direction=1 + tree_view_always_by_pid=0 + all_branches_collapsed=0 + screen:Main=PID USER PERCENT_CPU PERCENT_MEM TIME Command + .sort_key=PERCENT_CPU + .tree_sort_key=PID + .tree_view_always_by_pid=0 + .tree_view=0 + .sort_direction=-1 + .tree_sort_direction=1 + .all_branches_collapsed=0 + screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command + .sort_key=PID + .tree_sort_key=PID + .tree_view_always_by_pid=0 + .tree_view=0 + .sort_direction=1 + .tree_sort_direction=1 + .all_branches_collapsed=0 + ''; }