Flameshot
Flameshot is a powerful screenshot and screenshot annotation tool. Flameshot allows the user to take a screenshot and then draw, write text, blur, crop, and otherwise edit screenshots with ease.
Install
For X11 you can install Flameshot by simply adding it to your configuration file.
environment.systemPackages = with pkgs; [
flameshot
];
Install on Wayland
In order to use Flameshot on Wayland you will need to install Grim and configure Flameshot to use it.
Install Grim
environment.systemPackages = with pkgs; [
grim
];
Configure Flameshot
You may do this through Home Manager, or you may configure it manually in ~/.config/flameshot.
services.flameshot = {
# Also installs/enables flameshot
enable = true;
settings = {
General = {
useGrimAdapter = true;
# Stops warnings for using Grim
disabledGrimWarning = true;
};
};
};
Home Manager
You can configure Flameshot settings through Home Manager with the following syntax. Additional settings may be found on the Flameshot Github and adapted into Nix. See documented settings in the Home Manager Appendix - services.flameshot.
services.flameshot = {
enable = true;
settings = {
General = {
# More settings may be found on the Flameshot Github
# Save Path
savePath = "/home/user/Screenshots";
# Tray
disabledTrayIcon = true;
# Greeting message
showStartupLaunchMessage = false;
# Default file extension for screenshots (.png by default)
saveAsFileExtension = ".png";
# Desktop notifications
showDesktopNotification = true;
# Notification for cancelled screenshot
showAbortNotification = false;
# Whether to show the info panel in the center in GUI mode
showHelp = true;
# Whether to show the left side button in GUI mode
showSidePanelButton = true;
# Color Customization
uiColor = "#740096";
contrastUiColor = "#270032";
drawColor = "#ff0000";
# For Wayland (Install Grim seperately)
useGrimAdapter = true;
# Stops warnings for using Grim
disabledGrimWarning = true;
};
};
};
Setting Shortcuts
Setting shortcuts is different depending on your Desktop Environment. You can can check Flameshot CLI commands that you can use for shortcuts by running man flameshot.
Sway
wayland.windowManager.sway = {
enable = true;
# Sets modifier to Super Key
modifier = "Mod4";
config = {
keybindings = lib.mkOptionDefault {
# Manual screenshot GUI that saves to clipboard and closes on selection.
"${modifier}+Shift+s" = "exec flameshot gui --clipboard --accept-on-select";
# Takes a screenshot of the screen containing the cursor.
"${modifier}+Shift+a" = "exec flameshot screen --clipboard";
# Takes a manual screenshot that shows options after selection.
"Print" = "exec flameshot gui";
};
};
};