525dfab1 |
{
config,
pkgs,
...
}: let
libpng =
pkgs.libpng.overrideAttrs (_: {meta.outputsToInstall = _.outputs;});
username = "edwlan";
homeDirectory = "/Users/${username}";
dotfileDirectory = "${homeDirectory}/git_repos/dotfiles";
alejandra =
(import (builtins.fetchTarball {
|
ce8e04c0 |
url = "https://github.com/kamadorueda/alejandra/tarball/3.0.0";
sha256 = "18jm0d5xrxk38hw5sa470zgfz9xzdcyaskjhgjwhnmzd5fgacny4";
|
9eb35c38 |
}) {inherit pkgs;})
.outPath;
|
525dfab1 |
|
08f2e18a |
# zsh = pkgs.zsh.overrideAttrs ({postInstall}: {postInstall = ''
# make install.info install.html
# '' + postInstall})
|
525dfab1 |
common_home =
import "${dotfileDirectory}/nix/common.nix" {inherit homeDirectory pkgs;};
|
45dbd208 |
zsh =
pkgs.zsh
// {
meta =
pkgs.zsh.meta
// {
outputsToInstall = pkgs.zsh.meta.outputsToInstall ++ ["info" "doc"];
};
};
|
525dfab1 |
in {
|
ff733458 |
home.file.".ssh/allowed_signers".text = "* ${builtins.readFile "${homeDirectory}/.ssh/id_ed25519.pub"}";
|
525dfab1 |
nixpkgs.overlays = common_home.overlays;
## Doesn't work???
#xdg.configFile."nixpkgs/overlays".source = ./elangley-overlay;
home.packages =
common_home.packages
++ [
|
3e747dbc |
alejandra
|
0ee0adc7 |
pkgs.cargo
|
813cfe16 |
pkgs.clojure
|
3e747dbc |
(pkgs.emacsGit.override {nativeComp = true;})
|
9eb35c38 |
pkgs.graphviz
|
0ee0adc7 |
pkgs.ispell
|
9eb35c38 |
pkgs.libffi.dev
|
0ee0adc7 |
pkgs.libheif.dev
|
3e747dbc |
libpng
|
525dfab1 |
pkgs.libssh2
|
3e747dbc |
pkgs.mosh
|
0ee0adc7 |
pkgs.nodejs
|
525dfab1 |
pkgs.openssl
pkgs.pandoc
|
3e747dbc |
pkgs.pkg-config
|
813cfe16 |
pkgs.shellcheck
pkgs.zeromq
|
45dbd208 |
pkgs.zsh.doc
|
3e747dbc |
pkgs.zstd
pkgs.zstd.dev
|
0ee0adc7 |
zsh
|
525dfab1 |
];
programs = {
|
43a52805 |
git = {
enable = true;
userEmail = "el-github@elangley.org";
userName = "Edward Langley";
extraConfig = {
|
ff733458 |
commit = {gpgsign = true;};
|
48f37626 |
github = {user = "fiddlerwoaroof";};
|
ff733458 |
gpg = {
format = "ssh";
allowedSignersFile = "${homeDirectory}/.ssh/allowed_signers";
};
|
48f37626 |
init = {defaultBranch = "main";};
merge = {autoStash = true;};
pull = {rebase = false;};
rebase = {autoStash = true;};
|
ff733458 |
user = {signingkey = "${homeDirectory}/.ssh/id_ed25519.pub";};
|
43a52805 |
};
};
|
525dfab1 |
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;
}
|