mirror of
https://github.com/szymon-jozef/amazing-dotfiles.git
synced 2026-09-07 12:10:45 +02:00
super duper changes :D
This commit is contained in:
62
README.md
62
README.md
@@ -4,35 +4,61 @@
|
|||||||
My dotfiles managed with [home manager](https://github.com/nix-community/home-manager)
|
My dotfiles managed with [home manager](https://github.com/nix-community/home-manager)
|
||||||
|
|
||||||
# What's inside?
|
# What's inside?
|
||||||
- Fish config
|
### Configured with native nix
|
||||||
- Kitty config
|
* Ashell
|
||||||
- Hypr* stuff config
|
* Atuin
|
||||||
- Mako config
|
* Bat
|
||||||
- ashell, waybar config
|
* Btop
|
||||||
- nvim config
|
* Fish
|
||||||
|
* Git
|
||||||
|
* Hypridle
|
||||||
|
* Hyprland
|
||||||
|
* Hyprlauncher
|
||||||
|
* Hyprlock
|
||||||
|
* Hyprsunset
|
||||||
|
* Kitty
|
||||||
|
* Mako
|
||||||
|
* Nixvim
|
||||||
|
* Satty
|
||||||
|
* SSH
|
||||||
|
* Waybar
|
||||||
|
* Yazi
|
||||||
|
* Zoxide
|
||||||
|
* Fastfetch
|
||||||
|
* GTK 3.0
|
||||||
|
* GTK 4.0
|
||||||
|
* MangoHud
|
||||||
|
* Mimeapps
|
||||||
|
* Catppuccin
|
||||||
|
* Home Manager
|
||||||
|
|
||||||
## Screenshot
|
## Screenshot
|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
# Some history
|
# Some history about my dotfiles
|
||||||
My first ever [dotfiles](https://github.com/szymon-jozef/dotfiles) repo was just named… Dotfiles. It was pretty bare bones.
|
My first ever [dotfiles](https://github.com/szymon-jozef/dotfiles) repo was just named… Dotfiles. It was pretty bare bones.
|
||||||
|
|
||||||
Then I created [superior dotfiles](https://github.com/szymon-jozef/superior_dotfiles). I used it with [chezmoi](https://www.chezmoi.io/). It was pretty good, but then I decided to try something else…
|
Then I created [superior dotfiles](https://github.com/szymon-jozef/superior_dotfiles). I used it with [chezmoi](https://www.chezmoi.io/). It was pretty good, but then I decided to try something else…
|
||||||
|
|
||||||
As of today I'm using this repo with home manager. I'm still trying stuff out, but it looks pretty good right now.
|
As of today I'm using this repo with home manager. I'm still trying stuff out, but it looks pretty good right now.
|
||||||
|
|
||||||
# How to try this out?
|
# How to use this?
|
||||||
I guess you should [install home manager](https://nix-community.github.io/home-manager/index.xhtml#sec-install-standalone). You can do it on *any* distro, but I only use Arch, so I don't guarantee it will work elsewhere. To try it out just copy this repo to `~/.config/home-manager`, cd there and then run:
|
You need to have [home manager](https://nix-community.github.io/home-manager/index.xhtml#sec-install-standalone) installed. Install needs to be **standalone**. It may not work as NixOS module.
|
||||||
**Important**: don't forget to change your user info in `flake.nix` before running this command!
|
## Arch Linux
|
||||||
## On NixOS
|
0. If you're extra lazy you can use `install_nix_and_home_manager_on_arch.sh` script to install nix and home-manager. Just run it with `chmod +x ./install_nix_and_home_manager_on_arch.sh && ./install_nix_and_home_manager_on_arch.sh`
|
||||||
```bash
|
1. Copy this repo to `~/.config/home-manager` or somewhere else.
|
||||||
home-manager switch --flake .#nixos -b backup
|
2. Make sure to change variable to your liking inside `flake.nix`. Especially your username and home path!
|
||||||
```
|
3. Download all the dependencies `sudo yay -Syu --needed - < arch_packages.txt`. You can use any other aur helper if you want to, but be aware that regular pacman most likely won't work as `ashell` is not in regular repos yet.
|
||||||
## On Arch
|
4. Run this command to apply all the configurations for the first time `home-manager switch --flake .#arch -b backup`. Make sure to be in the repo root. All your existing files will be backed up with `.backup` extension.
|
||||||
```bash
|
5. Enjoy! Now you can use [nh](https://github.com/nix-community/nh). So for example to switch use `nh home switch . -c arch --backup-extension backup`
|
||||||
home-manager switch --flake .#arch -b backup
|
|
||||||
```
|
## NixOS
|
||||||
|
1. Copy this repo to `~/.config/home-manager` or somewhere else.
|
||||||
|
2. Make sure to change variable to your liking inside `flake.nix`. Especially your username and home path!
|
||||||
|
3. Run this command to apply all the configurations for the first time `home-manager switch --flake .#nixos -b backup`. Make sure to be in the repo root. All your existing files will be backed up with `.backup` extension.
|
||||||
|
4. Enjoy! Now you can use [nh](https://github.com/nix-community/nh). So for example to switch use `nh home switch . -c nixos --backup-extension backup`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
I hope you'll enjoy it, if you for whatever reason want to try this random ass dotfiles found on the internet…
|
I hope you'll enjoy it, if you for whatever reason want to try this random ass dotfiles found on the internet…
|
||||||
|
|||||||
9
arch_packages.txt
Normal file
9
arch_packages.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
ashell
|
||||||
|
waybar
|
||||||
|
hyprland
|
||||||
|
hyprlauncher
|
||||||
|
hypridle
|
||||||
|
hyprlock
|
||||||
|
hyprsunset
|
||||||
|
satty
|
||||||
|
kitty
|
||||||
8
home.nix
8
home.nix
@@ -43,6 +43,12 @@
|
|||||||
# status bars
|
# status bars
|
||||||
./modules/ashell.nix
|
./modules/ashell.nix
|
||||||
./modules/waybar.nix
|
./modules/waybar.nix
|
||||||
|
# hypr
|
||||||
|
./modules/hypr/hyprland.nix
|
||||||
|
./modules/hypr/hyprlauncher.nix
|
||||||
|
./modules/hypr/hypridle.nix
|
||||||
|
./modules/hypr/hyprlock.nix
|
||||||
|
./modules/hypr/hyprsunset.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# === DOTFILES IMPORT ===
|
# === DOTFILES IMPORT ===
|
||||||
@@ -52,7 +58,7 @@
|
|||||||
# ".config/nvim".source = ./dotfiles/nvim;
|
# ".config/nvim".source = ./dotfiles/nvim;
|
||||||
".config/gtk-3.0/settings.ini".source = ./dotfiles/gtk-3.0/settings.ini;
|
".config/gtk-3.0/settings.ini".source = ./dotfiles/gtk-3.0/settings.ini;
|
||||||
".config/gtk-4.0".source = ./dotfiles/gtk-4.0;
|
".config/gtk-4.0".source = ./dotfiles/gtk-4.0;
|
||||||
".config/hypr".source = ./dotfiles/hypr;
|
# ".config/hypr".source = ./dotfiles/hypr;
|
||||||
".config/mimeapps.list".source = ./dotfiles/mimeapps.list;
|
".config/mimeapps.list".source = ./dotfiles/mimeapps.list;
|
||||||
".local/bin".source = ./scripts;
|
".local/bin".source = ./scripts;
|
||||||
};
|
};
|
||||||
|
|||||||
10
install_nix_and_home_manager_on_arch.sh
Normal file
10
install_nix_and_home_manager_on_arch.sh
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/env bash
|
||||||
|
|
||||||
|
echo "=== NIX INSTALLATION ==="
|
||||||
|
sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install) --daemon
|
||||||
|
|
||||||
|
echo "=== HOME MANAGER INSTALLATION ==="
|
||||||
|
nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
|
||||||
|
nix-channel --update
|
||||||
|
nix-shell '<home-manager>' -A install
|
||||||
|
|
||||||
33
modules/hypr/hypridle.nix
Normal file
33
modules/hypr/hypridle.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{ isNixOS, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkIf (!isNixOS) null;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
lock_cmd = "pidof hyprlock || hyprlock";
|
||||||
|
before_sleep_cmd = "hyprlock";
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
|
};
|
||||||
|
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 300; # 5 min
|
||||||
|
on-timeout = "hyprlock";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 330; # 5.5 min
|
||||||
|
on-timeout = "hyprctl dispatch dpms off";
|
||||||
|
on-resume = "hyprctl dispatch dpms on";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 330; # 5.5 min
|
||||||
|
on-timeout = "openrgb -c black";
|
||||||
|
on-resume = "openrgb -c green";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
418
modules/hypr/hyprland.nix
Normal file
418
modules/hypr/hyprland.nix
Normal file
@@ -0,0 +1,418 @@
|
|||||||
|
{ isNixOS, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkIf (!isNixOS) null;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
"$mainMod" = "SUPER";
|
||||||
|
"$terminal" = "uwsm app -- kitty";
|
||||||
|
"$menu" = "hyprlauncher";
|
||||||
|
"$music_player" = "flatpak run com.spotify.Client";
|
||||||
|
"$notes" = "obsidian";
|
||||||
|
"$browser" = "zen-browser";
|
||||||
|
"$openrgb_color" = "09ce30";
|
||||||
|
|
||||||
|
env = [
|
||||||
|
"XCURSOR_SIZE, 32"
|
||||||
|
"HYPRCURSOR_SIZE, 32"
|
||||||
|
"HYPRCURSOR_THEME, theme_phinger-cursors-light"
|
||||||
|
"XDG_CURRENT_DESKTOP,Hyprland"
|
||||||
|
];
|
||||||
|
|
||||||
|
general = {
|
||||||
|
gaps_in = 4;
|
||||||
|
gaps_out = 6;
|
||||||
|
border_size = 4;
|
||||||
|
"col.active_border" = "$blue $sky";
|
||||||
|
"col.inactive_border" = "$overlay1";
|
||||||
|
resize_on_border = false;
|
||||||
|
allow_tearing = false;
|
||||||
|
layout = "dwindle";
|
||||||
|
};
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
bezier = [
|
||||||
|
"easeOutQuint,0.23,1,0.32,1"
|
||||||
|
"easeInOutCubic,0.65,0.05,0.36,1"
|
||||||
|
"linear,0,0,1,1"
|
||||||
|
"almostLinear,0.5,0.5,0.75,1.0"
|
||||||
|
"quick,0.15,0,0.1,1"
|
||||||
|
];
|
||||||
|
animation = [
|
||||||
|
"global, 1, 7, default"
|
||||||
|
"border, 1, 3.39, easeOutQuint"
|
||||||
|
"windows, 1, 2.79, easeOutQuint"
|
||||||
|
"windowsIn, 1, 2.1, easeOutQuint, popin 87%"
|
||||||
|
"windowsOut, 1, 1, linear, popin 87%"
|
||||||
|
"fadeIn, 1, 1.4, almostLinear"
|
||||||
|
"fadeOut, 1, 1.2, almostLinear"
|
||||||
|
"fade, 1, 3.03, quick"
|
||||||
|
"layers, 1, 2, easeOutQuint"
|
||||||
|
"layersIn, 1, 2, easeOutQuint, fade"
|
||||||
|
"layersOut, 1, 1, linear, fade"
|
||||||
|
"fadeLayersIn, 1, 1.4, almostLinear"
|
||||||
|
"fadeLayersOut, 1, 1.1, almostLinear"
|
||||||
|
"workspaces, 1, 1.4, quick, slidevert"
|
||||||
|
"workspacesIn, 1, 0.5, quick, slidevert"
|
||||||
|
"workspacesOut, 1, 0.5, quick, slidevert"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
decoration = {
|
||||||
|
rounding = 1;
|
||||||
|
rounding_power = 2;
|
||||||
|
active_opacity = 1.0;
|
||||||
|
inactive_opacity = 1.0;
|
||||||
|
shadow = {
|
||||||
|
enabled = true;
|
||||||
|
range = 1;
|
||||||
|
render_power = 1;
|
||||||
|
color = "$overlay0";
|
||||||
|
};
|
||||||
|
blur = {
|
||||||
|
enabled = true;
|
||||||
|
size = 1;
|
||||||
|
passes = 1;
|
||||||
|
vibrancy = 0.1696;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
dwindle = {
|
||||||
|
pseudotile = true;
|
||||||
|
preserve_split = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
master = {
|
||||||
|
new_status = "slave";
|
||||||
|
allow_small_split = true;
|
||||||
|
orientation = "left";
|
||||||
|
};
|
||||||
|
|
||||||
|
ecosystem = {
|
||||||
|
enforce_permissions = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
permission = [
|
||||||
|
"/usr/bin/grim, screencopy, allow"
|
||||||
|
"/usr/bin/hyprlock, screencopy, allow"
|
||||||
|
"/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow"
|
||||||
|
];
|
||||||
|
|
||||||
|
input = {
|
||||||
|
kb_layout = "pl";
|
||||||
|
kb_variant = "";
|
||||||
|
kb_model = "";
|
||||||
|
kb_options = "caps:escape_shifted_capslock";
|
||||||
|
kb_rules = "";
|
||||||
|
follow_mouse = 1;
|
||||||
|
left_handed = true;
|
||||||
|
sensitivity = 0;
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
no_hardware_cursors = true;
|
||||||
|
inactive_timeout = 5;
|
||||||
|
warp_on_change_workspace = 1;
|
||||||
|
zoom_factor = 1.0;
|
||||||
|
hide_on_key_press = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
force_default_wallpaper = 0;
|
||||||
|
disable_hyprland_logo = true;
|
||||||
|
middle_click_paste = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
xwayland = {
|
||||||
|
force_zero_scaling = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
quirks = {
|
||||||
|
prefer_hdr = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
"exec-once" = [
|
||||||
|
"wl-paste --type text --watch cliphist store"
|
||||||
|
"wl-paste --type image --watch cliphist store"
|
||||||
|
"uwsm app -- kdeconnect-indicator"
|
||||||
|
"uwsm app -- ashell"
|
||||||
|
"swww-daemon"
|
||||||
|
"openrgb -c $openrgb_color"
|
||||||
|
];
|
||||||
|
|
||||||
|
workspace = [
|
||||||
|
"1, monitor:DP-2"
|
||||||
|
"2, monitor:DP-1"
|
||||||
|
"3, monitor:DP-1"
|
||||||
|
"4, monitor:DP-1"
|
||||||
|
"5, monitor:DP-1"
|
||||||
|
"6, monitor:DP-1"
|
||||||
|
"7, monitor:HDMI-A-2"
|
||||||
|
"9, monitor:DP-2"
|
||||||
|
"10, monitor:DP-2"
|
||||||
|
"w[tv1], gapsout:0, gapsin:0"
|
||||||
|
"f[1], gapsout:0, gapsin:0"
|
||||||
|
];
|
||||||
|
|
||||||
|
windowrule = [
|
||||||
|
# smart gaps
|
||||||
|
"border_size 0, match:float 0, match:workspace w[tv1]"
|
||||||
|
"rounding 0, match:float 0, match:workspace w[tv1]"
|
||||||
|
"border_size 0, match:float 0, match:workspace f[1]"
|
||||||
|
"rounding 0, match:float 0, match:workspace f[1]"
|
||||||
|
# general rules
|
||||||
|
"match:class ^(signal)$, workspace 1"
|
||||||
|
"match:class ^(vesktop)$, workspace 1 silent"
|
||||||
|
"match:class ^(chrome-facebook.com__-Default)$, workspace 1"
|
||||||
|
"match:class ^(zen)$, workspace 2"
|
||||||
|
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
|
||||||
|
"match:class ^(FreeTube)$, workspace 2"
|
||||||
|
"match:class ^(chrome-x.com__-Default)$, workspace 2"
|
||||||
|
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
|
||||||
|
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
|
||||||
|
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
|
||||||
|
"match:class ^(steam)$, workspace 3 silent"
|
||||||
|
"match:class ^(heroic)$, workspace 3"
|
||||||
|
"match:class ^(net.lutris.Lutris)$, workspace 3"
|
||||||
|
"match:class ^(rpcs3)$, workspace 3"
|
||||||
|
"match:class ^(winboat)$, workspace 5"
|
||||||
|
"match:class ^(obsidian)$, workspace 6"
|
||||||
|
"match:class ^(gimp)$, workspace 8"
|
||||||
|
"match:class .*potify, workspace 9 silent"
|
||||||
|
"match:class ^(com.obsproject.Studio)$, workspace 10"
|
||||||
|
];
|
||||||
|
|
||||||
|
bind = [
|
||||||
|
# background
|
||||||
|
"$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy"
|
||||||
|
"$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\""
|
||||||
|
# power management
|
||||||
|
"$mainMod L_SHIFT ctrl, l, exec, hyprlock"
|
||||||
|
"$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot"
|
||||||
|
"$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff"
|
||||||
|
"$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep"
|
||||||
|
"$mainMod L_SHIFT ctrl, m, exec, uwsm stop"
|
||||||
|
# zoom
|
||||||
|
"$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1"
|
||||||
|
# focus management
|
||||||
|
"$mainMod, h, movefocus, l"
|
||||||
|
"$mainMod, l, movefocus, r"
|
||||||
|
"$mainMod, k, movefocus, u"
|
||||||
|
"$mainMod, j, movefocus, d"
|
||||||
|
"$mainMod, mouse_down, workspace, e+1"
|
||||||
|
"$mainMod, mouse_up, workspace, e-1"
|
||||||
|
"$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1"
|
||||||
|
"$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1"
|
||||||
|
# workspace management
|
||||||
|
"$mainMod, 1, workspace, 1"
|
||||||
|
"$mainMod, 2, workspace, 2"
|
||||||
|
"$mainMod, 3, workspace, 3"
|
||||||
|
"$mainMod, 4, workspace, 4"
|
||||||
|
"$mainMod, 5, workspace, 5"
|
||||||
|
"$mainMod, 6, workspace, 6"
|
||||||
|
"$mainMod, 7, workspace, 7"
|
||||||
|
"$mainMod, 8, workspace, 8"
|
||||||
|
"$mainMod, 9, workspace, 9"
|
||||||
|
"$mainMod, 0, workspace, 10"
|
||||||
|
# window management
|
||||||
|
"$mainMod SHIFT, 1, movetoworkspace, 1"
|
||||||
|
"$mainMod SHIFT, 2, movetoworkspace, 2"
|
||||||
|
"$mainMod SHIFT, 3, movetoworkspace, 3"
|
||||||
|
"$mainMod SHIFT, 4, movetoworkspace, 4"
|
||||||
|
"$mainMod SHIFT, 5, movetoworkspace, 5"
|
||||||
|
"$mainMod SHIFT, 6, movetoworkspace, 6"
|
||||||
|
"$mainMod SHIFT, 7, movetoworkspace, 7"
|
||||||
|
"$mainMod SHIFT, 8, movetoworkspace, 8"
|
||||||
|
"$mainMod SHIFT, 9, movetoworkspace, 9"
|
||||||
|
"$mainMod SHIFT, 0, movetoworkspace, 10"
|
||||||
|
# special workspace
|
||||||
|
"$mainMod, TAB, togglespecialworkspace, magic"
|
||||||
|
"$mainMod SHIFT, TAB, movetoworkspace, special:magic"
|
||||||
|
# layout
|
||||||
|
"$mainMod, S, layoutmsg, swapwithmaster"
|
||||||
|
"$mainMod, n, layoutmsg, swapnext"
|
||||||
|
"$mainMod, p, layoutmsg, swapprev"
|
||||||
|
# apps
|
||||||
|
"$mainMod, M, exec, [float] waypaper"
|
||||||
|
"$mainMod, RETURN, exec, [workspace 4] $terminal"
|
||||||
|
"$mainMod CONTROL_L, RETURN, exec, $terminal"
|
||||||
|
"$mainMod, space , exec, $menu"
|
||||||
|
"$mainMod ALT_L, c, exec, openrgb -c $openrgb_color"
|
||||||
|
"$mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store=\"kwallet6\""
|
||||||
|
"$mainMod Control_L, s, focuswindow, class:^(signal)$"
|
||||||
|
"$mainMod Control_L, s, focuswindow, title:^(signal)$"
|
||||||
|
"$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$"
|
||||||
|
"$mainMod Control_L, v, exec, uwsm app -- vesktop"
|
||||||
|
"$mainMod Control_L, v, focuswindow, class:^(vesktop)$"
|
||||||
|
"$mainMod Control_L, g, exec, uwsm app -- steam"
|
||||||
|
"$mainMod Control_L, g, focuswindow, class:^(steam)$"
|
||||||
|
"$mainMod Control_L, b, exec, uwsm app -- $browser"
|
||||||
|
"$mainMod Control_L, b, focuswindow, class:^(zen)$"
|
||||||
|
"$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes"
|
||||||
|
"$mainMod Control_L, n, focuswindow, class:^(obsidian)$"
|
||||||
|
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
|
||||||
|
"$mainMod Control_L, f, exec, uwsm app -- freetube"
|
||||||
|
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
|
||||||
|
"$mainMod Control_L, x, exec, uwsm app -- ~/.local/share/applications/x.desktop"
|
||||||
|
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
|
||||||
|
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
|
||||||
|
];
|
||||||
|
|
||||||
|
binde = [
|
||||||
|
"$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')"
|
||||||
|
"$mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')"
|
||||||
|
"$mainMod L_SHIFT, l, resizeactive, 10 0"
|
||||||
|
"$mainMod L_SHIFT, h, resizeactive, -10 0"
|
||||||
|
"$mainMod L_SHIFT, k, resizeactive, 0 -10"
|
||||||
|
"$mainMod L_SHIFT, j, resizeactive, 0 10"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindel = [
|
||||||
|
",XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10"
|
||||||
|
",XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10"
|
||||||
|
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
|
||||||
|
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
|
||||||
|
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindl = [
|
||||||
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle && ~/.local/bin/check-if-muted.sh"
|
||||||
|
", XF86AudioNext, exec, playerctl next"
|
||||||
|
", Pause, exec, playerctl play-pause"
|
||||||
|
"$mainMod, Pause, exec, playerctl play-pause --player spotify"
|
||||||
|
", XF86AudioPlay, exec, playerctl play-pause"
|
||||||
|
", XF86AudioPrev, exec, playerctl previous"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindt = [
|
||||||
|
", PRINT, exec, ~/.local/bin/screenshot.sh region"
|
||||||
|
"$mainMod, PRINT, exec, ~/.local/bin/screenshot.sh fullscreen"
|
||||||
|
"alt_l, PRINT, exec, ~/.local/bin/screenshot.sh window"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindm = [
|
||||||
|
"$mainMod, mouse:272, movewindow"
|
||||||
|
"$mainMod, mouse:273, resizewindow"
|
||||||
|
];
|
||||||
|
|
||||||
|
bindd = [
|
||||||
|
"$mainMod, F, Make app fullscreen, fullscreen"
|
||||||
|
"$mainMod, T, Toggle floating, togglefloating"
|
||||||
|
"$mainMod, P, Toggle pseudo, pseudo"
|
||||||
|
"$mainMod, S, Toggle split, togglesplit"
|
||||||
|
"$mainMod, Q, Kill active window, killactive"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
windowrule {
|
||||||
|
name = pavucontrol-float
|
||||||
|
match:class = ^(org.pulseaudio.pavucontrol)$
|
||||||
|
float = 1
|
||||||
|
size = 80% 60%
|
||||||
|
stay_focused = 1
|
||||||
|
center = 1
|
||||||
|
pin = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = share-picker-float
|
||||||
|
match:class = ^(hyprland-share-picker)$
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
pin = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = steam-friends-list
|
||||||
|
match:title = ^(Lista znajomych)$
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
size = 40% 60%
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = vesktop-dont-focus-pls
|
||||||
|
match:class = ^(vesktop)$
|
||||||
|
no_initial_focus = 1
|
||||||
|
focus_on_activate = 0
|
||||||
|
render_unfocused = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = xdg-desktop-portal-gtk
|
||||||
|
match:class = ^(xdg-desktop-portal-gtk)$
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
size = 55% 50%
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = picture-in-picture
|
||||||
|
match:title = ^(Obraz w obrazie)$
|
||||||
|
pseudo = 1
|
||||||
|
no_initial_focus = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = login-google-zen
|
||||||
|
match:title = ^(Logowanie – Konta Google — Zen Browser)$
|
||||||
|
float = 1
|
||||||
|
center = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = prism-launcher
|
||||||
|
match:class = ^(org.prismlauncher.PrismLauncher)$
|
||||||
|
workspace = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrule {
|
||||||
|
name = gamescope
|
||||||
|
match:class = ^(gamescope)$
|
||||||
|
workspace = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output = DP-1
|
||||||
|
mode = 2560x1440@180.06
|
||||||
|
position = 0x0
|
||||||
|
scale = 1
|
||||||
|
vrr = 1
|
||||||
|
supports_wide_color = 1
|
||||||
|
bitdepth = 10
|
||||||
|
sdr_min_luminance = 0.005
|
||||||
|
sdr_max_luminance = 220
|
||||||
|
cm = hdr
|
||||||
|
supports_hdr = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output = DP-2
|
||||||
|
mode = 1920x1080@144
|
||||||
|
position = auto-left
|
||||||
|
vrr = 1
|
||||||
|
scale = 1.0
|
||||||
|
}
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output = HDMI-A-2
|
||||||
|
mode = highres
|
||||||
|
position = auto-up
|
||||||
|
scale = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
monitorv2 {
|
||||||
|
output =
|
||||||
|
position = auto-right
|
||||||
|
scale = 1
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
22
modules/hypr/hyprlauncher.nix
Normal file
22
modules/hypr/hyprlauncher.nix
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{ isNixOS, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.hyprlauncher = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkIf (!isNixOS) null;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
cache.enabled = true;
|
||||||
|
|
||||||
|
finders = {
|
||||||
|
desktop_icons = true;
|
||||||
|
desktop_launch_prefix = "uwsm app --";
|
||||||
|
};
|
||||||
|
|
||||||
|
general = {
|
||||||
|
grab_focus = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
88
modules/hypr/hyprlock.nix
Normal file
88
modules/hypr/hyprlock.nix
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
{ isNixOS, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkIf (!isNixOS) null;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
"$font" = "Monospace";
|
||||||
|
|
||||||
|
general = {
|
||||||
|
hide_cursor = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
animations = {
|
||||||
|
enabled = true;
|
||||||
|
bezier = [
|
||||||
|
"linear, 1, 1, 0, 0"
|
||||||
|
];
|
||||||
|
animation = [
|
||||||
|
"fadeIn, 1, 5, linear"
|
||||||
|
"fadeOut, 1, 5, linear"
|
||||||
|
"inputFieldDots, 1, 2, linear"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
background = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
path = "screenshot";
|
||||||
|
blur_passes = 3;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
input-field = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
size = "20%, 5%";
|
||||||
|
outline_thickness = 3;
|
||||||
|
inner_color = "rgba(0, 0, 0, 0.0)";
|
||||||
|
outer_color = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
||||||
|
check_color = "rgba(00ff99ee) rgba(ff6633ee) 120deg";
|
||||||
|
fail_color = "rgba(ff6633ee) rgba(ff0066ee) 40deg";
|
||||||
|
font_color = "rgb(143, 143, 143)";
|
||||||
|
fade_on_empty = false;
|
||||||
|
rounding = 15;
|
||||||
|
font_family = "$font";
|
||||||
|
placeholder_text = "Input password...";
|
||||||
|
fail_text = "$PAMFAIL";
|
||||||
|
dots_spacing = 0.3;
|
||||||
|
position = "0, -20";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
label = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "$TIME";
|
||||||
|
font_size = 90;
|
||||||
|
font_family = "$font";
|
||||||
|
position = "-30, 0";
|
||||||
|
halign = "right";
|
||||||
|
valign = "top";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = ''cmd[update:60000] date +"%A, %d %B %Y"'';
|
||||||
|
font_size = 25;
|
||||||
|
font_family = "$font";
|
||||||
|
position = "-30, -150";
|
||||||
|
halign = "right";
|
||||||
|
valign = "top";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
text = "$LAYOUT[pl]";
|
||||||
|
font_size = 24;
|
||||||
|
onclick = "hyprctl switchxkblayout all next";
|
||||||
|
position = "250, -20";
|
||||||
|
halign = "center";
|
||||||
|
valign = "center";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
33
modules/hypr/hyprsunset.nix
Normal file
33
modules/hypr/hyprsunset.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
isNixOS,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.hyprsunset = {
|
||||||
|
enable = true;
|
||||||
|
package =
|
||||||
|
if isNixOS then
|
||||||
|
pkgs.hyprsunset
|
||||||
|
else
|
||||||
|
(pkgs.writeShellScriptBin "hyprsunset" "exec /usr/bin/hyprsunset \"$@\"");
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
max-gamma = 150;
|
||||||
|
|
||||||
|
profile = [
|
||||||
|
{
|
||||||
|
time = "7:00";
|
||||||
|
identity = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
time = "21:00";
|
||||||
|
identity = false;
|
||||||
|
temperature = 4500;
|
||||||
|
gamma = 0.8;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -166,6 +166,7 @@
|
|||||||
cssls.enable = true;
|
cssls.enable = true;
|
||||||
html.enable = true;
|
html.enable = true;
|
||||||
emmet_ls.enable = true;
|
emmet_ls.enable = true;
|
||||||
|
friendly-snippets.enable = true;
|
||||||
# dev
|
# dev
|
||||||
clangd.enable = true;
|
clangd.enable = true;
|
||||||
pyright.enable = true;
|
pyright.enable = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user