Compare commits
2 Commits
6c2467e708
...
0c72443d63
Author | SHA1 | Date |
---|---|---|
Antoine Langlois | 0c72443d63 | |
Antoine Langlois | a306c76543 |
|
@ -6,7 +6,6 @@
|
|||
in [
|
||||
"${modules_hm_path}/looking-glass"
|
||||
"${modules_hm_path}/vscode"
|
||||
"${modules_hm_path}/tofi"
|
||||
|
||||
../../shared/hm.nix
|
||||
./services.nix
|
||||
|
@ -77,6 +76,8 @@
|
|||
dunst.enable = true;
|
||||
waybar.enable = true;
|
||||
ssh.enable = true;
|
||||
rofi-wayland.enable = true;
|
||||
|
||||
hypridle = {
|
||||
enable = false;
|
||||
enabledListeners.brightness = false;
|
||||
|
@ -92,6 +93,11 @@
|
|||
enable = true;
|
||||
signingKey = "A12925470298BFEE7EE092B3946E2D0C410C7B3D";
|
||||
};
|
||||
|
||||
zellij = {
|
||||
enable = true;
|
||||
copy_command = "wl-copy";
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,39 +1,40 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
# awscli2
|
||||
asciinema
|
||||
grype
|
||||
git-chglog
|
||||
tokei
|
||||
goreleaser
|
||||
syft
|
||||
hyperfine
|
||||
rclone
|
||||
restic
|
||||
awscli2
|
||||
corepack
|
||||
difftastic
|
||||
fd
|
||||
gh
|
||||
git-chglog
|
||||
git-lfs
|
||||
gitoxide
|
||||
glow
|
||||
goreleaser
|
||||
grype
|
||||
hyperfine
|
||||
iftop
|
||||
jq
|
||||
just
|
||||
neofetch
|
||||
nix-index
|
||||
nodejs
|
||||
python3
|
||||
rclone
|
||||
restic
|
||||
ripgrep
|
||||
ruff
|
||||
rustup
|
||||
sd
|
||||
git-lfs
|
||||
syft
|
||||
tokei
|
||||
unzip
|
||||
wget
|
||||
xh
|
||||
yq-go
|
||||
zellij
|
||||
zip
|
||||
gitoxide
|
||||
glow
|
||||
just
|
||||
];
|
||||
home.sessionPath = [
|
||||
"$(go env GOBIN)"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ config, lib, options,... }:
|
||||
{ config, lib, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.hm.alacritty;
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
./ssh.nix
|
||||
./hyprlock.nix
|
||||
./hypridle.nix
|
||||
./zellij.nix
|
||||
./rofi-wayland
|
||||
./hyprland
|
||||
./dunst
|
||||
./waybar
|
||||
|
|
|
@ -18,14 +18,13 @@
|
|||
"$mod, S, togglesplit,",
|
||||
"$mod SHIFT, S, togglespecialworkspace,",
|
||||
"$mod, F, fullscreen,",
|
||||
"$mod, P, exec, ~/.config/tofi/exec.sh powermenu",
|
||||
"$mod, T, exec, ~/.config/tofi/exec.sh screenshot",
|
||||
"$mod, P, exec, ~/.config/rofi/powermenu.sh",
|
||||
"$mod, T, exec, ~/.config/rofi/screenshot.sh",
|
||||
"$mod SHIFT, T, togglegroup",
|
||||
"$mod, C, exec, ~/.config/tofi/exec.sh clipboard",
|
||||
"$mod, R, exec, ~/.config/tofi/exec.sh run",
|
||||
"$mod, C, exec, ~/.config/rofi/clipboard.sh",
|
||||
|
||||
"$mod, RETURN, exec, alacritty",
|
||||
"$mod, SPACE, exec, ~/.config/tofi/exec.sh launcher",
|
||||
"$mod, SPACE, exec, ~/.config/rofi/dmenu.sh",
|
||||
|
||||
"$mod, left, movefocus, l",
|
||||
"$mod, right, movefocus, r",
|
||||
|
|
|
@ -0,0 +1,298 @@
|
|||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
show-icons: false;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
border-colour: var(selected);
|
||||
handle-colour: var(selected);
|
||||
background-colour: var(background);
|
||||
foreground-colour: var(foreground);
|
||||
alternate-background: var(background-alt);
|
||||
normal-background: var(background);
|
||||
normal-foreground: var(foreground);
|
||||
urgent-background: var(urgent);
|
||||
urgent-foreground: var(background);
|
||||
active-background: var(active);
|
||||
active-foreground: var(background);
|
||||
selected-normal-background: var(selected);
|
||||
selected-normal-foreground: var(background);
|
||||
selected-urgent-background: var(active);
|
||||
selected-urgent-foreground: var(background);
|
||||
selected-active-background: var(urgent);
|
||||
selected-active-foreground: var(background);
|
||||
alternate-normal-background: var(background);
|
||||
alternate-normal-foreground: var(foreground);
|
||||
alternate-urgent-background: var(urgent);
|
||||
alternate-urgent-foreground: var(background);
|
||||
alternate-active-background: var(active);
|
||||
alternate-active-foreground: var(background);
|
||||
|
||||
font: "Mononoki Nerd Font 14";
|
||||
background: #1E2127FF;
|
||||
background-alt: #282B31FF;
|
||||
foreground: #FFFFFFFF;
|
||||
selected: #61AFEFFF;
|
||||
active: #98C379FF;
|
||||
urgent: #E06C75FF;
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 1000px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 10px;
|
||||
border-color: @border-colour;
|
||||
cursor: "default";
|
||||
background-color: @background-colour;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 30px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
children: [ "textbox-prompt-colon", "entry", "mode-switcher" ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
padding: 5px 0px;
|
||||
expand: false;
|
||||
str: " ";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
padding: 5px 0px;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "Search...";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
num-filtered-rows {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-num-sep {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "/";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
num-rows {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
case-indicator {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 10;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: true;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 5px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
cursor: "default";
|
||||
}
|
||||
scrollbar {
|
||||
handle-width: 5px ;
|
||||
handle-color: @handle-colour;
|
||||
border-radius: 10px;
|
||||
background-color: @alternate-background;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 5px 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 10px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: var(normal-background);
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
element normal.urgent {
|
||||
background-color: var(urgent-background);
|
||||
text-color: var(urgent-foreground);
|
||||
}
|
||||
element normal.active {
|
||||
background-color: var(active-background);
|
||||
text-color: var(active-foreground);
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(selected-normal-foreground);
|
||||
}
|
||||
element selected.urgent {
|
||||
background-color: var(selected-urgent-background);
|
||||
text-color: var(selected-urgent-foreground);
|
||||
}
|
||||
element selected.active {
|
||||
background-color: var(selected-active-background);
|
||||
text-color: var(selected-active-foreground);
|
||||
}
|
||||
element alternate.normal {
|
||||
background-color: var(alternate-normal-background);
|
||||
text-color: var(alternate-normal-foreground);
|
||||
}
|
||||
element alternate.urgent {
|
||||
background-color: var(alternate-urgent-background);
|
||||
text-color: var(alternate-urgent-foreground);
|
||||
}
|
||||
element alternate.active {
|
||||
background-color: var(alternate-active-background);
|
||||
text-color: var(alternate-active-foreground);
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 24px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Mode Switcher -----*****/
|
||||
mode-switcher{
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
}
|
||||
button {
|
||||
padding: 5px 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 10px;
|
||||
border-color: @border-colour;
|
||||
background-color: @alternate-background;
|
||||
text-color: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
button selected {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(selected-normal-foreground);
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
}
|
||||
textbox {
|
||||
padding: 8px 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 10px;
|
||||
border-color: @border-colour;
|
||||
background-color: @alternate-background;
|
||||
text-color: @foreground-colour;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
highlight: none;
|
||||
placeholder-color: @foreground-colour;
|
||||
blink: true;
|
||||
markup: true;
|
||||
}
|
||||
error-message {
|
||||
padding: 10px;
|
||||
border: 2px solid;
|
||||
border-radius: 10px;
|
||||
border-color: @border-colour;
|
||||
background-color: @background-colour;
|
||||
text-color: @foreground-colour;
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
theme="$HOME/.config/rofi/clipboard.rasi"
|
||||
|
||||
# Rofi CMD
|
||||
rofi_cmd() {
|
||||
rofi -dmenu \
|
||||
-p "Clipboard" \
|
||||
-theme "$theme"
|
||||
}
|
||||
|
||||
cliphist list | sed -E "s/(.{40}).*$/\1.../" |\
|
||||
rofi_cmd |\
|
||||
cliphist decode |\
|
||||
wl-copy
|
|
@ -0,0 +1,100 @@
|
|||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
show-icons: false;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
font: "Mononoki Nerd Font 10";
|
||||
background: #1E2127FF;
|
||||
background-alt: #282B31FF;
|
||||
foreground: #FFFFFFFF;
|
||||
selected: #61AFEFFF;
|
||||
active: #98C379FF;
|
||||
urgent: #E06C75FF;
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 500px;
|
||||
border-radius: 20px;
|
||||
cursor: "default";
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
spacing: 30px;
|
||||
padding: 30px;
|
||||
background-color: transparent;
|
||||
children: [ "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
margin: 0px;
|
||||
padding: 20px;
|
||||
border-radius: 20px;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
}
|
||||
textbox {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
placeholder-color: @foreground;
|
||||
blink: true;
|
||||
markup: true;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 1;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 30px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
padding: 60px 10px;
|
||||
border-radius: 20px;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
element-text {
|
||||
font: "Mononoki 48";
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected);
|
||||
text-color: var(background);
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
{ config, lib, pkgs, ...}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.hm.rofi-wayland;
|
||||
|
||||
enable = mkEnableOption "rofi-wayland";
|
||||
in {
|
||||
options.hm.rofi-wayland = {
|
||||
inherit enable;
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [
|
||||
pkgs.rofi-wayland
|
||||
];
|
||||
|
||||
home.file = {
|
||||
".config/rofi/dmenu.rasi".source = ./dmenu.rasi;
|
||||
".config/rofi/clipboard.rasi".source = ./clipboard.rasi;
|
||||
".config/rofi/powermenu.rasi".source = ./powermenu.rasi;
|
||||
".config/rofi/screenshot.rasi".source = ./screenshot.rasi;
|
||||
".config/rofi/confirm.rasi".source = ./confirm.rasi;
|
||||
|
||||
".config/rofi/dmenu.sh".source = ./dmenu.sh;
|
||||
".config/rofi/clipboard.sh".source = ./clipboard.sh;
|
||||
".config/rofi/powermenu.sh".source = ./powermenu.sh;
|
||||
".config/rofi/screenshot.sh".source = ./screenshot.sh;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -0,0 +1,315 @@
|
|||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
modi: "drun";
|
||||
show-icons: false;
|
||||
display-drun: "";
|
||||
drun-display-format: "{name}";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
border-colour: var(selected);
|
||||
handle-colour: var(foreground);
|
||||
background-colour: var(background);
|
||||
foreground-colour: var(foreground);
|
||||
alternate-background: var(background-alt);
|
||||
normal-background: var(background);
|
||||
normal-foreground: var(foreground);
|
||||
urgent-background: var(urgent);
|
||||
urgent-foreground: var(background);
|
||||
active-background: var(active);
|
||||
active-foreground: var(background);
|
||||
selected-normal-background: var(selected);
|
||||
selected-normal-foreground: var(background);
|
||||
selected-urgent-background: var(active);
|
||||
selected-urgent-foreground: var(background);
|
||||
selected-active-background: var(urgent);
|
||||
selected-active-foreground: var(background);
|
||||
alternate-normal-background: var(background);
|
||||
alternate-normal-foreground: var(foreground);
|
||||
alternate-urgent-background: var(urgent);
|
||||
alternate-urgent-foreground: var(background);
|
||||
alternate-active-background: var(active);
|
||||
alternate-active-foreground: var(background);
|
||||
|
||||
font: "Mononoki Nerd Font 10";
|
||||
background: #1E2127FF;
|
||||
background-alt: #282B31FF;
|
||||
foreground: #FFFFFFFF;
|
||||
selected: #61AFEFFF;
|
||||
active: #98C379FF;
|
||||
urgent: #E06C75FF;
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: south;
|
||||
anchor: south;
|
||||
fullscreen: false;
|
||||
width: 100%;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
children: [ horibox ];
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
cursor: "default";
|
||||
background-color: @background-colour;
|
||||
}
|
||||
|
||||
/*****----- Horizontal Box -----*****/
|
||||
horibox {
|
||||
spacing: 0px;
|
||||
background-color: @background-colour;
|
||||
text-color: @foreground-colour;
|
||||
orientation: horizontal;
|
||||
children: [ "prompt", "textbox-prompt-colon","entry", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 20px;
|
||||
margin: 0px;
|
||||
padding: 40px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "message", "listview", "mode-switcher" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 8px;
|
||||
border: 0px solid;
|
||||
border-radius: 4px;
|
||||
border-color: @border-colour;
|
||||
background-color: @alternate-background;
|
||||
text-color: @foreground-colour;
|
||||
children: [ "prompt", "entry" ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 10px;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
padding: 10px 0px 10px 0px;
|
||||
expand: false;
|
||||
str: "::";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
padding: 10px;
|
||||
expand: false;
|
||||
width: 10em;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
cursor: text;
|
||||
placeholder: "search...";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
num-filtered-rows {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-num-sep {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "/";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
num-rows {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
case-indicator {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 100;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: horizontal;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
cursor: "default";
|
||||
}
|
||||
scrollbar {
|
||||
handle-width: 5px ;
|
||||
handle-color: @handle-colour;
|
||||
border-radius: 8px;
|
||||
background-color: @alternate-background;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 8px;
|
||||
margin: 0px;
|
||||
padding: 10px 8px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: var(normal-background);
|
||||
text-color: var(normal-foreground);
|
||||
}
|
||||
element normal.urgent {
|
||||
background-color: var(urgent-background);
|
||||
text-color: var(urgent-foreground);
|
||||
}
|
||||
element normal.active {
|
||||
background-color: var(active-background);
|
||||
text-color: var(active-foreground);
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected-normal-background);
|
||||
text-color: var(selected-normal-foreground);
|
||||
}
|
||||
element selected.urgent {
|
||||
background-color: var(selected-urgent-background);
|
||||
text-color: var(selected-urgent-foreground);
|
||||
}
|
||||
element selected.active {
|
||||
background-color: var(selected-active-background);
|
||||
text-color: var(selected-active-foreground);
|
||||
}
|
||||
element alternate.normal {
|
||||
background-color: var(alternate-normal-background);
|
||||
text-color: var(alternate-normal-foreground);
|
||||
}
|
||||
element alternate.urgent {
|
||||
background-color: var(alternate-urgent-background);
|
||||
text-color: var(alternate-urgent-foreground);
|
||||
}
|
||||
element alternate.active {
|
||||
background-color: var(alternate-active-background);
|
||||
text-color: var(alternate-active-foreground);
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 24px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Mode Switcher -----*****/
|
||||
mode-switcher{
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 4px;
|
||||
border-color: @border-colour;
|
||||
background-color: @alternate-background;
|
||||
text-color: @foreground-colour;
|
||||
}
|
||||
button {
|
||||
padding: 8px;
|
||||
border: 0px solid;
|
||||
border-radius: 4px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
button selected {
|
||||
background-color: var(normal-foreground);
|
||||
text-color: var(normal-background);
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-colour;
|
||||
}
|
||||
textbox {
|
||||
padding: 8px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: @alternate-background;
|
||||
text-color: @foreground-colour;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
highlight: none;
|
||||
placeholder-color: @foreground-colour;
|
||||
blink: true;
|
||||
markup: true;
|
||||
}
|
||||
error-message {
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @border-colour;
|
||||
background-color: @background-colour;
|
||||
text-color: @foreground-colour;
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
dir="$HOME/.config/rofi"
|
||||
|
||||
rofi \
|
||||
-show drun \
|
||||
-theme "${dir}/dmenu.rasi"
|
|
@ -0,0 +1,174 @@
|
|||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
show-icons: false;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
font: "Mononoki Nerd Font 10";
|
||||
background: #1E2127FF;
|
||||
background-alt: #282B31FF;
|
||||
foreground: #FFFFFFFF;
|
||||
selected: #61AFEFFF;
|
||||
active: #98C379FF;
|
||||
urgent: #E06C75FF;
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 605px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 4px;
|
||||
border-color: @selected;
|
||||
cursor: "default";
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 20px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
children: [ "textbox-prompt-colon", dummy, "prompt"];
|
||||
}
|
||||
|
||||
dummy {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: " ";
|
||||
padding: 10px 14px;
|
||||
border-radius: 4px;
|
||||
background-color: @urgent;
|
||||
text-color: @background;
|
||||
}
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 10px;
|
||||
border-radius: 4px;
|
||||
background-color: @active;
|
||||
text-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 4px;
|
||||
border-color: @selected;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
}
|
||||
textbox {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
placeholder-color: @foreground;
|
||||
blink: true;
|
||||
markup: true;
|
||||
}
|
||||
error-message {
|
||||
padding: 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 5;
|
||||
lines: 1;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 4px;
|
||||
border-color: @selected;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
element selected.normal {
|
||||
border: 0px 2px 0px 2px;
|
||||
border-radius: 4px;
|
||||
background-color: var(selected);
|
||||
text-color: var(background);
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Current Theme
|
||||
dir="$HOME/.config/rofi"
|
||||
|
||||
# CMDs
|
||||
uptime=$(awk '{printf("%d days, %d hours, %d minutes\n",($1/60/60/24),($1/60/60%24),($1/60%60))}' /proc/uptime)
|
||||
|
||||
# Options
|
||||
shutdown=' Shutdown'
|
||||
reboot=' Reboot'
|
||||
lock=' Lock'
|
||||
suspend=' Sleep'
|
||||
logout=' Logout'
|
||||
yes=''
|
||||
no=''
|
||||
|
||||
# Rofi CMD
|
||||
rofi_cmd() {
|
||||
rofi -dmenu \
|
||||
-p "Goodbye ${USER}" \
|
||||
-mesg "Uptime: $uptime" \
|
||||
-theme "${dir}/powermenu.rasi"
|
||||
}
|
||||
|
||||
# Confirmation CMD
|
||||
confirm_cmd() {
|
||||
rofi -dmenu \
|
||||
-p 'Confirmation' \
|
||||
-mesg 'Are you Sure?' \
|
||||
-theme "${dir}/confirm.rasi"
|
||||
}
|
||||
|
||||
# Ask for confirmation
|
||||
confirm_exit() {
|
||||
echo -e "$yes\n$no" | confirm_cmd
|
||||
}
|
||||
|
||||
# Actions
|
||||
chosen=$(echo -e "$lock\n$suspend\n$logout\n$reboot\n$shutdown" | rofi_cmd)
|
||||
case ${chosen} in
|
||||
"$shutdown")
|
||||
if [[ $(confirm_exit) == "$yes" ]]; then
|
||||
systemctl poweroff
|
||||
fi
|
||||
;;
|
||||
"$reboot")
|
||||
if [[ $(confirm_exit) == "$yes" ]]; then
|
||||
systemctl reboot
|
||||
fi
|
||||
;;
|
||||
"$lock")
|
||||
sleep 0.5s; hyprlock & disown
|
||||
;;
|
||||
"$suspend")
|
||||
playerctl pause
|
||||
sleep 0.5s; hyprlock & disown
|
||||
systemctl suspend
|
||||
;;
|
||||
"$logout")
|
||||
if [[ $(confirm_exit) == "$no" ]]; then
|
||||
hyprctl dispatch exit
|
||||
fi
|
||||
;;
|
||||
esac
|
|
@ -0,0 +1,156 @@
|
|||
/**
|
||||
*
|
||||
* Author : Aditya Shakya (adi1090x)
|
||||
* Github : @adi1090x
|
||||
*
|
||||
* Rofi Theme File
|
||||
* Rofi Version: 1.7.3
|
||||
**/
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
show-icons: false;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
font: "Mononoki Nerd Font 10";
|
||||
background: #1E2127FF;
|
||||
background-alt: #282B31FF;
|
||||
foreground: #FFFFFFFF;
|
||||
selected: #61AFEFFF;
|
||||
active: #98C379FF;
|
||||
urgent: #E06C75FF;
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 800px;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 12px;
|
||||
border-color: @selected;
|
||||
cursor: "default";
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 30px;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
padding: 0px;
|
||||
border: 0px;
|
||||
border-radius: 12px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
children: [ "prompt" ];
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "";
|
||||
padding: 10px 10px;
|
||||
border-radius: 12px;
|
||||
background-color: @urgent;
|
||||
text-color: @background;
|
||||
}
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 10px;
|
||||
border-radius: 12px;
|
||||
background-color: @active;
|
||||
text-color: @background;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 12px;
|
||||
border-color: @selected;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
}
|
||||
textbox {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 6;
|
||||
lines: 1;
|
||||
cycle: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
|
||||
spacing: 15px;
|
||||
background-color: transparent;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
padding: 30px 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 12px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: pointer;
|
||||
}
|
||||
element-text {
|
||||
font: "Mononoki 28";
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
element normal.normal,
|
||||
element alternate.normal {
|
||||
background-color: var(background-alt);
|
||||
text-color: var(foreground);
|
||||
}
|
||||
element normal.urgent,
|
||||
element alternate.urgent,
|
||||
element selected.active {
|
||||
background-color: var(urgent);
|
||||
text-color: var(background);
|
||||
}
|
||||
element normal.active,
|
||||
element alternate.active,
|
||||
element selected.urgent {
|
||||
background-color: var(active);
|
||||
text-color: var(background);
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: var(selected);
|
||||
text-color: var(background);
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
## Author : Aditya Shakya (adi1090x)
|
||||
## Github : @adi1090x
|
||||
#
|
||||
## Applets : Screenshot
|
||||
|
||||
theme="$HOME/.config/rofi/screenshot.rasi"
|
||||
out_dir="$HOME/Pictures/screenshots"
|
||||
filename=$(date '+%Y%m%d-%H:%M:%S').png
|
||||
prompt='Screenshot'
|
||||
mesg="File: $out_dir/$filename"
|
||||
list_col='5'
|
||||
list_row='1'
|
||||
win_width='670px'
|
||||
|
||||
# Options
|
||||
option_1=" "
|
||||
option_2=" "
|
||||
option_3=" "
|
||||
option_4=" "
|
||||
|
||||
# Rofi CMD
|
||||
rofi_cmd() {
|
||||
rofi -theme-str "window {width: $win_width;}" \
|
||||
-theme-str "listview {columns: $list_col; lines: $list_row;}" \
|
||||
-theme-str 'textbox-prompt-colon {str: "";}' \
|
||||
-dmenu \
|
||||
-p "$prompt" \
|
||||
-mesg "$mesg" \
|
||||
-markup-rows \
|
||||
-theme "$theme"
|
||||
}
|
||||
|
||||
# Actions
|
||||
chosen="$(echo -e "$option_1\n$option_2\n$option_3\n$option_4" | rofi_cmd)"
|
||||
case $chosen in
|
||||
"$option_1")
|
||||
grim -g "$(slurp -o -r -c '#ff0000ff')" - | satty --filename - --output-filename "$out_dir/$filename"
|
||||
;;
|
||||
|
||||
"$option_2")
|
||||
HYPRSHOT_DIR=$out_dir hyprshot --mode output --filename "$filename"
|
||||
;;
|
||||
|
||||
"$option_3")
|
||||
HYPRSHOT_DIR=$out_dir hyprshot --mode window --filename "$filename"
|
||||
;;
|
||||
|
||||
"$option_4")
|
||||
HYPRSHOT_DIR=$out_dir hyprshot --mode region --filename "$filename"
|
||||
;;
|
||||
esac
|
|
@ -1,4 +1,4 @@
|
|||
{ config, options, lib, ... }:
|
||||
{ config, lib, ... }:
|
||||
with lib;
|
||||
let
|
||||
keyNamePrefix = "id_ed25519";
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
{ ... }:
|
||||
{
|
||||
programs.swaylock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
daemonize = true;
|
||||
color="24273a";
|
||||
image = "~/Pictures/wallpapers/lock.png";
|
||||
bs-hl-color="f4dbd6";
|
||||
caps-lock-bs-hl-color="f4dbd6";
|
||||
caps-lock-key-hl-color="a6da95";
|
||||
inside-color="00000000";
|
||||
inside-clear-color="00000000";
|
||||
inside-caps-lock-color="00000000";
|
||||
inside-ver-color="00000000";
|
||||
inside-wrong-color="00000000";
|
||||
key-hl-color="a6da95";
|
||||
layout-bg-color="00000000";
|
||||
layout-border-color="00000000";
|
||||
layout-text-color="cad3f5";
|
||||
line-color="00000000";
|
||||
line-clear-color="00000000";
|
||||
line-caps-lock-color="00000000";
|
||||
line-ver-color="00000000";
|
||||
line-wrong-color="00000000";
|
||||
ring-color="b7bdf8";
|
||||
ring-clear-color="f4dbd6";
|
||||
ring-caps-lock-color="f5a97f";
|
||||
ring-ver-color="8aadf4";
|
||||
ring-wrong-color="ee99a0";
|
||||
separator-color="00000000";
|
||||
text-color="cad3f5";
|
||||
text-clear-color="f4dbd6";
|
||||
text-caps-lock-color="f5a97f";
|
||||
text-ver-color="8aadf4";
|
||||
text-wrong-color="ee99a0";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
width = 50%
|
||||
height = 50%
|
||||
anchor = center
|
||||
corner-radius = 10
|
||||
|
||||
border-width = 1
|
||||
border-color = #b1bef0
|
||||
|
||||
outline-width = 0
|
||||
|
||||
background-color = #000000a1
|
||||
|
||||
num-results = 8
|
||||
result-spacing = 10
|
||||
|
||||
padding-left = 2%
|
||||
padding-right = 2%
|
||||
padding-top = 3%
|
||||
|
||||
font = FiraCode Nerd Font
|
||||
prompt-text = "Clipboard: "
|
|
@ -1,11 +0,0 @@
|
|||
width = 100%
|
||||
height = 100%
|
||||
border-width = 0
|
||||
outline-width = 0
|
||||
padding-left = 35%
|
||||
padding-top = 35%
|
||||
result-spacing = 25
|
||||
font = FiraCode Nerd Font
|
||||
background-color = #000A
|
||||
horizontal = true
|
||||
prompt-text = "Confirm: "
|
|
@ -1,14 +0,0 @@
|
|||
{ ... }:
|
||||
let
|
||||
tofiConfig = ".config/tofi";
|
||||
in
|
||||
{
|
||||
home.file = {
|
||||
"${tofiConfig}/launcher.conf".source = ./launcher.conf;
|
||||
"${tofiConfig}/powermenu.conf".source = ./powermenu.conf;
|
||||
"${tofiConfig}/confirm.conf".source = ./confirm.conf;
|
||||
"${tofiConfig}/screenshot.conf".source = ./screenshot.conf;
|
||||
"${tofiConfig}/clipboard.conf".source = ./clipboard.conf;
|
||||
"${tofiConfig}/exec.sh".source = ./exec.sh;
|
||||
};
|
||||
}
|
|
@ -1,124 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
config_dir="$HOME/.config/tofi"
|
||||
|
||||
function confirm {
|
||||
action=$1
|
||||
|
||||
confirm=$(echo -e "Yes\nNo" | tofi -c $config_dir/confirm.conf)
|
||||
|
||||
if [ "$confirm" = "Yes" ]; then
|
||||
eval $action
|
||||
fi
|
||||
}
|
||||
|
||||
function lock {
|
||||
sleep 0.5s; hyprlock & disown
|
||||
}
|
||||
|
||||
function powermenu {
|
||||
poweroff=" Poweroff"
|
||||
reboot=" Reboot"
|
||||
lock=" Lock"
|
||||
suspend=" Suspend"
|
||||
logout=" Logout"
|
||||
|
||||
action=$(echo -e "$suspend\n$lock\n$poweroff\n$reboot\n$logout" |\
|
||||
tofi -c $config_dir/powermenu.conf)
|
||||
|
||||
case $action in
|
||||
$poweroff)
|
||||
confirm "systemctl poweroff"
|
||||
;;
|
||||
|
||||
$reboot)
|
||||
confirm "systemctl reboot"
|
||||
;;
|
||||
|
||||
$lock)
|
||||
lock
|
||||
;;
|
||||
|
||||
$suspend)
|
||||
lock
|
||||
systemctl suspend
|
||||
;;
|
||||
|
||||
$logout)
|
||||
confirm "hyprctl dispatch exit"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function launcher {
|
||||
tofi-drun -c $config_dir/launcher.conf |\
|
||||
xargs hyprctl dispatch exec --
|
||||
}
|
||||
|
||||
function screenshot {
|
||||
annotate=" Annotate"
|
||||
fullscreen=" Fullscreen"
|
||||
region=" Region"
|
||||
window=" Window"
|
||||
|
||||
action=$(echo -e "$annotate\n$fullscreen\n$window\n$region" | \
|
||||
tofi -c $config_dir/screenshot.conf)
|
||||
|
||||
out_dir="$HOME/Pictures/screenshots"
|
||||
filename=$(date '+%Y%m%d-%H:%M:%S').png
|
||||
case $action in
|
||||
$annotate)
|
||||
grim -g "$(slurp -o -r -c '#ff0000ff')" - | satty --filename - --output-filename $out_dir/$filename
|
||||
;;
|
||||
|
||||
$fullscreen)
|
||||
HYPRSHOT_DIR=$out_dir hyprshot --mode output --filename $filename
|
||||
;;
|
||||
|
||||
$window)
|
||||
HYPRSHOT_DIR=$out_dir hyprshot --mode window --filename $filename
|
||||
;;
|
||||
|
||||
$region)
|
||||
HYPRSHOT_DIR=$out_dir hyprshot --mode region --filename $filename
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
function clipboard {
|
||||
cliphist list | sed -E "s/(.{40}).*$/\1.../" |\
|
||||
tofi -c "$config_dir/clipboard.conf" |\
|
||||
cliphist decode |\
|
||||
wl-copy
|
||||
}
|
||||
|
||||
function run {
|
||||
tofi-run -c $config_dir/launcher.conf |\
|
||||
xargs hyprctl dispatch exec --
|
||||
}
|
||||
|
||||
case $1 in
|
||||
"powermenu")
|
||||
powermenu
|
||||
;;
|
||||
|
||||
"launcher")
|
||||
launcher
|
||||
;;
|
||||
|
||||
"screenshot")
|
||||
screenshot
|
||||
;;
|
||||
|
||||
"clipboard")
|
||||
clipboard
|
||||
;;
|
||||
|
||||
"run")
|
||||
run
|
||||
;;
|
||||
|
||||
"lock")
|
||||
lock
|
||||
;;
|
||||
esac
|
|
@ -1,20 +0,0 @@
|
|||
anchor = bottom
|
||||
width = 100%
|
||||
height = 30
|
||||
horizontal = true
|
||||
font-size = 14
|
||||
prompt-text = " application: "
|
||||
font = FiraCode Nerd Font
|
||||
outline-width = 0
|
||||
border-width = 0
|
||||
min-input-width = 120
|
||||
result-spacing = 15
|
||||
padding-top = 0
|
||||
padding-bottom = 0
|
||||
padding-left = 0
|
||||
padding-right = 0
|
||||
|
||||
background-color = #000000
|
||||
text-color = #cad3f5
|
||||
prompt-color = #ed8796
|
||||
selection-color = #eed49f
|
|
@ -1,15 +0,0 @@
|
|||
width = 100%
|
||||
height = 100%
|
||||
|
||||
border-width = 0
|
||||
outline-width = 0
|
||||
|
||||
padding-left = 35%
|
||||
padding-top = 35%
|
||||
|
||||
result-spacing = 25
|
||||
|
||||
background-color = #000A
|
||||
|
||||
font = FiraCode Nerd Font
|
||||
prompt-text = "Action: "
|
|
@ -1,19 +0,0 @@
|
|||
width = 40%
|
||||
height = 40%
|
||||
anchor = center
|
||||
corner-radius = 10
|
||||
|
||||
border-width = 1
|
||||
border-color = #b1bef0
|
||||
|
||||
outline-width = 0
|
||||
|
||||
background-color = #000000a1
|
||||
|
||||
result-spacing = 25
|
||||
|
||||
padding-left = 7%
|
||||
padding-top = 9%
|
||||
|
||||
font = FiraCode Nerd Font
|
||||
prompt-text = "Screenshot: "
|
|
@ -0,0 +1,27 @@
|
|||
{ lib, config, ...}:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.hm.zellij;
|
||||
|
||||
enable = mkEnableOption "zellij";
|
||||
copy_command = mkOption {
|
||||
type = types.str;
|
||||
description = "Command to execute when copying text";
|
||||
example = "wl-copy";
|
||||
};
|
||||
in {
|
||||
options.hm.zellij = {
|
||||
inherit enable copy_command;
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.zellij = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
settings = {
|
||||
theme = "catppuccin-macchiato";
|
||||
copy_command = cfg.copy_command;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue