mirror of
https://github.com/jbowdre/dotfiles.git
synced 2024-11-22 01:12:19 +00:00
hypr++;
This commit is contained in:
parent
211e59e4fd
commit
d368ea3f6f
6 changed files with 46 additions and 7 deletions
|
@ -48,8 +48,11 @@
|
||||||
inherit (self) outputs;
|
inherit (self) outputs;
|
||||||
lib = nixpkgs.lib // home-manager.lib;
|
lib = nixpkgs.lib // home-manager.lib;
|
||||||
systems = [ "x86_64-linux" "aarch64-linux" ];
|
systems = [ "x86_64-linux" "aarch64-linux" ];
|
||||||
forEachSystem = f: lib.genAttrs systems (sys: f pkgsFor.${sys});
|
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
|
||||||
pkgsFor = nixpkgs.legacyPackages;
|
pkgsFor = lib.genAttrs systems (system: import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit lib;
|
inherit lib;
|
||||||
|
|
|
@ -1,2 +1,4 @@
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,10 +24,6 @@
|
||||||
gaps_out = 20;
|
gaps_out = 20;
|
||||||
border_size = 2.7;
|
border_size = 2.7;
|
||||||
cursor_inactive_timeout = 4;
|
cursor_inactive_timeout = 4;
|
||||||
"col.active_border" = "0xff${config.colorscheme.colors.base0C}";
|
|
||||||
"col.inactive_border" = "0xff${config.colorscheme.colors.base02}";
|
|
||||||
"col.group_border_active" = "0xff${config.colorscheme.colors.base0B}";
|
|
||||||
"col.group_border" = "0xff${config.colorscheme.colors.base04}";
|
|
||||||
};
|
};
|
||||||
input = {
|
input = {
|
||||||
kb_layout = "br,us";
|
kb_layout = "br,us";
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
dconf.enable = true;
|
dconf.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
servies.logind = {
|
services.logind = {
|
||||||
lidSwitch = "suspend";
|
lidSwitch = "suspend";
|
||||||
lidSwitchExternalPower = "lock";
|
lidSwitchExternalPower = "lock";
|
||||||
};
|
};
|
||||||
|
|
16
pkgs/hyprslurp/default.nix
Normal file
16
pkgs/hyprslurp/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{ writeShellApplication, hyprland, jq, slurp }:
|
||||||
|
writeShellApplication {
|
||||||
|
name = "hyprslurp";
|
||||||
|
runtimeInputs = [ hyprland jq slurp ];
|
||||||
|
text = ''
|
||||||
|
hyprctl clients -j | \
|
||||||
|
jq -r \
|
||||||
|
--argjson workspaces "$(\
|
||||||
|
hyprctl monitors -j | \
|
||||||
|
jq -r 'map(.activeWorkspace.id)'\
|
||||||
|
)" \
|
||||||
|
'map(select([.workspace.id] | inside($workspaces)))' | \
|
||||||
|
jq -r '.[] | "\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"' | \
|
||||||
|
slurp "$@"
|
||||||
|
'';
|
||||||
|
}
|
22
pkgs/primary-xwayland/default.nix
Normal file
22
pkgs/primary-xwayland/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# Sets the largest monitor as primary xwayland display, or select one with slurp
|
||||||
|
{ lib, writeShellApplication, xrandr, slurp }: (writeShellApplication {
|
||||||
|
name = "primary-xwayland";
|
||||||
|
runtimeInputs = [ slurp xrandr ];
|
||||||
|
|
||||||
|
text = /* bash */ ''
|
||||||
|
if [ "$#" -ge 1 ] && [ "$1" == "largest" ]; then
|
||||||
|
output=$(xrandr --listmonitors | tail -n +2 | awk '{printf "%s %s\n", $3, $4}' | sort | tail -1 | cut -d ' ' -f2)
|
||||||
|
else
|
||||||
|
selected=$(slurp -f "%wx%h+%x+%y" -o)
|
||||||
|
output=$(xrandr | grep "$selected" | cut -d ' ' -f1)
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Setting $output"
|
||||||
|
xrandr --output "$output" --primary
|
||||||
|
'';
|
||||||
|
}) // {
|
||||||
|
meta = with lib; {
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue