1
0
Fork 0

Compare commits

...

2 Commits

Author SHA1 Message Date
Antoine Langlois 0c72443d63
module(rofi-wayland): add rofi-wayland 2024-04-28 23:41:40 +02:00
Antoine Langlois a306c76543
module(zellij): add module 2024-04-28 23:41:40 +02:00
25 changed files with 1269 additions and 284 deletions

View File

@ -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;

View File

@ -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)"

View File

@ -1,4 +1,4 @@
{ config, lib, options,... }:
{ config, lib, ... }:
with lib;
let
cfg = config.hm.alacritty;

View File

@ -4,6 +4,8 @@
./ssh.nix
./hyprlock.nix
./hypridle.nix
./zellij.nix
./rofi-wayland
./hyprland
./dunst
./waybar

View File

@ -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",

View File

@ -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;
}

View File

@ -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

View File

@ -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);
}

View File

@ -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;
};
};
}

View File

@ -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;
}

View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
dir="$HOME/.config/rofi"
rofi \
-show drun \
-theme "${dir}/dmenu.rasi"

View File

@ -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);
}

View File

@ -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

View File

@ -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);
}

View File

@ -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

View File

@ -1,4 +1,4 @@
{ config, options, lib, ... }:
{ config, lib, ... }:
with lib;
let
keyNamePrefix = "id_ed25519";

View File

@ -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";
};
};
}

View File

@ -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: "

View File

@ -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: "

View File

@ -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;
};
}

View File

@ -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

View File

@ -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

View File

@ -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: "

View File

@ -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: "

View File

@ -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;
};
};
};
}