{ config, pkgs, ... }: let libpng = pkgs.libpng.overrideAttrs (_: {meta.outputsToInstall = _.outputs;}); username = "edwlan"; homeDirectory = "/Users/${username}"; dotfileDirectory = "${homeDirectory}/git_repos/dotfiles"; alejandra = (import (builtins.fetchTarball { url = "https://github.com/kamadorueda/alejandra/tarball/2.0.0"; sha256 = "1jpficz0f8s8kwvk91f28q2c4prz4p8yq76ssrzvjkviqbis4rca"; }) {inherit pkgs;}) .outPath; common_home = import "${dotfileDirectory}/nix/common.nix" {inherit homeDirectory pkgs;}; in { nixpkgs.overlays = common_home.overlays; ## Doesn't work??? #xdg.configFile."nixpkgs/overlays".source = ./elangley-overlay; home.packages = common_home.packages ++ [ alejandra pkgs.clojure (pkgs.emacsGit.override {nativeComp = true;}) pkgs.graphviz pkgs.libffi.dev libpng pkgs.libssh2 pkgs.mosh pkgs.openssl pkgs.pandoc pkgs.pkg-config pkgs.shellcheck pkgs.zeromq pkgs.zsh pkgs.zstd pkgs.zstd.dev ]; programs = { git = { enable = true; userEmail = "el-github@elangley.org"; userName = "Edward Langley"; extraConfig = { github = { user = "fiddlerwoaroof"; }; init = { defaultBranch = "main"; }; pull = { rebase = false; }; merge = { autoStash = true; }; rebase = { autoStash = true; }; }; }; tmux = { enable = true; terminal = "screen-256color"; escapeTime = 0; clock24 = true; newSession = true; keyMode = "vi"; extraConfig = builtins.readFile (dotfileDirectory + "/tmux.conf"); }; }; # Home Manager needs a bit of information about you and the # paths it should manage. home.username = username; home.homeDirectory = homeDirectory; # This value determines the Home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new Home Manager release introduces backwards # incompatible changes. # # You can update Home Manager without changing this value. See # the Home Manager release notes for a list of state version # changes in each release. home.stateVersion = "22.05"; # Let Home Manager install and manage itself. programs.home-manager.enable = true; }