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
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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue