nix-config/home-manager/_mixins/users/_gburd/default.nix
2024-05-23 15:02:20 -04:00

143 lines
3.6 KiB
Nix

{ inputs, config, pkgs, username, ... }: {
imports = [
inputs.impermanence.nixosModules.home-manager.impermanence
../../pass
../../cli
../../nvim
];
home = {
persistence = {
"/persist/home/gburd" = {
directories = [
"Documents"
"Downloads"
"Pictures"
"Videos"
".local/bin"
".config"
];
allowOther = true;
};
};
file.".face".source = ./face.png;
file.".ssh/config".text = ''
Host burd.me *.burd.me *.ts.burd.me
ForwardAgent yes
Host floki
ForwardAgent yes
RemoteForward /%d/.gnupg-sockets/S.gpg-agent /%d/.gnupg-sockets/S.gpg-agent.extra
Host *
ForwardAgent no
Compression no
ServerAliveInterval 0
ServerAliveCountMax 3
HashKnownHosts no
UserKnownHostsFile ~/.ssh/known_hosts
ControlMaster no
ControlPath ~/.ssh/master-%r@%n:%p
ControlPersist no
Host github.com
HostName github.com
User git
'';
file.".inputrc".text = ''
"\C-v": ""
set enable-bracketed-paste off
'';
file.".config/direnv/direnv.toml".text = ''
[global]
load_dotenv = true
'';
file.".config/Code/User/settings.json".text = ''
{
"editor.inlineSuggest.enabled": true,
"editor.fontFamily": "'FiraCode Nerd Font Mono', 'Droid Sans Mono', 'monospace', monospace",
"editor.fontLigatures": true,
"cSpell.userWords": [
"Burd",
"Wpedantic",
"Wvariadic"
],
"files.watcherExclude": {
"**/.bloop": true,
"**/.metals": true,
"**/.ammonite": true
},
"extensions.experimental.affinity": {
"asvetliakov.vscode-neovim": 1
},
"vscode-neovim.neovimExecutablePaths.linux": "/home/gburd/.nix-profile/bin/nvim",
}
'';
file.".config/alacritty/alacritty.yml".source = ./alacritty.yml;
file.".config/Code/User/keybindings.json".text = ''
'';
file.".config/nvim/init.nvim".source = ./init.nvim;
# file.".config/sublime-text-2/Local/License.sublime_license".text =
# config.sops.secrets.sublime-licenses.text.path;
# file.".config/sublime-merge/Local/License.sublime_license".text =
# config.sops.secrets.sublime-licenses.merge.path;
# A Modern Unix experience, for the "kids"
# https://jvns.ca/blog/2022/04/12/a-list-of-new-ish--command-line-tools/
packages = with pkgs; [
asciinema # Terminal recorder
chafa # Terminal image viewer
chroma # Code syntax highlighter
clinfo # Terminal OpenCL info
dconf2nix # Nix code from Dconf files
httpie # Terminal HTTP client
iw # Terminal WiFi info
nixpkgs-review # Nix code review
ripgrep # Modern Unix `grep`
shellcheck # Code lint Shell
_1password
_1password-gui
cfssl
dig
emacs
file
git-credential-1password
htop
openssl
plocate
ripgrep
tig
tree
lsof
unstable.flyctl
unstable.minio-client
unstable.element-desktop
];
sessionVariables = {
PAGER = "less";
};
# http://rski.github.io/2021/09/05/nix-debugging.html
# https://github.com/nix-community/home-manager/commit/0056a5aea1a7b68bdacb7b829c325a1d4a3c4259
enableDebugInfo = true;
};
programs = { };
systemd.user.tmpfiles.rules = [
"d ${config.home.homeDirectory}/ws 0755 ${username} users - -"
"d ${config.home.homeDirectory}/bin 0755 ${username} users - -"
];
}