2022-06-08 20:02:28 +00:00
|
|
|
{ pkgs, ... }:
|
2022-05-23 07:46:58 +00:00
|
|
|
|
|
|
|
{
|
|
|
|
imports = [
|
2022-07-15 06:58:27 +00:00
|
|
|
./allocations.nix
|
2022-06-02 10:40:14 +00:00
|
|
|
./fs.nix
|
2022-10-22 10:56:50 +00:00
|
|
|
./home-manager
|
|
|
|
./home-packages.nix
|
2022-08-31 04:56:04 +00:00
|
|
|
./net.nix
|
2022-10-31 04:02:41 +00:00
|
|
|
./machine-id.nix
|
2022-06-07 00:25:33 +00:00
|
|
|
./secrets.nix
|
2022-10-25 09:09:27 +00:00
|
|
|
./ssh.nix
|
2022-10-22 10:56:50 +00:00
|
|
|
./system-packages.nix
|
2022-08-31 04:48:19 +00:00
|
|
|
./users.nix
|
2022-06-10 00:41:03 +00:00
|
|
|
./vpn.nix
|
2022-05-23 07:46:58 +00:00
|
|
|
];
|
2022-05-23 07:52:36 +00:00
|
|
|
|
|
|
|
time.timeZone = "America/Los_Angeles";
|
2022-06-01 05:22:20 +00:00
|
|
|
|
2022-10-22 10:56:50 +00:00
|
|
|
# allow `nix flake ...` command
|
|
|
|
nix.extraOptions = ''
|
|
|
|
experimental-features = nix-command flakes
|
|
|
|
'';
|
|
|
|
|
|
|
|
# TODO: move this into home-manager?
|
2022-06-08 20:02:28 +00:00
|
|
|
fonts = {
|
|
|
|
enableDefaultFonts = true;
|
|
|
|
fonts = with pkgs; [ font-awesome twitter-color-emoji hack-font ];
|
|
|
|
fontconfig.enable = true;
|
|
|
|
fontconfig.defaultFonts = {
|
|
|
|
emoji = [ "Font Awesome 6 Free" "Twitter Color Emoji" ];
|
|
|
|
monospace = [ "Hack" ];
|
|
|
|
serif = [ "DejaVu Serif" ];
|
|
|
|
sansSerif = [ "DejaVu Sans" ];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-11-06 13:22:16 +00:00
|
|
|
# disable non-required packages like nano, perl, rsync, strace
|
|
|
|
environment.defaultPackages = [];
|
|
|
|
|
2022-10-22 10:56:50 +00:00
|
|
|
# programs.vim.defaultEditor = true;
|
|
|
|
environment.variables = {
|
|
|
|
EDITOR = "vim";
|
|
|
|
# git claims it should use EDITOR, but it doesn't!
|
|
|
|
GIT_EDITOR = "vim";
|
|
|
|
# TODO: these should be moved to `home.sessionVariables` (home-manager)
|
|
|
|
# Electron apps should use native wayland backend:
|
|
|
|
# https://nixos.wiki/wiki/Slack#Wayland
|
|
|
|
# Discord under sway crashes with this.
|
|
|
|
# NIXOS_OZONE_WL = "1";
|
|
|
|
# LIBGL_ALWAYS_SOFTWARE = "1";
|
|
|
|
};
|
|
|
|
# enable zsh completions
|
|
|
|
environment.pathsToLink = [ "/share/zsh" ];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
# required for pam_mount
|
|
|
|
gocryptfs
|
|
|
|
];
|
|
|
|
|
|
|
|
security.pam.mount.enable = true;
|
|
|
|
# security.pam.mount.debugLevel = 1;
|
|
|
|
# security.pam.enableSSHAgentAuth = true; # ??
|
|
|
|
# needed for `allow_other` in e.g. gocryptfs mounts
|
|
|
|
# or i guess going through mount.fuse sets suid so that's not necessary?
|
|
|
|
# programs.fuse.userAllowOther = true;
|
2022-05-23 07:46:58 +00:00
|
|
|
}
|
|
|
|
|