further refinements
This commit is contained in:
parent
0c2b2cee68
commit
2d030ab678
14 changed files with 330 additions and 282 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" },
|
"blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" },
|
||||||
"blink.indent": { "branch": "main", "commit": "9c80820ca77218a8d28e70075d6f44a1609911fe" },
|
"blink.indent": { "branch": "main", "commit": "9c80820ca77218a8d28e70075d6f44a1609911fe" },
|
||||||
|
"camouflage.nvim": { "branch": "main", "commit": "96f561cb4d0ff39f64a9e4ff7150d72d4efc526a" },
|
||||||
"cp.nvim": { "branch": "main", "commit": "029ea125b97320ff5c2884bf84bf5aa4e7077c79" },
|
"cp.nvim": { "branch": "main", "commit": "029ea125b97320ff5c2884bf84bf5aa4e7077c79" },
|
||||||
"dial.nvim": { "branch": "master", "commit": "f2634758455cfa52a8acea6f142dcd6271a1bf57" },
|
"dial.nvim": { "branch": "master", "commit": "f2634758455cfa52a8acea6f142dcd6271a1bf57" },
|
||||||
"diffs.nvim": { "branch": "main", "commit": "4ce1e1786a9bd724fda5ab4aba528b64a790b11f" },
|
"diffs.nvim": { "branch": "main", "commit": "4ce1e1786a9bd724fda5ab4aba528b64a790b11f" },
|
||||||
|
|
|
||||||
|
|
@ -359,4 +359,12 @@ return {
|
||||||
scope = { enabled = false },
|
scope = { enabled = false },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
'zeybek/camouflage.nvim',
|
||||||
|
event = 'VeryLazy',
|
||||||
|
config = true,
|
||||||
|
keys = {
|
||||||
|
{ '<leader>C', '<cmd>CamouflageToggle<cr>', desc = 'Toggle Camouflage' },
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -16,6 +16,10 @@ in
|
||||||
./modules/terminal.nix
|
./modules/terminal.nix
|
||||||
./modules/git.nix
|
./modules/git.nix
|
||||||
./modules/editor.nix
|
./modules/editor.nix
|
||||||
|
./modules/hyprland.nix
|
||||||
|
./modules/hyprlock.nix
|
||||||
|
./modules/hypridle.nix
|
||||||
|
./modules/hyprpaper.nix
|
||||||
./modules/ui.nix
|
./modules/ui.nix
|
||||||
./modules/packages.nix
|
./modules/packages.nix
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,6 @@
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.sessionVariables = {
|
|
||||||
EDITOR = "nvim";
|
|
||||||
MANPAGER = "nvim +Man!";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# lsp
|
# lsp
|
||||||
bash-language-server
|
bash-language-server
|
||||||
|
|
@ -47,8 +42,10 @@
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
viAlias = true;
|
};
|
||||||
vimAlias = true;
|
|
||||||
|
home.sessionVariables = {
|
||||||
|
MANPAGER = "nvim +Man!";
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."nvim".source =
|
xdg.configFile."nvim".source =
|
||||||
|
|
|
||||||
35
home/modules/hypridle.nix
Normal file
35
home/modules/hypridle.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
isNixOS = builtins.pathExists /etc/NIXOS;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.hypridle = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkIf (!isNixOS) null;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
lock_cmd = "wp lock && hyprlock";
|
||||||
|
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||||
|
};
|
||||||
|
listener = [
|
||||||
|
{
|
||||||
|
timeout = 300;
|
||||||
|
on-timeout = "wp lock && hyprlock";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 600;
|
||||||
|
on-timeout = "hyprctl dispatch dpms off";
|
||||||
|
on-resume = "hyprctl dispatch dpms on";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
timeout = 1800;
|
||||||
|
on-timeout = "systemctl suspend";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
225
home/modules/hyprland.nix
Normal file
225
home/modules/hyprland.nix
Normal file
|
|
@ -0,0 +1,225 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
isNixOS = builtins.pathExists /etc/NIXOS;
|
||||||
|
nvidia = true;
|
||||||
|
|
||||||
|
mkHyprTheme = palette: ''
|
||||||
|
general {
|
||||||
|
col.active_border = rgb(${builtins.substring 1 6 palette.fg})
|
||||||
|
col.inactive_border = rgb(${builtins.substring 1 6 palette.bg})
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkIf (!isNixOS) null;
|
||||||
|
portalPackage = lib.mkIf (!isNixOS) null;
|
||||||
|
systemd.enable = isNixOS;
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME
|
||||||
|
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME
|
||||||
|
|
||||||
|
monitor=,preferred,auto,1
|
||||||
|
|
||||||
|
env = XDG_CURRENT_DESKTOP,Hyprland
|
||||||
|
env = XDG_SESSION_TYPE,wayland
|
||||||
|
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
||||||
|
env = GTK_USE_PORTAL,1
|
||||||
|
env = OZONE_PLATFORM,wayland
|
||||||
|
env = QT_QPA_PLATFORM,wayland
|
||||||
|
env = GDK_BACKEND,wayland,x11
|
||||||
|
env = SDL_VIDEODRIVER,wayland
|
||||||
|
''
|
||||||
|
+ lib.optionalString nvidia ''
|
||||||
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
|
env = NVD_BACKEND,direct
|
||||||
|
env = GBM_BACKEND,nvidia-drm
|
||||||
|
env = GSK_RENDERER,ngl
|
||||||
|
env = __NV_PRIME_RENDER_OFFLOAD,1
|
||||||
|
env = __VK_LAYER_NV_optimus,NVIDIA_only
|
||||||
|
''
|
||||||
|
+ ''
|
||||||
|
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_SIZE,24
|
||||||
|
env = HYPRCURSOR_THEME,Apple_Cursor
|
||||||
|
''
|
||||||
|
+ lib.optionalString nvidia ''
|
||||||
|
cursor {
|
||||||
|
no_hardware_cursors = true
|
||||||
|
}
|
||||||
|
''
|
||||||
|
+ ''
|
||||||
|
|
||||||
|
general {
|
||||||
|
gaps_in = 0
|
||||||
|
gaps_out = 0
|
||||||
|
border_size = 5
|
||||||
|
layout = master
|
||||||
|
resize_on_border = true
|
||||||
|
}
|
||||||
|
|
||||||
|
source = ${config.xdg.configHome}/hypr/themes/theme.conf
|
||||||
|
|
||||||
|
master {
|
||||||
|
new_status = slave
|
||||||
|
new_on_top = false
|
||||||
|
mfact = 0.50
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
rounding = 0
|
||||||
|
active_opacity = 1.0
|
||||||
|
inactive_opacity = 1.0
|
||||||
|
blur {
|
||||||
|
enabled = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = false
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
kb_layout = us,us
|
||||||
|
kb_variant = ,colemak
|
||||||
|
follow_mouse = 1
|
||||||
|
sensitivity = 0
|
||||||
|
touchpad {
|
||||||
|
tap-to-click = false
|
||||||
|
}
|
||||||
|
repeat_delay = 300
|
||||||
|
repeat_rate = 50
|
||||||
|
}
|
||||||
|
|
||||||
|
exec-once = dunst
|
||||||
|
exec-once = wl-paste --watch cliphist store
|
||||||
|
exec-once = hyprpaper
|
||||||
|
exec-once = hypridle
|
||||||
|
exec-once = hypr windowrules
|
||||||
|
exec-once = hypr spawnfocus --ws 1 ''${TERMINAL} -e mux
|
||||||
|
exec-once = hypr spawnfocus --ws 2 ''${BROWSER}
|
||||||
|
|
||||||
|
bindul = , XF86AudioRaiseVolume, exec, hypr volume up
|
||||||
|
bindul = , XF86AudioLowerVolume, exec, hypr volume down
|
||||||
|
bindul = , XF86AudioMute, exec, hypr volume toggle
|
||||||
|
|
||||||
|
bindul = , XF86MonBrightnessUp, exec, hypr brightness up
|
||||||
|
bindul = , XF86MonBrightnessDown, exec, hypr brightness down
|
||||||
|
|
||||||
|
bind = ALT, SPACE, exec, rofi -show run
|
||||||
|
bind = ALT, TAB, workspace, previous
|
||||||
|
bind = ALT, A, cyclenext
|
||||||
|
bind = ALT, B, exec, pkill -USR1 waybar || waybar
|
||||||
|
bind = ALT, D, layoutmsg, swapnext
|
||||||
|
bind = ALT, F, cyclenext, prev
|
||||||
|
bind = ALT, H, resizeactive, -15 0
|
||||||
|
bind = ALT, J, resizeactive, 0 15
|
||||||
|
bind = ALT, K, resizeactive, 0 -15
|
||||||
|
bind = ALT, L, resizeactive, 15 0
|
||||||
|
bind = ALT, Q, killactive,
|
||||||
|
bind = ALT, U, layoutmsg, swapprev
|
||||||
|
|
||||||
|
bind = ALT CTRL, Z, exec, hypr pull ''${BROWSER}
|
||||||
|
bind = ALT CTRL, D, exec, hypr pull discord
|
||||||
|
bind = ALT CTRL, S, exec, hypr pull signal-desktop
|
||||||
|
bind = ALT CTRL, T, exec, hypr pull ''${TERMINAL}
|
||||||
|
bind = ALT CTRL, V, exec, hypr pull vesktop
|
||||||
|
bind = ALT CTRL, Y, exec, hypr pull sioyek
|
||||||
|
bind = ALT CTRL, E, exec, hypr pull element-desktop
|
||||||
|
|
||||||
|
bind = ALT SHIFT, T, exec, hypr spawnfocus --ws 1 ''${TERMINAL}
|
||||||
|
bind = ALT SHIFT, Z, exec, hypr spawnfocus --ws 2 ''${BROWSER} --ozone-platform=wayland
|
||||||
|
bind = ALT SHIFT, D, exec, hypr spawnfocus --ws 5 discord
|
||||||
|
bind = ALT SHIFT, E, exec, hypr spawnfocus --ws 6 element-desktop
|
||||||
|
bind = ALT SHIFT, F, togglefloating
|
||||||
|
bind = ALT SHIFT, Q, exec, hypr exit
|
||||||
|
bind = ALT SHIFT, R, exec, hyprctl reload && notify-send -u low 'hyprland reloaded'
|
||||||
|
bind = ALT SHIFT, S, exec, hypr spawnfocus --ws 6 signal-desktop
|
||||||
|
bind = ALT SHIFT, V, exec, hypr spawnfocus --ws 5 vesktop
|
||||||
|
bind = ALT SHIFT, Y, exec, hypr spawnfocus --ws 3 sioyek
|
||||||
|
|
||||||
|
bind = , XF86Tools, submap, scripts
|
||||||
|
submap = scripts
|
||||||
|
|
||||||
|
bind = , A, exec, ctl audio out
|
||||||
|
bind = , C, exec, sh -lc 'cliphist list | rofi -dmenu -p "copy to clipboard" --lines 15 | cliphist decode | wl-copy'
|
||||||
|
bind = , F, exec, [float; fullscreen] ghostty -e lf
|
||||||
|
bind = , K, exec, ctl keyboard toggle
|
||||||
|
bind = , O, exec, ctl ocr
|
||||||
|
bind = , P, exec, hypr pull
|
||||||
|
bind = , S, exec, ctl screenshot
|
||||||
|
bind = , T, exec, theme
|
||||||
|
|
||||||
|
bind = , catchall, submap, reset
|
||||||
|
submap = reset
|
||||||
|
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = 0
|
||||||
|
disable_hyprland_logo = true
|
||||||
|
}
|
||||||
|
|
||||||
|
bind = ALT, 1, workspace, 1
|
||||||
|
bind = ALT, 2, workspace, 2
|
||||||
|
bind = ALT, 3, workspace, 3
|
||||||
|
bind = ALT, 4, workspace, 4
|
||||||
|
bind = ALT, 5, workspace, 5
|
||||||
|
bind = ALT, 6, workspace, 6
|
||||||
|
bind = ALT, 7, workspace, 7
|
||||||
|
bind = ALT, 8, workspace, 8
|
||||||
|
bind = ALT, 9, workspace, 9
|
||||||
|
|
||||||
|
bind = ALT SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = ALT SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = ALT SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = ALT SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = ALT SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = ALT SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = ALT SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = ALT SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = ALT SHIFT, 9, movetoworkspace, 9
|
||||||
|
|
||||||
|
bind = ALT CTRL, 1, movetoworkspacesilent, 1
|
||||||
|
bind = ALT CTRL, 2, movetoworkspacesilent, 2
|
||||||
|
bind = ALT CTRL, 3, movetoworkspacesilent, 3
|
||||||
|
bind = ALT CTRL, 4, movetoworkspacesilent, 4
|
||||||
|
bind = ALT CTRL, 5, movetoworkspacesilent, 5
|
||||||
|
bind = ALT CTRL, 6, movetoworkspacesilent, 6
|
||||||
|
bind = ALT CTRL, 7, movetoworkspacesilent, 7
|
||||||
|
bind = ALT CTRL, 8, movetoworkspacesilent, 8
|
||||||
|
bind = ALT CTRL, 9, movetoworkspacesilent, 9
|
||||||
|
|
||||||
|
workspace = w[tv1], gapsout:0, gapsin:0
|
||||||
|
workspace = f[1], gapsout:0, gapsin:0
|
||||||
|
windowrule = match:float 0, match:workspace w[tv1], border_size 0
|
||||||
|
windowrule = match:float 0, match:workspace w[tv1], rounding 0
|
||||||
|
windowrule = match:float 0, match:workspace f[1], border_size 0
|
||||||
|
windowrule = match:float 0, match:workspace f[1], rounding 0
|
||||||
|
|
||||||
|
windowrule = match:class ^(xdg-desktop-portal-gtk)$, float on
|
||||||
|
windowrule = match:class ^(xdg-desktop-portal-gtk)$, size monitor_w * 0.5 monitor_h * 0.6
|
||||||
|
windowrule = match:class ^(xdg-desktop-portal-kde)$, float on
|
||||||
|
windowrule = match:class ^(xdg-desktop-portal-kde)$, size monitor_w * 0.5 monitor_h * 0.6
|
||||||
|
windowrule = match:class ^(xdg-desktop-portal-hyprland)$, float on
|
||||||
|
windowrule = match:class ^(xdg-desktop-portal-hyprland)$, size monitor_w * 0.5 monitor_h * 0.6
|
||||||
|
|
||||||
|
windowrule = match:class ^([Ss]ioyek)$, tile on
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.configFile."hypr/themes/midnight.conf".text = mkHyprTheme config.palettes.midnight;
|
||||||
|
xdg.configFile."hypr/themes/daylight.conf".text = mkHyprTheme config.palettes.daylight;
|
||||||
|
|
||||||
|
home.activation.linkHyprTheme = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||||
|
target="${config.xdg.configHome}/hypr/themes/theme.conf"
|
||||||
|
$DRY_RUN_CMD ln -sf "${config.xdg.configHome}/hypr/themes/${config.theme}.conf" "$target"
|
||||||
|
'';
|
||||||
|
}
|
||||||
27
home/modules/hyprlock.nix
Normal file
27
home/modules/hyprlock.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
isNixOS = builtins.pathExists /etc/NIXOS;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.hyprlock = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkIf (!isNixOS) null;
|
||||||
|
settings = {
|
||||||
|
general = {
|
||||||
|
hide_cursor = true;
|
||||||
|
grace = 0;
|
||||||
|
};
|
||||||
|
background = [
|
||||||
|
{
|
||||||
|
monitor = "";
|
||||||
|
path = "~/img/screen/lock.jpg";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
animations.enabled = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
18
home/modules/hyprpaper.nix
Normal file
18
home/modules/hyprpaper.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
isNixOS = builtins.pathExists /etc/NIXOS;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
services.hyprpaper = {
|
||||||
|
enable = true;
|
||||||
|
package = lib.mkIf (!isNixOS) null;
|
||||||
|
settings = {
|
||||||
|
wallpaper = [ ",~/img/screen/wallpaper.jpg" ];
|
||||||
|
splash = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -172,6 +172,10 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
dotDir = "${config.xdg.configHome}/zsh";
|
dotDir = "${config.xdg.configHome}/zsh";
|
||||||
|
|
||||||
|
profileExtra = ''
|
||||||
|
start-hyprland
|
||||||
|
'';
|
||||||
|
|
||||||
history = {
|
history = {
|
||||||
path = "${config.xdg.stateHome}/zsh_history";
|
path = "${config.xdg.stateHome}/zsh_history";
|
||||||
size = 2000;
|
size = 2000;
|
||||||
|
|
@ -370,15 +374,6 @@ in
|
||||||
set-hook -g client-session-changed 'run "mux bar"'
|
set-hook -g client-session-changed 'run "mux bar"'
|
||||||
set-hook -g pane-mode-changed 'refresh-client -S'
|
set-hook -g pane-mode-changed 'refresh-client -S'
|
||||||
|
|
||||||
set -g status-bg '${c.bg}'
|
|
||||||
set -g status-fg '${c.fg}'
|
|
||||||
set -g window-status-style fg='${c.fg}'
|
|
||||||
set -g window-status-current-style fg='${c.fg}'
|
|
||||||
set -g window-status-bell-style fg='${c.bellFg}',bg='${c.bg}',bold
|
|
||||||
set -g window-status-activity-style fg='${c.activityFg}',bg='${c.bg}',bold
|
|
||||||
set -g pane-border-style fg='${c.border}'
|
|
||||||
set -g pane-active-border-style fg='${c.fg}'
|
|
||||||
|
|
||||||
set -as terminal-features ",$TERM:RGB"
|
set -as terminal-features ",$TERM:RGB"
|
||||||
set -as terminal-overrides ",*:U8=1"
|
set -as terminal-overrides ",*:U8=1"
|
||||||
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
|
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
|
||||||
|
|
@ -427,6 +422,7 @@ in
|
||||||
|
|
||||||
set-hook -g client-light-theme 'source ${config.xdg.configHome}/tmux/themes/daylight.conf'
|
set-hook -g client-light-theme 'source ${config.xdg.configHome}/tmux/themes/daylight.conf'
|
||||||
set-hook -g client-dark-theme 'source ${config.xdg.configHome}/tmux/themes/midnight.conf'
|
set-hook -g client-dark-theme 'source ${config.xdg.configHome}/tmux/themes/midnight.conf'
|
||||||
|
run 'tmux source "${config.xdg.configHome}/tmux/themes/''${THEME:-${config.theme}}.conf"'
|
||||||
|
|
||||||
unbind A; bind A run 'mux ai'
|
unbind A; bind A run 'mux ai'
|
||||||
unbind C; bind C run 'mux code'
|
unbind C; bind C run 'mux code'
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,7 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
isNixOS = builtins.pathExists /etc/NIXOS;
|
|
||||||
c = config.colors;
|
c = config.colors;
|
||||||
|
|
||||||
nvidia = true;
|
|
||||||
backlightDevice = "intel_backlight";
|
backlightDevice = "intel_backlight";
|
||||||
|
|
||||||
mkWaybarTheme = palette: ''
|
mkWaybarTheme = palette: ''
|
||||||
|
|
@ -43,256 +40,6 @@ in
|
||||||
(python3.withPackages (ps: [ ps.pillow ]))
|
(python3.withPackages (ps: [ ps.pillow ]))
|
||||||
];
|
];
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
|
||||||
enable = true;
|
|
||||||
package = lib.mkIf (!isNixOS) null;
|
|
||||||
portalPackage = lib.mkIf (!isNixOS) null;
|
|
||||||
systemd.enable = isNixOS;
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME
|
|
||||||
exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=Hyprland THEME
|
|
||||||
|
|
||||||
monitor=,preferred,auto,1
|
|
||||||
|
|
||||||
env = XDG_CURRENT_DESKTOP,Hyprland
|
|
||||||
env = XDG_SESSION_TYPE,wayland
|
|
||||||
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
|
|
||||||
env = GTK_USE_PORTAL,1
|
|
||||||
env = OZONE_PLATFORM,wayland
|
|
||||||
env = QT_QPA_PLATFORM,wayland
|
|
||||||
env = GDK_BACKEND,wayland,x11
|
|
||||||
env = SDL_VIDEODRIVER,wayland
|
|
||||||
''
|
|
||||||
+ lib.optionalString nvidia ''
|
|
||||||
env = LIBVA_DRIVER_NAME,nvidia
|
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
|
||||||
env = NVD_BACKEND,direct
|
|
||||||
env = GBM_BACKEND,nvidia-drm
|
|
||||||
env = GSK_RENDERER,ngl
|
|
||||||
env = __NV_PRIME_RENDER_OFFLOAD,1
|
|
||||||
env = __VK_LAYER_NV_optimus,NVIDIA_only
|
|
||||||
''
|
|
||||||
+ ''
|
|
||||||
|
|
||||||
env = XCURSOR_SIZE,24
|
|
||||||
env = HYPRCURSOR_SIZE,24
|
|
||||||
''
|
|
||||||
+ lib.optionalString nvidia ''
|
|
||||||
cursor {
|
|
||||||
no_hardware_cursors = true
|
|
||||||
}
|
|
||||||
''
|
|
||||||
+ ''
|
|
||||||
|
|
||||||
general {
|
|
||||||
gaps_in = 0
|
|
||||||
gaps_out = 0
|
|
||||||
border_size = 5
|
|
||||||
col.active_border = rgb(${builtins.substring 1 6 c.fg})
|
|
||||||
col.inactive_border = rgb(${builtins.substring 1 6 c.bg})
|
|
||||||
layout = master
|
|
||||||
resize_on_border = true
|
|
||||||
}
|
|
||||||
|
|
||||||
master {
|
|
||||||
new_status = slave
|
|
||||||
new_on_top = false
|
|
||||||
mfact = 0.50
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
rounding = 0
|
|
||||||
active_opacity = 1.0
|
|
||||||
inactive_opacity = 1.0
|
|
||||||
blur {
|
|
||||||
enabled = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled = false
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
kb_layout = us,us
|
|
||||||
kb_variant = ,colemak
|
|
||||||
follow_mouse = 1
|
|
||||||
sensitivity = 0
|
|
||||||
touchpad {
|
|
||||||
tap-to-click = false
|
|
||||||
}
|
|
||||||
repeat_delay = 300
|
|
||||||
repeat_rate = 50
|
|
||||||
}
|
|
||||||
|
|
||||||
exec-once = dunst
|
|
||||||
exec-once = wl-paste --watch cliphist store
|
|
||||||
exec-once = hyprpaper
|
|
||||||
exec-once = hypridle
|
|
||||||
exec-once = hypr spawnfocus --ws 1 $TERMINAL -e mux
|
|
||||||
exec-once = hypr spawnfocus --ws 2 $BROWSER
|
|
||||||
|
|
||||||
bindul = , XF86AudioRaiseVolume, exec, hypr volume up
|
|
||||||
bindul = , XF86AudioLowerVolume, exec, hypr volume down
|
|
||||||
bindul = , XF86AudioMute, exec, hypr volume toggle
|
|
||||||
|
|
||||||
bindul = , XF86MonBrightnessUp, exec, hypr brightness up
|
|
||||||
bindul = , XF86MonBrightnessDown, exec, hypr brightness down
|
|
||||||
|
|
||||||
bindu = ALT, SPACE, exec, rofi -show run
|
|
||||||
bindu = ALT, TAB, workspace, previous
|
|
||||||
bindu = ALT, A, cyclenext
|
|
||||||
bindu = ALT, B, exec, pkill -USR1 waybar || waybar
|
|
||||||
bindu = ALT, D, layoutmsg, swapprev
|
|
||||||
bindu = ALT, F, cyclenext, prev
|
|
||||||
bindu = ALT, H, resizeactive, -15 0
|
|
||||||
bindu = ALT, J, resizeactive, 0 15
|
|
||||||
bindu = ALT, K, resizeactive, 0 -15
|
|
||||||
bindu = ALT, L, resizeactive, 15 0
|
|
||||||
bindu = ALT, Q, killactive,
|
|
||||||
bindu = ALT, U, layoutmsg, swapnext
|
|
||||||
|
|
||||||
bindu = ALT CTRL, B, exec, hypr pull bitwarden-desktop
|
|
||||||
bindu = ALT CTRL, C, exec, hypr pull $BROWSER
|
|
||||||
bindu = ALT CTRL, D, exec, hypr pull discord
|
|
||||||
bindu = ALT CTRL, S, exec, hypr pull signal-desktop
|
|
||||||
bindu = ALT CTRL, T, exec, hypr pull Telegram
|
|
||||||
bindu = ALT CTRL, V, exec, hypr pull vesktop
|
|
||||||
bindu = ALT CTRL, Y, exec, hypr pull sioyek
|
|
||||||
|
|
||||||
bindu = ALT SHIFT, RETURN, exec, hypr spawnfocus --ws 1 $TERMINAL
|
|
||||||
bindu = ALT SHIFT, B, exec, hypr spawnfocus --ws 9 bitwarden-desktop
|
|
||||||
bindu = ALT SHIFT, C, exec, hypr spawnfocus --ws 2 $BROWSER --ozone-platform=wayland
|
|
||||||
bindu = ALT SHIFT, D, exec, hypr spawnfocus --ws 5 discord
|
|
||||||
bindu = ALT SHIFT, F, togglefloating
|
|
||||||
bindu = ALT SHIFT, G, exec, hypr pull $TERMINAL
|
|
||||||
bindu = ALT SHIFT, Q, exec, hypr exit
|
|
||||||
bindu = ALT SHIFT, R, exec, hyprctl reload && notify-send -u low 'hyprland reloaded'
|
|
||||||
bindu = ALT SHIFT, S, exec, hypr spawnfocus --ws 6 signal-desktop
|
|
||||||
bindu = ALT SHIFT, T, exec, hypr spawnfocus --ws 6 Telegram
|
|
||||||
bindu = ALT SHIFT, V, exec, hypr spawnfocus --ws 5 vesktop
|
|
||||||
bindu = ALT SHIFT, Y, exec, hypr spawnfocus --ws 3 sioyek
|
|
||||||
|
|
||||||
bind = , XF86Tools, submap, scripts
|
|
||||||
submap = scripts
|
|
||||||
|
|
||||||
bind = , A, exec, ctl audio out
|
|
||||||
bind = , C, exec, bash -lc 'cliphist list | rofi -dmenu -p "copy to clipboard" --lines 15 | cliphist decode | wl-copy'
|
|
||||||
bind = , F, exec, [float; fullscreen] ghostty -e lf
|
|
||||||
bind = , K, exec, ctl keyboard toggle
|
|
||||||
bind = , O, exec, ctl ocr
|
|
||||||
bind = , P, exec, hypr pull
|
|
||||||
bind = , S, exec, ctl screenshot
|
|
||||||
bind = , T, exec, theme
|
|
||||||
|
|
||||||
bind = , catchall, submap, reset
|
|
||||||
submap = reset
|
|
||||||
|
|
||||||
misc {
|
|
||||||
force_default_wallpaper = 0
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
}
|
|
||||||
|
|
||||||
bindu = ALT, 1, workspace, 1
|
|
||||||
bindu = ALT, 2, workspace, 2
|
|
||||||
bindu = ALT, 3, workspace, 3
|
|
||||||
bindu = ALT, 4, workspace, 4
|
|
||||||
bindu = ALT, 5, workspace, 5
|
|
||||||
bindu = ALT, 6, workspace, 6
|
|
||||||
bindu = ALT, 7, workspace, 7
|
|
||||||
bindu = ALT, 8, workspace, 8
|
|
||||||
bindu = ALT, 9, workspace, 9
|
|
||||||
|
|
||||||
bindu = ALT SHIFT, 1, movetoworkspace, 1
|
|
||||||
bindu = ALT SHIFT, 2, movetoworkspace, 2
|
|
||||||
bindu = ALT SHIFT, 3, movetoworkspace, 3
|
|
||||||
bindu = ALT SHIFT, 4, movetoworkspace, 4
|
|
||||||
bindu = ALT SHIFT, 5, movetoworkspace, 5
|
|
||||||
bindu = ALT SHIFT, 6, movetoworkspace, 6
|
|
||||||
bindu = ALT SHIFT, 7, movetoworkspace, 7
|
|
||||||
bindu = ALT SHIFT, 8, movetoworkspace, 8
|
|
||||||
bindu = ALT SHIFT, 9, movetoworkspace, 9
|
|
||||||
|
|
||||||
bindu = ALT CTRL, 1, movetoworkspacesilent, 1
|
|
||||||
bindu = ALT CTRL, 2, movetoworkspacesilent, 2
|
|
||||||
bindu = ALT CTRL, 3, movetoworkspacesilent, 3
|
|
||||||
bindu = ALT CTRL, 4, movetoworkspacesilent, 4
|
|
||||||
bindu = ALT CTRL, 5, movetoworkspacesilent, 5
|
|
||||||
bindu = ALT CTRL, 6, movetoworkspacesilent, 6
|
|
||||||
bindu = ALT CTRL, 7, movetoworkspacesilent, 7
|
|
||||||
bindu = ALT CTRL, 8, movetoworkspacesilent, 8
|
|
||||||
bindu = ALT CTRL, 9, movetoworkspacesilent, 9
|
|
||||||
|
|
||||||
workspace = w[tv1], gapsout:0, gapsin:0
|
|
||||||
workspace = f[1], gapsout:0, gapsin:0
|
|
||||||
windowrule = match:float 0, match:workspace w[tv1], border_size 0
|
|
||||||
windowrule = match:float 0, match:workspace w[tv1], rounding 0
|
|
||||||
windowrule = match:float 0, match:workspace f[1], border_size 0
|
|
||||||
windowrule = match:float 0, match:workspace f[1], rounding 0
|
|
||||||
|
|
||||||
windowrule = match:class ^(xdg-desktop-portal-gtk)$, float on
|
|
||||||
windowrule = match:class ^(xdg-desktop-portal-gtk)$, size monitor_w * 0.5 monitor_h * 0.6
|
|
||||||
windowrule = match:class ^(xdg-desktop-portal-kde)$, float on
|
|
||||||
windowrule = match:class ^(xdg-desktop-portal-kde)$, size monitor_w * 0.5 monitor_h * 0.6
|
|
||||||
windowrule = match:class ^(xdg-desktop-portal-hyprland)$, float on
|
|
||||||
windowrule = match:class ^(xdg-desktop-portal-hyprland)$, size monitor_w * 0.5 monitor_h * 0.6
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
services.hypridle = {
|
|
||||||
enable = true;
|
|
||||||
package = lib.mkIf (!isNixOS) null;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
lock_cmd = "wp lock && hyprlock";
|
|
||||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
|
||||||
};
|
|
||||||
listener = [
|
|
||||||
{
|
|
||||||
timeout = 300;
|
|
||||||
on-timeout = "wp lock && hyprlock";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
timeout = 600;
|
|
||||||
on-timeout = "hyprctl dispatch dpms off";
|
|
||||||
on-resume = "hyprctl dispatch dpms on";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
timeout = 1800;
|
|
||||||
on-timeout = "systemctl suspend";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.hyprlock = {
|
|
||||||
enable = true;
|
|
||||||
package = lib.mkIf (!isNixOS) null;
|
|
||||||
settings = {
|
|
||||||
general = {
|
|
||||||
hide_cursor = true;
|
|
||||||
grace = 0;
|
|
||||||
};
|
|
||||||
background = [
|
|
||||||
{
|
|
||||||
monitor = "";
|
|
||||||
path = "~/img/screen/lock.jpg";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
animations.enabled = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.hyprpaper = {
|
|
||||||
enable = true;
|
|
||||||
package = lib.mkIf (!isNixOS) null;
|
|
||||||
settings = {
|
|
||||||
wallpaper = [ ",~/img/screen/wallpaper.jpg" ];
|
|
||||||
splash = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.mainBar = {
|
settings.mainBar = {
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,7 @@
|
||||||
export THEME="midnight"
|
export THEME="midnight"
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
services.getty.autologinUser = "barrett";
|
||||||
programs.hyprland.enable = true;
|
programs.hyprland.enable = true;
|
||||||
|
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
|
|
|
||||||
|
|
@ -236,6 +236,6 @@ cmd)
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
tmux attach
|
tmux attach 2>/dev/null || tmux new-session
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
|
||||||
11
todo.md
11
todo.md
|
|
@ -1,11 +0,0 @@
|
||||||
# todo
|
|
||||||
|
|
||||||
tmux colorschemes
|
|
||||||
|
|
||||||
everything else
|
|
||||||
|
|
||||||
auto setup
|
|
||||||
|
|
||||||
using nix shell
|
|
||||||
|
|
||||||
audio
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue