feat(nix-hm): install Neovide

This commit is contained in:
Price Hiller 2024-02-29 02:07:22 -06:00
parent a6a8963cdf
commit a8328f65e4
Signed by: Price
GPG Key ID: C3FADDE7A8534BEB
4 changed files with 75 additions and 11 deletions

View File

@ -12,12 +12,25 @@ let
# HACK: We don't use the absolute path in readDir to respect pure evaluation in nix flakes. # HACK: We don't use the absolute path in readDir to respect pure evaluation in nix flakes.
(builtins.attrNames (builtins.readDir ../dots/${dir})))); (builtins.attrNames (builtins.readDir ../dots/${dir}))));
gtkStyle = "gtk2"; gtkStyle = "gtk2";
nixGLWrap = pkg:
pkgs.runCommand "${pkg.name}-nixgl-wrapper" { } ''
mkdir $out
ln -s ${pkg}/* $out
rm $out/bin
mkdir $out/bin
for bin in ${pkg}/bin/*; do
wrapped_bin=$out/bin/$(basename $bin)
echo "exec ${lib.getExe pkgs.nixgl.nixGLIntel} $bin \$@" > $wrapped_bin
chmod +x $wrapped_bin
done
'';
in { in {
programs.home-manager.enable = true; programs.home-manager.enable = true;
home = { home = {
packages = with pkgs; packages = with pkgs;
[ [
bob-nvim bob-nvim
(nixGLWrap neovide)
emacs-pgtk emacs-pgtk
sqlite sqlite
luajit luajit
@ -102,6 +115,10 @@ in {
force = true; force = true;
}; };
} // softLinkDots ".config"; } // softLinkDots ".config";
sessionPath = [
"${config.xdg.dataHome}/bin"
];
}; };
xdg = { xdg = {
@ -142,9 +159,13 @@ in {
"/usr/share" "/usr/share"
"/usr/local/share" "/usr/local/share"
]; ];
configFile."bob/config.toml".text = ''
installation_location = "${config.xdg.dataHome}/bin"
'';
}; };
programs = { programs = {
wofi.enable = true;
gpg = { gpg = {
enable = true; enable = true;
scdaemonSettings = { scdaemonSettings = {
@ -168,12 +189,6 @@ in {
__HM_SESS_VARS_SOURCED= source "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" __HM_SESS_VARS_SOURCED= source "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
''; '';
}; };
neovim = {
enable = true;
extraPackages = with pkgs; [ sqlite gh ];
# Magick is required for image.nvim
extraLuaPackages = lp: [ lp.magick ];
};
}; };
qt = { qt = {

View File

@ -110,9 +110,6 @@ if [[ -r "${usr/libexec/java_home}" ]]; then
export JAVA_HOME="$(/usr/libexec/java_home)" export JAVA_HOME="$(/usr/libexec/java_home)"
fi fi
### BOB, Neovim Version Manager ###
export PATH="${XDG_DATA_HOME}/bob/nvim-bin:${PATH}"
### Editor ### ### Editor ###
if command -v nvim >/dev/null 2>&1; then if command -v nvim >/dev/null 2>&1; then
export EDITOR=nvim export EDITOR=nvim

View File

@ -220,6 +220,21 @@
} }
}, },
"flake-utils_6": { "flake-utils_6": {
"locked": {
"lastModified": 1659877975,
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_7": {
"inputs": { "inputs": {
"systems": "systems_6" "systems": "systems_6"
}, },
@ -411,6 +426,25 @@
"type": "github" "type": "github"
} }
}, },
"nixgl": {
"inputs": {
"flake-utils": "flake-utils_6",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1685908677,
"narHash": "sha256-E4zUPEUFyVWjVm45zICaHRpfGepfkE9Z2OECV9HXfA4=",
"owner": "guibou",
"repo": "nixGL",
"rev": "489d6b095ab9d289fe11af0219a9ff00fe87c7c5",
"type": "github"
},
"original": {
"owner": "guibou",
"repo": "nixGL",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1708118438, "lastModified": 1708118438,
@ -460,6 +494,21 @@
} }
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": {
"lastModified": 1660551188,
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1708151420, "lastModified": 1708151420,
"narHash": "sha256-MGT/4aGCWQPQiu6COqJdCj9kSpLPiShgbwpbC38YXC8=", "narHash": "sha256-MGT/4aGCWQPQiu6COqJdCj9kSpLPiShgbwpbC38YXC8=",
@ -483,7 +532,8 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"kanagawa-gtk": "kanagawa-gtk", "kanagawa-gtk": "kanagawa-gtk",
"neovim-nightly-overlay": "neovim-nightly-overlay", "neovim-nightly-overlay": "neovim-nightly-overlay",
"nixpkgs": "nixpkgs_3", "nixgl": "nixgl",
"nixpkgs": "nixpkgs_4",
"waybar": "waybar", "waybar": "waybar",
"wezterm": "wezterm" "wezterm": "wezterm"
} }
@ -626,7 +676,7 @@
}, },
"wezterm": { "wezterm": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_6", "flake-utils": "flake-utils_7",
"freetype2": "freetype2", "freetype2": "freetype2",
"harfbuzz": "harfbuzz", "harfbuzz": "harfbuzz",
"libpng": "libpng", "libpng": "libpng",

View File

@ -26,6 +26,7 @@
url = "github:wez/wezterm?dir=nix"; url = "github:wez/wezterm?dir=nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixgl.url = "github:guibou/nixGL";
}; };
outputs = inputs@{ self, home-manager, nixpkgs, ... }: outputs = inputs@{ self, home-manager, nixpkgs, ... }:
@ -50,6 +51,7 @@
inputs.emacs-overlay.overlays.emacs inputs.emacs-overlay.overlays.emacs
inputs.bob.overlays.default inputs.bob.overlays.default
inputs.kanagawa-gtk.overlays.default inputs.kanagawa-gtk.overlays.default
inputs.nixgl.overlay
(final: prev: { (final: prev: {
waybar = inputs.waybar.packages.${system}.default; waybar = inputs.waybar.packages.${system}.default;
lxappearance = prev.lxappearance.overrideAttrs (oldAttrs: { lxappearance = prev.lxappearance.overrideAttrs (oldAttrs: {