add screenshit script for mango

This commit is contained in:
lucy 2026-09-02 00:30:16 +02:00
commit 2533dcdee6
4 changed files with 257 additions and 5 deletions

118
flake.lock generated
View file

@ -38,6 +38,24 @@
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1782949081,
"narHash": "sha256-vp6Y/Grm98ESt6ceOkWiHWyZRDV3J1RID4w+6NWK9yA=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "17c9d6cdfc60c64f4ee8d306f9bc0b4ccb51481e",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1785627969,
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
@ -70,6 +88,28 @@
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": [
"mango",
"scenefx",
"systems"
]
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
@ -128,12 +168,34 @@
"type": "github"
}
},
"nixcord": {
"mango": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": [
"nixpkgs"
],
"scenefx": "scenefx"
},
"locked": {
"lastModified": 1788238778,
"narHash": "sha256-BhA+TEkGryxU9hppp8UItTNBllZz09hX8pwMjtk1Jdo=",
"owner": "mangowm",
"repo": "mango",
"rev": "53d729c0476fc50534835dcdaf58ad314a32a34d",
"type": "github"
},
"original": {
"owner": "mangowm",
"repo": "mango",
"type": "github"
}
},
"nixcord": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-nixcord": "nixpkgs-nixcord",
"treefmt-nix": "treefmt-nix"
},
@ -168,6 +230,21 @@
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1782614948,
"narHash": "sha256-ePjCwr1sNm9NYUqywL7QfK3JnlS015msC+eBu2zKlp8=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "db3f255737b94216eb71cce308e2912cf6bc2d7c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1785031560,
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
@ -203,6 +280,7 @@
"base16": "base16",
"helium": "helium",
"home-manager": "home-manager",
"mango": "mango",
"nixcord": "nixcord",
"nixpkgs": "nixpkgs",
"tt-discord": "tt-discord",
@ -211,6 +289,29 @@
"tt-terminal": "tt-terminal"
}
},
"scenefx": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": [
"mango",
"nixpkgs"
],
"systems": "systems_2"
},
"locked": {
"lastModified": 1782624992,
"narHash": "sha256-vUjLG6eubEhJJVa9LPygIcVmNoHwYbSUTJcWEcbxnU4=",
"owner": "wlrfx",
"repo": "scenefx",
"rev": "37ccd723bef49e6891156ffafce8f549f01446cc",
"type": "github"
},
"original": {
"owner": "wlrfx",
"repo": "scenefx",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -226,6 +327,21 @@
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [

View file

@ -6,7 +6,7 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nixcord.url = "github:4evy/nixcord";
nixcord.inputs.nixpkgs.follows = "nixpkgs";
mangowm = {
mango = {
url = "github:mangowm/mango";
inputs.nixpkgs.follows = "nixpkgs";
};
@ -39,7 +39,7 @@
base16,
home-manager,
nixcord,
mangowm,
mango,
...
}@inputs:
let

15
modules/home/screenshot Normal file
View file

@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -euo pipefail
case "${1:-fullscreen}" in
region)
g=$(slurp -d); [ -z "$g" ] && exit 1
grim -g "$g" - | wl-copy ;;
window)
g=$(mmsg get focusing-client | jq -r '"\(.x),\(.y) \(.width)x\(.height)"')
[ -z "$g" ] && exit 1
grim -g "$g" - | wl-copy ;;
output)
grim -o "$(mmsg get cursorpos | jq -r .monitor)" - | wl-copy;;
*) grim - | wl-copy;;
esac

View file

@ -1,6 +1,127 @@
{pkgs,lib,inputs}: {
{
pkgs,
lib,
inputs,
...
}:
{
home.file.screenshot = {
enable = true;
executable = true;
source = ../home/screenshot;
target = ".config/mango/scripts/screenshot";
};
wayland.windowManager.mango = {
enable = true;
settings = {
cursor_theme = "macOS";
cursor_size = 24;
border_radius = 16;
animations = 1;
layer_animations = 0;
animation_type_open = "slide";
animation_type_close = "slide";
animation_fade_in = 1;
animation_fade_out = 1;
tag_animation_direction = 1;
zoom_initial_ratio = 0.4;
zoom_end_ratio = 0.8;
fadein_begin_opacity = 0;
fadeout_begin_opacity = 1;
animation_duration_move = 500;
animation_duration_open = 400;
animation_duration_tag = 350;
animation_duration_close = 800;
animation_duration_focus = 0;
animation_curve = {
open = "0.23,1.0,0.32,1.05";
move = "0.23,1.0,0.32,1";
tag = "0.23,1.0,0.32,1.03";
close = "0.23,1.0,0.32,1";
focus = "0.23,1.0,0.32,1";
opafadeout = "0.5,0.5,0.5,0";
opafadein = "0.46,1.0,0.29,0";
};
new_is_master = 0;
tag_num = 9;
repeat_rate = 25;
repeat_delay = 600;
xkb_rules_layout = "eu";
tap_to_click = 1;
mouse_accel_profile = 1;
mouse_accel_speed = -0.4;
gappih = 5;
gappiv = 5;
gappoh = 10;
gappov = 10;
borderpx = 4;
bind = [
# reload config
"SUPER,r,reload_config"
"SUPER,space,spawn,fuzzel"
"SUPER,Return,spawn,foot"
"SUPER+SHIFT,q,quit"
"SUPER,q,killclient"
"SUPER+SHIFT,S,spawn_shell,$HOME/.config/mango/scripts/screenshot region"
"ALT+SHIFT,S,spawn_shell,$HOME/.config/mango/scripts/screenshot output"
"ALT+CTRL,S,spawn_shell,$HOME/.config/mango/scripts/screenshot window"
"SUPER+SHIFT,Up,exchange_client,up"
"SUPER+SHIFT,Down,exchange_client,down"
"SUPER+SHIFT,Left,exchange_client,left"
"SUPER+SHIFT,Right,exchange_client,right"
"SUPER,Up,focusdir,up"
"SUPER,Down,focusdir,down"
"SUPER,Left,focusdir,left"
"SUPER,Right,focusdir,right"
"SUPER,v,togglefloating"
"SUPER,1,view,1,0"
"SUPER,2,view,2,0"
"SUPER,3,view,3,0"
"SUPER,4,view,4,0"
"SUPER,5,view,5,0"
"SUPER,6,view,6,0"
"SUPER,7,view,7,0"
"SUPER,8,view,8,0"
"SUPER,9,view,9,0"
"SUPER+SHIFT,1,tag,1,0"
"SUPER+SHIFT,2,tag,2,0"
"SUPER+SHIFT,3,tag,3,0"
"SUPER+SHIFT,4,tag,4,0"
"SUPER+SHIFT,5,tag,5,0"
"SUPER+SHIFT,6,tag,6,0"
"SUPER+SHIFT,7,tag,7,0"
"SUPER+SHIFT,8,tag,8,0"
"SUPER+SHIFT,9,tag,9,0"
"SUPER,comma,focusmon,left"
"SUPER,period,focusmon,right"
"NONE,XF86MonBrightnessUp,spawn,brightnessctl s +10%"
"NONE,XF86MonBrightnessDown,spawn,brightnessctl s 10%-"
"NONE,XF86AudioRaiseVolume,spawn,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"
"NONE,XF86AudioLowerVolume,spawn,wpctl set-volume @DEFAULT_SINK@ 5%-"
"NONE,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_SINK@ toggle"
"SHIFT,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_SOURCE@ toggle"
"NONE,XF86AudioNext,spawn,playerctl next"
"NONE,XF86AudioPrev,spawn,playerctl previous"
"NONE,XF86AudioPlay,spawn,playerctl play-pause"
];
mousebind = [
"SUPER,btn_left,moveresize,curmove"
"SUPER,btn_right,moveresize,curresize"
"ALT,btn_left,moveresize,curresize"
];
};
};
}