From d422bc2b77ece72be1098bf05728275ef3306ee5 Mon Sep 17 00:00:00 2001 From: venomade Date: Wed, 8 Apr 2026 15:07:12 +0100 Subject: Before the Return of the Mac Asahi Bugs - Forked GL is very annoying to deal with - Fairydust branch requires 8GB of RAM for display - AArch64 Linux is not very compatible with much software - DRM and other video related things are buggy/do not work - Updating can often break fairydust --- home.nix | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 65 insertions(+), 18 deletions(-) (limited to 'home.nix') diff --git a/home.nix b/home.nix index 49dd79a..7cf5f66 100644 --- a/home.nix +++ b/home.nix @@ -1,12 +1,20 @@ -{ config, lib, pkgs, ... }: - +{ config, lib, pkgs, system, nix-darwin-emacs, ... }: let - emacsFlake = builtins.getFlake "github:nix-giant/nix-darwin-emacs/065050b9e06a30c01b41539b75464fff972fecd6"; + isDarwin = builtins.match ".*-darwin" system != null; + + emacsPackage = + if isDarwin + then nix-darwin-emacs.packages.${system}.emacs-30 + else pkgs.emacs-pgtk; + + homeDirectory = + if isDarwin + then "/Users/venomade" + else "/home/venomade"; in { home.username = "venomade"; - home.homeDirectory = "/Users/venomade"; - + home.homeDirectory = homeDirectory; home.packages = with pkgs; [ # Neovim @@ -14,9 +22,16 @@ in imagemagick fzf ripgrep + fd # Emacs - (emacsFlake.packages.${system}.emacs-30) + emacsPackage + emacs-lsp-booster + + # Kakoune + kakoune + kakoune-lsp + expect # Nix nil @@ -24,20 +39,42 @@ in # Lua lua-language-server lua5_4 - lua5_4.pkgs.luarocks - # Personal + # Rust + rustc + cargo + rust-analyzer + clippy + + # C + clang + clang-tools + bear + valgrind + + # Lisp + luaPackages.fennel + fnlfmt + fennel-ls + + # Shell + zsh + tmux bat + bat-extras.batman + bat-extras.batdiff eza jellyfin-tui lazygit starship yazi zk - lima - - ]; + harper + translate-shell + ] ++ lib.optionals isDarwin [ + lima + ]; programs.git = { enable = true; settings.user = { @@ -47,20 +84,30 @@ in }; home.stateVersion = "25.11"; - programs.home-manager.enable = true; - - home.file = + home.file = let - dir = "${config.home.homeDirectory}/.dotfiles/config"; - in - lib.mapAttrs + configDir = "${config.home.homeDirectory}/.dotfiles/config"; + dotsDir = "${config.home.homeDirectory}/.dotfiles/dots"; + + configEntries = lib.mapAttrs (name: _: { target = ".config/${name}"; - source = config.lib.file.mkOutOfStoreSymlink "${dir}/${name}"; + source = config.lib.file.mkOutOfStoreSymlink "${configDir}/${name}"; recursive = true; }) (lib.filterAttrs (name: type: type == "directory") (builtins.readDir ./config)); + + dotsEntries = lib.mapAttrs + (name: _: { + target = ".${name}"; + source = config.lib.file.mkOutOfStoreSymlink "${dotsDir}/${name}"; + }) + (lib.filterAttrs + (name: type: type == "regular") + (builtins.readDir ./dots)); + in + configEntries // dotsEntries; } -- cgit 1.4.1-2-gfad0