staging(no atomic commits thank to git-hooks)
Signed-off-by: s0me1newithhand7s <git+me@hand7s.org>
This commit is contained in:
parent
db3b60a846
commit
c5f949506a
117 changed files with 2520 additions and 999 deletions
|
|
@ -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"
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
_: {
|
||||
{pkgs, ...}: {
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
package = pkgs.morewaita-icon-theme;
|
||||
name = "MoreWaita";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
42
hand7s/gtk/gtk3.nix
Normal file
42
hand7s/gtk/gtk3.nix
Normal 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
37
hand7s/gtk/gtk4.nix
Normal 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);
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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
7
hand7s/home/shell.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
_: {
|
||||
home = {
|
||||
shell = {
|
||||
enableShellIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
10
hand7s/home/variables.nix
Normal file
10
hand7s/home/variables.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
_: {
|
||||
home = {
|
||||
sessionVariables = {
|
||||
CARAPACE_BRIDGES = "fish";
|
||||
DIRENV_WARN_TIMEOUT = "5m";
|
||||
GTK_USE_PORTAL = "1";
|
||||
AQ_NO_MODIFIERS = "1";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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="
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,6 +0,0 @@
|
|||
_: {
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
@ -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
22
hand7s/programs/atuin.nix
Normal 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
13
hand7s/programs/broot.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
_: {
|
||||
programs = {
|
||||
broot = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
|
||||
settings = {
|
||||
modal = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
9
hand7s/programs/carapace.nix
Normal file
9
hand7s/programs/carapace.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
_: {
|
||||
programs = {
|
||||
carapace = {
|
||||
enable = true;
|
||||
enableNushellIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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"
|
||||
];
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
direnv = {
|
||||
enable = true;
|
||||
silent = true;
|
||||
enableNushellIntegration = true;
|
||||
|
||||
nix-direnv = {
|
||||
enable = true;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
eza = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
git = true;
|
||||
icons = "always";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
fzf = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
|
||||
tmux = {
|
||||
enableShellIntegration = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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
26
hand7s/programs/gitui.nix
Normal 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" )),
|
||||
)
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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
|
||||
;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
nix-index = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
24
hand7s/programs/nushell.nix
Normal file
24
hand7s/programs/nushell.nix
Normal 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
|
||||
}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ _: {
|
|||
zoxide = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 |
|
|
@ -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
22
hand7s/xdg/configFile.nix
Normal 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
11
hand7s/xdg/mime.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
_: {
|
||||
xdg = {
|
||||
mime = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
mimeApps = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
35
hand7s/xdg/portal.nix
Normal file
35
hand7s/xdg/portal.nix
Normal 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
12
hand7s/xdg/terminal.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
_: {
|
||||
xdg = {
|
||||
terminal-exec = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default = [
|
||||
"com.mitchellh.ghostty.desktop"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue