staging(no atomic commits thank to git-hooks)

Signed-off-by: s0me1newithhand7s <git+me@hand7s.org>
This commit is contained in:
s0me1newithhand7s 2026-03-25 17:56:18 +03:00
parent db3b60a846
commit c5f949506a
117 changed files with 2520 additions and 999 deletions

View file

@ -5,11 +5,17 @@
"${self}/hand7s/wayland/hyprland.nix"
"${self}/hand7s/gtk/gtk.nix"
"${self}/hand7s/gtk/gtk3.nix"
"${self}/hand7s/gtk/gtk4.nix"
"${self}/hand7s/home/defaults.nix"
"${self}/hand7s/home/gui.nix"
"${self}/hand7s/home/keyboard.nix"
"${self}/hand7s/home/packages.nix"
"${self}/hand7s/home/shellAliases.nix"
"${self}/hand7s/home/variables.nix"
"${self}/hand7s/home/shell.nix"
"${self}/hand7s/nixpkgs/config.nix"
"${self}/hand7s/nixpkgs/overlays.nix"
@ -40,5 +46,15 @@
"${self}/hand7s/programs/direnv.nix"
"${self}/hand7s/programs/noctalia.nix"
"${self}/hand7s/programs/iamb.nix"
"${self}/hand7s/programs/nushell.nix"
"${self}/hand7s/programs/carapace.nix"
"${self}/hand7s/programs/broot.nix"
"${self}/hand7s/programs/atuin.nix"
"${self}/hand7s/programs/gitui.nix"
"${self}/hand7s/xdg/portal.nix"
"${self}/hand7s/xdg/mime.nix"
"${self}/hand7s/xdg/configFile.nix"
"${self}/hand7s/xdg/terminal.nix"
];
}

View file

@ -1,5 +1,8 @@
_: {
{pkgs, ...}: {
gtk = {
enable = true;
iconTheme = {
package = pkgs.morewaita-icon-theme;
name = "MoreWaita";
};
};
}

42
hand7s/gtk/gtk3.nix Normal file
View file

@ -0,0 +1,42 @@
_: {
gtk = {
gtk3 = {
extraCss = ''
headerbar {
background-color: mix(@base0D, @base02, 0.08);
}
headerbar title {
font-size: 14px;
font-weight: 500;
}
popover contents,
.menu {
background-color: mix(@base0D, @base02, 0.11);
}
tooltip {
background-color: mix(@base0D, @base02, 0.14);
}
button label {
font-size: 12px;
font-weight: 500;
}
button:hover {
background-color: alpha(@base0D, 0.08);
}
button:focus {
background-color: alpha(@base0D, 0.12);
}
button:active {
background-color: alpha(@base0D, 0.16);
}
'';
};
};
}

37
hand7s/gtk/gtk4.nix Normal file
View file

@ -0,0 +1,37 @@
_: {
gtk = {
gtk4 = {
extraCss = ''
headerbar {
background-color: mix(@base0D, @base02, 0.08);
}
headerbar title {
font-size: 14px;
font-weight: 500;
}
popover contents {
background-color: mix(@base0D, @base02, 0.11);
}
button label {
font-size: 12px;
font-weight: 500;
}
button:hover {
background-color: alpha(@base0D, 0.08);
}
button:focus {
background-color: alpha(@base0D, 0.12);
}
button:active {
background-color: alpha(@base0D, 0.16);
}
'';
};
};
}

View file

@ -7,16 +7,17 @@
xh
dua
nvd
tlrc
dust
sops
rsync
procs
sshfs
sbctl
gping
comma
trippy
bottom
ragenix
ripgrep
kubectl
gitoxide

7
hand7s/home/shell.nix Normal file
View file

@ -0,0 +1,7 @@
_: {
home = {
shell = {
enableShellIntegration = true;
};
};
}

10
hand7s/home/variables.nix Normal file
View file

@ -0,0 +1,10 @@
_: {
home = {
sessionVariables = {
CARAPACE_BRIDGES = "fish";
DIRENV_WARN_TIMEOUT = "5m";
GTK_USE_PORTAL = "1";
AQ_NO_MODIFIERS = "1";
};
};
}

View file

@ -9,7 +9,6 @@ _: {
# cachix.org
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
"ags.cachix.org-1:naAvMrz0CuYqeyGNyLgE010iUiuf/qx6kYrUv3NwAJ8="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
];

View file

@ -1,6 +0,0 @@
_: {
nixpkgs = {
overlays = [
];
};
}

View file

@ -6,8 +6,8 @@
...
}: let
cfg = config.home.gui;
ayugram = self.inputs.ayugram-desktop.packages.${pkgs.system}.ayugram-desktop;
freesm-launcher = self.inputs.freesm.packages.${pkgs.system}.freesmlauncher;
ayugram = self.inputs.ayugram-desktop.packages.${pkgs.stdenv.hostPlatform.system}.ayugram-desktop;
freesm-launcher = self.inputs.freesm.packages.${pkgs.stdenv.hostPlatform.system}.freesmlauncher;
in {
options.home.gui = {
enable = lib.mkEnableOption ''
@ -45,7 +45,6 @@ in {
vesktop
ayugram
anki-bin
obsidian
mindustry
lan-mouse
monero-gui
@ -70,10 +69,10 @@ in {
cfg.sessionType == "Hyprland"
) [
fum
timg
dconf
iwgtk
tokei
gajim
ifuse
yt-dlp
termusic
@ -86,17 +85,21 @@ in {
yubico-piv-tool
yubikey-manager
libimobiledevice
ungoogled-chromium
yubikey-touch-detector
yubikey-personalization
self.inputs.noctalia.packages.${system}.default
];
};
gtk.enable = true;
programs = {
chromium.enable = true;
spicetify.enable = true;
ghostty.enable = true;
git.enable = true;
obsidian.enable = true;
};
services = with lib.mkDefault; {

22
hand7s/programs/atuin.nix Normal file
View file

@ -0,0 +1,22 @@
_: {
programs = {
atuin = {
enable = true;
enableNushellIntegration = true;
enableFishIntegration = true;
settings = {
keymap_mode = "vim-normal";
};
flags = [
"--disable-up-arrow"
];
daemon = {
enable = true;
logLevel = "info";
};
};
};
}

13
hand7s/programs/broot.nix Normal file
View file

@ -0,0 +1,13 @@
_: {
programs = {
broot = {
enable = true;
enableNushellIntegration = true;
enableFishIntegration = true;
settings = {
modal = true;
};
};
};
}

View file

@ -0,0 +1,9 @@
_: {
programs = {
carapace = {
enable = true;
enableNushellIntegration = true;
enableFishIntegration = true;
};
};
}

View file

@ -4,7 +4,6 @@
package = pkgs.google-chrome.override {
commandLineArgs = [
"--enable-features=AcceleratedVideoEncoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE,VaapiIgnoreDriverChecks,VaapiVideoDecoder,PlatformHEVCDecoderSupport,UseMultiPlaneFormatForHardwareVideo,SkiaGraphite"
"--enable-unsafe-webgpu"
"--ignore-gpu-blocklist"
"--enable-zero-copy"
];

View file

@ -3,6 +3,7 @@ _: {
direnv = {
enable = true;
silent = true;
enableNushellIntegration = true;
nix-direnv = {
enable = true;

View file

@ -3,6 +3,7 @@ _: {
eza = {
enable = true;
enableFishIntegration = true;
enableNushellIntegration = true;
git = true;
icons = "always";
};

View file

@ -3,6 +3,7 @@ _: {
fzf = {
enable = true;
enableFishIntegration = true;
tmux = {
enableShellIntegration = true;
};

View file

@ -12,7 +12,7 @@
bell-features = "system";
command = "${lib.getExe pkgs.fish}";
command = "${lib.getExe pkgs.nushell}";
confirm-close-surface = false;

26
hand7s/programs/gitui.nix Normal file
View file

@ -0,0 +1,26 @@
_: {
programs = {
gitui = {
enable = true;
keyConfig = ''
(
move_left: Some(( code: Char('h'), modifiers: "" )),
move_right: Some(( code: Char('l'), modifiers: "" )),
move_up: Some(( code: Char('k'), modifiers: "" )),
move_down: Some(( code: Char('j'), modifiers: "" )),
popup_up: Some(( code: Char('k'), modifiers: "" )),
popup_down: Some(( code: Char('j'), modifiers: "" )),
page_up: Some(( code: Char('b'), modifiers: "CONTROL" )),
page_down: Some(( code: Char('f'), modifiers: "CONTROL" )),
stage_hunk: Some(( code: Char('x'), modifiers: "" )),
status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT" )),
shift_up: Some(( code: Char('K'), modifiers: "SHIFT" )),
shift_down: Some(( code: Char('J'), modifiers: "SHIFT" )),
)
'';
};
};
}

View file

@ -2,7 +2,15 @@
pkgs,
lib,
...
}: {
}: let
formatter = {
run = "treefmt";
args = [
"--stdin"
"$f"
];
};
in {
programs = {
helix = {
package = pkgs.helix;
@ -10,52 +18,133 @@
defaultEditor = true;
extraPackages = with pkgs; [
nixd
ruff
vtsls
rust-analyzer
];
settings = {
editor = {
line-number = "relative";
cursorline = true;
auto-pairs = true;
auto-save = {
focus-lost = true;
after-delay = {
enable = true;
timeout = 3000;
};
};
soft-wrap = {
enable = true;
};
inline-diagnostics = {
cursor-line = "hint";
};
lsp = {
display-messages = true;
enable = true;
display-progress-messages = true;
display-inlay-hints = true;
};
cursor-shape = {
normal = "underline";
insert = "block";
select = "underline";
};
};
};
languages = {
language-servers = {
nixd = {
"nixd" = {
command = "${lib.getExe pkgs.nixd}";
args = [
"--inlay-hints=true"
];
};
"ruff" = {
command = "${lib.getExe pkgs.ruff}";
args = [
"server"
];
};
"vtsls" = {
command = "${lib.getExe pkgs.vtsls}";
args = [
"--stdio"
];
};
"rust-lsp" = {
command = "${lib.getExe pkgs.rust-analyzer}";
};
};
language = [
languages = [
{
name = "nix";
comment-token = "#";
injection-regex = "nix";
indent = {
tab-width = 4;
unit = " ";
};
formatter = {
command = "${lib.getExe pkgs.nix}";
args = [
"fmt"
];
};
file-types = [
"nix"
];
auto-format = true;
language-servers = [
"nixd"
];
inherit
formatter
;
}
{
name = "python";
auto-format = true;
language-servers = [
"ruff"
];
inherit
formatter
;
}
{
name = "rust";
auto-format = true;
language-servers = [
"rust-lsp"
];
inherit
formatter
;
}
{
name = "javascript";
auto-format = true;
language-servers = [
"vtsls"
];
inherit
formatter
;
}
{
name = "typescript";
auto-format = true;
language-servers = [
"vtsls"
];
inherit
formatter
;
}
];
};

View file

@ -3,6 +3,7 @@ _: {
nix-index = {
enable = true;
enableFishIntegration = true;
enableNushellIntegration = true;
};
};
}

View file

@ -19,9 +19,10 @@
forceBlackScreenCorners = true;
showScreenCorners = true;
screenRadiusRatio = 1;
radiusRatio = 0.7;
radiusRatio = 1.5;
enableBlurBehind = true;
enableShadows = true;
shadowDirection = "center";
shadowDirection = "bottom_right";
};
appLauncher = {
@ -40,10 +41,12 @@
};
bar = {
floating = false;
density = "default";
floating = true;
density = "comfortable";
position = "right";
showCapsule = false;
showCapsule = true;
contentPadding = 8;
widgetSpacing = 10;
marginVertical = 1;
marginHorizontal = 0.6;
monitors = [
@ -119,7 +122,7 @@
};
notifications = {
location = "top_center";
location = "top_right";
};
controlCenter = {
@ -147,6 +150,7 @@
};
dock = {
dockType = "static";
displayMode = "auto_hide";
floatingRatio = 1;
onlySameOutput = true;
@ -198,9 +202,9 @@
};
ui = {
fontDefault = lib.mkForce "Nerd Fonts Hack";
fontDefault = lib.mkForce "Monaspace Aether Nerd Font";
fontDefaultScale = 1;
fontFixed = lib.mkForce "Nerd Fonts Hack";
fontFixed = lib.mkForce "Roboto Mono Nerd Font";
fontFixedScale = 1;
idleInhibitorEnabled = false;
tooltipsEnabled = true;

View file

@ -0,0 +1,24 @@
{
pkgs,
lib,
...
}: {
programs = {
nushell = {
enable = true;
extraEnv = ''
$env.EDITOR = "hx"
'';
extraConfig = ''
$env.config.show_banner = false
$env.config.buffer_editor = "hx"
def fish-run [cmd: string] {
^${lib.getExe pkgs.fish} -c $cmd
}
'';
};
};
}

View file

@ -6,13 +6,13 @@
}: {
programs = {
spicetify = {
enabledExtensions = with self.inputs.spicetify-nix.legacyPackages.${pkgs.system}.extensions; [
enabledExtensions = with self.inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system}.extensions; [
adblock
hidePodcasts
shuffle
];
theme = lib.mkForce self.inputs.spicetify-nix.legacyPackages.${pkgs.system}.themes.text;
theme = lib.mkForce self.inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system}.themes.text;
colorScheme = lib.mkForce "TokyoNight";
};
};

View file

@ -3,15 +3,17 @@ _: {
starship = {
enable = true;
enableFishIntegration = true;
enableNushellIntegration = true;
settings = {
add_newline = true;
format = ''
[](bold blue) $username at $hostname on $os
[](bold blue) $directory$git_branch$git_commit$git_state$git_metrics$git_status
[](bold blue) $directory$git_branch$git_commit$git_state$git_metrics$git_status$kubernetes$rust
[>](bold blue) '';
right_format = ''$cmd_duration ($character) at $time'';
right_format = ''$cmd_duration ($status) at $time'';
os = {
format = "[($name $codename$version$edition $symbol )]($style)";
@ -33,9 +35,18 @@ _: {
style_user = "bold green";
};
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
status = {
disabled = false;
format = "[$symbol]($style)";
symbol = "";
success_symbol = "";
not_executable_symbol = "🚫";
not_found_symbol = "🔍";
sigint_symbol = "[🛑](bold red)";
signal_symbol = "[](bold yellow)";
pipestatus = true;
pipestatus_separator = "|";
};
time = {
@ -53,6 +64,14 @@ _: {
show_notifications = false;
format = "was [$duration](bold green)";
};
rust = {
format = "via [ $version](red bold)";
};
kubernetes = {
disabled = false;
};
};
};
};

View file

@ -7,6 +7,8 @@
yazi = {
enable = true;
enableFishIntegration = true;
enableNushellIntegration = true;
shellWrapperName = "yz";
settings = {
mgr = {
@ -42,33 +44,63 @@
};
opener = {
play = [
"play" = [
{
run = "${lib.getExe pkgs.mpv} ''$@''";
run = ''${lib.getExe pkgs.mpv} --vo=tct "%s"'';
block = true;
for = "unix";
}
];
view = [
"view" = [
{
run = "${lib.getExe pkgs.timg} ''-p k -C $@ | ${lib.getExe' pkgs.uutils-coreutils-noprefix "more"}''";
run = ''${lib.getExe pkgs.viu} -t "%s"'';
block = true;
for = "unix";
}
];
edit = [
"edit" = [
{
run = "${lib.getExe pkgs.helix} ''$@''";
run = ''${lib.getExe pkgs.helix} "%s"'';
block = true;
for = "unix";
}
];
open = [
"doc" = [
{
run = "${lib.getExe' pkgs.xdg-utils "xdg-open"} ''$@''";
run = ''${lib.getExe pkgs.tdf} "%s"'';
block = true;
for = "unix";
}
];
"hex" = [
{
run = ''${lib.getExe pkgs.hexyl} "$s"'';
}
];
"exfil" = [
{
run = ''${lib.getExe pkgs.ouch} de "%s"'';
block = true;
for = "unix";
}
];
"book" = [
{
run = ''${lib.getExe pkgs.epr} "%s"'';
block = true;
for = "unix";
}
];
"open" = [
{
run = ''${lib.getExe' pkgs.xdg-utils "xdg-open"} "%s"'';
orphan = true;
for = "unix";
}
@ -78,23 +110,83 @@
open = {
rules = [
{
mime = "image/*";
use = "view";
}
{
mime = "text/*";
use = "edit";
mime = "video/*";
use = [
"play"
"open"
];
}
{
mime = "audio/*";
use = "play";
use = [
"play"
"open"
];
}
{
mime = "video/*";
use = "play";
mime = "application/epub+zip";
use = [
"book"
"edit"
];
}
{
mime = "application/pdf";
use = [
"doc"
"open"
];
}
{
mime = "application/{octet-stream,x-executable,x-sharedlib,x-pie-executable}";
use = [
"hex"
"open"
];
}
{
mime = "application/vnd.*";
use = [
"open"
"edit"
];
}
{
mime = "font/*";
use = [
"open"
"edit"
];
}
{
mime = "application/{zip,rar,7z*,tar*,x-tar,x-bzip*,x-gzip,x-xz}";
use = [
"exfil"
"open"
];
}
{
mime = "text/*";
use = [
"edit"
"open"
];
}
{
mime = "*";
use = [
"edit"
"open"
];
}
];
};

View file

@ -6,8 +6,32 @@
programs = {
zellij = {
enable = true;
settings = {
default_shell = "${lib.getExe pkgs.fish}";
options = {
copy_on_select = false;
};
keybinds = {
unbind = [
"Alt n"
"Alt i"
"Alt o"
"Alt h"
"Alt j"
"Alt k"
"Alt l"
"Alt f"
"Alt Up"
"Alt Down"
"Alt Right"
"Alt Left"
"Alt +"
"Alt -"
];
};
default_shell = "${lib.getExe pkgs.nushell}";
show_startup_tips = false;
show_release_notes = false;
simplified_ui = true;

View file

@ -3,6 +3,7 @@ _: {
zoxide = {
enable = true;
enableFishIntegration = true;
enableNushellIntegration = true;
};
};
}

View file

@ -1,22 +1,22 @@
_: {
stylix = {
base16Scheme = {
scheme = "Tokyonight by Folke Lemaitre (https://github.com/folke)";
name = "Tokyonight";
scheme = "Tokyo-Night-Storm-MD3e";
name = "TokyoNightStormMD3e";
base00 = "#24283b";
base01 = "#1f2335";
base02 = "#292e42";
base03 = "#565f89";
base04 = "#a9b1d6";
base05 = "#c0caf5";
base06 = "#c0caf5";
base07 = "#c0caf5";
base06 = "#cdd6f4";
base07 = "#d5d6db";
base08 = "#f7768e";
base09 = "#ff9e64";
base0A = "#e0af68";
base0B = "#9ece6a";
base0C = "#1abc9c";
base0D = "#41a6b5";
base0C = "#7dcfff";
base0D = "#7aa2f7";
base0E = "#bb9af7";
base0F = "#ff007c";
};

View file

@ -2,30 +2,30 @@
stylix = {
fonts = {
sizes = {
applications = 10;
desktop = 8;
popups = 10;
terminal = 10;
applications = 12;
desktop = 11;
popups = 11;
terminal = 12;
};
monospace = {
package = pkgs.nerd-fonts.roboto-mono;
name = "Roboto-Mono Nerd Font";
package = pkgs.nerd-fonts.monaspace;
name = "Monospace Aether Nerd Font";
};
emoji = {
package = pkgs.nerd-fonts.symbols-only;
name = "Symbols Only Nerd Font";
package = pkgs.noto-fonts-color-emoji;
name = "Noto Color Emoji";
};
sansSerif = {
package = pkgs.nerd-fonts.aurulent-sans-mono;
name = "Aurulent Sans Mono Nerd Font";
package = pkgs.nerd-fonts.iosevka-term-slab;
name = "Iosevka Term Slab Nerd Font";
};
serif = {
package = pkgs.nerd-fonts.hack;
name = "Hack Nerd Font";
package = pkgs.nerd-fonts.noto;
name = "Noto Serif Nerd Font";
};
};
};

View file

@ -1,32 +0,0 @@
_: {
stylix = {
base16Scheme = {
base00 = "2a1617";
base01 = "5d3f3f";
base02 = "7a5bab";
base03 = "bb9499";
base04 = "eea1cf";
base05 = "f5dddd";
base06 = "ffebff";
base07 = "ffede9";
base08 = "e36b70";
base09 = "ac878e";
base0A = "db7356";
base0B = "a78897";
base0C = "ca7a79";
base0D = "b28776";
base0E = "d8708b";
base0F = "ec6653";
base10 = "2a1617";
base11 = "2a1617";
base12 = "e36b70";
base13 = "ac878e";
base14 = "a78897";
base15 = "ca7a79";
base16 = "b28776";
base17 = "d8708b";
scheme = "hand7s";
name = "red_ish";
};
};
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
{
self,
config,
self,
pkgs,
lib,
...
@ -14,22 +14,22 @@
)
true;
package = self.inputs.hyprland.packages.${pkgs.system}.hyprland;
portalPackage = self.inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
package = self.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}.hyprland;
portalPackage = self.inputs.nixpkgs.legacyPackages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
settings = {
monitor = ", 2560x1440@165.00Hz, 0x0, 1";
general = {
gaps_in = "5";
gaps_out = "20";
border_size = "2";
gaps_in = 8;
gaps_out = 20;
border_size = 0;
layout = "dwindle";
snap = {
enabled = false;
window_gap = "5";
monitor_gap = "5";
window_gap = 10;
monitor_gap = 10;
border_overlap = false;
};
};
@ -39,9 +39,9 @@
kb_options = "grp:caps_toggle";
numlock_by_default = true;
follow_mouse = "1";
follow_mouse = 1;
left_handed = false;
sensitivity = "0";
sensitivity = 0;
special_fallthrough = true;
focus_on_close = 1;
@ -64,27 +64,29 @@
};
decoration = {
active_opacity = "0.85";
inactive_opacity = "0.65";
active_opacity = "0.92";
inactive_opacity = "0.88";
fullscreen_opacity = "1.0";
rounding = "10";
dim_inactive = true;
dim_strength = "0.15";
dim_special = "0.0";
dim_around = "0.05";
rounding = 24;
rounding_power = "2";
dim_inactive = false;
shadow = {
enabled = true;
render_power = "4";
range = "4";
render_power = 3;
range = 20;
ignore_window = false;
offset = "0 4";
scale = "1.0";
};
blur = {
enabled = true;
size = "10";
passes = "5";
size = 8;
passes = 3;
vibrancy = 0.2;
};
};
@ -92,7 +94,7 @@
"${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpaper.service"
"${lib.getExe' pkgs.systemd "systemctl"} --user start hypridle.service"
"${lib.getExe' pkgs.systemd "systemctl"} --user start hyprpolkitagent.service"
"${lib.getExe self.inputs.noctalia.packages.${pkgs.system}.default}"
"${lib.getExe self.inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default}"
"${lib.getExe' pkgs.hyprland "hyprctl"} setcursor material_light_cursors 20"
];
@ -100,12 +102,12 @@
bind = [
"ALT, return, exec, ${lib.getExe pkgs.ghostty}"
"ALT, Q, killactive,"
"ALT, S, exec, ${lib.getExe self.inputs.noctalia.packages.${pkgs.system}.default} ipc call launcher toggle"
"ALT, S, exec, ${lib.getExe self.inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default} ipc call launcher toggle"
"ALT, F, fullscreen, 0"
"ALT, L, exec, ${lib.getExe pkgs.hyprlock}"
"ALT SHIFT, space, togglefloating, active"
"ALT SHIFT, S, exec, ${lib.getExe pkgs.grimblast} --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png | , killall -9 hyprpicker"
"ALT SHIFT, S, exec, ${lib.getExe pkgs.grimblast} --notify --freeze copysave area /home/hand7s/Pictures/Screenshots/$(date '+%y%m%d_%H-%M-%s').png || , killall -9 hyprpicker"
"ALT, left, movefocus, l"
"ALT, right, movefocus, r"
@ -163,18 +165,34 @@
];
animation = [
"workspace_wraparound = true"
"enabled = true"
"animation = windows, 1, 7, popin"
"animation = windowsOut, 1, 7, popin"
"bezier = md3_standard, 0.2, 0.0, 0.0, 1.0"
"bezier = md3_decel, 0.05, 0.7, 0.1, 1.0"
"bezier = md3_accel, 0.3, 0.0, 0.8, 0.15"
"animation = layers, 1, 7, fade"
"bezier = menu_decel, 0.1, 1.0, 0.1, 1.0"
"bezier = menu_accel, 0.38, 0.04, 1.0, 0.07"
"animation = border, 1, 10"
"animation = borderangle, 1, 10"
"animation = windows, 1, 4, md3_decel, slide"
"animation = windowsIn, 1, 4, md3_decel, slide"
"animation = windowsOut, 1, 2, md3_accel, slide"
"animation = fade, 1, 2, md3_standard"
"animation = layers, 1, 2, md3_decel, slide"
"animation = layersIn, 1, 3, md3_decel, slide"
"animation = layersOut, 1, 2, md3_accel, slide"
"animation = fadeLayersIn, 1, 3, menu_decel"
"animation = fadeLayersOut, 1, 2, menu_accel"
"animation = workspaces, 1, 4, md3_standard, slidefade 20%"
"animation = specialWorkspace, 1, 3, md3_decel, slidevert"
];
"animation = workspaces, 1, 7, slidevert"
"animation = specialWorkspace, 1, 7, slidevert"
windowrulev2 = [
"float, class:^(yazi-picker)$"
"center, class:^(yazi-picker)$"
"size 1000 600, class:^(yazi-picker)$"
"stayfocused, class:^(yazi-picker)$"
];
misc = {
@ -185,11 +203,12 @@
animate_mouse_windowdragging = true;
focus_on_activate = true;
close_special_on_empty = true;
initial_workspace_tracking = "2";
vrr = "3";
};
render = {
cm_auto_hdr = 0;
direct_scanout = "2";
};
binds = {
@ -264,8 +283,7 @@
plugins = with pkgs.hyprlandPlugins; [
hypr-dynamic-cursors
hyprscrolling
hyprexpo
hyprspace
];
};
};

22
hand7s/xdg/configFile.nix Normal file
View file

@ -0,0 +1,22 @@
{
lib,
pkgs,
...
}: {
xdg = {
configFile = {
"xdg-desktop-portal-termfilechooser/config" = {
enable = true;
force = true;
text = ''
[filechooser]
cmd="${pkgs.xdg-desktop-portal-termfilechooser}/share/xdg-desktop-portal-termfilechooser/yazi-wrapper.sh"
default_dir=$HOME
env=TERMCMD="${lib.getExe pkgs.ghostty} --title='yazi-picker' -e"
open_mode=suggested
save_mode=last
'';
};
};
};
}

11
hand7s/xdg/mime.nix Normal file
View file

@ -0,0 +1,11 @@
_: {
xdg = {
mime = {
enable = true;
};
mimeApps = {
enable = true;
};
};
}

35
hand7s/xdg/portal.nix Normal file
View file

@ -0,0 +1,35 @@
{
config,
pkgs,
lib,
...
}: {
xdg = {
portal = {
enable = lib.mkIf config.home.gui.enable true;
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
xdg-desktop-portal-termfilechooser
];
config = {
common = {
default = [
"gtk"
];
};
hyprland = {
default = [
"gtk"
"hyprland"
];
"org.freedesktop.impl.portal.FileChooser" = [
"termfilechooser"
];
};
};
};
};
}

12
hand7s/xdg/terminal.nix Normal file
View file

@ -0,0 +1,12 @@
_: {
xdg = {
terminal-exec = {
enable = true;
settings = {
default = [
"com.mitchellh.ghostty.desktop"
];
};
};
};
}