add hyprland and scripts

This commit is contained in:
tristan 2023-04-14 16:36:53 +01:00
parent 83ed8e6997
commit d54d6c376c
6 changed files with 199 additions and 7 deletions

View file

@ -28,7 +28,7 @@
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.tristan = {
imports = [ ./users/tristan/home.nix ];
imports = [ ./home.nix ];
};
}
];

View file

@ -11,21 +11,27 @@
xdg.userDirs.enable = true;
home.packages = with pkgs; [
exa
libnotify
du-dust
playerctl
gimp
logseq
quickemu
exa
bitwarden
playerctl
nextcloud-client
du-dust
godot_4
ansible
bitwarden
nextcloud-client
godot_4
ardour
blender
musescore
];
programs.fish = {
enable = true;
};
programs.git = {
enable = true;
userName = "tristan";
@ -71,6 +77,12 @@
};
};
};
programs.waybar.systemd.enable = true;
services.udiskie = {
enable = true;
notify = true;
};
gtk = {
enable = true;
@ -208,4 +220,19 @@
D = "trash";
};
home.sessionPath = [
"$HOME/.local/scripts"
];
home.file.".local/scripts" = {
enable = true;
source = ./scripts;
executable = true;
recursive = true;
};
home.file.".config/hypr" = {
enable = true;
source = ./hyprland;
recursive = true;
};
}

137
hyprland/hyprland.conf Normal file
View file

@ -0,0 +1,137 @@
exec-once= ~/.local/scripts/autostart
monitor=,preferred,auto,1
monitor=DP-1,1920x1080@144,0x0,1
monitor=HDMI-A-1,1920x1080@60,1920x0,1
input {
kb_file=
kb_layout=gb
#kb_variant=dvorak
kb_model=
#kb_options=caps:escape
kb_rules=
follow_mouse=1
touchpad {
natural_scroll=no
}
sensitivity=0
accel_profile=flat
}
general {
gaps_in=5
gaps_out=20
border_size=2
col.active_border=0x66ee1111
col.inactive_border=0x66333333
apply_sens_to_raw=0
layout = master
}
decoration {
rounding=5
blur=0
blur_size=3 # minimum 1
blur_passes=1 # minimum 1
blur_new_optimizations=1
}
bezier=overshot, 0.05, 0.9, 0.1, 1.1
animations {
enabled=1
animation=windows,1,5,default
animation=border,1,5,default
animation=fade,1,10,default
animation=workspaces,1,3,overshot
}
dwindle {
pseudotile=0 # enable pseudotiling on dwindle
}
gestures {
workspace_swipe=no
}
# example window rules
# for windows named/classed as abc and xyz
#windowrule=move 69 420,abc
#windowrule=size 420 69,abc
#windowrule=tile,xyz
#windowrule=float,abc
#windowrule=pseudo,abc
#windowrule=monitor 0,xyz
# some nice mouse binds
bindm=SUPER,mouse:272,movewindow
bindm=SUPER,mouse:273,resizewindow
bind=SUPER,RETURN,exec,foot
bind=SUPER_SHIFT,X,killactive,
bind=SUPER,M,exec,foot -e ncmpcpp
bind=SUPER,E,exec,foot -e neomutt
bind=SUPER,O,exec,pcmanfm
bind=SUPER,y,exec,foot -e ytui
bind=SUPER,Z,exec,swaylock -f
bind=SUPER,T,exec,notify-send "$(date)"
bind=SUPER,s,exec,screenshotSectionClipboard
bind=SUPER_SHIFT,S,exec,screenshotSection
bind=SUPERCTRL_SHIFT,S,exec,qrcode.sh
bind=SUPER,p,exec,hyprpicker | wl-copy; wl-paste | xargs notify-send Copied
bind=SUPER,slash,exec,brave
bind=SUPER,V,togglefloating,
bind=SUPER,F,fullscreen,
bind=SUPER,d,exec,wofi --show drun
#bind=SUPER,d,exec,nwg-drawer
bind=SUPER_SHIFT,P,exec,bwmenu
bind=SUPER,apostrophe,exec,notify-send -i mpv "$(playerctl metadata --format '{{title}}')" "$(playerctl metadata --format '{{album}}')" -t 3000
bind=SUPER_SHIFT,E,exit,
bind=,XF86AudioRaiseVolume,exec,amixer -D pulse sset Master 5%+ && amixer sset Master unmute
bind=,XF86AudioLowerVolume,exec,amixer -D pulse sset Master 5%-
bind=,XF86AudioPlay,exec,~/.local/scripts/play-pause
bind=,XF86AudioNext,exec,playerctl next
bind=,XF86AudioPrev,exec,playerctl previous
bind=SUPER,h,movefocus,l
bind=SUPER,l,movefocus,r
bind=SUPER,j,layoutmsg,cyclenext
bind=SUPER,k,layoutmsg,cycleprev
bind=SUPER,space,layoutmsg,swapwithmaster
master {
new_is_master= true
new_on_top= true
}
bind=SUPER,1,workspace,1
bind=SUPER,2,workspace,2
bind=SUPER,3,workspace,3
bind=SUPER,4,workspace,4
bind=SUPER,5,workspace,5
bind=SUPER,6,workspace,6
bind=SUPER,7,workspace,7
bind=SUPER,8,workspace,8
bind=SUPER,9,workspace,9
bind=SUPER,0,workspace,10
bind=SUPER_SHIFT,1,movetoworkspace,1
bind=SUPER_SHIFT,2,movetoworkspace,2
bind=SUPER_SHIFT,3,movetoworkspace,3
bind=SUPER_SHIFT,4,movetoworkspace,4
bind=SUPER_SHIFT,5,movetoworkspace,5
bind=SUPER_SHIFT,6,movetoworkspace,6
bind=SUPER_SHIFT,7,movetoworkspace,7
bind=SUPER_SHIFT,8,movetoworkspace,8
bind=SUPER_SHIFT,9,movetoworkspace,9
bind=SUPER_SHIFT,0,movetoworkspace,10
bind=SUPER,mouse_down,workspace,e+1
bind=SUPER,mouse_up,workspace,e-1

3
hyprland/hyprpaper.conf Normal file
View file

@ -0,0 +1,3 @@
# preload = ~/Pictures/backgrounds/demonslayer.jpg
#
# wallpaper = DP-1,contain: ~/Pictures/backgrounds/demonslayer.jpg

14
scripts/autostart Executable file
View file

@ -0,0 +1,14 @@
#!/bin/sh
nextcloud &
waybar &
swaybg \
-o DP-1 -i ~/Pictures/backgrounds/demonslayer.jpg \
-o HDMI-A-1 -i ~/Pictures/backgrounds/nier.jpg &
swayidle -w \
timeout 600 'swaylock &' & # swaymsg dunt work \
# timeout 400 'swaymsg "output * dpms off"' \
# resume 'swaymsg "output * dpms on"' &

11
scripts/play-pause Executable file
View file

@ -0,0 +1,11 @@
#!/bin/sh
if [ "$(playerctl --list-all | wc -l)" -lt 2 ]
then
playerctl play-pause
else
playerctl --list-all | \
xargs -I _ playerctl --player _ metadata --format '_ - {{title}}' | \
wofi --dmenu | awk '{print $1}' | \
xargs -I _ playerctl --player _ play-pause
fi