YZQQHUCLZPII2OPL6H3HJFG4INZ6ALWEV4FDOSXPD2VCBPA3R2CQC
RWDFWE4GEJHOOQRSW2HKPLA3TEDN4M7ZFZ3XURT2AAEN5OE5P2VAC
RXCY7LD6ZRIOIKZEYKLMCYPMQPXF4DOEEFBDLVR2B22BXLZJFFBQC
A3TVGLVHSVLMEHLHB3TPBSD3QGNVGX3DIK6BEBDTTHWBNW4ALMRAC
2DXPRDBATC23BNE5RLNRIO26KDU6HVOPNIDM5MMRUGWG6AT5BULAC
QOU4QVOOW7LESDZS6EB643CRFXXSLOLGCEQCA32YEH3NEPO6N77QC
GFADTRREUCYL4L72MWLPGEYCAXDAZ6B5ZRI3FMQTZDEORVDQKYNAC
common_home = import "${homeDirectory}/git_repos/dotfiles/nix/common.nix" {
inherit homeDirectory pkgs;
};
lisps = with pkgs; [
ccl
#clisp-tip
ecl
gcl
cmucl_binary
nixpkgs-fmt
];
openssl = pkgs.openssl.overrideAttrs (oldAttrs: {
meta =
oldAttrs.meta
// {
outputsToInstall =
oldAttrs.meta.outputsToInstall
or ["out"]
++ ["dev"];
};
});
username = "edwlan";
common_home = import "${homeDirectory}/git_repos/dotfiles/nix/common.nix" {inherit homeDirectory pkgs;};
dotfileDirectory = "${homeDirectory}/git_repos/dotfiles";
dotfileDirectory = "${homeDirectory}/git_repos/dotfiles";
utils = common_home.utils;
packages =
common_home.packages
++ ([
pkgs.cachix
pkgs.pass
pkgs.direnv
pkgs.emacs-git
pkgs.glibcLocales
pkgs.gron
pkgs.libssh2
pkgs.lorri
pkgs.zeromq
pkgs.sqlite.dev
pkgs.sqlite
openssl
(import (dotfileDirectory + "/nix/lpass-nix") {inherit pkgs;})
]
++ lisps);
syncMailNotArchive = pkgs.writeScript "sync-mail-not-archive" ''
#!${pkgs.zsh}/bin/zsh
mailboxes=()
mbsync -l personal | grep -v '^Archive' | while read -r; do
mailboxes=("''${mailboxes[@]}" "personal:$REPLY");
done
mbsync -L -H --full "''${mailboxes[@]}"
'';
lisps = with pkgs; [ccl ecl gcl cmucl_binary nixpkgs-fmt];
in {
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
openssl = pkgs.openssl.overrideAttrs (oldAttrs: {meta = oldAttrs.meta // {outputsToInstall = oldAttrs.meta.outputsToInstall or ["out"] ++ ["dev"];};});
packages = common_home.packages ++ ([pkgs.cachix pkgs.pass pkgs.direnv pkgs.emacs-git pkgs.glibcLocales pkgs.gron pkgs.libssh2 pkgs.lorri pkgs.zeromq pkgs.sqlite.dev pkgs.sqlite openssl (import (dotfileDirectory + "/nix/lpass-nix") {inherit pkgs;})] ++ lisps);
syncMailNotArchive = pkgs.writeScript "sync-mail-not-archive" ''
#!${pkgs.zsh}/bin/zsh
home = {
# Home Manager needs a bit of information about you and the
# paths it should manage.
inherit username homeDirectory packages;
# 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.
stateVersion = "21.03";
file = {
"sbcl-source".source = utils.untar pkgs.sbcl.src;
".ssh/allowed_signers".text = "* ${builtins.readFile ./id_ed25519.pub}";
};
};
targets.genericLinux.enable = true;
mbsync -l personal | grep -v '^Archive' | while read -r; do
mailboxes=("''${mailboxes[@]}" "personal:$REPLY");
done
terminal = "screen-256color";
escapeTime = 0;
clock24 = true;
newSession = true;
keyMode = "vi";
extraConfig = builtins.readFile (dotfileDirectory + "/tmux.conf");
userEmail = "el-github@elangley.org";
userName = "Edward Langley";
lfs.enable = true;
difftastic.enable = true;
extraConfig = {
commit = {gpgsign = true;};
github = {user = "fiddlerwoaroof";};
gpg = {
format = "ssh";
allowedSignersFile = "${homeDirectory}/.ssh/allowed_signers";
};
init = {defaultBranch = "main";};
merge = {autoStash = true;};
pull = {rebase = false;};
rebase = {autoStash = true;};
user = {signingkey = "${homeDirectory}/.ssh/id_ed25519.pub";};
};