diff --git a/config/default.nix b/config/default.nix index 580dd46b..63ce460f 100644 --- a/config/default.nix +++ b/config/default.nix @@ -12,12 +12,25 @@ let # HACK: We don't use the absolute path in readDir to respect pure evaluation in nix flakes. (builtins.attrNames (builtins.readDir ../dots/${dir})))); 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 { programs.home-manager.enable = true; home = { packages = with pkgs; [ bob-nvim + (nixGLWrap neovide) emacs-pgtk sqlite luajit @@ -102,6 +115,10 @@ in { force = true; }; } // softLinkDots ".config"; + + sessionPath = [ + "${config.xdg.dataHome}/bin" + ]; }; xdg = { @@ -142,9 +159,13 @@ in { "/usr/share" "/usr/local/share" ]; + configFile."bob/config.toml".text = '' + installation_location = "${config.xdg.dataHome}/bin" + ''; }; programs = { + wofi.enable = true; gpg = { enable = true; scdaemonSettings = { @@ -168,12 +189,6 @@ in { __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 = { diff --git a/dots/.config/zsh/config/profile/profile/env.zsh b/dots/.config/zsh/config/profile/profile/env.zsh index 741a63d9..a3b0ff0f 100644 --- a/dots/.config/zsh/config/profile/profile/env.zsh +++ b/dots/.config/zsh/config/profile/profile/env.zsh @@ -110,9 +110,6 @@ if [[ -r "${usr/libexec/java_home}" ]]; then export JAVA_HOME="$(/usr/libexec/java_home)" fi -### BOB, Neovim Version Manager ### -export PATH="${XDG_DATA_HOME}/bob/nvim-bin:${PATH}" - ### Editor ### if command -v nvim >/dev/null 2>&1; then export EDITOR=nvim diff --git a/flake.lock b/flake.lock index 284bdf5a..c476dfd3 100644 --- a/flake.lock +++ b/flake.lock @@ -220,6 +220,21 @@ } }, "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": { "systems": "systems_6" }, @@ -411,6 +426,25 @@ "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": { "locked": { "lastModified": 1708118438, @@ -460,6 +494,21 @@ } }, "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": { "lastModified": 1708151420, "narHash": "sha256-MGT/4aGCWQPQiu6COqJdCj9kSpLPiShgbwpbC38YXC8=", @@ -483,7 +532,8 @@ "home-manager": "home-manager", "kanagawa-gtk": "kanagawa-gtk", "neovim-nightly-overlay": "neovim-nightly-overlay", - "nixpkgs": "nixpkgs_3", + "nixgl": "nixgl", + "nixpkgs": "nixpkgs_4", "waybar": "waybar", "wezterm": "wezterm" } @@ -626,7 +676,7 @@ }, "wezterm": { "inputs": { - "flake-utils": "flake-utils_6", + "flake-utils": "flake-utils_7", "freetype2": "freetype2", "harfbuzz": "harfbuzz", "libpng": "libpng", diff --git a/flake.nix b/flake.nix index 693c9e63..de04f416 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,7 @@ url = "github:wez/wezterm?dir=nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + nixgl.url = "github:guibou/nixGL"; }; outputs = inputs@{ self, home-manager, nixpkgs, ... }: @@ -50,6 +51,7 @@ inputs.emacs-overlay.overlays.emacs inputs.bob.overlays.default inputs.kanagawa-gtk.overlays.default + inputs.nixgl.overlay (final: prev: { waybar = inputs.waybar.packages.${system}.default; lxappearance = prev.lxappearance.overrideAttrs (oldAttrs: {