diff --git a/flake.lock b/flake.lock index 6fbda7f..70d36b3 100644 --- a/flake.lock +++ b/flake.lock @@ -455,6 +455,36 @@ "url": "https://github.com/hyprwm/Hyprland" } }, + "hyprland-plugins": { + "inputs": { + "hyprland": [ + "hyprland" + ], + "nixpkgs": [ + "hyprland-plugins", + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland-plugins", + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1730588120, + "narHash": "sha256-R+COuotzT6Pl0P1wOOzKQZnpq3TPHtBfwDWYWST7awo=", + "owner": "hyprwm", + "repo": "hyprland-plugins", + "rev": "c347d8ad9b80370d573e5a01b2e8bf10e6d0dbe5", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-plugins", + "type": "github" + } + }, "hyprland-protocols": { "inputs": { "nixpkgs": [ @@ -973,6 +1003,7 @@ "chaotic": "chaotic", "home-manager": "home-manager_2", "hyprland": "hyprland", + "hyprland-plugins": "hyprland-plugins", "hyprpolkitagent": "hyprpolkitagent", "hyprsunset": "hyprsunset", "hyprsysteminfo": "hyprsysteminfo", diff --git a/flake.nix b/flake.nix index 8788c79..596962c 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,11 @@ submodules = true; }; + hyprland-plugins = { + url = "github:hyprwm/hyprland-plugins"; + inputs.hyprland.follows = "hyprland"; + }; + split-monitor-workspaces = { url = "github:Duckonaut/split-monitor-workspaces"; inputs.hyprland.follows = "hyprland"; # <- make sure this line is present for the plugin to work as intended diff --git a/home/home.nix b/home/home.nix index ead08d9..4781c41 100644 --- a/home/home.nix +++ b/home/home.nix @@ -3,26 +3,24 @@ imports = if hostname == "zion" then [ - ./programs/git.nix ./programs/btop.nix - # ./programs/yazi.nix - # ./programs/foot.nix - ./programs/shell.nix - # ./programs/helix.nix - # ./programs/zathura.nix - ./programs/packages.nix - # ./programs/vscodium.nix - ./programs/vscode.nix - ./programs/kitty.nix ./programs/fastfetch.nix + # ./programs/foot.nix + ./programs/git.nix + # ./programs/helix.nix + ./programs/kitty.nix + ./programs/packages.nix + ./programs/shell.nix + ./programs/vscodium.nix + # ./programs/yazi.nix + # ./programs/zathura.nix - ./system/tofi.nix - ./system/wofi.nix ./system/dunst.nix + ./system/hyprland.nix ./system/stylix.nix ./system/waybar.nix ./system/wlsunset.nix - ./system/hyprland.nix + ./system/wofi.nix ] else if hostname == "server" then [ diff --git a/home/programs/packages.nix b/home/programs/packages.nix index 9b64624..dfb3b51 100644 --- a/home/programs/packages.nix +++ b/home/programs/packages.nix @@ -1,36 +1,85 @@ { pkgs, inputs, ... }: { home.packages = with pkgs; [ - # DEV + # > graphics < # + tuxpaint + krita + + # > terminal < # + kitty + kitty-themes + + # > tools < # + git + wget + eza + yt-dlp + ffmpeg + texlive.combined.scheme-full + fastfetch + zoxide + btop + htop + killall + woeusb + pavucontrol + steam-run + unzip + openvpn + wol + direnv + p7zip + hoppscotch + networkmanagerapplet + protonvpn-cli_2 python3 - # MEDIA - mpv - imv pwvucontrol - # CONNECTIONS - overskride - protonvpn-cli_2 - networkmanagerapplet + # > media < # + spotify + vlc + mpv + obs-studio + okular - # APPS - floorp - spotube - vesktop - nautilus + + # > desktop < # + firefox + telegram-desktop + google-chrome + evolution + obsidian + foliate + helio-workstation keepassxc - whatsapp-for-linux + vesktop + # > gaming < # + prismlauncher + classicube + steam + + # > development < # + podman + podman-compose + seahorse + platformio + iwgtk + imv + neovide + feh + zed-editor + zint + tmux + zip + unzip + pavucontrol libreoffice qalculate-gtk - - # Utilities - ventoy-full file-roller vim - firefox rofi - nixfmt + nixfmt-rfc-style nemo neovim ]; diff --git a/home/programs/vscode.nix b/home/programs/vscode.nix deleted file mode 100644 index 119baa7..0000000 --- a/home/programs/vscode.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ pkgs, ... }: -{ - programs.vscode = { - enable = true; - - extensions = with pkgs.vscode-extensions; [ - ms-python.python - ms-python.debugpy - jnoortheen.nix-ide - mvllow.rose-pine - ]; - - userSettings = { - - "editor.fontSize" = 18; - "explorer.confirmDelete" = false; - "explorer.confirmDragAndDrop" = true; - "git.openRepositoryInParentFolders" = "never"; - - "[python]" = { - "editor.defaultFormatter" = "ms-python.black-formatter"; - "editor.formatOnSave" = true; - }; - - "nix.enableLanguageServer" = true; - "nix.serverPath" = "${pkgs.nixd}/bin/nixd"; - "nix.serverSettings" = { - "nixd" = { - "formatting" = { - "command" = [ "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" ]; - }; - "nixpkgs" = { - "expr" = "import { }"; - "options" = { - "nixos" = { - "expr" = "(builtins.getFlake \"/home/mike/.files\").nixosConfigurations.zion.options"; - }; - }; - }; - }; - }; - - "editor.formatOnSave" = true; - - "editor.fontLigatures" = true; - "editor.formatOnPaste" = true; - "editor.minimap.enabled" = false; - - "symbols.hidesExplorerArrows" = false; - - "workbench.iconTheme" = "rose-pine-icons"; - "workbench.colorTheme" = "Rosé Pine"; - "workbench.preferredDarkColorTheme" = "Rosé Pine"; - "workbench.preferredHighContrastColorTheme" = "Rosé Pine"; - - }; - }; -} diff --git a/home/programs/vscodium.nix b/home/programs/vscodium.nix index 49db027..021a6a2 100644 --- a/home/programs/vscodium.nix +++ b/home/programs/vscodium.nix @@ -1,5 +1,4 @@ -{ pkgs, ... }: -{ +{ pkgs, ... }: { programs.vscode = { enable = true; package = pkgs.vscodium; @@ -8,7 +7,7 @@ ms-python.python ms-python.debugpy jnoortheen.nix-ide - catppuccin.catppuccin-vsc + mvllow.rose-pine ]; userSettings = { @@ -34,7 +33,8 @@ "expr" = "import { }"; "options" = { "nixos" = { - "expr" = "(builtins.getFlake \"/home/nel/Dotfiles\").nixosConfigurations.laptop.options"; + "expr" = '' + (builtins.getFlake "/home/mike/.files").nixosConfigurations.zion.options''; }; }; }; @@ -49,11 +49,10 @@ "symbols.hidesExplorerArrows" = false; - "catppuccin.accentColor" = "blue"; - "workbench.iconTheme" = "vs-minimal"; - "workbench.colorTheme" = "Catppuccin Mocha"; - "workbench.preferredDarkColorTheme" = "Catppuccin Mocha"; - "workbench.preferredHighContrastColorTheme" = "Catppuccin Mocha"; + "workbench.iconTheme" = "rose-pine-icons"; + "workbench.colorTheme" = "Rosé Pine"; + "workbench.preferredDarkColorTheme" = "Rosé Pine"; + "workbench.preferredHighContrastColorTheme" = "Rosé Pine"; }; }; diff --git a/home/system/hyprland.nix b/home/system/hyprland.nix index 18bfc96..f65ce1e 100644 --- a/home/system/hyprland.nix +++ b/home/system/hyprland.nix @@ -46,587 +46,587 @@ # Configuration # ------------------------------------------------ - # settings = { - - # "$mod" = "SUPER"; - # "$shiftMod" = "SUPER_SHIFT"; - # "$Alt_L" = "ALT"; - - # # App - # "$terminal" = "kitty"; - # "$browser" = "firefox"; - # "$launcher" = "rofi -show drun"; - # "$file-manager" = "nemo"; - # "$Tfile-manager" = "$terminal -e yazi"; - # "$audio-manager" = "com.saivert.pwvucontrol"; - # "$password-manager" = "org.keepassxc.KeePassXC"; - # "$bluetooth-manager" = "io.github.kaii_lb.Overskride"; - - # # ------------------------------------------------ - # # Envirronement variables - # # ------------------------------------------------ - - # env = [ - # "XDG_SESSION_TYPE,wayland" - # "XDG_CURRENT_DESKTOP,Hyprland" - # "XDG_SESSION_DESKTOP,Hyprland" - - # "DISABLE_QT5_COMPAT,1" - # "QT_QPA_PLATFORM,wayland" - # "QT_AUTO_SCREEN_SCALE_FACTOR,1" - # "QT_WAYLAND_DISABLE_WINDOWDECORATION,1" - - # "NIXOS_OZONE_WL,1" - # "ELECTRON_OZONE_PLATFORM_HINT,auto" - - # "GTK_WAYLAND_DISABLE_WINDOWDECORATION,1" - # ]; - - # # ------------------------------------------------ - # # Startup - # # ------------------------------------------------ - - # exec-once = [ - # "waybar" - # # "systemctl --user start hyprpolkitagent" - # ]; - - # # ------------------------------------------------ - # # Monitors - # # ------------------------------------------------ - - # monitor = [ - # "HDMI-A-1, preferred, 0x360, 1" - # "DP-1, highrr, 4480x0, 1" - # "DP-2, highrr, 1920x0, 1" - # ]; - - # # ------------------------------------------------ - # # Window Rules - # # ------------------------------------------------ - - # windowrule = [ - # "float, ^($terminal)$" - # "size 45% 45%,^($terminal)$" - - # "float, ^($password-manager)$" - # "size 50% 40%,^($password-manager)$" - - # "float, ^($bluetooth-manager)$" - # "size 50% 60%,^($bluetooth-manager)$" - - # "float, ^($audio-manager)$" - # "size 50% 30%,^($audio-manager)$" - - # "noblur, class:^(steam)" - # "forcergbx, class:^(steam)" - # ]; - - # # ------------------------------------------------ - # # Keybidings - # # ------------------------------------------------ - - # bind = [ - # # Apps - # "ALT, code:10, exec, $browser" - # "ALT, code:11, exec, $file-manager" - # "ALT, code:12, exec, $Tfile-manager" - - # # System - # "SUPER, RETURN, exec, $terminal" - # "SUPER, X, exec, powermenu" - # "SUPER, R, exec, $launcher" - - # "SUPER, Q, killactive" - # "SUPER, F, fullscreen" - # "SUPER, T, togglefloating" - - # # Screenshot - # "ALT, S , exec , hyprshot -m region --clipboard-only" - # "CONTROL&ALT , S , exec , hyprshot -m region " - # "CONTROL&ALT&SHIFT_L , S , exec , hyprshot -m output" - - # # Window Focus - # "SUPER, h, movefocus, l" - # "SUPER, l, movefocus, r" - # "SUPER, k, movefocus, u" - # "SUPER, j, movefocus, d" - - # # Switch workspaces with mainMod + [0-9] - # "SUPER, code:10, workspace, 1" - # "SUPER, code:11, workspace, 2" - # "SUPER, code:12, workspace, 3" - # "SUPER, code:13, workspace, 4" - # "SUPER, code:14, workspace, 5" - # "SUPER, code:15, workspace, 6" - # "SUPER, code:16, workspace, 7" - # "SUPER, code:17, workspace, 8" - # "SUPER, code:18, workspace, 9" - # "SUPER, code:19, workspace, 10" - - # # Move active window to a workspace with mainMod + SHIFT + [0-9] - # "SUPER SHIFT, code:10, movetoworkspace, 1" - # "SUPER SHIFT, code:11, movetoworkspace, 2" - # "SUPER SHIFT, code:12, movetoworkspace, 3" - # "SUPER SHIFT, code:13, movetoworkspace, 4" - # "SUPER SHIFT, code:14, movetoworkspace, 5" - # "SUPER SHIFT, code:15, movetoworkspace, 6" - # "SUPER SHIFT, code:16, movetoworkspace, 7" - # "SUPER SHIFT, code:17, movetoworkspace, 8" - # "SUPER SHIFT, code:18, movetoworkspace, 9" - # "SUPER SHIFT, code:19, movetoworkspace, 10" - # ]; - - # bindm = [ - # "SUPER, mouse:272, movewindow" - # "SUPER, mouse:273, resizewindow" - # ]; - - # bindl = [ - # ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" - # ",switch:Lid Switch, exec, pidof hyprlock || hyprlock" - # ]; - - # bindle = [ - # ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ -l 1" - # ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-" - - # ", XF86AudioPlay , exec , playerctl play-pause" - # ", XF86AudioStop , exec , playerctl pause" - # ", XF86AudioPrev , exec , playerctl previous" - # ", XF86AudioNext , exec , playerctl next" - - # ", XF86MonBrightnessUp, exec, brightnessctl -q s 5%+" - # ", XF86MonBrightnessDown, exec, brightnessctl -q s 5%-" - # ]; - - # # ------------------------------------------------ - # # Sections - # # ------------------------------------------------ - - # xwayland = { enabled = false; }; - # opengl = { force_introspection = 1; }; - - # animations = { enabled = false; }; - # decoration = { drop_shadow = false; blur = { enabled = false; }; }; - - # general = { - # gaps_in = 4; - # gaps_out = 0; - # border_size = 2; - # "col.active_border" = "rgb(F5A97F) rgb(ED8796) rgb(C6A0F6) rgb(8AADF4) rgb(A6DA95) rgb(EED49F)"; - - # layout = "dwindle"; - # }; - - # misc = { - # vfr = true; - # vrr = 1; - - # focus_on_activate = true; - - # disable_autoreload = true; - # disable_hyprland_logo = true; - # disable_splash_rendering = true; - # }; - - # input = { - # kb_layout = "us"; - # kb_variant = ""; - - # follow_mouse = 1; - # accel_profile = "flat"; - # sensitivity = 0.4; - # repeat_delay = 300; - # repeat_rate = 50; - - # touchpad = { - # natural_scroll = true; - # clickfinger_behavior = true; - # disable_while_typing = true; - # }; - # }; - # }; - extraConfig = '' -# This is an example Hyprland config file. -# Refer to the wiki for more information. -# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ - -# Please note not all available settings / options are set here. -# For a full list, see the wiki - -# You can split this configuration into multiple files -# Create your files separately and then link them to this file like this: -# source = ~/.config/hypr/myColors.conf - - -################ -### MONITORS ### -################ - -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=HDMI-A-1, preferred, 0x360, 1 -monitor=DP-1, highrr, 4480x0, 1 -monitor=DP-2, highrr, 1920x0, 1 - - -################### -### MY PROGRAMS ### -################### - -# See https://wiki.hyprland.org/Configuring/Keywords/ - -# Set programs that you use -$terminal = kitty -$fileManager = nemo -$menu = rofi -show drun -$lock = $HOME/.config/hypr/lock.sh -$editor = zed -$browser = firefox -$picker = hyprpicker -a -f hex - -################# -### AUTOSTART ### -################# - -# Autostart necessary processes (like notifications daemons, status bars, etc.) - -# exec-once = hyprpm reload -n -exec-once = hypridle -exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP -# exec-once=zsh $HOME/.config/hypr/autostart.sh -exec-once = waybar - -############################# -### ENVIRONMENT VARIABLES ### -############################# - -# See https://wiki.hyprland.org/Configuring/Environment-variables/ - -env = XCURSOR_SIZE,24 -env = XCURSOR_THEME,/usr/share/icons/Gruvbox-Dark/index.theme -env = HYPRCURSOR_SIZE,24 -env = HYPRCURSOR_THEME,/usr/share/icons/Gruvbox-Dark/index.theme - -env = CLUTTER_BACKEND,wayland -env = GDK_BACKEND,wayland,x11 -env = QT_AUTO_SCREEN_SCALE_FACTOR,1 -env = QT_QPA_PLATFORMTHEME,qt5ct -env = QT_QPA_PLATFORMTHEME,qt6ct -env = QT_SCALE_FACTOR,1 -env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 - -# Nvidia -env = LIBVA_DRIVER_NAME,nvidia -env = XDG_SESSION_TYPE,wayland -env = GBM_BACKEND,nvidia-drm -env = __GLX_VENDOR_LIBRARY_NAME,nvidia -env = WLR_NO_HARDWARE_CURSORS,1 -env = __NV_PRIME_RENDER_OFFLOAD,1 -env = __VK_LAYER_NV_optimus,NVIDIA_only -env = __GL_THREADED_OPTIMIZATIONS=0 - -# Wayland enforce -env = QT_QPA_PLATFORM,wayland -env = ELECTRON_OZONE_PLATFORM_HINT,wayland -env = XDG_CURRENT_DESKTOP,Hyprland -env = XDG_SESSION_DESKTOP,Hyprland - -# Java -env = _JAVA_AWT_WM_NONREPARENTING,1 -env = _JAVA_OPTIONS,-Dawt.useSystemAAFontSettings=on - -# Firefox -env = MOZ_ENABLE_WAYLAND,1 -env = MOZ_DISABLE_RDD_SANDBOX,1 -env = EGL_PLATFORM,wayland - -# Electron -env = ELECTRON_OZONE_PLATFORM_HINT,auto - -# Input -env = QT_IM_MODULE,fcitx -env = XMODIFIERS=@im=fcitx -env = GLFW_IM_MODULE,ibus - -# SSH Agents -env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket - -##################### -### LOOK AND FEEL ### -##################### - -# Refer to https://wiki.hyprland.org/Configuring/Variables/ - -# https://wiki.hyprland.org/Configuring/Variables/#general -general { - gaps_in = 10 - gaps_out = 20 - - border_size = 1 - - # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors - col.active_border = rgba(fabd2fee) rgba(fe8019ee) 45deg - col.inactive_border = rgba(928374aa) - - # 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 -} - -# https://wiki.hyprland.org/Configuring/Variables/#decoration -decoration { - rounding = 10 - - # Change transparency of focused and unfocused windows - active_opacity = 0.98 - inactive_opacity = 0.95 - - drop_shadow = true - shadow_range = 5 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) - - # https://wiki.hyprland.org/Configuring/Variables/#blur - blur { - enabled = true - size = 4 - passes = 3 - - vibrancy = 0.1696 - } -} - -cursor { - no_hardware_cursors = true -} - -# https://wiki.hyprland.org/Configuring/Variables/#animations -animations { - enabled = true - - # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more -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 -} - -# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more -master { - new_status = master -} - -# https://wiki.hyprland.org/Configuring/Variables/#misc -misc { - force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers - disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( -} - - -############# -### INPUT ### -############# - -# https://wiki.hyprland.org/Configuring/Variables/#input -input { - kb_layout = pl - kb_variant = - kb_model = - kb_options = - kb_rules = - - numlock_by_default = true - - follow_mouse = 1 - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. - - touchpad { - natural_scroll = true - } -} - -# https://wiki.hyprland.org/Configuring/Variables/#gestures -gestures { - workspace_swipe = false -} - -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more -# device { -# name = epic-mouse-v1 -# sensitivity = -0.5 -# } - -############### -### PLUGINS ### -############### - -plugin { - split-monitor-workspaces { - count = 10 - keep_focused = 1 - enable_notifications = 0 - } -} - -############## -### RENDER ### -############## - -render { - explicit_sync = 1 -} - -xwayland { - force_zero_scaling = true -} - -#################### -### KEYBINDINGSS ### -#################### - -# See https://wiki.hyprland.org/Configuring/Keywords/ -$mainMod = SUPER # Sets "Windows" key as main modifier - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod SHIFT, RETURN, exec, $terminal -bind = $mainMod, Q, killactive, -bind = $mainMod SHIFT, Q, exit -bind = $mainMod, N, exec, $fileManager -bind = $mainMod, W, exec, $editor -bind = $mainMod, Z, exec, $terminal -bind = $mainMod, B, exec, $browser -bind = $mainMod SHIFT, L, exec, $lock -bind = $mainMod, V, togglefloating, -bind = $mainMod, R, exec, $menu -bind = $mainMod, SPACE, exec, $menu -bind = $mainMod SHIFT, C, exec, $picker -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle -bind = $mainMod, F, fullscreen, 1 -bind = $mainMod SHIFT, F, fullscreen, 0 -bind = $mainMod, T, togglefloating -bind = $mainMod, mouse:274, togglefloating - -# 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 - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, split-workspace, 1 -bind = $mainMod, 2, split-workspace, 2 -bind = $mainMod, 3, split-workspace, 3 -bind = $mainMod, 4, split-workspace, 4 -bind = $mainMod, 5, split-workspace, 5 -bind = $mainMod, 6, split-workspace, 6 -bind = $mainMod, 7, split-workspace, 7 -bind = $mainMod, 8, split-workspace, 8 -bind = $mainMod, 9, split-workspace, 9 -bind = $mainMod, 0, split-workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1 -bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2 -bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3 -bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4 -bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5 -bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6 -bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7 -bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8 -bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9 -bind = $mainMod SHIFT, 0, split-movetoworkspacesilent, 10 - -# Example special workspace (scratchpad) -bind = $mainMod, D, togglespecialworkspace, magic -bind = $mainMod SHIFT, D, movetoworkspace, special:magic - -# Move between monitors -bind = $mainMod, code:60, focusmonitor, -1 # code 60 is a dot (.) -bind = $mainMod, code:59, focusmonitor, +1 # code 59 is a comma (,) -# bind = $mainMod SHIFT, BackSpace, movewindow, mon:+1, -# bind = $mainMod SHIFT, code:59, changemonitorsilent, e-1 -# bind = $mainMod SHIFT, code:60, changemonitorsilent, e+1 - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - -bind = ,XF86AudioMicMute, exec, amixer set Capture toggle -bind = ,XF86AudioMute, exec, amixer set Master toggle -bind = ,XF86AudioRaiseVolume, exec, amixer set Master playback 2%+ -bind = ,XF86AudioLowerVolume, exec, amixer set Master playback 2%- -bind = ,XF86MonBrightnessUp, exec, brightnessctl set 5%+ -bind = ,XF86MonBrightnessDown, exec, brightnessctl set 5%- -# bind =CTRL,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1" -# bind = SHIFT,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5" -bind = SHIFT, XF86MonBrightnessDown, exec, brightnessctl set 1% -bind = SHIFT, XF86MonBrightnessUp, exec, brightnessctl set 100% - -# Screenshot a window -bind = $mainMod, PRINT, exec, hyprshot -m window -# Screenshot a monitor -bind = , PRINT, exec, hyprshot -m output -# Screenshot a region -bind = $mainMod SHIFT, S, exec, hyprshot -m region - -############################## -### WINDOWS AND WORKSPACES ### -############################## - -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more -# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ - -windowrule=opacity 1.0 override 1.0, ^(firefox)$ - -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ - -windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. - -windowrule=fullscreen, flameshot -windowrule=float,flameshot -windowrule=monitor 0,flameshot -windowrule=move 0 0,flameshot -windowrule=workspace 0,flameshot -windowrule=stayfocused,flameshot - -windowrulev2=move 0 -195,class:^(flameshot)$ - -windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$ -windowrulev2 = noanim,class:^(xwaylandvideobridge)$ -windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ -windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ -windowrulev2 = noblur,class:^(xwaylandvideobridge)$ - ''; + # settings = { + + # "$mod" = "SUPER"; + # "$shiftMod" = "SUPER_SHIFT"; + # "$Alt_L" = "ALT"; + + # # App + # "$terminal" = "kitty"; + # "$browser" = "firefox"; + # "$launcher" = "rofi -show drun"; + # "$file-manager" = "nemo"; + # "$Tfile-manager" = "$terminal -e yazi"; + # "$audio-manager" = "com.saivert.pwvucontrol"; + # "$password-manager" = "org.keepassxc.KeePassXC"; + # "$bluetooth-manager" = "io.github.kaii_lb.Overskride"; + + # # ------------------------------------------------ + # # Envirronement variables + # # ------------------------------------------------ + + # env = [ + # "XDG_SESSION_TYPE,wayland" + # "XDG_CURRENT_DESKTOP,Hyprland" + # "XDG_SESSION_DESKTOP,Hyprland" + + # "DISABLE_QT5_COMPAT,1" + # "QT_QPA_PLATFORM,wayland" + # "QT_AUTO_SCREEN_SCALE_FACTOR,1" + # "QT_WAYLAND_DISABLE_WINDOWDECORATION,1" + + # "NIXOS_OZONE_WL,1" + # "ELECTRON_OZONE_PLATFORM_HINT,auto" + + # "GTK_WAYLAND_DISABLE_WINDOWDECORATION,1" + # ]; + + # # ------------------------------------------------ + # # Startup + # # ------------------------------------------------ + + # exec-once = [ + # "waybar" + # # "systemctl --user start hyprpolkitagent" + # ]; + + # # ------------------------------------------------ + # # Monitors + # # ------------------------------------------------ + + # monitor = [ + # "HDMI-A-1, preferred, 0x360, 1" + # "DP-1, highrr, 4480x0, 1" + # "DP-2, highrr, 1920x0, 1" + # ]; + + # # ------------------------------------------------ + # # Window Rules + # # ------------------------------------------------ + + # windowrule = [ + # "float, ^($terminal)$" + # "size 45% 45%,^($terminal)$" + + # "float, ^($password-manager)$" + # "size 50% 40%,^($password-manager)$" + + # "float, ^($bluetooth-manager)$" + # "size 50% 60%,^($bluetooth-manager)$" + + # "float, ^($audio-manager)$" + # "size 50% 30%,^($audio-manager)$" + + # "noblur, class:^(steam)" + # "forcergbx, class:^(steam)" + # ]; + + # # ------------------------------------------------ + # # Keybidings + # # ------------------------------------------------ + + # bind = [ + # # Apps + # "ALT, code:10, exec, $browser" + # "ALT, code:11, exec, $file-manager" + # "ALT, code:12, exec, $Tfile-manager" + + # # System + # "SUPER, RETURN, exec, $terminal" + # "SUPER, X, exec, powermenu" + # "SUPER, R, exec, $launcher" + + # "SUPER, Q, killactive" + # "SUPER, F, fullscreen" + # "SUPER, T, togglefloating" + + # # Screenshot + # "ALT, S , exec , hyprshot -m region --clipboard-only" + # "CONTROL&ALT , S , exec , hyprshot -m region " + # "CONTROL&ALT&SHIFT_L , S , exec , hyprshot -m output" + + # # Window Focus + # "SUPER, h, movefocus, l" + # "SUPER, l, movefocus, r" + # "SUPER, k, movefocus, u" + # "SUPER, j, movefocus, d" + + # # Switch workspaces with mainMod + [0-9] + # "SUPER, code:10, workspace, 1" + # "SUPER, code:11, workspace, 2" + # "SUPER, code:12, workspace, 3" + # "SUPER, code:13, workspace, 4" + # "SUPER, code:14, workspace, 5" + # "SUPER, code:15, workspace, 6" + # "SUPER, code:16, workspace, 7" + # "SUPER, code:17, workspace, 8" + # "SUPER, code:18, workspace, 9" + # "SUPER, code:19, workspace, 10" + + # # Move active window to a workspace with mainMod + SHIFT + [0-9] + # "SUPER SHIFT, code:10, movetoworkspace, 1" + # "SUPER SHIFT, code:11, movetoworkspace, 2" + # "SUPER SHIFT, code:12, movetoworkspace, 3" + # "SUPER SHIFT, code:13, movetoworkspace, 4" + # "SUPER SHIFT, code:14, movetoworkspace, 5" + # "SUPER SHIFT, code:15, movetoworkspace, 6" + # "SUPER SHIFT, code:16, movetoworkspace, 7" + # "SUPER SHIFT, code:17, movetoworkspace, 8" + # "SUPER SHIFT, code:18, movetoworkspace, 9" + # "SUPER SHIFT, code:19, movetoworkspace, 10" + # ]; + + # bindm = [ + # "SUPER, mouse:272, movewindow" + # "SUPER, mouse:273, resizewindow" + # ]; + + # bindl = [ + # ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" + # ",switch:Lid Switch, exec, pidof hyprlock || hyprlock" + # ]; + + # bindle = [ + # ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ -l 1" + # ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-" + + # ", XF86AudioPlay , exec , playerctl play-pause" + # ", XF86AudioStop , exec , playerctl pause" + # ", XF86AudioPrev , exec , playerctl previous" + # ", XF86AudioNext , exec , playerctl next" + + # ", XF86MonBrightnessUp, exec, brightnessctl -q s 5%+" + # ", XF86MonBrightnessDown, exec, brightnessctl -q s 5%-" + # ]; + + # # ------------------------------------------------ + # # Sections + # # ------------------------------------------------ + + # xwayland = { enabled = false; }; + # opengl = { force_introspection = 1; }; + + # animations = { enabled = false; }; + # decoration = { drop_shadow = false; blur = { enabled = false; }; }; + + # general = { + # gaps_in = 4; + # gaps_out = 0; + # border_size = 2; + # "col.active_border" = "rgb(F5A97F) rgb(ED8796) rgb(C6A0F6) rgb(8AADF4) rgb(A6DA95) rgb(EED49F)"; + + # layout = "dwindle"; + # }; + + # misc = { + # vfr = true; + # vrr = 1; + + # focus_on_activate = true; + + # disable_autoreload = true; + # disable_hyprland_logo = true; + # disable_splash_rendering = true; + # }; + + # input = { + # kb_layout = "us"; + # kb_variant = ""; + + # follow_mouse = 1; + # accel_profile = "flat"; + # sensitivity = 0.4; + # repeat_delay = 300; + # repeat_rate = 50; + + # touchpad = { + # natural_scroll = true; + # clickfinger_behavior = true; + # disable_while_typing = true; + # }; + # }; + # }; + extraConfig = '' + # This is an example Hyprland config file. + # Refer to the wiki for more information. + # https://wiki.hyprland.org/Configuring/Configuring-Hyprland/ + + # Please note not all available settings / options are set here. + # For a full list, see the wiki + + # You can split this configuration into multiple files + # Create your files separately and then link them to this file like this: + # source = ~/.config/hypr/myColors.conf + + + ################ + ### MONITORS ### + ################ + + # See https://wiki.hyprland.org/Configuring/Monitors/ + monitor=HDMI-A-1, preferred, 0x360, 1 + monitor=DP-1, highrr, 4480x0, 1 + monitor=DP-2, highrr, 1920x0, 1 + + + ################### + ### MY PROGRAMS ### + ################### + + # See https://wiki.hyprland.org/Configuring/Keywords/ + + # Set programs that you use + $terminal = kitty + $fileManager = nemo + $menu = rofi -show drun + $lock = $HOME/.config/hypr/lock.sh + $editor = zed + $browser = firefox + $picker = hyprpicker -a -f hex + + ################# + ### AUTOSTART ### + ################# + + # Autostart necessary processes (like notifications daemons, status bars, etc.) + + # exec-once = hyprpm reload -n + exec-once = hypridle + exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP + # exec-once=zsh $HOME/.config/hypr/autostart.sh + exec-once = waybar + + ############################# + ### ENVIRONMENT VARIABLES ### + ############################# + + # See https://wiki.hyprland.org/Configuring/Environment-variables/ + + env = XCURSOR_SIZE,24 + env = XCURSOR_THEME,/usr/share/icons/Gruvbox-Dark/index.theme + env = HYPRCURSOR_SIZE,24 + env = HYPRCURSOR_THEME,/usr/share/icons/Gruvbox-Dark/index.theme + + env = CLUTTER_BACKEND,wayland + env = GDK_BACKEND,wayland,x11 + env = QT_AUTO_SCREEN_SCALE_FACTOR,1 + env = QT_QPA_PLATFORMTHEME,qt5ct + env = QT_QPA_PLATFORMTHEME,qt6ct + env = QT_SCALE_FACTOR,1 + env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1 + + # Nvidia + env = LIBVA_DRIVER_NAME,nvidia + env = XDG_SESSION_TYPE,wayland + env = GBM_BACKEND,nvidia-drm + env = __GLX_VENDOR_LIBRARY_NAME,nvidia + env = WLR_NO_HARDWARE_CURSORS,1 + env = __NV_PRIME_RENDER_OFFLOAD,1 + env = __VK_LAYER_NV_optimus,NVIDIA_only + env = __GL_THREADED_OPTIMIZATIONS=0 + + # Wayland enforce + env = QT_QPA_PLATFORM,wayland + env = ELECTRON_OZONE_PLATFORM_HINT,wayland + env = XDG_CURRENT_DESKTOP,Hyprland + env = XDG_SESSION_DESKTOP,Hyprland + + # Java + env = _JAVA_AWT_WM_NONREPARENTING,1 + env = _JAVA_OPTIONS,-Dawt.useSystemAAFontSettings=on + + # Firefox + env = MOZ_ENABLE_WAYLAND,1 + env = MOZ_DISABLE_RDD_SANDBOX,1 + env = EGL_PLATFORM,wayland + + # Electron + env = ELECTRON_OZONE_PLATFORM_HINT,auto + + # Input + env = QT_IM_MODULE,fcitx + env = XMODIFIERS=@im=fcitx + env = GLFW_IM_MODULE,ibus + + # SSH Agents + env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket + + ##################### + ### LOOK AND FEEL ### + ##################### + + # Refer to https://wiki.hyprland.org/Configuring/Variables/ + + # https://wiki.hyprland.org/Configuring/Variables/#general + general { + gaps_in = 10 + gaps_out = 20 + + border_size = 1 + + # https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors + col.active_border = rgba(fabd2fee) rgba(fe8019ee) 45deg + col.inactive_border = rgba(928374aa) + + # 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 + } + + # https://wiki.hyprland.org/Configuring/Variables/#decoration + decoration { + rounding = 10 + + # Change transparency of focused and unfocused windows + active_opacity = 0.98 + inactive_opacity = 0.95 + + drop_shadow = true + shadow_range = 5 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) + + # https://wiki.hyprland.org/Configuring/Variables/#blur + blur { + enabled = true + size = 4 + passes = 3 + + vibrancy = 0.1696 + } + } + + cursor { + no_hardware_cursors = true + } + + # https://wiki.hyprland.org/Configuring/Variables/#animations + animations { + enabled = true + + # Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default + } + + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + 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 + } + + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + master { + new_status = master + } + + # https://wiki.hyprland.org/Configuring/Variables/#misc + misc { + force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers + disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :( + } + + + ############# + ### INPUT ### + ############# + + # https://wiki.hyprland.org/Configuring/Variables/#input + input { + kb_layout = pl + kb_variant = + kb_model = + kb_options = + kb_rules = + + numlock_by_default = true + + follow_mouse = 1 + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. + + touchpad { + natural_scroll = true + } + } + + # https://wiki.hyprland.org/Configuring/Variables/#gestures + gestures { + workspace_swipe = false + } + + # Example per-device config + # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more + # device { + # name = epic-mouse-v1 + # sensitivity = -0.5 + # } + + ############### + ### PLUGINS ### + ############### + + plugin { + split-monitor-workspaces { + count = 10 + keep_focused = 1 + enable_notifications = 0 + } + } + + ############## + ### RENDER ### + ############## + + render { + explicit_sync = 1 + } + + xwayland { + force_zero_scaling = true + } + + #################### + ### KEYBINDINGSS ### + #################### + + # See https://wiki.hyprland.org/Configuring/Keywords/ + $mainMod = SUPER # Sets "Windows" key as main modifier + + # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more + bind = $mainMod SHIFT, RETURN, exec, $terminal + bind = $mainMod, Q, killactive, + bind = $mainMod SHIFT, Q, exit + bind = $mainMod, N, exec, $fileManager + bind = $mainMod, W, exec, $editor + bind = $mainMod, Z, exec, $terminal + bind = $mainMod, B, exec, $browser + bind = $mainMod SHIFT, L, exec, $lock + bind = $mainMod, V, togglefloating, + bind = $mainMod, R, exec, $menu + bind = $mainMod, SPACE, exec, $menu + bind = $mainMod SHIFT, C, exec, $picker + bind = $mainMod, P, pseudo, # dwindle + bind = $mainMod, J, togglesplit, # dwindle + bind = $mainMod, F, fullscreen, 1 + bind = $mainMod SHIFT, F, fullscreen, 0 + bind = $mainMod, T, togglefloating + bind = $mainMod, mouse:274, togglefloating + + # 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 + + # Switch workspaces with mainMod + [0-9] + bind = $mainMod, 1, split-workspace, 1 + bind = $mainMod, 2, split-workspace, 2 + bind = $mainMod, 3, split-workspace, 3 + bind = $mainMod, 4, split-workspace, 4 + bind = $mainMod, 5, split-workspace, 5 + bind = $mainMod, 6, split-workspace, 6 + bind = $mainMod, 7, split-workspace, 7 + bind = $mainMod, 8, split-workspace, 8 + bind = $mainMod, 9, split-workspace, 9 + bind = $mainMod, 0, split-workspace, 10 + + # Move active window to a workspace with mainMod + SHIFT + [0-9] + bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1 + bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2 + bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3 + bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4 + bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5 + bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6 + bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7 + bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8 + bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9 + bind = $mainMod SHIFT, 0, split-movetoworkspacesilent, 10 + + # Example special workspace (scratchpad) + bind = $mainMod, D, togglespecialworkspace, magic + bind = $mainMod SHIFT, D, movetoworkspace, special:magic + + # Move between monitors + bind = $mainMod, code:60, focusmonitor, -1 # code 60 is a dot (.) + bind = $mainMod, code:59, focusmonitor, +1 # code 59 is a comma (,) + # bind = $mainMod SHIFT, BackSpace, movewindow, mon:+1, + # bind = $mainMod SHIFT, code:59, changemonitorsilent, e-1 + # bind = $mainMod SHIFT, code:60, changemonitorsilent, e+1 + + # Scroll through existing workspaces with mainMod + scroll + bind = $mainMod, mouse_down, workspace, e+1 + bind = $mainMod, mouse_up, workspace, e-1 + + # Move/resize windows with mainMod + LMB/RMB and dragging + bindm = $mainMod, mouse:272, movewindow + bindm = $mainMod, mouse:273, resizewindow + + bind = ,XF86AudioMicMute, exec, amixer set Capture toggle + bind = ,XF86AudioMute, exec, amixer set Master toggle + bind = ,XF86AudioRaiseVolume, exec, amixer set Master playback 2%+ + bind = ,XF86AudioLowerVolume, exec, amixer set Master playback 2%- + bind = ,XF86MonBrightnessUp, exec, brightnessctl set 5%+ + bind = ,XF86MonBrightnessDown, exec, brightnessctl set 5%- + # bind =CTRL,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1" + # bind = SHIFT,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5" + bind = SHIFT, XF86MonBrightnessDown, exec, brightnessctl set 1% + bind = SHIFT, XF86MonBrightnessUp, exec, brightnessctl set 100% + + # Screenshot a window + bind = $mainMod, PRINT, exec, hyprshot -m window + # Screenshot a monitor + bind = , PRINT, exec, hyprshot -m output + # Screenshot a region + bind = $mainMod SHIFT, S, exec, hyprshot -m region + + ############################## + ### WINDOWS AND WORKSPACES ### + ############################## + + # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules + + # Example windowrule v1 + # windowrule = float, ^(kitty)$ + + windowrule=opacity 1.0 override 1.0, ^(firefox)$ + + # Example windowrule v2 + # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ + + windowrulev2 = suppressevent maximize, class:.* # You'll probably like this. + + windowrule=fullscreen, flameshot + windowrule=float,flameshot + windowrule=monitor 0,flameshot + windowrule=move 0 0,flameshot + windowrule=workspace 0,flameshot + windowrule=stayfocused,flameshot + + windowrulev2=move 0 -195,class:^(flameshot)$ + + windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$ + windowrulev2 = noanim,class:^(xwaylandvideobridge)$ + windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$ + windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$ + windowrulev2 = noblur,class:^(xwaylandvideobridge)$ + ''; }; - + ################################# # Hyprpaper @@ -636,8 +636,8 @@ windowrulev2 = noblur,class:^(xwaylandvideobridge)$ settings = { ipc = "off"; splash = false; - preload = [ "~/Dotfiles/home/wallpapers/nixppuccin.png" ]; - wallpaper = [ ",~/Dotfiles/home/wallpapers/nixppuccin.png" ]; + preload = [ "~/.files/home/wallpapers/blockwavemoon.png" ]; + wallpaper = [ ",~/.files/home/wallpapers/blockwavemoon.png" ]; }; }; @@ -678,18 +678,18 @@ windowrulev2 = noblur,class:^(xwaylandvideobridge)$ # on-timeout = "systemctl suspend"; # } { - timeout = 300; # 5min - on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor. - on-resume = "brightnessctl -r"; # monitor backlight restore. + timeout = 300; # 5min + on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor. + on-resume = "brightnessctl -r"; # monitor backlight restore. } { - timeout = 600; # 10min - on-timeout = "loginctl lock-session"; # lock screen when timeout has passed + timeout = 600; # 10min + on-timeout = "loginctl lock-session"; # lock screen when timeout has passed } { - timeout = 1800; # 30min + timeout = 1800; # 30min on-timeout = "systemctl hibernate"; # 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. @@ -715,7 +715,7 @@ windowrulev2 = noblur,class:^(xwaylandvideobridge)$ background = { monitor = ""; - path = "~/Dotfiles/home/wallpapers/lock.jpg"; + path = "~/.files/home/wallpapers/blockwavemoon.png"; }; input-field = [ diff --git a/home/system/stylix.nix b/home/system/stylix.nix index 6fa17ad..92da91f 100644 --- a/home/system/stylix.nix +++ b/home/system/stylix.nix @@ -18,33 +18,35 @@ autoEnable = true; targets = { - foot.enable = false; + gnome.enable = true; + gtk.enable = true; + # foot.enable = false; wofi.enable = false; - tofi.enable = false; + # tofi.enable = false; vscode.enable = false; waybar.enable = false; hyprland.enable = false; }; - image = ../wallpapers/nixppuccin.png; + image = ../wallpapers/blockwavemoon.png; override = { - base00 = "1e1e2e"; # base - base01 = "181825"; # mantle - base02 = "313244"; # surface0 - base03 = "45475a"; # surface1 - base04 = "585b70"; # surface2 - base05 = "cdd6f4"; # text - base06 = "f5e0dc"; # rosewater - base07 = "b4befe"; # lavender - base08 = "f38ba8"; # red - base09 = "fab387"; # peach - base0A = "f9e2af"; # yellow - base0B = "a6e3a1"; # green - base0C = "94e2d5"; # teal - base0D = "89b4fa"; # blue - base0E = "cba6f7"; # mauve - base0F = "f2cdcd"; # flamingo + base00 = "191724"; + base01 = "1f1d2e"; + base02 = "26233a"; + base03 = "6e6a86"; + base04 = "908caa"; + base05 = "e0def4"; + base06 = "e0def4"; + base07 = "524f67"; + base08 = "eb6f92"; + base09 = "f6c177"; + base0A = "ebbcba"; + base0B = "31748f"; + base0C = "9ccfd8"; + base0D = "c4a7e7"; + base0E = "f6c177"; + base0F = "524f67"; }; cursor = { diff --git a/home/system/wofi.nix b/home/system/wofi.nix index 6dec274..f180b27 100644 --- a/home/system/wofi.nix +++ b/home/system/wofi.nix @@ -30,9 +30,9 @@ }; style = '' - /** ********** Fonts ********** **/ + /** ********** Fonts ********** **/ - * { + * { font-size: 14px; font-weight: 800; } diff --git a/home/wallpapers/Nixos.png b/home/wallpapers/Nixos.png deleted file mode 100755 index 3e252b8..0000000 Binary files a/home/wallpapers/Nixos.png and /dev/null differ diff --git a/home/wallpapers/blockwavemoon.png b/home/wallpapers/blockwavemoon.png new file mode 100644 index 0000000..ec28555 Binary files /dev/null and b/home/wallpapers/blockwavemoon.png differ diff --git a/home/wallpapers/lock.jpg b/home/wallpapers/lock.jpg deleted file mode 100644 index cd18acf..0000000 Binary files a/home/wallpapers/lock.jpg and /dev/null differ diff --git a/home/wallpapers/nix-black-4k.png b/home/wallpapers/nix-black-4k.png deleted file mode 100755 index c1f20a2..0000000 Binary files a/home/wallpapers/nix-black-4k.png and /dev/null differ diff --git a/home/wallpapers/nix-magenta-blue-1920x1080.png b/home/wallpapers/nix-magenta-blue-1920x1080.png deleted file mode 100644 index fd596a4..0000000 Binary files a/home/wallpapers/nix-magenta-blue-1920x1080.png and /dev/null differ diff --git a/home/wallpapers/nix-magenta-pink-1920x1080.png b/home/wallpapers/nix-magenta-pink-1920x1080.png deleted file mode 100644 index ef8c9de..0000000 Binary files a/home/wallpapers/nix-magenta-pink-1920x1080.png and /dev/null differ diff --git a/home/wallpapers/nixos-catpuchin.png b/home/wallpapers/nixos-catpuchin.png deleted file mode 100755 index ccb261e..0000000 Binary files a/home/wallpapers/nixos-catpuchin.png and /dev/null differ diff --git a/home/wallpapers/nixppuccin.png b/home/wallpapers/nixppuccin.png deleted file mode 100644 index a1d07e4..0000000 Binary files a/home/wallpapers/nixppuccin.png and /dev/null differ diff --git a/home/wallpapers/rog.jpg b/home/wallpapers/rog.jpg deleted file mode 100644 index 3a11d44..0000000 Binary files a/home/wallpapers/rog.jpg and /dev/null differ diff --git a/home/wallpapers/rose_pine_contourline.png b/home/wallpapers/rose_pine_contourline.png new file mode 100644 index 0000000..76dfe3c Binary files /dev/null and b/home/wallpapers/rose_pine_contourline.png differ diff --git a/hosts/default.nix b/hosts/default.nix index 23dabb2..6cd4288 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -4,20 +4,28 @@ if hostname == "zion" then [ ./zion.nix - ./modules/nh.nix - ./modules/boot.nix - ./modules/users.nix - ./modules/greetd.nix - ./modules/fstrim.nix - ./modules/nvidia.nix - ./modules/network.nix - ./modules/security.nix - ./modules/pipewire.nix - ./modules/gsettings.nix + ./modules/adb.nix + ./modules/ananicy.nix # ./modules/bluetooth.nix - ./modules/packages.nix - # ./modules/lanzaboot.nix + ./modules/boot.nix ./modules/configuration.nix + ./modules/fstrim.nix + ./modules/gaming.nix + ./modules/greetd.nix + ./modules/gsettings.nix + # ./modules/kde.nix + # ./modules/lanzaboot.nix + ./modules/network.nix + ./modules/nh.nix + ./modules/nvidia.nix + ./modules/ollama.nix + ./modules/packages.nix + ./modules/pipewire.nix + ./modules/printing.nix + ./modules/security.nix + ./modules/ssh.nix + ./modules/users.nix + ./modules/vm.nix ] else if hostname == "thor" then [ ./thor.nix diff --git a/hosts/modules/boot.nix b/hosts/modules/boot.nix index c7b1e14..0762caf 100644 --- a/hosts/modules/boot.nix +++ b/hosts/modules/boot.nix @@ -16,7 +16,7 @@ }; kernelPackages = - if hostname == "zion" then pkgs.linuxPackages #linuxPackages_zen #linuxPackages #linuxPackages_latest #linuxPackages_xanmod_latest + if hostname == "zion" then pkgs.linuxPackages_cachyos #linuxPackages_zen #linuxPackages #linuxPackages_latest #linuxPackages_xanmod_latest else if hostname == "thor" then pkgs.linuxPackages else if hostname == "server" then pkgs.linuxPackages else pkgs.linuxPackages_zen; diff --git a/hosts/modules/configuration.nix b/hosts/modules/configuration.nix index 068eb9c..6e26739 100644 --- a/hosts/modules/configuration.nix +++ b/hosts/modules/configuration.nix @@ -1,8 +1,20 @@ -{ hostname, inputs, ... }: +{ hostname, inputs, pkgs, ... }: { time.timeZone = "Europe/Warsaw"; i18n.defaultLocale = "en_US.UTF-8"; + i18n.extraLocaleSettings = { + LC_ADDRESS = "pl_PL.UTF-8"; + LC_IDENTIFICATION = "pl_PL.UTF-8"; + LC_MEASUREMENT = "en_US.UTF-8"; + LC_MONETARY = "en_US.UTF-8"; + LC_NAME = "pl_PL.UTF-8"; + LC_NUMERIC = "en_US.UTF-8"; + LC_PAPER = "pl_PL.UTF-8"; + LC_TELEPHONE = "pl_PL.UTF-8"; + LC_TIME = "en_US.UTF-8"; + }; + hardware.graphics = { enable = true; enable32Bit = true; @@ -16,7 +28,11 @@ }; }; - environment.sessionVariables.NIXOS_OZONE_WL = "1"; + environment = { + sessionVariables.NIXOS_OZONE_WL = "1"; + + shells = with pkgs; [ bash zsh ]; + }; system = { stateVersion = "24.05"; @@ -26,15 +42,20 @@ }; }; - nixpkgs = { config = { allowUnfree = true; }; }; + nixpkgs = { + config = { + # I'm sorry Richard Stallman + allowUnfree = true; + }; + }; documentation = { - enable = false; + enable = true; doc.enable = false; - man.enable = false; + man.enable = true; dev.enable = false; info.enable = false; - nixos.enable = false; + nixos.enable = true; }; nix = { diff --git a/hosts/modules/packages.nix b/hosts/modules/packages.nix index da95909..e180b44 100644 --- a/hosts/modules/packages.nix +++ b/hosts/modules/packages.nix @@ -6,8 +6,11 @@ dosfstools nix-output-monitor nvd + brightnessctl ]; + programs.zsh.enable = true; + fonts.packages = with pkgs; [ nerdfonts noto-fonts @@ -25,6 +28,12 @@ programs.gnupg.agent = { enable = true; enableSSHSupport = true; + settings = { + max-cache-ttl = 60480000; + default-cache-ttl = 60480000; + # default-cache-ttl-ssh = 60480000; + # max-cache-ttl-ssl = 60480000; + }; }; } diff --git a/hosts/modules/printing.nix b/hosts/modules/printing.nix new file mode 100644 index 0000000..dc591ea --- /dev/null +++ b/hosts/modules/printing.nix @@ -0,0 +1,3 @@ +{ + services.printing.enable = true; +} diff --git a/hosts/modules/security.nix b/hosts/modules/security.nix index db7e8cd..cf5d0da 100644 --- a/hosts/modules/security.nix +++ b/hosts/modules/security.nix @@ -4,4 +4,10 @@ rtkit.enable = true; polkit.enable = true; }; + + services = { + gnome.gnome-keyring.enable = true; + udisks2.enable = true; + gvfs.enable = true; + }; } diff --git a/hosts/modules/ssh.nix b/hosts/modules/ssh.nix index c248358..0763123 100644 --- a/hosts/modules/ssh.nix +++ b/hosts/modules/ssh.nix @@ -6,6 +6,7 @@ ports = [ 22 ]; settings = { + PermitRootLogin = "no"; PasswordAuthentication = true; UseDns = true; }; diff --git a/hosts/modules/users.nix b/hosts/modules/users.nix index 1465b88..2468d65 100644 --- a/hosts/modules/users.nix +++ b/hosts/modules/users.nix @@ -1,11 +1,20 @@ -{ inputs, username, hostname, ... }: +{ inputs, username, hostname, pkgs, ... }: { imports = [ inputs.home-manager.nixosModules.home-manager ]; + users.defaultUserShell = pkgs.zsh; + users.users.${username} = { isNormalUser = true; description = "${username}"; - extraGroups = [ "networkmanager" "wheel" ]; + extraGroups = [ + "networkmanager" + "wheel" + "docker" + "games" + "dialout" + "libvirtd" + ]; }; home-manager = { diff --git a/hosts/modules/vm.nix b/hosts/modules/vm.nix index d9516af..1c2005f 100644 --- a/hosts/modules/vm.nix +++ b/hosts/modules/vm.nix @@ -18,6 +18,9 @@ services.spice-vdagentd.enable = true; virtualisation = { + podman = { + enable = true; + }; spiceUSBRedirection.enable = true; libvirtd = { enable = true;