{ pkgs, unstable-pkgs, lib, ... }: { nix = { package = unstable-pkgs.lix; settings.experimental-features = [ "nix-command" "flakes" ]; gc = { automatic = true; dates = "monthly"; }; registry.nixpkgs-unstable = { from = { id = "nixpkgs-unstable"; type = "indirect"; }; to = { type = "github"; owner = "NixOS"; repo = "nixpkgs"; ref = "nixpkgs-unstable"; }; }; }; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; nixpkgs.config.allowUnfree = true; programs.nix-ld.enable = true; security.sudo.wheelNeedsPassword = false; services.openssh.enable = true; services.tailscale.enable = true; services.tailscale.package = unstable-pkgs.tailscale; programs.zsh.enable = true; programs.git.enable = true; programs.vim = { enable = true; defaultEditor = true; package = unstable-pkgs.vim; }; environment.shells = [ pkgs.zsh ]; environment.variables = { EDITOR = "vim"; VISUAL = "vim"; SYSTEMD_EDITOR = "vim"; }; environment.systemPackages = with pkgs; [ gcc binutils pkg-config glibc gnumake cmake sqlite-interactive wget htop tmux ] ++ [ unstable-pkgs.jujutsu unstable-pkgs.vim unstable-pkgs.ghostty.terminfo ]; environment.etc.certfile = { source = "/etc/ssl/certs/ca-bundle.crt"; target = "ssl/cert.pem"; }; }