Compare commits
4 Commits
6ac828ca48
...
865d977924
Author | SHA1 | Date | |
---|---|---|---|
865d977924 | |||
f94d3aeffc | |||
c5af71c22a | |||
561e273c1a |
@ -102,8 +102,21 @@
|
||||
brave
|
||||
neovim
|
||||
git
|
||||
openssh
|
||||
];
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
programs.ssh = {
|
||||
startAgent = true;
|
||||
extraConfig = "
|
||||
Host myhost
|
||||
Hostname gitgud.foo
|
||||
";
|
||||
};
|
||||
|
||||
system.stateVersion = "25.05"; # Did you read the comment?
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
|
8
home.nix
8
home.nix
@ -52,9 +52,11 @@
|
||||
btop
|
||||
fastfetch
|
||||
|
||||
# Util
|
||||
xclip
|
||||
flameshot
|
||||
# Langs
|
||||
php
|
||||
go
|
||||
nodejs_22
|
||||
bun
|
||||
|
||||
# Media
|
||||
mpc
|
||||
|
@ -8,11 +8,15 @@
|
||||
{
|
||||
home.packages = [
|
||||
pkgs.wofi
|
||||
pkgs.hyprlock
|
||||
pkgs.hyprpaper
|
||||
# pkgs.hyprlock
|
||||
pkgs.mako
|
||||
pkgs.libnotify
|
||||
];
|
||||
|
||||
imports = [
|
||||
# Configs
|
||||
./hyprland/binds.nix
|
||||
# Ecosystem
|
||||
./hyprland/hyprpaper.nix
|
||||
];
|
||||
|
||||
@ -41,76 +45,10 @@
|
||||
|
||||
general = {
|
||||
layout = "master";
|
||||
gaps_out = 5;
|
||||
gaps_in = 5;
|
||||
gaps_out = 10;
|
||||
gaps_in = 10;
|
||||
};
|
||||
|
||||
bind = [
|
||||
# Start programs
|
||||
"$mod, q, exec, $terminal"
|
||||
"$mod SHIFT, o, exec, $browser"
|
||||
"$mod SHIFT, p, exec, $browser --incognito"
|
||||
"$mod, e, exec, $file_browser"
|
||||
"$mod SHIFT, n, exec, kitty --start-as=normal -- bash -ic 'code ~/nix && exit'"
|
||||
"$mod, RETURN, exec, $webapphttps://chatgpt.com"
|
||||
|
||||
# Window and workspace navigation
|
||||
# Move between windows with vim keys
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, l, movefocus, r"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, j, movefocus, d"
|
||||
"$mod, c, killactive"
|
||||
# Move between workspaces
|
||||
"$mod ALT, l, movetoworkspace, r+1"
|
||||
"$mod ALT, h, movetoworkspace, r-1"
|
||||
"$mod SHIFT, l, workspace, r+1"
|
||||
"$mod SHIFT, h, workspace, r-1"
|
||||
# Window management
|
||||
"$mod, 0, layoutmsg, rollnext"
|
||||
|
||||
"$mod, f, fullscreen, 0"
|
||||
"$mod, v, togglefloating, active"
|
||||
"$mod, SPACE, exec, wofi --show drun"
|
||||
|
||||
# ", Print, exec, grimblast copy area"
|
||||
|
||||
# "$mod, r, exec, kitty -- zsh -c 'exec yazi; exec zsh'"
|
||||
# "$mod, b, exec, kitty -- zsh -c 'btop; exec zsh'"
|
||||
# "$mod, y, exec, kitty --start-as=normal -- zsh -ic 'repos'"
|
||||
# "$mod, i, exec, brave"
|
||||
# "$mod, u, exec, kitty --start-as=normal -- zsh -ic 'home'"
|
||||
|
||||
"$mod SHIFT, s, togglespecialworkspace, comms"
|
||||
# "$mod, v, togglespecialworkspace, special2"
|
||||
|
||||
# Log out
|
||||
# "$mod, -, exec, hyprctl dispatch exit"
|
||||
"$mod SHIFT ALT, x, exec, hyprctl dispatch exit"
|
||||
|
||||
# Shift+Print → select area and copy
|
||||
"SHIFT, Print, exec, grimblast copy area"
|
||||
|
||||
# Ctrl+Print → select window and copy
|
||||
"CTRL, Print, exec, grimblast copy active"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||
builtins.concatLists (
|
||||
builtins.genList (
|
||||
i:
|
||||
let
|
||||
ws = i + 1;
|
||||
in
|
||||
[
|
||||
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||
]
|
||||
) 9
|
||||
)
|
||||
);
|
||||
|
||||
workspace = [
|
||||
1
|
||||
2
|
||||
@ -136,9 +74,7 @@
|
||||
inactive_opacity = 1.0;
|
||||
};
|
||||
|
||||
exec-once = [
|
||||
"eval $(gnome-keyring-daemon --start --components=secrets,ssh,gpg)"
|
||||
];
|
||||
exec-once = [ ];
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.plugins = [
|
||||
|
81
home/hyprland/binds.nix
Normal file
81
home/hyprland/binds.nix
Normal file
@ -0,0 +1,81 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mod" = "SUPER";
|
||||
"$browser" = "brave";
|
||||
"$terminal" = "kitty";
|
||||
"$file_browser" = "nautilus";
|
||||
"$webapp" = "$browser --new-window --app=";
|
||||
|
||||
binds = {
|
||||
drag_threshold = 10;
|
||||
};
|
||||
|
||||
bindm = [
|
||||
"$mod, mouse:272, movewindow"
|
||||
"$mod, mouse:273, resizewindow"
|
||||
];
|
||||
|
||||
bind = [
|
||||
# Start programs
|
||||
"$mod, q, exec, $terminal"
|
||||
"$mod SHIFT, o, exec, $browser"
|
||||
"$mod SHIFT, p, exec, $browser --incognito"
|
||||
"$mod, e, exec, $file_browser"
|
||||
"$mod SHIFT, n, exec, kitty --start-as=normal -- bash -ic 'code ~/nix && exit'"
|
||||
"$mod, RETURN, exec, $webapphttps://chatgpt.com"
|
||||
|
||||
# Window and workspace navigation
|
||||
# Move between windows with vim keys
|
||||
"$mod, h, movefocus, l"
|
||||
"$mod, l, movefocus, r"
|
||||
"$mod, k, movefocus, u"
|
||||
"$mod, j, movefocus, d"
|
||||
"$mod, c, killactive"
|
||||
# Move between workspaces
|
||||
"$mod ALT, l, movetoworkspace, r+1"
|
||||
"$mod ALT, h, movetoworkspace, r-1"
|
||||
"$mod SHIFT, l, workspace, r+1"
|
||||
"$mod SHIFT, h, workspace, r-1"
|
||||
# Window management
|
||||
"$mod, 0, layoutmsg, rollnext"
|
||||
|
||||
"$mod, f, fullscreen, 0"
|
||||
"$mod, v, togglefloating, active"
|
||||
"$mod, SPACE, exec, wofi --show drun"
|
||||
|
||||
"$mod SHIFT, s, togglespecialworkspace, comms"
|
||||
"$mod SHIFT, a, togglespecialworkspace, research"
|
||||
"$mod SHIFT ALT, x, exec, hyprctl dispatch exit"
|
||||
"SHIFT, Print, exec, grimblast copy area"
|
||||
"CTRL, Print, exec, grimblast copy active"
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..9} to [move to] workspace {1..9}
|
||||
builtins.concatLists (
|
||||
builtins.genList (
|
||||
i:
|
||||
let
|
||||
ws = i + 1;
|
||||
in
|
||||
[
|
||||
"$mod, code:1${toString i}, workspace, ${toString ws}"
|
||||
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
|
||||
]
|
||||
) 9
|
||||
)
|
||||
);
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland.plugins = [
|
||||
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprbars
|
||||
];
|
||||
|
||||
}
|
0
home/hyprland/windowrules.nix
Normal file
0
home/hyprland/windowrules.nix
Normal file
@ -10,7 +10,7 @@ let
|
||||
|
||||
font_size 16.0
|
||||
|
||||
background_opacity 0.9
|
||||
background_opacity 0.7
|
||||
background_blur 1
|
||||
|
||||
hide_window_decorations yes
|
||||
|
@ -13,9 +13,7 @@
|
||||
shellAliases = {
|
||||
sudo = "sudo ";
|
||||
# Better ls with eza
|
||||
ls = "eza";
|
||||
ll = "eza -la";
|
||||
la = "eza -la";
|
||||
ls = "eza -lg --group-directories-first --icons";
|
||||
tree = "eza --tree";
|
||||
|
||||
# Convenience
|
||||
@ -53,8 +51,6 @@
|
||||
|
||||
# Additional bash configuration
|
||||
bashrcExtra = ''
|
||||
# Custom functions
|
||||
|
||||
# Project selector function (equivalent to your custom keybinding)
|
||||
proj() {
|
||||
if [ -d "$HOME/projects" ]; then
|
||||
|
Loading…
x
Reference in New Issue
Block a user