adding yazi, refactor emacs package config, more

This commit is contained in:
Matt Nish-Lapidus 2025-01-31 23:40:31 -05:00
parent fe95c5af51
commit 29f9ba670f
6 changed files with 208 additions and 115 deletions

View file

@ -0,0 +1,10 @@
#!/usr/bin/env fish
function y
set tmp (mktemp -t "yazi-cwd.XXXXXX")
yazi $argv --cwd-file="$tmp"
if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
end

View file

@ -158,6 +158,8 @@ binds {
Mod+B { spawn "firefox"; } Mod+B { spawn "firefox"; }
//Mod+Space { spawn "fuzzel"; } //Mod+Space { spawn "fuzzel"; }
Mod+Space { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--class" "launcher" "--always-new-process" "sway-launcher-desktop"; } Mod+Space { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--class" "launcher" "--always-new-process" "sway-launcher-desktop"; }
Mod+Ctrl+V { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--class" "launcher" "--always-new-process" "clipse"; }
Mod+Ctrl+F { spawn "wezterm" "--config-file" "/home/emenel/.config/wezterm/launcher.lua" "start" "--always-new-process" "yazi"; }
Super+Shift+L { spawn "swaylock"; } Super+Shift+L { spawn "swaylock"; }
// Example volume keys mappings for PipeWire & WirePlumber. // Example volume keys mappings for PipeWire & WirePlumber.

161
flake.lock generated
View file

@ -3,17 +3,18 @@
"affinity-nix": { "affinity-nix": {
"inputs": { "inputs": {
"elemental-wine-source": "elemental-wine-source", "elemental-wine-source": "elemental-wine-source",
"flake-compat": "flake-compat",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"pre-commit-hooks": "pre-commit-hooks" "pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1736488937, "lastModified": 1738370996,
"narHash": "sha256-RELMEuDFx9fKx5h3fWvpTR73tFAUZ0iILbjwHLVOs8w=", "narHash": "sha256-HFDE+kODQc3eYDaJGbinxyBwPr/02LJvd9Gyewbuxtc=",
"owner": "mrshmllow", "owner": "mrshmllow",
"repo": "affinity-nix", "repo": "affinity-nix",
"rev": "6fbbf794f2707531ae2de3c5ec20084fed49e13d", "rev": "b77bfab85655365d516718d34ff93cd9308513b9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -42,13 +43,12 @@
} }
}, },
"flake-compat": { "flake-compat": {
"flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1733328505,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -89,6 +89,22 @@
"type": "github" "type": "github"
} }
}, },
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems" "systems": "systems"
@ -160,6 +176,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_5": {
"inputs": {
"systems": "systems_6"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"freetype2": { "freetype2": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -179,7 +213,7 @@
}, },
"ghostty": { "ghostty": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_3",
"nixpkgs-stable": "nixpkgs-stable", "nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"zig": "zig" "zig": "zig"
@ -263,11 +297,11 @@
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1738275749, "lastModified": 1738378034,
"narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=", "narHash": "sha256-mldSa2NhDlnjqeSSFTNnkXIDrCLltpJfhrHUMBBKEiY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9", "rev": "801ddd8693481866c2cfb1efd44ddbae778ea572",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -290,11 +324,11 @@
"uv2nix": "uv2nix" "uv2nix": "uv2nix"
}, },
"locked": { "locked": {
"lastModified": 1738047527, "lastModified": 1738374517,
"narHash": "sha256-LkiDTiWM+PupXSsw6SUs4PqIwgSAWZxnuPXAE6T7Z0Q=", "narHash": "sha256-SHQbbTJwU5cGbU+5Xws1ZGi36p44Rk4QggSr3cdSCj4=",
"owner": "isd-project", "owner": "isd-project",
"repo": "isd", "repo": "isd",
"rev": "369fd55c0e57079f5eca2291c013f74a5dcf3c10", "rev": "81a03f70adf983390f0923cfa4b71d875c002f02",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -364,7 +398,7 @@
}, },
"nix-appimage": { "nix-appimage": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_3", "flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
@ -577,7 +611,7 @@
}, },
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat_2",
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
@ -611,11 +645,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735697508, "lastModified": 1737338290,
"narHash": "sha256-Acm4V8bHifkEZEGZHQ9eukRqPiSWXRgJyrjOB60FBg8=", "narHash": "sha256-gnXlfFEHA+/jMH7R+7y3JxrI3WfOjgBhzzJNuFW70UU=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "build-system-pkgs", "repo": "build-system-pkgs",
"rev": "22d5f5d1814ede904def5a992c289343734672d4", "rev": "e1487e5cefda0c7990bdd2e660bee20971680e45",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -632,11 +666,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735874123, "lastModified": 1738204167,
"narHash": "sha256-0uSnm3tyid97v6/m7SoBPgcfMya3nVqEM9Y2EpaTlp0=", "narHash": "sha256-J5M2sj3x4ocM93shScT/3Z4XWHZhwwW1NyQK+C+8Mys=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "pyproject.nix", "repo": "pyproject.nix",
"rev": "e14a14de0d0026e62d809bfa4cd92c4f9badb262", "rev": "0d9f4b90cee1b5c5d6c142ef22de1e246e003ccc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -660,7 +694,8 @@
"nixpkgs-unstable": "nixpkgs-unstable_2", "nixpkgs-unstable": "nixpkgs-unstable_2",
"paperwm": "paperwm", "paperwm": "paperwm",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"wezterm": "wezterm" "wezterm": "wezterm",
"yazi": "yazi"
} }
}, },
"rust-overlay": { "rust-overlay": {
@ -705,6 +740,27 @@
"type": "github" "type": "github"
} }
}, },
"rust-overlay_3": {
"inputs": {
"nixpkgs": [
"yazi",
"nixpkgs"
]
},
"locked": {
"lastModified": 1737080704,
"narHash": "sha256-n+J2h9GM9ZpFOQUmtZoCr1+DFF/iO5UlmLJeHIxbZGY=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "f9953fe89f8b65401fc4d4a288940bc2cb072949",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -778,16 +834,16 @@
}, },
"systems_3": { "systems_3": {
"locked": { "locked": {
"lastModified": 1680978846, "lastModified": 1689347949,
"narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=", "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems", "owner": "nix-systems",
"repo": "x86_64-linux", "repo": "default-linux",
"rev": "2ecfcac5e15790ba6ce360ceccddb15ad16d08a8", "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-systems", "owner": "nix-systems",
"repo": "x86_64-linux", "repo": "default-linux",
"type": "github" "type": "github"
} }
}, },
@ -821,6 +877,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"uv2nix": { "uv2nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -833,11 +904,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735981341, "lastModified": 1738200085,
"narHash": "sha256-g7Wtbo4fsl0P0HFrg3AG+4j6T4Df8OBwfWtlaJQFlrc=", "narHash": "sha256-Lwb86tkHoeJdjYaAHYZPkUZJoWXNHb5IQjzDyd4Vxno=",
"owner": "pyproject-nix", "owner": "pyproject-nix",
"repo": "uv2nix", "repo": "uv2nix",
"rev": "9d314f9c9ab531791a63a6673b1120039dea1229", "rev": "fd41fdec2fed599ba884bc2706c2263f01e2183c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -860,11 +931,11 @@
}, },
"locked": { "locked": {
"dir": "nix", "dir": "nix",
"lastModified": 1737758457, "lastModified": 1738379806,
"narHash": "sha256-Z50/JcMQI2R9ttEd20gXEhuAXvAI0yp3bM7j6/Xoi+A=", "narHash": "sha256-3dkZt53Lr90wQOCPlDHAZn5t0G6n56t+JXW66+vviTE=",
"owner": "wez", "owner": "wez",
"repo": "wezterm", "repo": "wezterm",
"rev": "4bf0007cefff7f1ad139d89b54f074d5ad7d2184", "rev": "b28bbbc4c8345197e433590c9ce50a7bf3ea5bc7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -874,6 +945,28 @@
"type": "github" "type": "github"
} }
}, },
"yazi": {
"inputs": {
"flake-utils": "flake-utils_5",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay_3"
},
"locked": {
"lastModified": 1738314122,
"narHash": "sha256-lyA97h4cKYgX/RX2IDw1J3XWCj9rC4v2yW70nEX2wYo=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "c41f2e21e039c068d4ae1d286f2a8a9eef182895",
"type": "github"
},
"original": {
"owner": "sxyazi",
"repo": "yazi",
"type": "github"
}
},
"zig": { "zig": {
"inputs": { "inputs": {
"flake-compat": [ "flake-compat": [

View file

@ -17,6 +17,16 @@
nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch
# emacs-overlay = {
# url = "github:nix-community/emacs-overlay";
# inputs.nixpkgs.follows = "nixpkgs";
# };
yazi = {
url = "github:sxyazi/yazi";
inputs.nixpkgs.follows = "nixpkgs";
};
# kmonad = { # kmonad = {
# url = "git+https://github.com/kmonad/kmonad?submodules=1&dir=nix"; # url = "git+https://github.com/kmonad/kmonad?submodules=1&dir=nix";
# inputs.nixpkgs.follows = "nixpkgs"; # inputs.nixpkgs.follows = "nixpkgs";

View file

@ -1,4 +1,4 @@
{ lib, config, pkgs, inputs, outputs, ... }: { config, pkgs, inputs, outputs, ... }:
{ {
nixpkgs = { nixpkgs = {
@ -6,6 +6,10 @@
outputs.overlays.additions outputs.overlays.additions
outputs.overlays.modifications outputs.overlays.modifications
outputs.overlays.unstable-packages outputs.overlays.unstable-packages
(import (builtins.fetchTarball {
url = "https://github.com/nix-community/emacs-overlay/archive/master.tar.gz";
sha256 = "0cfz3178ija6s37pa5rdfmqpcqj38gchn1y9q4iln2jrqh8v600i";
}))
]; ];
config = { config = {
@ -86,9 +90,7 @@
# SDL2.dev # SDL2.dev
protonplus protonplus
ispell ispell
aspell (aspellWithDicts (dicts: with dicts; [ en en-computers en-science es fr ]))
aspellDicts.en
aspellDicts.en-computers
texlive.combined.scheme-full texlive.combined.scheme-full
appimage-run appimage-run
libappimage libappimage
@ -238,7 +240,7 @@
vorta vorta
stirling-pdf stirling-pdf
trash-cli trash-cli
ripdrag
wineWowPackages.stagingFull wineWowPackages.stagingFull
winetricks winetricks
@ -319,7 +321,6 @@
alsa-tools alsa-tools
clapper clapper
ardour ardour
parinfer-rust-emacs
dockfmt dockfmt
impala impala
unstable.playerctl unstable.playerctl
@ -474,7 +475,18 @@
yazi = { yazi = {
enable = true; enable = true;
enableFishIntegration = true; enableFishIntegration = true;
package = pkgs.unstable.yazi; package = inputs.yazi.packages.x86_64-linux.default;
keymap = {
manager.prepend_keymap = [
{
on = "<C-d>";
run = ''shell 'ripdrag "$@" -x 2>/dev/null &' --confirm'';
}
];
};
settings = {
};
}; };
fish = { fish = {
enable = true; enable = true;
@ -499,6 +511,9 @@
} }
]; ];
}; };
zoxide = {
enable = true;
};
starship = { starship = {
enable = true; enable = true;
}; };
@ -507,29 +522,24 @@
msmtp.enable = true; msmtp.enable = true;
emacs = { emacs = {
enable = true; enable = true;
package = (pkgs.emacs29-pgtk.override { package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
withGTK3 = true; epkgs: [
# withPGTK = true; epkgs.vterm
withXwidgets = true; epkgs.mu4e
withNativeCompilation = true; epkgs.sly
withTreeSitter = true; epkgs.sly-quicklisp
withImageMagick = true; epkgs.geiser-racket
}); epkgs.editorconfig
extraPackages = epkgs: [ epkgs.shfmt
epkgs.mu4e epkgs.nixpkgs-fmt
epkgs.vterm epkgs.nixfmt
epkgs.sly epkgs.parinfer-rust-mode
epkgs.sly-quicklisp epkgs.tree-sitter-langs
epkgs.geiser-racket epkgs.treesit-grammars.with-all-grammars
epkgs.editorconfig epkgs.pretty-sha-path
epkgs.shfmt epkgs.pdf-tools
epkgs.nixpkgs-fmt ]
epkgs.nixfmt ));
epkgs.parinfer-rust-mode
epkgs.tree-sitter-langs
# epkgs.gpastel
epkgs.pdf-tools
];
}; };
ripgrep = { ripgrep = {
enable = true; enable = true;
@ -609,10 +619,7 @@
swaylock = { swaylock = {
enable = true; enable = true;
settings = { settings = {
font-size = 24; color="000000";
indicator-idle-visible = true;
indicator-radius = 200;
color="1e1e1e";
bs-hl-color="f5e0dc"; bs-hl-color="f5e0dc";
caps-lock-bs-hl-color="f5e0dc"; caps-lock-bs-hl-color="f5e0dc";
caps-lock-key-hl-color="a6e3a1"; caps-lock-key-hl-color="a6e3a1";
@ -738,14 +745,24 @@
emacs = { emacs = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
package = (pkgs.emacs29-pgtk.override { package = ((pkgs.emacsPackagesFor pkgs.emacs29-pgtk).emacsWithPackages (
withGTK3 = true; epkgs: [
# withPGTK = true; epkgs.vterm
withXwidgets = true; epkgs.mu4e
withNativeCompilation = true; epkgs.sly
withTreeSitter = true; epkgs.sly-quicklisp
withImageMagick = true; epkgs.geiser-racket
}); epkgs.editorconfig
epkgs.shfmt
epkgs.nixpkgs-fmt
epkgs.nixfmt
epkgs.parinfer-rust-mode
epkgs.tree-sitter-langs
epkgs.treesit-grammars.with-all-grammars
epkgs.pretty-sha-path
epkgs.pdf-tools
]
));
socketActivation.enable = true; socketActivation.enable = true;
client = { client = {
enable = true; enable = true;

View file

@ -43,45 +43,6 @@
rev = "5e677b178be7da08fb72d7cd0791bf68a129fcc5"; rev = "5e677b178be7da08fb72d7cd0791bf68a129fcc5";
}; };
}); });
python312 = prev.python312.override {
packageOverrides = pyself: pysuper: {
openrazer = pysuper.openrazer.overrideAttrs (_: {
src = prev.fetchFromGitHub {
owner = "openrazer";
repo = "openrazer";
hash = "sha256-GqmFpVNuPRNM95pJsihsk/d3s61t4Lw+qaukKip9BAM=";
rev = "5e677b178be7da08fb72d7cd0791bf68a129fcc5";
};
});
};
};
python311 = prev.python311.override {
packageOverrides = pyself: pysuper: {
openrazer = pysuper.openrazer.overrideAttrs (_: {
src = prev.fetchFromGitHub {
version = "latest";
owner = "openrazer";
repo = "openrazer";
hash = "sha256-GqmFpVNuPRNM95pJsihsk/d3s61t4Lw+qaukKip9BAM=";
rev = "5e677b178be7da08fb72d7cd0791bf68a129fcc5";
};
});
};
};
linuxPackages_6_12 = prev.linuxPackages_6_12.extend (lpf: lpp: {
openrazer = lpp.openrazer.overrideAttrs (_: {
src = prev.fetchFromGitHub {
owner = "openrazer";
repo = "openrazer";
version = "latest";
hash = "sha256-GqmFpVNuPRNM95pJsihsk/d3s61t4Lw+qaukKip9BAM=";
rev = "5e677b178be7da08fb72d7cd0791bf68a129fcc5";
};
});
});
}; };
# When applied, the unstable nixpkgs set (declared in the flake inputs) will # When applied, the unstable nixpkgs set (declared in the flake inputs) will